Stash the full claude.ai/design output (12 JSX variants — brutalist, classic, cli, compact, fluent-live, glass, hero-live, minimal, sketches, studio, wizard-live, workshop — plus shared hooks and a standalone HTML preview) for reference when we get to the Wails frontend in Phase 6/7. Source archive: C:\Users\root\Downloads\app(1).zip (~1MB). Not wired into any build target yet — current GUI is the temporary MessageBox stub. Pulling these in is the goal of the Wails phase. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,103 @@
|
||||
<!doctype html>
|
||||
<html lang="ru">
|
||||
<head>
|
||||
<meta charset="utf-8"/>
|
||||
<title>Drover-Go — Shortlist</title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
||||
<link rel="preconnect" href="https://fonts.googleapis.com" />
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
|
||||
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500;600;700&display=swap" rel="stylesheet" />
|
||||
<style>
|
||||
html, body { margin: 0; padding: 0; background: #f0eee9; font-family: 'Inter', -apple-system, "Segoe UI", system-ui, sans-serif; -webkit-font-smoothing: antialiased; }
|
||||
*{ box-sizing: border-box; }
|
||||
</style>
|
||||
<script src="https://unpkg.com/react@18.3.1/umd/react.development.js" integrity="sha384-hD6/rw4ppMLGNu3tX5cjIb+uRZ7UkRJ6BPkLpg4hAu/6onKUg4lLsHAs9EBPT82L" crossorigin="anonymous"></script>
|
||||
<script src="https://unpkg.com/react-dom@18.3.1/umd/react-dom.development.js" integrity="sha384-u6aeetuaXnQ38mYT8rp6sbXaQe3NL9t+IBXmnYxwkUI2Hw4bsp2Wvmx4yRQF1uAm" crossorigin="anonymous"></script>
|
||||
<script src="https://unpkg.com/@babel/standalone@7.29.0/babel.min.js" integrity="sha384-m08KidiNqLdpJqLq95G/LEi8Qvjl/xUYll3QILypMoQ65QorJ9Lvtp2RXYGBFj1y" crossorigin="anonymous"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div id="root"></div>
|
||||
|
||||
<script type="text/babel" src="design-canvas.jsx"></script>
|
||||
<script type="text/babel" src="drover-shared.jsx"></script>
|
||||
<script type="text/babel" src="drover-classic.jsx"></script>
|
||||
<script type="text/babel" src="drover-fluent-live.jsx"></script>
|
||||
<script type="text/babel" src="drover-wizard-live.jsx"></script>
|
||||
<script type="text/babel" src="drover-hero-live.jsx"></script>
|
||||
|
||||
<script type="text/babel">
|
||||
const { useState, useEffect } = React;
|
||||
|
||||
function App() {
|
||||
const { DesignCanvas, DCSection, DCArtboard } = window;
|
||||
const W = 480, H = 640;
|
||||
|
||||
return (
|
||||
<DesignCanvas>
|
||||
<DCSection id="intro" title="Drover-Go · Shortlist" subtitle="Four directions you picked. Classic devtool is fully interactive (try it). The other three are sketches.">
|
||||
<DCArtboard id="intro-card" label="about" width={520} height={120}>
|
||||
<div data-dc-static style={{
|
||||
width: 520, padding: '16px 18px',
|
||||
background: '#ffffff', border: '1px solid rgba(0,0,0,0.08)', borderRadius: 10,
|
||||
fontSize: 13, lineHeight: 1.55, color: '#2a251f',
|
||||
boxShadow: '0 1px 3px rgba(0,0,0,0.04)',
|
||||
}}>
|
||||
<div style={{ fontWeight: 700, marginBottom: 4 }}>Shortlist · 4 directions · все живые</div>
|
||||
<div style={{ color: '#5c5650' }}>
|
||||
Все 4 варианта — полноценный интерактив. Кликай, заполняй форму, жми Check → Start.
|
||||
Разные UI-парадигмы (классика / Win11 / стэппер / VPN-кнопка), но одна и та же стейт-машина.
|
||||
</div>
|
||||
</div>
|
||||
</DCArtboard>
|
||||
</DCSection>
|
||||
|
||||
<DCSection id="classic" title="Classic devtool" subtitle="Hairlines, dense mono metrics, sober teal. Полноценный интерактив — кликай, тестируй. Dark + light.">
|
||||
<DCArtboard id="classic-dark" label="dark · interactive" width={W} height={H}>
|
||||
<window.ClassicWindow mode="dark" />
|
||||
</DCArtboard>
|
||||
<DCArtboard id="classic-light" label="light · interactive" width={W} height={H}>
|
||||
<window.ClassicWindow mode="light" />
|
||||
</DCArtboard>
|
||||
</DCSection>
|
||||
|
||||
<DCSection id="fluent" title="01 · Fluent / Win11 native" subtitle="Системные шрифты, акриловые карточки, Win11 acrylic-blue. Полный интерактив. Light + dark.">
|
||||
<DCArtboard id="fluent-light" label="light · interactive" width={W} height={H}>
|
||||
<window.FluentWindow mode="light" />
|
||||
</DCArtboard>
|
||||
<DCArtboard id="fluent-dark" label="dark · interactive" width={W} height={H}>
|
||||
<window.FluentWindow mode="dark" />
|
||||
</DCArtboard>
|
||||
</DCSection>
|
||||
|
||||
<DCSection id="wizard" title="03 · Wizard / stepper" subtitle="3 шага: Configure → Verify → Connect. Шаги переключаются автоматически по состоянию (idle/checking/active). Light + dark.">
|
||||
<DCArtboard id="wizard-light" label="light · interactive" width={W} height={H}>
|
||||
<window.WizardWindow mode="light" />
|
||||
</DCArtboard>
|
||||
<DCArtboard id="wizard-dark" label="dark · interactive" width={W} height={H}>
|
||||
<window.WizardWindow mode="dark" />
|
||||
</DCArtboard>
|
||||
</DCSection>
|
||||
|
||||
<DCSection id="hero" title="07 · Big toggle (VPN-style)" subtitle="Большая круглая кнопка — нажал, проверка пошла, при успехе авто-старт. Поля прокси — в раскрывающемся блоке снизу.">
|
||||
<DCArtboard id="hero-dark" label="dark · interactive" width={W} height={H}>
|
||||
<window.HeroWindow mode="dark" />
|
||||
</DCArtboard>
|
||||
<DCArtboard id="hero-light" label="light · interactive" width={W} height={H}>
|
||||
<window.HeroWindow mode="light" />
|
||||
</DCArtboard>
|
||||
</DCSection>
|
||||
</DesignCanvas>
|
||||
);
|
||||
}
|
||||
|
||||
function tryMount() {
|
||||
if (window.ClassicWindow && window.FluentWindow && window.WizardWindow && window.HeroWindow && window.DesignCanvas) {
|
||||
ReactDOM.createRoot(document.getElementById('root')).render(<App/>);
|
||||
} else {
|
||||
setTimeout(tryMount, 50);
|
||||
}
|
||||
}
|
||||
tryMount();
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
Reference in New Issue
Block a user