vzcode
Version:
Multiplayer code editor system
35 lines (33 loc) • 729 B
text/typescript
import { VZState } from '.';
import { Username } from '../../types';
import { ThemeLabel } from '../themes';
export const createInitialState = ({
defaultTheme,
initialUsername = 'Anonymous',
}: {
defaultTheme: ThemeLabel;
initialUsername?: Username;
}): VZState => ({
pane: {
id: 'root',
type: 'leafPane',
tabList: [],
activeFileId: null,
},
activePaneId: 'root',
theme: defaultTheme,
search: {
pattern: '',
results: {},
focused: false,
focusedIndex: null,
focusedChildIndex: null,
},
isSearchOpen: false,
isSettingsOpen: false,
isDocOpen: false,
editorWantsFocus: false,
username: initialUsername,
enableAutoFollow: true,
sidebarPresenceIndicators: [],
});