Add new space settings (#2293)

This commit is contained in:
Ajay Bura 2025-03-27 19:54:13 +11:00 committed by GitHub
parent 4aed4d7472
commit 5c39a36c12
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
44 changed files with 691 additions and 63 deletions

View 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;
};

View 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);