Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 23 additions & 0 deletions .superdesign/design-system.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# Cratebase Design System

Cratebase is a dense personal music archive for collectors. The UI should stay calm, precise, and work-focused.

## Visual Direction

- Use the existing muted archive palette from `src/index.css` and `src/App.css`.
- Keep page structure dense and scannable: sidebar navigation, constrained content, panels, tables, and detail asides.
- Avoid marketing layout, large decorative cards, gradients, and ornamental backgrounds.
- Controls use compact labels, 8px or smaller radii, restrained borders, and clear focus states.

## Components

- Use existing `.panel`, `.catalog-layout`, `.catalog-main`, `.detail-panel`, `.settings-control`, `.settings-mode-switch`, `.button`, `.badge`, and table classes.
- Settings forms should be grid-based and align to the rest of settings.
- For tag role mapping, distinguish portable standard fields from custom fields without adding a new visual style.

## Feature Requirements

- Tag field selection needs two modes: standard field and custom field.
- Standard fields should be offered as curated options.
- Custom field should be an explicit text input with validation hint, not hidden behind a select.
- Compatibility copy must clarify that custom fields are best-effort and format-specific.
10 changes: 10 additions & 0 deletions .superdesign/init/components.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# Components

Cratebase currently uses custom React components and vanilla CSS rather than a third-party UI kit.

Relevant shared primitives for this task:

- `src/features/settings/settingsShared.tsx`: `SearchField`, `ViewModeSwitch`.
- Common CSS classes: `.button`, `.panel`, `.catalog-table`, `.settings-control`, `.settings-check`, `.badge`.

Full source files are passed directly to Superdesign commands for the target task.
17 changes: 17 additions & 0 deletions .superdesign/init/extractable-components.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# Extractable Components

## AppShell

- Source: `src/app/AppShell.tsx`
- Category: layout
- Description: Sidebar navigation and application shell.
- Extractable props: activeRoute.
- Hardcoded: route labels, lucide icons, Cratebase brand text.

## SettingsModeSwitch

- Source: `src/features/settings/settingsShared.tsx`
- Category: basic
- Description: Compact segmented control for settings sections.
- Extractable props: current mode.
- Hardcoded: settings section labels.
9 changes: 9 additions & 0 deletions .superdesign/init/layouts.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# Layouts

Relevant app shell files:

- `src/app/AppShell.tsx`: sidebar app navigation and main layout.
- `src/app/AuthenticatedApp.tsx`: authenticated app container.
- `src/app/renderWorkspace.tsx`: route-to-workspace renderer.

Full source files are passed directly to Superdesign commands for the target task.
22 changes: 22 additions & 0 deletions .superdesign/init/pages.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
# Pages

## /settings

Entry: `src/features/settings/SettingsWorkspace.tsx`

Dependencies:

- `src/features/settings/ServerSettingsWorkspace.tsx`
- `src/features/settings/SettingsWorkspace.tsx`
- `src/features/settings/settings.css`
- `src/features/settings/settingsModel.ts`
- `src/features/settings/settingsShared.tsx`
- `src/features/settings/TagRoleMappingSettings.tsx`
- `src/features/settings/DictionarySettingsPanels.tsx`
- `src/features/settings/RatingCriteriaSettings.tsx`
- `src/features/settings/ImportPatternSettings.tsx`
- `src/features/settings/NamingProfileSettings.tsx`
- `src/app/AppShell.tsx`
- `src/app/routes.ts`
- `src/App.css`
- `src/index.css`
7 changes: 7 additions & 0 deletions .superdesign/init/routes.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# Routes

Routes are configured in `src/app/routes.ts` and rendered by `src/app/renderWorkspace.tsx`.

Relevant route:

- `/settings` -> `ServerSettingsWorkspace` -> `SettingsWorkspace` -> `TagRoleMappingSettings`.
11 changes: 11 additions & 0 deletions .superdesign/init/theme.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# Theme

Theme tokens and layout styles live in:

- `src/index.css`
- `src/App.css`
- `src/styles/app-shell.css`
- `src/styles/common-panels.css`
- `src/features/settings/settings.css`

Use the existing archive palette, compact controls, panel borders, and selected-row treatment.
Loading