feat: refine ui with minimax-inspired style
This commit is contained in:
@@ -357,7 +357,7 @@ export default function CreateTaskPage() {
|
|||||||
<span className="header-kicker">AI Video Studio</span>
|
<span className="header-kicker">AI Video Studio</span>
|
||||||
<h3>生成工作台</h3>
|
<h3>生成工作台</h3>
|
||||||
<p className="muted">
|
<p className="muted">
|
||||||
以“模型选型 → 提示词 → 素材引用 → 任务提交”的顺序完成一次创作。平台连接信息被隐藏,只保留真正影响出片的参数。
|
以“模型选型 → 提示词 → 素材引用 → 任务提交”的顺序完成一次创作。页面像一组能力卡片矩阵,只保留真正影响出片的参数。
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
<div className="row">
|
<div className="row">
|
||||||
@@ -664,7 +664,7 @@ export default function CreateTaskPage() {
|
|||||||
<div>
|
<div>
|
||||||
<span className="header-kicker">Asset Dock</span>
|
<span className="header-kicker">Asset Dock</span>
|
||||||
<h3>素材库</h3>
|
<h3>素材库</h3>
|
||||||
<p className="muted">上传后即时入库,边看缩略图边做引用,创作参数和素材选择留在同一画面里。</p>
|
<p className="muted">上传后即时入库,边看缩略图边做引用,让素材选择像浏览 AI 能力图库一样直接。</p>
|
||||||
</div>
|
</div>
|
||||||
<div className="workspace-tabs">
|
<div className="workspace-tabs">
|
||||||
<span className="tab-chip active">素材库</span>
|
<span className="tab-chip active">素材库</span>
|
||||||
|
|||||||
@@ -37,7 +37,7 @@ export default function AdminLoginPage() {
|
|||||||
<div className="brand-kicker">Ops Console</div>
|
<div className="brand-kicker">Ops Console</div>
|
||||||
<h1 className="headline">把模型、价格、奖励、订单和任务链路收进一块控制台。</h1>
|
<h1 className="headline">把模型、价格、奖励、订单和任务链路收进一块控制台。</h1>
|
||||||
<p className="subcopy">
|
<p className="subcopy">
|
||||||
视觉上参考 `Linear/Vercel` 式精密控制台,信息密度更高,但仍保留足够留白,让配置、审计和异常排查更好读。
|
这轮后台视觉沿用 `MiniMax-DESIGN.md` 的轻白产品感,用更轻的卡片矩阵承载更重的运营信息,让配置、审计和异常排查更易读。
|
||||||
</p>
|
</p>
|
||||||
<div className="auth-chip-row">
|
<div className="auth-chip-row">
|
||||||
<span className="auth-chip">Provider routing</span>
|
<span className="auth-chip">Provider routing</span>
|
||||||
|
|||||||
@@ -1,16 +1,18 @@
|
|||||||
import { IBM_Plex_Mono, Manrope, Syne } from "next/font/google";
|
import { DM_Sans, Outfit, Roboto_Mono } from "next/font/google";
|
||||||
|
|
||||||
export const displayFont = Syne({
|
export const displayFont = Outfit({
|
||||||
subsets: ["latin"],
|
subsets: ["latin"],
|
||||||
variable: "--font-display",
|
variable: "--font-display",
|
||||||
|
weight: ["500", "600", "700"],
|
||||||
});
|
});
|
||||||
|
|
||||||
export const bodyFont = Manrope({
|
export const bodyFont = DM_Sans({
|
||||||
subsets: ["latin"],
|
subsets: ["latin"],
|
||||||
variable: "--font-body",
|
variable: "--font-body",
|
||||||
|
weight: ["400", "500", "700"],
|
||||||
});
|
});
|
||||||
|
|
||||||
export const monoFont = IBM_Plex_Mono({
|
export const monoFont = Roboto_Mono({
|
||||||
subsets: ["latin"],
|
subsets: ["latin"],
|
||||||
variable: "--font-mono",
|
variable: "--font-mono",
|
||||||
weight: ["400", "500", "600"],
|
weight: ["400", "500", "600"],
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -34,11 +34,11 @@ export default function LoginPage() {
|
|||||||
<div className="eyebrow">Creative Workbench</div>
|
<div className="eyebrow">Creative Workbench</div>
|
||||||
<h1 className="headline">从一句提示词到成片交付,把 AI 视频生产线收进一块工作台。</h1>
|
<h1 className="headline">从一句提示词到成片交付,把 AI 视频生产线收进一块工作台。</h1>
|
||||||
<p className="subcopy">
|
<p className="subcopy">
|
||||||
参考 `RunwayML` 式的电影感操作界面,把模型切换、素材引用、积分消耗和任务轮询收敛为一个连续动作。
|
参考 `MiniMax-DESIGN.md` 的产品画布思路,把模型切换、素材引用、积分消耗和任务轮询组织成一组清爽的能力卡片。
|
||||||
</p>
|
</p>
|
||||||
<div className="auth-chip-row">
|
<div className="auth-chip-row">
|
||||||
<span className="auth-chip">Prompt to video</span>
|
<span className="auth-chip">Prompt to video</span>
|
||||||
<span className="auth-chip">Asset-aware workflow</span>
|
<span className="auth-chip">Capability cards</span>
|
||||||
<span className="auth-chip">Realtime task polling</span>
|
<span className="auth-chip">Realtime task polling</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -77,16 +77,16 @@ export function AdminShell({ children }: { children: React.ReactNode }) {
|
|||||||
</div>
|
</div>
|
||||||
<span className="brand-kicker">AIVIDEO ADMIN</span>
|
<span className="brand-kicker">AIVIDEO ADMIN</span>
|
||||||
<h1>控制后台</h1>
|
<h1>控制后台</h1>
|
||||||
<p>围绕模型、价格、奖励、订单和任务链路做统一配置、审计和异常处置。</p>
|
<p>围绕模型、价格、奖励、订单和任务链路做统一配置、审计和异常处置,用更产品化的矩阵视角管理能力层。</p>
|
||||||
<div className="brand-pill-row">
|
<div className="brand-pill-row">
|
||||||
<span className="brand-pill">Ops control</span>
|
<span className="brand-pill">Ops control</span>
|
||||||
<span className="brand-pill">Pricing</span>
|
<span className="brand-pill">Pricing</span>
|
||||||
<span className="brand-pill">Provider routing</span>
|
<span className="brand-pill">Capability routing</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div className="sidebar-note">
|
<div className="sidebar-note">
|
||||||
<div className="sidebar-note-label">Operations Grid</div>
|
<div className="sidebar-note-label">Operations Matrix</div>
|
||||||
<div className="sidebar-metrics">
|
<div className="sidebar-metrics">
|
||||||
<div className="sidebar-metric">
|
<div className="sidebar-metric">
|
||||||
<strong>Models</strong>
|
<strong>Models</strong>
|
||||||
|
|||||||
@@ -42,7 +42,7 @@ export function RegisterForm({ inviteCode = "" }: { inviteCode?: string }) {
|
|||||||
<div className="eyebrow">New Account</div>
|
<div className="eyebrow">New Account</div>
|
||||||
<h1 className="headline">用一个账号,串起创作、积分、邀请奖励和素材管理。</h1>
|
<h1 className="headline">用一个账号,串起创作、积分、邀请奖励和素材管理。</h1>
|
||||||
<p className="subcopy">
|
<p className="subcopy">
|
||||||
注册后会读取后台增长规则发放奖励;如果带邀请码进入,则会同步建立邀请关系,后续消费可自动回传奖励。
|
注册后会读取后台增长规则发放奖励;如果带邀请码进入,则会同步建立邀请关系,让增长链路也保持和创作体验一样清爽直接。
|
||||||
</p>
|
</p>
|
||||||
<div className="auth-chip-row">
|
<div className="auth-chip-row">
|
||||||
<span className="auth-chip">Signup rewards</span>
|
<span className="auth-chip">Signup rewards</span>
|
||||||
|
|||||||
@@ -114,9 +114,9 @@ export function SiteShell({ children }: { children: React.ReactNode }) {
|
|||||||
</div>
|
</div>
|
||||||
<span className="brand-kicker">AI VIDEO STUDIO</span>
|
<span className="brand-kicker">AI VIDEO STUDIO</span>
|
||||||
<h1>AIVideo</h1>
|
<h1>AIVideo</h1>
|
||||||
<p>把模型路由、素材管理和任务轮询收进一个电影感工作台,让创作动作像调度镜头一样顺滑。</p>
|
<p>把模型路由、素材管理和任务轮询收进一块轻白画布,让每个创作动作都像切换一个 AI 能力卡片。</p>
|
||||||
<div className="brand-pill-row">
|
<div className="brand-pill-row">
|
||||||
<span className="brand-pill">Source mode</span>
|
<span className="brand-pill">Creative matrix</span>
|
||||||
<span className="brand-pill">Mock providers</span>
|
<span className="brand-pill">Mock providers</span>
|
||||||
<span className="brand-pill">Local assets</span>
|
<span className="brand-pill">Local assets</span>
|
||||||
</div>
|
</div>
|
||||||
@@ -127,19 +127,19 @@ export function SiteShell({ children }: { children: React.ReactNode }) {
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div className="sidebar-note">
|
<div className="sidebar-note">
|
||||||
<div className="sidebar-note-label">Pipeline Focus</div>
|
<div className="sidebar-note-label">Capability Grid</div>
|
||||||
<div className="sidebar-metrics">
|
<div className="sidebar-metrics">
|
||||||
<div className="sidebar-metric">
|
<div className="sidebar-metric">
|
||||||
<strong>Prompt</strong>
|
<strong>Prompt</strong>
|
||||||
<span>镜头、动作、光感</span>
|
<span>主体、动作、镜头和情绪描述</span>
|
||||||
</div>
|
</div>
|
||||||
<div className="sidebar-metric">
|
<div className="sidebar-metric">
|
||||||
<strong>Assets</strong>
|
<strong>Assets</strong>
|
||||||
<span>图片、视频、音频参考</span>
|
<span>图片、视频、音频参考素材</span>
|
||||||
</div>
|
</div>
|
||||||
<div className="sidebar-metric">
|
<div className="sidebar-metric">
|
||||||
<strong>Tasks</strong>
|
<strong>Tasks</strong>
|
||||||
<span>轮询、冻结、结果落盘</span>
|
<span>轮询进度、冻结扣费和结果回收</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
Reference in New Issue
Block a user