[feat] better installer + changelog test version switch + better video config view

This commit is contained in:
2025-11-05 11:19:43 +08:00
parent ea0a42dc43
commit 41008cf13c
19 changed files with 1499 additions and 183 deletions

View File

@@ -1,37 +1,53 @@
"use client"
import { useAppStore } from "@/store/app"
import { Switch } from "@heroui/react"
import { UpdateChecker } from "@/components/cstb/UpdateChecker"
export default function Page() {
const app = useAppStore()
// 从环境变量或配置中获取更新服务器地址
// 这里可以改为从 store 或配置文件中读取
const customEndpoint = process.env.NEXT_PUBLIC_UPDATE_ENDPOINT || ""
const githubRepo = process.env.NEXT_PUBLIC_GITHUB_REPO || ""
return (
<div className="flex flex-col items-start gap-3 pt-2 pb-1">
<p>{app.state.version}</p>
<p>{app.state.hasUpdate ? "有" : "无"}</p>
<p>使{app.state.useMirror ? "" : ""}</p>
<Switch
isSelected={app.state.autoStart}
size="sm"
onChange={(e) => app.setAutoStart(e.target.checked)}
>
{app.state.autoStart ? "开" : "关"}
</Switch>
<Switch
isSelected={app.state.startHidden}
size="sm"
onChange={(e) => app.setStartHidden(e.target.checked)}
>
{app.state.startHidden ? "开" : "关"}
</Switch>
{/* hiddenOnClose */}
<Switch
isSelected={app.state.hiddenOnClose}
size="sm"
onChange={(e) => app.setHiddenOnClose(e.target.checked)}
>
{app.state.hiddenOnClose ? "开" : "关"}
</Switch>
<div className="flex flex-col items-start gap-4 pt-2 pb-1">
<div className="space-y-2">
<p className="text-sm">{app.state.version}</p>
<p className="text-sm">{app.state.hasUpdate ? "" : ""}</p>
<p className="text-sm">使{app.state.useMirror ? "是" : "否"}</p>
</div>
<div className="w-full border-t border-zinc-200 dark:border-zinc-800 pt-4">
<h3 className="text-sm font-semibold mb-3"></h3>
<UpdateChecker customEndpoint={customEndpoint} githubRepo={githubRepo} />
</div>
<div className="w-full border-t border-zinc-200 dark:border-zinc-800 pt-4 space-y-3">
<h3 className="text-sm font-semibold mb-3"></h3>
<Switch
isSelected={app.state.autoStart}
size="sm"
onChange={(e) => app.setAutoStart(e.target.checked)}
>
{app.state.autoStart ? "开" : "关"}
</Switch>
<Switch
isSelected={app.state.startHidden}
size="sm"
onChange={(e) => app.setStartHidden(e.target.checked)}
>
{app.state.startHidden ? "开" : "关"}
</Switch>
<Switch
isSelected={app.state.hiddenOnClose}
size="sm"
onChange={(e) => app.setHiddenOnClose(e.target.checked)}
>
{app.state.hiddenOnClose ? "开" : "关"}
</Switch>
</div>
</div>
)
}