Separate domain access from code-channel login
This commit is contained in:
parent
066f14d007
commit
6b1bb203df
7 changed files with 324 additions and 6 deletions
|
|
@ -12,6 +12,7 @@ import { DomainSurface } from './components/DomainSurface';
|
|||
import { ModuleLibrarySheet } from './components/ModuleLibrarySheet';
|
||||
import { cleanDisplayText } from './presentation';
|
||||
import { WorldEntry } from './components/WorldEntry';
|
||||
import { DomainConnectionSheet } from './components/DomainConnectionSheet';
|
||||
|
||||
type View = 'editor' | 'history';
|
||||
type RouteId = 'fifth' | 'main' | 'sub' | 'zero' | 'zero-sense';
|
||||
|
|
@ -80,6 +81,7 @@ export default function App() {
|
|||
const [activeRoute, setActiveRoute] = useState<RouteId>('fifth');
|
||||
const [activeModule, setActiveModule] = useState<ModuleId>('knowledge');
|
||||
const [storageSheetOpen, setStorageSheetOpen] = useState(false);
|
||||
const [domainConnectionOpen, setDomainConnectionOpen] = useState(false);
|
||||
const [storageSheetInitialMode, setStorageSheetInitialMode] = useState<'local' | 'server' | undefined>();
|
||||
const [serverSession, setServerSession] = useState<ServerSession>({ authenticated: false, nodeId: '' });
|
||||
const [serverProfiles, setServerProfiles] = useState<ServerProfile[]>([]);
|
||||
|
|
@ -391,8 +393,7 @@ export default function App() {
|
|||
setWorldEntered(true);
|
||||
}}
|
||||
onOpenConnection={() => {
|
||||
setStorageSheetInitialMode('server');
|
||||
setStorageSheetOpen(true);
|
||||
setDomainConnectionOpen(true);
|
||||
}}
|
||||
/>
|
||||
)}
|
||||
|
|
@ -414,7 +415,7 @@ export default function App() {
|
|||
setStorageSheetOpen(true);
|
||||
}}>
|
||||
<span className="session-status-dot" aria-hidden="true" />
|
||||
<span><strong>{serverSession.authenticated ? serverSession.username : (personalServer ? '登录第五域' : '配置我的服务器')}</strong><small>{personalServer?.id || '本机私有配置'}</small></span>
|
||||
<span><strong>{serverSession.authenticated ? `代码频道 · ${serverSession.username}` : (personalServer ? '代码频道账号' : '配置我的服务器')}</strong><small>{personalServer?.id || '本机私有配置'}</small></span>
|
||||
</button>
|
||||
</header>
|
||||
|
||||
|
|
@ -577,6 +578,23 @@ export default function App() {
|
|||
refreshDomainAccess();
|
||||
}}
|
||||
/>
|
||||
<DomainConnectionSheet
|
||||
access={domainAccess}
|
||||
open={domainConnectionOpen}
|
||||
onClose={() => setDomainConnectionOpen(false)}
|
||||
onEnterRuntime={() => {
|
||||
if (!domainAccess.runtimeReady) return;
|
||||
setActiveRoute('fifth');
|
||||
setActiveModule('knowledge');
|
||||
setWorldEntered(true);
|
||||
setDomainConnectionOpen(false);
|
||||
}}
|
||||
onOpenCodeChannel={() => {
|
||||
setDomainConnectionOpen(false);
|
||||
setStorageSheetInitialMode('server');
|
||||
setStorageSheetOpen(true);
|
||||
}}
|
||||
/>
|
||||
<HumanSettings
|
||||
open={humanSettingsOpen}
|
||||
preferences={humanPreferences}
|
||||
|
|
|
|||
Loading…
Reference in a new issue