Files
probably-rendering-one-more…/apps/studio/src/components/NativeSeries.tsx
T
codex-bot 174a3ef266
studio CI and deployment / verify-and-deploy (pull_request) Failing after 3m51s
waterfall-wiki CI and deployment / verify-and-deploy (pull_request) Failing after 2m58s
Add versioned multi-page Studio artwork documents and native exports
2026-10-28 23:36:54 +08:00

14 lines
1.2 KiB
TypeScript

import Head from 'next/head';
import fixed from '../content/templates/layouts.json';
import standard from '../content/standard-layout.json';
import {pageParameters} from '../lib/series';
import type {Design} from '../lib/native-layout';
import {NativeArtwork} from './NativeResult';
export function NativeSeries({design,page,quality}:{design:Design;page:number|null;quality:boolean}){
const doc=design.document!;
return <main className={'native-layout-page native-series'+(quality?' native-export':'')} data-style-version={doc.style.version} data-revision={design.revision}>
<Head><title>{design.name} · {doc.pages.length}页</title><meta name="description" content={doc.brief.intent}/></Head>
{doc.pages.map((p,index)=>{if(page!==null&&page!==index+1)return null;const layout=[standard,...fixed].find(l=>l.id===p.layoutId)!;return <div className="series-page" key={p.key} data-page={index+1} data-page-key={p.key} data-page-role={p.role}><NativeArtwork layout={layout} quality={quality} design={{...design,name:design.name+' · '+(index+1),layoutId:p.layoutId,parameters:pageParameters(doc,p,layout)}}/>{!quality&&<p className="series-page-number">{String(index+1).padStart(2,'0')} / {doc.pages.length}</p>}</div>})}
</main>;
}