Import Tripoli Cloud frontend prototype
React/TypeScript/Vite/Tailwind prototype from the design session (login, dashboard, photos, backups, settings views with mocked API layer). Infra work (Rust services, Ansible, OpenTofu) follows in subsequent commits. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
commit
5dbd3b96f6
73 changed files with 4789 additions and 0 deletions
59
app/tailwind.config.js
Normal file
59
app/tailwind.config.js
Normal file
|
|
@ -0,0 +1,59 @@
|
|||
/**
|
||||
* Design tokens for Tripoli Cloud, centralized here so components never
|
||||
* hardcode colors, radii or spacing inline. Values mirror the validated
|
||||
* Claude Design prototype (`project/Tripoli Cloud.dc.html`).
|
||||
*
|
||||
* Surface/text colors resolve through CSS variables (see src/index.css) so
|
||||
* the same class (e.g. `bg-panel`) renders correctly in both themes without
|
||||
* a `dark:` variant on every element. Theme switching itself still goes
|
||||
* through Tailwind's `dark` class strategy on <html>.
|
||||
* @type {import('tailwindcss').Config}
|
||||
*/
|
||||
export default {
|
||||
darkMode: 'class',
|
||||
content: ['./index.html', './src/**/*.{js,ts,jsx,tsx}'],
|
||||
theme: {
|
||||
extend: {
|
||||
fontFamily: {
|
||||
sans: ['Manrope', 'system-ui', 'sans-serif'],
|
||||
},
|
||||
colors: {
|
||||
brand: {
|
||||
from: '#5b8cff',
|
||||
to: '#7c5cff',
|
||||
DEFAULT: '#5b8cff',
|
||||
soft: '#7ba4ff',
|
||||
},
|
||||
success: '#4ade80',
|
||||
danger: '#ff8f7a',
|
||||
violet: '#b39dff',
|
||||
bg: 'var(--tc-bg)',
|
||||
panel: 'var(--tc-panel)',
|
||||
panel2: 'var(--tc-panel-2)',
|
||||
line: 'var(--tc-line)',
|
||||
field: 'var(--tc-field)',
|
||||
selected: 'var(--tc-selected)',
|
||||
ink: {
|
||||
DEFAULT: 'var(--tc-ink)',
|
||||
soft: 'var(--tc-ink-2)',
|
||||
},
|
||||
},
|
||||
backgroundImage: {
|
||||
'brand-gradient': 'linear-gradient(135deg, #5b8cff 0%, #7c5cff 100%)',
|
||||
},
|
||||
borderRadius: {
|
||||
card: '16px',
|
||||
panel: '18px',
|
||||
modal: '14px',
|
||||
},
|
||||
boxShadow: {
|
||||
tc: 'var(--tc-shadow)',
|
||||
},
|
||||
screens: {
|
||||
// Explicit alias for the prototype's documented breakpoint.
|
||||
mobile: { max: '767px' },
|
||||
},
|
||||
},
|
||||
},
|
||||
plugins: [],
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue