forked from bai/curriculum-project-hub
3d0f4e5c2d
登录页、后台外壳与六个 tab 全部成为客户端路由: /database/admin 登录(迁自 renderLoginPage) /database/dashboard 概览(迁自 renderDashboard) .../library .../users .../groups .../search .../settings 六个 tab 是真 URL,不再是 location.hash + display:none —— 刷新不丢 位置,链接可分享。 BrowserShell 拆成 LibraryView,加 showUserFooter:老师端 /app 显示 身份/登出页脚,后台的文件库 tab 不显示(外层已有身份区)。 bootstrap 走 /database/config 而非 /database/api/login-info:后者由 teacherApp 在 silo org 查找成功后才注册,前者无条件注册,登录页在 org 未就绪时也必须能拿到配置。 后端拥有的链接(OAuth、DEV 一键登录)标 data-sveltekit-reload, 否则被客户端路由拦下。
23 lines
667 B
Svelte
23 lines
667 B
Svelte
<script lang="ts">
|
|
/** 老师端。未登录显示登录卡片;登录后直接是文件库浏览器。 */
|
|
import { onMount } from "svelte";
|
|
import { me, authChecked } from "$lib/stores.js";
|
|
import { loadSession } from "$lib/session.js";
|
|
import LoginView from "$lib/LoginView.svelte";
|
|
import LibraryView from "$lib/LibraryView.svelte";
|
|
|
|
onMount(loadSession);
|
|
</script>
|
|
|
|
<svelte:head><title>文件库</title></svelte:head>
|
|
|
|
{#if !$authChecked}
|
|
<div class="flex h-full items-center justify-center text-ink-3">加载中…</div>
|
|
{:else if $me}
|
|
<div class="flex h-full flex-col">
|
|
<LibraryView showUserFooter />
|
|
</div>
|
|
{:else}
|
|
<LoginView />
|
|
{/if}
|