mirror of
https://github.com/cinnyapp/cinny.git
synced 2025-11-14 03:00:29 +03:00
Add new space settings (#2293)
This commit is contained in:
parent
4aed4d7472
commit
5c39a36c12
44 changed files with 691 additions and 63 deletions
34
src/app/state/hooks/spaceSettings.ts
Normal file
34
src/app/state/hooks/spaceSettings.ts
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
import { useCallback } from 'react';
|
||||
import { useAtomValue, useSetAtom } from 'jotai';
|
||||
import { spaceSettingsAtom, SpaceSettingsPage, SpaceSettingsState } from '../spaceSettings';
|
||||
|
||||
export const useSpaceSettingsState = (): SpaceSettingsState | undefined => {
|
||||
const data = useAtomValue(spaceSettingsAtom);
|
||||
|
||||
return data;
|
||||
};
|
||||
|
||||
type CloseCallback = () => void;
|
||||
export const useCloseSpaceSettings = (): CloseCallback => {
|
||||
const setSettings = useSetAtom(spaceSettingsAtom);
|
||||
|
||||
const close: CloseCallback = useCallback(() => {
|
||||
setSettings(undefined);
|
||||
}, [setSettings]);
|
||||
|
||||
return close;
|
||||
};
|
||||
|
||||
type OpenCallback = (roomId: string, space?: string, page?: SpaceSettingsPage) => void;
|
||||
export const useOpenSpaceSettings = (): OpenCallback => {
|
||||
const setSettings = useSetAtom(spaceSettingsAtom);
|
||||
|
||||
const open: OpenCallback = useCallback(
|
||||
(roomId, spaceId, page) => {
|
||||
setSettings({ roomId, spaceId, page });
|
||||
},
|
||||
[setSettings]
|
||||
);
|
||||
|
||||
return open;
|
||||
};
|
||||
17
src/app/state/spaceSettings.ts
Normal file
17
src/app/state/spaceSettings.ts
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
import { atom } from 'jotai';
|
||||
|
||||
export enum SpaceSettingsPage {
|
||||
GeneralPage,
|
||||
MembersPage,
|
||||
PermissionsPage,
|
||||
EmojisStickersPage,
|
||||
DeveloperToolsPage,
|
||||
}
|
||||
|
||||
export type SpaceSettingsState = {
|
||||
page?: SpaceSettingsPage;
|
||||
roomId: string;
|
||||
spaceId?: string;
|
||||
};
|
||||
|
||||
export const spaceSettingsAtom = atom<SpaceSettingsState | undefined>(undefined);
|
||||
Loading…
Add table
Add a link
Reference in a new issue