mirror of
https://github.com/cinnyapp/cinny.git
synced 2025-11-09 00:30:28 +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
39
src/app/features/space-settings/SpaceSettingsRenderer.tsx
Normal file
39
src/app/features/space-settings/SpaceSettingsRenderer.tsx
Normal file
|
|
@ -0,0 +1,39 @@
|
|||
import React from 'react';
|
||||
import { SpaceSettings } from './SpaceSettings';
|
||||
import { Modal500 } from '../../components/Modal500';
|
||||
import { useCloseSpaceSettings, useSpaceSettingsState } from '../../state/hooks/spaceSettings';
|
||||
import { useAllJoinedRoomsSet, useGetRoom } from '../../hooks/useGetRoom';
|
||||
import { SpaceSettingsState } from '../../state/spaceSettings';
|
||||
import { RoomProvider } from '../../hooks/useRoom';
|
||||
import { SpaceProvider } from '../../hooks/useSpace';
|
||||
|
||||
type RenderSettingsProps = {
|
||||
state: SpaceSettingsState;
|
||||
};
|
||||
function RenderSettings({ state }: RenderSettingsProps) {
|
||||
const { roomId, spaceId, page } = state;
|
||||
const closeSettings = useCloseSpaceSettings();
|
||||
const allJoinedRooms = useAllJoinedRoomsSet();
|
||||
const getRoom = useGetRoom(allJoinedRooms);
|
||||
const room = getRoom(roomId);
|
||||
const space = spaceId ? getRoom(spaceId) : undefined;
|
||||
|
||||
if (!room) return null;
|
||||
|
||||
return (
|
||||
<Modal500 requestClose={closeSettings}>
|
||||
<SpaceProvider value={space ?? null}>
|
||||
<RoomProvider value={room}>
|
||||
<SpaceSettings initialPage={page} requestClose={closeSettings} />
|
||||
</RoomProvider>
|
||||
</SpaceProvider>
|
||||
</Modal500>
|
||||
);
|
||||
}
|
||||
|
||||
export function SpaceSettingsRenderer() {
|
||||
const state = useSpaceSettingsState();
|
||||
|
||||
if (!state) return null;
|
||||
return <RenderSettings state={state} />;
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue