v0.1.0-skeleton: Tauri v2 + React + TS scaffold with design system

- Tauri v2 project with greet command (invoke round-trip verified)
- React + TypeScript + Vite front-end
- Tailwind CSS v4 with dark blue + gold design tokens
- Glassmorphism .glass-card component with backdrop-filter
- BentoCard component (framer-motion, lucide-react icons)
- App shell: left rail nav (56px) + title bar + bento grid dashboard
- Cinzel / Inter / JetBrains Mono font stack
- Dark-only design: #0a0e1a deep, #d4af37 gold accents
- All design tokens as CSS custom properties
- Rust backend: greet command, tauri-plugin-log
- Builds successfully: cargo check, tsc, vite build, tauri build (macOS .app + .dmg)
This commit is contained in:
itsamejms
2026-06-28 22:30:28 +01:00
commit f30a92ddeb
43 changed files with 8525 additions and 0 deletions
+37
View File
@@ -0,0 +1,37 @@
import { motion } from "framer-motion";
import type { ReactNode } from "react";
interface BentoCardProps {
title: string;
icon: ReactNode;
span?: string;
children: ReactNode;
className?: string;
}
export function BentoCard({
title,
icon,
span = "col-span-1 row-span-1",
children,
className = "",
}: BentoCardProps) {
return (
<motion.div
className={`glass-card flex flex-col overflow-hidden p-4 ${span} ${className}`}
whileHover={{ scale: 1.005 }}
whileTap={{ scale: 0.985 }}
transition={{ type: "spring", stiffness: 400, damping: 25 }}
>
{/* Header */}
<div className="flex items-center gap-2 pb-2 mb-3 border-b border-[var(--color-border-glass)]">
<span className="text-[var(--color-gold-bright)]">{icon}</span>
<h2 className="font-heading text-sm font-semibold tracking-wide text-[var(--color-text-primary)]">
{title}
</h2>
</div>
{/* Body */}
<div className="flex-1 overflow-y-auto">{children}</div>
</motion.div>
);
}