import type { AuthStateValue } from "../shared/auth-messages";
import type { UpdateManifest } from "../shared/update-check";
export function renderLoggedOut(root: HTMLElement, error?: string | null): void {
root.innerHTML = `
登录后才能使用星图增强功能 ${error} 已登录 ${userInfo?.name ?? userInfo?.username ?? "未知用户"} ${userInfo?.email ?? ""} 正在检查更新...Star Chart Search Enhancer
Star Chart Search Enhancer
版本更新
当前版本:${options.currentVersion}
正在检查更新...
`; return; } if (options.status === "error") { container.innerHTML = `当前版本:${options.currentVersion}
暂时无法检查更新
如果需要新版,请联系维护同事获取更新包。
`; return; } if (options.status === "latest" || !options.manifest) { container.innerHTML = `当前版本:${options.currentVersion}
当前已是最新版本
`; return; } container.innerHTML = `当前版本:${options.currentVersion}
发现新版本:${options.manifest.latestVersion}
${renderReleaseNotes(options.manifest.releaseNotes)}下载后请解压新版 zip,并在 chrome://extensions 里重新加载插件。
`; } export function setUpdateDownloadStatus( root: HTMLElement, value: string ): void { const output = root.querySelector('[data-popup-update-download-status="text"]'); if (!output) { return; } output.textContent = value; } function renderReleaseNotes(releaseNotes: string[]): string { if (releaseNotes.length === 0) { return ""; } return `resource: ${authState.resource ?? ""}
scopes: ${(authState.scopes ?? []).join(", ")}
token: ${authState.tokenAvailable ? "available" : "missing"}
expires: ${authState.accessTokenExpiresAt ?? "unknown"}
error: ${authState.lastError ?? ""}
`; root.appendChild(panel); } export function setProtectedApiResult(root: HTMLElement, value: string): void { const output = root.querySelector( '[data-popup-protected-api-result="output"]' ); if (!output) { return; } output.textContent = value; }