Skip to content

refactor: rebuild UI on shadcn/ui + Tailwind v4 with AWAR theme#2

Merged
0xErgod merged 9 commits into
masterfrom
refactor/1-rebuild-ui-shadcn-tailwind
Mar 10, 2026
Merged

refactor: rebuild UI on shadcn/ui + Tailwind v4 with AWAR theme#2
0xErgod merged 9 commits into
masterfrom
refactor/1-rebuild-ui-shadcn-tailwind

Conversation

@0xErgod
Copy link
Copy Markdown
Contributor

@0xErgod 0xErgod commented Mar 10, 2026

Summary

Closes #1

Complete rebuild of @awar.dev/ui from scratch using shadcn/ui + Tailwind v4 as the baseline, with the AWAR terminal-inspired aesthetic layered on top.

  • Remove all v1 components, tokens, providers, hooks, and showcase
  • Scaffold shadcn/ui + Tailwind v4 with AWAR theme layer (maroon/amber palette, zero radius, monospace font, custom scrollbars, dark/light modes)
  • Install and customize 25 shadcn components with compact density (28px default height, 4px spacing scale)
  • Strip all shadows and enforce zero border-radius globally
  • Port AWAR branding components: FigletText (gradient ASCII art), Logo (SVG), LogoLockup
  • Add AWARProvider + useAWARTheme for dark/light theme management
  • Set up library entry point with full public API exports
  • Verified: typecheck passes, build:lib produces dist bundle

Test plan

  • Dev server renders all components correctly in dark mode
  • Light mode toggle works via AWARProvider
  • Zero border-radius on all components (including rounded-full elements)
  • No shadows anywhere
  • Compact density verified via Playwright inspection
  • FigletText renders with gradient presets
  • Library build succeeds (npm run build:lib)
  • TypeScript compilation clean (tsc -b)

[agent pr]

Abderraouf Belalia added 9 commits March 10, 2026 05:56
Strip CSS Modules components (28), hand-rolled token system,
providers, hooks, and showcase app in preparation for shadcn/ui
+ Tailwind v4 rebuild.

[agent commit]
Initialize fresh project foundation on Tailwind v4 and shadcn/ui.
AWAR aesthetic applied globally via CSS variables: maroon/amber/warm
neutral palette, JetBrains Mono font, zero border-radius, tone-based
elevation with no shadows, and custom scrollbar styling. Both dark
(default) and light modes mapped.

[agent commit]
Install button, badge, card, alert, input, label, separator,
tooltip, dialog, dropdown-menu, popover, tabs, accordion, table,
toggle, switch, slider, progress, checkbox, select, textarea,
avatar, command, sheet, and scroll-area via shadcn CLI.

[agent commit]
Override --radius-full and add universal border-radius: 0 !important
rule to catch hardcoded rounded-full classes in shadcn components.
Update dev app to showcase all installed components with AWAR theme.

[agent commit]
Reduce component heights to 28px (h-7) default baseline with
4px-based spacing scale. Affects button, input, select, tabs,
command, toggle, dialog, card, accordion, table, sheet, textarea.

[agent commit]
Add section demonstrating component heights, inline form density,
4px base spacing scale, and card padding comparison.

[agent commit]
Remove all shadow-xs/sm/md/lg classes from component markup
(redundant with global box-shadow:none override). Change slider
thumb from hardcoded bg-white to bg-background. Remove hardcoded
rounded-[4px] from checkbox.

[agent commit]
Port FigletText with gradient presets and 3 figlet fonts from v1
archive. Add Logo SVG component and LogoLockup composition.
Include branding showcase section in dev app.

[agent commit]
Create theme provider with dark/light toggle that manages the
class on documentElement. Wire up full public API in index.ts
exporting all 25 shadcn components, 3 AWAR branding components,
provider, hook, and cn utility. Library build verified.

[agent commit]
@0xErgod 0xErgod merged commit d1d16ef into master Mar 10, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

refactor: rebuild UI layer on shadcn + Tailwind baseline

1 participant