From 2efb7a2b32fed879f7ea50a608f52dcd38e2f790 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Carlos=20Flor=C3=AAncio?= Date: Sat, 10 Jan 2026 18:46:09 +0000 Subject: [PATCH] feat: ui components reset --- apps/web/app/globals.css | 16 +- apps/web/app/task/[id]/page.tsx | 171 +++++------- apps/web/components/diff-stat.tsx | 9 +- apps/web/components/kanban-board.tsx | 4 +- apps/web/components/kanban-column.tsx | 6 +- apps/web/components/task-create-dialog.tsx | 59 ++--- apps/web/components/ui/alert-dialog.tsx | 11 +- apps/web/components/ui/badge.tsx | 1 - apps/web/components/ui/combobox.tsx | 294 --------------------- apps/web/components/ui/dialog.tsx | 155 +++++++++++ apps/web/components/ui/field.tsx | 227 ---------------- apps/web/components/ui/input-group.tsx | 147 ----------- apps/web/components/ui/resizable.tsx | 57 ++-- apps/web/components/ui/tabs.tsx | 47 +++- apps/web/package-lock.json | 2 +- apps/web/package.json | 2 +- 16 files changed, 347 insertions(+), 861 deletions(-) delete mode 100644 apps/web/components/ui/combobox.tsx create mode 100644 apps/web/components/ui/dialog.tsx delete mode 100644 apps/web/components/ui/field.tsx delete mode 100644 apps/web/components/ui/input-group.tsx diff --git a/apps/web/app/globals.css b/apps/web/app/globals.css index 33afa9c4e8..80e36586be 100644 --- a/apps/web/app/globals.css +++ b/apps/web/app/globals.css @@ -38,13 +38,13 @@ --color-popover: var(--popover); --color-card-foreground: var(--card-foreground); --color-card: var(--card); - --radius-sm: calc(var(--radius) - 4px); - --radius-md: calc(var(--radius) - 2px); + --radius-sm: var(--radius); + --radius-md: var(--radius); --radius-lg: var(--radius); - --radius-xl: calc(var(--radius) + 4px); - --radius-2xl: calc(var(--radius) + 8px); - --radius-3xl: calc(var(--radius) + 12px); - --radius-4xl: calc(var(--radius) + 16px); + --radius-xl: var(--radius); + --radius-2xl: var(--radius); + --radius-3xl: var(--radius); + --radius-4xl: var(--radius); } :root { @@ -71,7 +71,7 @@ --chart-3: oklch(0.59 0.20 277); --chart-4: oklch(0.51 0.23 277); --chart-5: oklch(0.46 0.21 277); - --radius: 0.45rem; + --radius: 0.375rem; --sidebar: oklch(0.985 0 0); --sidebar-foreground: oklch(0.145 0 0); --sidebar-primary: oklch(0.51 0.23 277); @@ -123,4 +123,4 @@ body { @apply bg-background text-foreground; } -} \ No newline at end of file +} diff --git a/apps/web/app/task/[id]/page.tsx b/apps/web/app/task/[id]/page.tsx index 40cfe7a1da..8343ee20b5 100644 --- a/apps/web/app/task/[id]/page.tsx +++ b/apps/web/app/task/[id]/page.tsx @@ -164,6 +164,61 @@ export default function TaskPage() { }; const terminalTabValue = activeTerminalId === 0 ? 'commands' : `terminal-${activeTerminalId}`; + const topFilesPanel = ( +
+ setTopTab(value as typeof topTab)} + className="flex-1 min-h-0" + > + + Diff files + All files + + +
+
    + {CHANGED_FILES.map((file) => { + const { folder, file: name } = splitPath(file.path); + return ( +
  • +
    +

    + {folder}/ + {name} +

    +
    +
    + + {file.status} +
    +
  • + ); + })} +
+
+
+ +
+
    + {ALL_FILES.map((file) => { + const { folder, file: name } = splitPath(file); + return ( +
  • + {folder}/ + {name} +
  • + ); + })} +
+
+
+
+
+ ); return (
@@ -283,7 +338,7 @@ export default function TaskPage() {
-
+
setLeftTab(value as typeof leftTab)} @@ -367,62 +422,8 @@ index 1234567..89abcde 100644 {isBottomCollapsed ? (
-
-
- setTopTab(value as typeof topTab)} - className="flex-1 min-h-0" - > - - Diff files - All files - - -
-
    - {CHANGED_FILES.map((file) => { - const { folder, file: name } = splitPath(file.path); - return ( -
  • -
    -

    - {folder}/ - {name} -

    -
    -
    - - {file.status} -
    -
  • - ); - })} -
-
-
- -
-
    - {ALL_FILES.map((file) => { - const { folder, file: name } = splitPath(file); - return ( -
  • - {folder}/ - {name} -
  • - ); - })} -
-
-
-
-
-
-
+
{topFilesPanel}
+
{ @@ -461,63 +462,11 @@ index 1234567..89abcde 100644 ) : ( -
- setTopTab(value as typeof topTab)} - className="flex-1 min-h-0" - > - - Diff files - All files - - -
-
    - {CHANGED_FILES.map((file) => { - const { folder, file: name } = splitPath(file.path); - return ( -
  • -
    -

    - {folder}/ - {name} -

    -
    -
    - - {file.status} -
    -
  • - ); - })} -
-
-
- -
-
    - {ALL_FILES.map((file) => { - const { folder, file: name } = splitPath(file); - return ( -
  • - {folder}/ - {name} -
  • - ); - })} -
-
-
-
-
+ {topFilesPanel}
-
+
{ diff --git a/apps/web/components/diff-stat.tsx b/apps/web/components/diff-stat.tsx index 5568500e5b..89d1b89a82 100644 --- a/apps/web/components/diff-stat.tsx +++ b/apps/web/components/diff-stat.tsx @@ -27,7 +27,14 @@ const lineTone = { export function CommitStatBadge({ label, tone, className }: CommitStatBadgeProps) { return ( - + {label} ); diff --git a/apps/web/components/kanban-board.tsx b/apps/web/components/kanban-board.tsx index ec1e15f290..2953251a86 100644 --- a/apps/web/components/kanban-board.tsx +++ b/apps/web/components/kanban-board.tsx @@ -78,7 +78,7 @@ export function KanbanBoard() { const router = useRouter(); const isMounted = useSyncExternalStore( - () => () => {}, + () => () => { }, () => true, () => false ); @@ -185,7 +185,7 @@ export function KanbanBoard() { >
{activeColumns.map((column) => ( diff --git a/apps/web/components/kanban-column.tsx b/apps/web/components/kanban-column.tsx index 359907fa28..65aa13cd47 100644 --- a/apps/web/components/kanban-column.tsx +++ b/apps/web/components/kanban-column.tsx @@ -26,12 +26,12 @@ export function KanbanColumn({ column, tasks, onOpenTask }: KanbanColumnProps) {
{/* Column Header */} -
+

{column.title}

@@ -42,7 +42,7 @@ export function KanbanColumn({ column, tasks, onOpenTask }: KanbanColumnProps) {
{/* Tasks */} -
+
{tasks.length === 0 ? (

No tasks yet

) : ( diff --git a/apps/web/components/task-create-dialog.tsx b/apps/web/components/task-create-dialog.tsx index 8469effd8b..8c14f231b4 100644 --- a/apps/web/components/task-create-dialog.tsx +++ b/apps/web/components/task-create-dialog.tsx @@ -2,14 +2,14 @@ import { useState, FormEvent } from 'react'; import { - AlertDialog, - AlertDialogContent, - AlertDialogHeader, - AlertDialogTitle, - AlertDialogFooter, - AlertDialogCancel, -} from '@/components/ui/alert-dialog'; -import { Field, FieldLabel } from '@/components/ui/field'; + Dialog, + DialogContent, + DialogHeader, + DialogTitle, + DialogFooter, + DialogClose, +} from '@/components/ui/dialog'; +import { Label } from '@/components/ui/label'; import { Input } from '@/components/ui/input'; import { Textarea } from '@/components/ui/textarea'; import { Button } from '@/components/ui/button'; @@ -52,19 +52,14 @@ export function TaskCreateDialog({ }; return ( - - onOpenChange(false), - }} - > - - {submitLabel === 'Create' ? 'Create Task' : 'Edit Task'} - + + + + {submitLabel === 'Create' ? 'Create Task' : 'Edit Task'} +
- - Title +
+ setTitle(e.target.value)} /> - - - Description +
+
+