Connect online-entries in sidebar with to redux (#2081)

Co-authored-by: Philip Molares <philip.molares@udo.edu
Co-authored-by: Erik Michelson <github@erik.michelson.eu>
Signed-off-by: Tilman Vatteroth <git@tilmanvatteroth.de>
Signed-off-by: Philip Molares <philip.molares@udo.edu
Signed-off-by: Erik Michelson <github@erik.michelson.eu>
This commit is contained in:
Tilman Vatteroth 2022-06-04 16:49:56 +02:00 committed by GitHub
parent 5de4afc9fc
commit c868b3649d
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
11 changed files with 200 additions and 29 deletions

View file

@ -0,0 +1,37 @@
/*
* SPDX-FileCopyrightText: 2022 The HedgeDoc developers (see AUTHORS file)
*
* SPDX-License-Identifier: AGPL-3.0-only
*/
import { store } from '..'
import type { AddOnlineUserAction, OnlineUser, RemoveOnlineUserAction } from './types'
import { RealtimeActionType } from './types'
/**
* Dispatches an event to add a user
*
* @param clientId The clientId of the user to add
* @param user The user to add.
*/
export const addOnlineUser = (clientId: number, user: OnlineUser): void => {
const action: AddOnlineUserAction = {
type: RealtimeActionType.ADD_ONLINE_USER,
clientId,
user
}
store.dispatch(action)
}
/**
* Dispatches an event to remove a user from the online users list.
*
* @param clientId The yjs client id of the user to remove from the online users list.
*/
export const removeOnlineUser = (clientId: number): void => {
const action: RemoveOnlineUserAction = {
type: RealtimeActionType.REMOVE_ONLINE_USER,
clientId
}
store.dispatch(action)
}