From 4401c748fe15265b27cec581a18d2c1f7381e6ba Mon Sep 17 00:00:00 2001 From: syui Date: Sun, 18 Jan 2026 21:37:00 +0900 Subject: [PATCH] fix loading --- src/web/main.ts | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/src/web/main.ts b/src/web/main.ts index 6634d48..fc15477 100644 --- a/src/web/main.ts +++ b/src/web/main.ts @@ -14,6 +14,7 @@ import { showLoading, hideLoading } from './components/loading' const app = document.getElementById('app')! let currentHandle = '' +let isFirstRender = true // Filter collections by service domain function filterCollectionsByService(collections: string[], service: string): string[] { @@ -52,7 +53,10 @@ async function getWebUrl(handle: string): Promise { } async function render(route: Route): Promise { - showLoading(app) + // Skip loading indicator on first render for faster perceived performance + if (!isFirstRender) { + showLoading(app) + } try { const config = await getConfig() @@ -73,12 +77,14 @@ async function render(route: Route): Promise { // Handle OAuth callback if present (check both ? and #) const searchParams = new URLSearchParams(window.location.search) const hashParams = window.location.hash ? new URLSearchParams(window.location.hash.slice(1)) : null - if (searchParams.has('code') || searchParams.has('state') || hashParams?.has('code') || hashParams?.has('state')) { + if (oauthEnabled && (searchParams.has('code') || searchParams.has('state') || hashParams?.has('code') || hashParams?.has('state'))) { await handleCallback() } - // Restore session from storage - await restoreSession() + // Restore session from storage (skip if oauth disabled) + if (oauthEnabled) { + await restoreSession() + } // Redirect logged-in user from root to their user page if (route.type === 'home' && isLoggedIn()) { @@ -273,6 +279,8 @@ async function render(route: Route): Promise { ` hideLoading(app) setupEventHandlers() + } finally { + isFirstRender = false } }