113616b039
Release / release (push) Successful in 3m19s
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>
104 lines
5.6 KiB
HTML
104 lines
5.6 KiB
HTML
<!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>
|