diff --git a/.claude/skills/saas-ui-redesign/SKILL.md b/.claude/skills/saas-ui-redesign/SKILL.md new file mode 100644 index 00000000..6cde8179 --- /dev/null +++ b/.claude/skills/saas-ui-redesign/SKILL.md @@ -0,0 +1,403 @@ +--- +name: saas-ui-redesign +description: Redesigns a Vue 3 application's UI into a modern SaaS-style interface with a vertical navigation sidebar, consistent spacing system, and polished professional look. Replaces the existing top nav bar in App.vue. +--- + +# SaaS UI Redesign Skill + +This skill converts a Vue 3 app with a horizontal top-nav bar into a modern SaaS-style layout with a fixed vertical sidebar, consistent spacing, and a polished professional look. All changes are made through the `vue-expert` agent — never edit `.vue` files directly. + +--- + +## Overview of Changes + +| Before | After | +|---|---| +| `.top-nav` horizontal bar at top | Fixed vertical sidebar, 220px wide | +| Nav links in a row | Nav links stacked vertically with icons | +| Logo + subtitle inline in nav bar | Logo block at top of sidebar | +| `FilterBar` below the nav bar | `FilterBar` in a slim horizontal bar below the topbar | +| `ProfileMenu` + `LanguageSwitcher` in top-right of nav | Footer section at the bottom of the sidebar | +| Full-width main content area | `margin-left: 220px` main content area | + +--- + +## Layout Structure to Implement + +``` +┌─────────────────────────────────────────────────────┐ +│ SIDEBAR (220px fixed, full height) │ TOPBAR (header, 56px, left: 220px) +│ ┌──────────────────┐ │ ┌───────────────────────────────────┐ +│ │ Logo / App name │ │ │ Page title [FilterBar] │ +│ ├──────────────────┤ │ └───────────────────────────────────┘ +│ │ Nav links │ │ +│ │ > Dashboard │ │ MAIN CONTENT (padding: 24px) +│ │ > Inventory │ │ ┌───────────────────────────────────┐ +│ │ > Orders │ │ │ │ +│ │ > Finance │ │ │ │ +│ │ > Demand │ │ └───────────────────────────────────┘ +│ │ > Reports │ │ +│ ├──────────────────┤ +│ │ LanguageSwitcher │ +│ │ ProfileMenu │ +│ └──────────────────┘ +└────────────────────── +``` + +--- + +## Step-by-Step Implementation + +### Step 1 — Audit the current App.vue + +Read `client/src/App.vue` before making any changes. Note: +- The `.top-nav` / `.nav-container` / `.nav-tabs` selectors — these will be removed +- The `.main-content` selector — its padding/max-width must be preserved +- Global CSS classes (`.card`, `.badge`, `.table`, etc.) — these do NOT change +- All ` diff --git a/client/src/components/FilterBar.vue b/client/src/components/FilterBar.vue index 9e12b694..67e34def 100644 --- a/client/src/components/FilterBar.vue +++ b/client/src/components/FilterBar.vue @@ -102,21 +102,16 @@ export default {