fix: Move content into to frontend directory

Doing this BEFORE the merge prevents a lot of merge conflicts.

Signed-off-by: Tilman Vatteroth <git@tilmanvatteroth.de>
This commit is contained in:
Tilman Vatteroth 2022-11-11 11:16:18 +01:00
parent 4e18ce38f3
commit 762a0a850e
No known key found for this signature in database
GPG key ID: B97799103358209B
1051 changed files with 0 additions and 35 deletions

View file

@ -0,0 +1,32 @@
/*
* SPDX-FileCopyrightText: 2021 The HedgeDoc developers (see AUTHORS file)
*
* SPDX-License-Identifier: AGPL-3.0-only
*/
import { store } from '..'
import type { ClearUserAction, SetUserAction } from './types'
import { UserActionType } from './types'
import type { LoginUserInfo } from '../../api/me/types'
/**
* Sets the given user state into the redux.
* @param state The user state to set into the redux.
*/
export const setUser = (state: LoginUserInfo): void => {
const action: SetUserAction = {
type: UserActionType.SET_USER,
state
}
store.dispatch(action)
}
/**
* Clears the user state from the redux.
*/
export const clearUser: () => void = () => {
const action: ClearUserAction = {
type: UserActionType.CLEAR_USER
}
store.dispatch(action)
}

View file

@ -0,0 +1,23 @@
/*
* SPDX-FileCopyrightText: 2021 The HedgeDoc developers (see AUTHORS file)
*
* SPDX-License-Identifier: AGPL-3.0-only
*/
import type { Reducer } from 'redux'
import type { OptionalUserState, UserActions } from './types'
import { UserActionType } from './types'
export const UserReducer: Reducer<OptionalUserState, UserActions> = (
state: OptionalUserState = null,
action: UserActions
) => {
switch (action.type) {
case UserActionType.SET_USER:
return action.state
case UserActionType.CLEAR_USER:
return null
default:
return state
}
}

View file

@ -0,0 +1,26 @@
/*
* SPDX-FileCopyrightText: 2021 The HedgeDoc developers (see AUTHORS file)
*
* SPDX-License-Identifier: AGPL-3.0-only
*/
import type { Action } from 'redux'
import type { LoginUserInfo } from '../../api/me/types'
export enum UserActionType {
SET_USER = 'user/set',
CLEAR_USER = 'user/clear'
}
export type UserActions = SetUserAction | ClearUserAction
export interface SetUserAction extends Action<UserActionType> {
type: UserActionType.SET_USER
state: LoginUserInfo
}
export interface ClearUserAction extends Action<UserActionType> {
type: UserActionType.CLEAR_USER
}
export type OptionalUserState = LoginUserInfo | null