mirror of
https://github.com/cinnyapp/cinny.git
synced 2025-11-15 11:40:29 +03:00
Merge branch 'dev' into new-profile-view
This commit is contained in:
commit
ad3916b70d
42 changed files with 1719 additions and 95 deletions
7
src/app/state/createRoomModal.ts
Normal file
7
src/app/state/createRoomModal.ts
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
import { atom } from 'jotai';
|
||||
|
||||
export type CreateRoomModalState = {
|
||||
spaceId?: string;
|
||||
};
|
||||
|
||||
export const createRoomModalAtom = atom<CreateRoomModalState | undefined>(undefined);
|
||||
7
src/app/state/createSpaceModal.ts
Normal file
7
src/app/state/createSpaceModal.ts
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
import { atom } from 'jotai';
|
||||
|
||||
export type CreateSpaceModalState = {
|
||||
spaceId?: string;
|
||||
};
|
||||
|
||||
export const createSpaceModalAtom = atom<CreateSpaceModalState | undefined>(undefined);
|
||||
34
src/app/state/hooks/createRoomModal.ts
Normal file
34
src/app/state/hooks/createRoomModal.ts
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
import { useCallback } from 'react';
|
||||
import { useAtomValue, useSetAtom } from 'jotai';
|
||||
import { createRoomModalAtom, CreateRoomModalState } from '../createRoomModal';
|
||||
|
||||
export const useCreateRoomModalState = (): CreateRoomModalState | undefined => {
|
||||
const data = useAtomValue(createRoomModalAtom);
|
||||
|
||||
return data;
|
||||
};
|
||||
|
||||
type CloseCallback = () => void;
|
||||
export const useCloseCreateRoomModal = (): CloseCallback => {
|
||||
const setSettings = useSetAtom(createRoomModalAtom);
|
||||
|
||||
const close: CloseCallback = useCallback(() => {
|
||||
setSettings(undefined);
|
||||
}, [setSettings]);
|
||||
|
||||
return close;
|
||||
};
|
||||
|
||||
type OpenCallback = (space?: string) => void;
|
||||
export const useOpenCreateRoomModal = (): OpenCallback => {
|
||||
const setSettings = useSetAtom(createRoomModalAtom);
|
||||
|
||||
const open: OpenCallback = useCallback(
|
||||
(spaceId) => {
|
||||
setSettings({ spaceId });
|
||||
},
|
||||
[setSettings]
|
||||
);
|
||||
|
||||
return open;
|
||||
};
|
||||
34
src/app/state/hooks/createSpaceModal.ts
Normal file
34
src/app/state/hooks/createSpaceModal.ts
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
import { useCallback } from 'react';
|
||||
import { useAtomValue, useSetAtom } from 'jotai';
|
||||
import { createSpaceModalAtom, CreateSpaceModalState } from '../createSpaceModal';
|
||||
|
||||
export const useCreateSpaceModalState = (): CreateSpaceModalState | undefined => {
|
||||
const data = useAtomValue(createSpaceModalAtom);
|
||||
|
||||
return data;
|
||||
};
|
||||
|
||||
type CloseCallback = () => void;
|
||||
export const useCloseCreateSpaceModal = (): CloseCallback => {
|
||||
const setSettings = useSetAtom(createSpaceModalAtom);
|
||||
|
||||
const close: CloseCallback = useCallback(() => {
|
||||
setSettings(undefined);
|
||||
}, [setSettings]);
|
||||
|
||||
return close;
|
||||
};
|
||||
|
||||
type OpenCallback = (space?: string) => void;
|
||||
export const useOpenCreateSpaceModal = (): OpenCallback => {
|
||||
const setSettings = useSetAtom(createSpaceModalAtom);
|
||||
|
||||
const open: OpenCallback = useCallback(
|
||||
(spaceId) => {
|
||||
setSettings({ spaceId });
|
||||
},
|
||||
[setSettings]
|
||||
);
|
||||
|
||||
return open;
|
||||
};
|
||||
Loading…
Add table
Add a link
Reference in a new issue