mirror of
https://github.com/hedgedoc/hedgedoc.git
synced 2025-05-14 15:14:56 -04:00
feat: submit own style index on realtime user state set
Signed-off-by: Tilman Vatteroth <git@tilmanvatteroth.de>
This commit is contained in:
parent
b538c2c2a3
commit
24b7514e25
8 changed files with 157 additions and 91 deletions
|
@ -11,10 +11,14 @@ import type { RealtimeUser } from '@hedgedoc/commons'
|
|||
/**
|
||||
* Dispatches an event to add a user
|
||||
*/
|
||||
export const setRealtimeUsers = (users: RealtimeUser[]): void => {
|
||||
export const setRealtimeUsers = (users: RealtimeUser[], ownStyleIndex: number, ownDisplayName: string): void => {
|
||||
const action: SetRealtimeUsersAction = {
|
||||
type: RealtimeStatusActionType.SET_REALTIME_USERS,
|
||||
users
|
||||
users,
|
||||
ownUser: {
|
||||
styleIndex: ownStyleIndex,
|
||||
displayName: ownDisplayName
|
||||
}
|
||||
}
|
||||
store.dispatch(action)
|
||||
}
|
||||
|
|
|
@ -10,7 +10,11 @@ import type { Reducer } from 'redux'
|
|||
const initialState: RealtimeStatus = {
|
||||
isSynced: false,
|
||||
isConnected: false,
|
||||
onlineUsers: []
|
||||
onlineUsers: [],
|
||||
ownUser: {
|
||||
displayName: '',
|
||||
styleIndex: 0
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -28,7 +32,8 @@ export const RealtimeStatusReducer: Reducer<RealtimeStatus, RealtimeStatusAction
|
|||
case RealtimeStatusActionType.SET_REALTIME_USERS:
|
||||
return {
|
||||
...state,
|
||||
onlineUsers: action.users
|
||||
onlineUsers: action.users,
|
||||
ownUser: action.ownUser
|
||||
}
|
||||
case RealtimeStatusActionType.SET_REALTIME_CONNECTION_STATUS:
|
||||
return {
|
||||
|
|
|
@ -16,6 +16,10 @@ export enum RealtimeStatusActionType {
|
|||
export interface SetRealtimeUsersAction extends Action<RealtimeStatusActionType> {
|
||||
type: RealtimeStatusActionType.SET_REALTIME_USERS
|
||||
users: RealtimeUser[]
|
||||
ownUser: {
|
||||
styleIndex: number
|
||||
displayName: string
|
||||
}
|
||||
}
|
||||
|
||||
export interface SetRealtimeConnectionStatusAction extends Action<RealtimeStatusActionType> {
|
||||
|
@ -36,6 +40,10 @@ export interface RealtimeStatus {
|
|||
onlineUsers: RealtimeUser[]
|
||||
isConnected: boolean
|
||||
isSynced: boolean
|
||||
ownUser: {
|
||||
displayName: string
|
||||
styleIndex: number
|
||||
}
|
||||
}
|
||||
|
||||
export type RealtimeStatusActions =
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue