{texts.welcomeTitle}
{texts.welcomeSubtitle}
{texts.successTitle}
{texts.successSubtitle}
{texts.features.length > 0 && (-
{texts.features.map((f) => (
- {f.label} ))}
import type { ThemeProps } from "../../types"; import logo from "../../assets/icon.png"; import "./minimal.css"; /** * Minimal 主题 —— 干净、克制、品牌中性。 * 适合做企业级应用、内部工具的安装器。 */ export default function MinimalTheme({ config, state }: ThemeProps) { const { step, progress, installPath } = state; const { primaryColor, successColor, texts } = config; const getStatusText = () => { for (let i = texts.progressFrames.length - 1; i >= 0; i--) { if (progress <= texts.progressFrames[i].limit) return texts.progressFrames[i].text; } return texts.progressFrames[texts.progressFrames.length - 1]?.text ?? ""; }; const cssVars: React.CSSProperties = { // @ts-expect-error -- CSS 自定义属性 "--theme-primary": primaryColor, "--theme-success": successColor, }; return (
{texts.welcomeSubtitle}
{texts.successSubtitle}
{texts.features.length > 0 && (