Files
newsui/packages/docs/app/blocks/jp-vertical/page.tsx
T
sunzhongyi 1f09bba3ef feat: complete newspaperui component library with docs site
- 18 React components (Layout/Section/Article/Layer/Masthead/Rule +
  Headline/Subhead/Kicker/BodyText/Quote/Byline/Dateline/Caption +
  Image/Figure/Video/PullQuote)
- Theme: warm off-white palette, Source Serif 4 / Cormorant Garamond /
  Inter / Noto Serif SC/JP, visual weight mapping, dark mode
- Docs: Landing page, 6 Blocks (zh/en/jp), component API docs
- GitHub Pages deployment via static export

Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
2026-05-20 14:22:14 +08:00

161 lines
9.1 KiB
TypeScript
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
'use client';
import React from 'react';
const jp = { fontFamily: 'var(--font-family-cjk-jp)' };
const jpAccent = { color: 'var(--nui-accent-ink-blue)' };
export default function JpVertical() {
return (
<div style={{
background: 'var(--nui-bg-page)',
color: 'var(--nui-text-body)',
padding: '2rem',
minHeight: '100vh',
}}>
{/* 竖排容器 */}
<div style={{
writingMode: 'vertical-rl',
...jp,
height: '85vh',
overflow: 'hidden',
}}>
{/* 報頭(竖排中在最右侧) */}
<div style={{
borderLeft: '3px solid var(--nui-text-primary)',
paddingLeft: '1rem',
marginLeft: '2rem',
display: 'flex',
flexDirection: 'column',
justifyContent: 'flex-start',
gap: '1rem',
}}>
<h1 style={{
...jp,
fontSize: '56px',
fontWeight: 900,
letterSpacing: '0.2em',
lineHeight: 1.2,
margin: 0,
color: 'var(--nui-text-primary)',
}}></h1>
<div style={{ fontSize: '12px', color: 'var(--nui-text-muted)', lineHeight: 1.8 }}>
<div></div>
<div></div>
<div></div>
<div>48721</div>
</div>
</div>
{/* 一面トップ記事 */}
<div style={{
borderLeft: '1px solid var(--nui-rule-hairline)',
paddingLeft: '1.5rem',
marginLeft: '1.5rem',
maxHeight: '100%',
}}>
<div style={{ ...jpAccent, fontSize: '13px', fontWeight: 700, marginBottom: '1rem' }}></div>
<h2 style={{
...jp,
fontSize: '36px',
fontWeight: 900,
lineHeight: 1.4,
color: 'var(--nui-text-primary)',
margin: '0 0 1rem 0',
}}>
</h2>
<h3 style={{
...jp,
fontSize: '18px',
fontWeight: 500,
lineHeight: 1.6,
color: 'var(--nui-text-secondary)',
margin: '0 0 1.5rem 0',
}}>
 
</h3>
<div style={{ fontSize: '12px', color: 'var(--nui-text-muted)', marginBottom: '1rem' }}>
</div>
<div style={{ fontSize: '15px', lineHeight: 2.0, color: 'var(--nui-text-body)' }}>
<p style={{ margin: '0 0 0.5em 0', textIndent: '1em' }}>調</p>
<p style={{ margin: '0 0 0.5em 0', textIndent: '1em' }}></p>
<p style={{ margin: '0 0 0.5em 0', textIndent: '1em' }}></p>
<p style={{ margin: '0 0 0.5em 0', textIndent: '1em' }}></p>
<p style={{ margin: '0 0 0.5em 0', textIndent: '1em' }}></p>
</div>
</div>
{/* 二面記事 */}
<div style={{
borderLeft: '1px solid var(--nui-rule-hairline)',
paddingLeft: '1.5rem',
marginLeft: '1.5rem',
maxHeight: '100%',
}}>
<div style={{ ...jpAccent, fontSize: '12px', fontWeight: 700, marginBottom: '0.75rem' }}></div>
<h3 style={{ ...jp, fontSize: '22px', fontWeight: 700, lineHeight: 1.4, color: 'var(--nui-text-primary)', margin: '0 0 0.75rem 0' }}>
</h3>
<div style={{ fontSize: '14px', lineHeight: 2.0, color: 'var(--nui-text-body)' }}>
<p style={{ margin: '0 0 0.5em 0', textIndent: '1em' }}></p>
<p style={{ margin: '0 0 0.5em 0', textIndent: '1em' }}></p>
</div>
</div>
{/* 三面記事 */}
<div style={{
borderLeft: '1px solid var(--nui-rule-hairline)',
paddingLeft: '1.5rem',
marginLeft: '1.5rem',
maxHeight: '100%',
}}>
<div style={{ ...jpAccent, fontSize: '12px', fontWeight: 700, marginBottom: '0.75rem' }}></div>
<h3 style={{ ...jp, fontSize: '22px', fontWeight: 700, lineHeight: 1.4, color: 'var(--nui-text-primary)', margin: '0 0 0.75rem 0' }}>
</h3>
<div style={{ fontSize: '14px', lineHeight: 2.0, color: 'var(--nui-text-body)' }}>
<p style={{ margin: '0 0 0.5em 0', textIndent: '1em' }}></p>
<p style={{ margin: '0 0 0.5em 0', textIndent: '1em' }}></p>
</div>
</div>
{/* 四面:文化 */}
<div style={{
borderLeft: '1px solid var(--nui-rule-hairline)',
paddingLeft: '1.5rem',
marginLeft: '1.5rem',
maxHeight: '100%',
}}>
<div style={{ ...jpAccent, fontSize: '12px', fontWeight: 700, marginBottom: '0.75rem' }}></div>
<h3 style={{ ...jp, fontSize: '22px', fontWeight: 700, lineHeight: 1.4, color: 'var(--nui-text-primary)', margin: '0 0 0.75rem 0' }}>
</h3>
<div style={{ fontSize: '14px', lineHeight: 2.0, color: 'var(--nui-text-body)' }}>
<p style={{ margin: '0 0 0.5em 0', textIndent: '1em' }}></p>
<p style={{ margin: '0 0 0.5em 0', textIndent: '1em' }}></p>
</div>
</div>
{/* 五面:短信 */}
<div style={{
borderLeft: '1px solid var(--nui-rule-hairline)',
paddingLeft: '1.5rem',
marginLeft: '1.5rem',
maxHeight: '100%',
}}>
<div style={{ ...jpAccent, fontSize: '12px', fontWeight: 700, marginBottom: '0.75rem' }}></div>
<div style={{ fontSize: '13px', lineHeight: 2.0, color: 'var(--nui-text-body)' }}>
<p style={{ margin: '0 0 0.5em 0', textIndent: '1em' }}></p>
<p style={{ margin: '0 0 0.5em 0', textIndent: '1em' }}></p>
<p style={{ margin: '0 0 0.5em 0', textIndent: '1em' }}></p>
<p style={{ margin: '0 0 0.5em 0', textIndent: '1em' }}></p>
<p style={{ margin: '0 0 0.5em 0', textIndent: '1em' }}></p>
<p style={{ margin: '0 0 0.5em 0', textIndent: '1em' }}></p>
</div>
</div>
</div>
</div>
);
}