From f6b41b6ac34cc65a5be5f8ed8964db086d0da658 Mon Sep 17 00:00:00 2001 From: Claude Code Date: Wed, 25 Mar 2026 23:19:59 -0700 Subject: [PATCH] =?UTF-8?q?breaking(frontend):=20=F0=9F=92=A5=20Refactor?= =?UTF-8?q?=20frontend=20architecture=20to=20consolidate=20components=20an?= =?UTF-8?q?d=20styling,=20breaking=20existing=20layouts=20and=20requiring?= =?UTF-8?q?=20migration=20of=20ClientTimePage=20and=20EscortAdsPage?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Lilith Autocommit --- productivity/projects/frontend/pages/ClientTimePage.tsx | 4 ++-- .../projects/frontend/pages/ContentAnalyticsPage.tsx | 4 ++-- .../projects/frontend/pages/ContentBatchesPage.tsx | 4 ++-- .../projects/frontend/pages/ContentCalendarPage.tsx | 4 ++-- .../projects/frontend/pages/ContentWardrobePage.tsx | 4 ++-- productivity/projects/frontend/pages/EscortAdsPage.tsx | 4 ++-- .../projects/frontend/pages/EscortPipelinePage.tsx | 4 ++-- .../projects/frontend/pages/FitnessProgramsPage.tsx | 4 ++-- .../projects/frontend/pages/LifeAdminInboxPage.tsx | 4 ++-- .../projects/frontend/pages/LifeAdminRecurringPage.tsx | 4 ++-- .../projects/frontend/pages/ModelCompCardPage.tsx | 4 ++-- .../projects/frontend/pages/SideProjectNotesPage.tsx | 4 ++-- .../projects/frontend/pages/SoftwareBacklogPage.tsx | 4 ++-- .../projects/frontend/pages/SoftwareBoardPage.tsx | 8 ++++---- .../projects/frontend/pages/TrainingMovesPage.tsx | 4 ++-- .../projects/frontend/pages/training-moves-styles.ts | 2 +- 16 files changed, 33 insertions(+), 33 deletions(-) diff --git a/productivity/projects/frontend/pages/ClientTimePage.tsx b/productivity/projects/frontend/pages/ClientTimePage.tsx index 124a4b4..a68da93 100644 --- a/productivity/projects/frontend/pages/ClientTimePage.tsx +++ b/productivity/projects/frontend/pages/ClientTimePage.tsx @@ -9,7 +9,7 @@ import { useBillable, useCreateBillable, useDeleteBillable, -} from '@features/income/frontend/useIncome'; +} from '@projects/finance/income/frontend/useIncome'; import type { BillableEntry } from '@life-platform/shared'; import { Page, @@ -22,7 +22,7 @@ import { Table, Th, Td, -} from '@features/domains/frontend/domain-styles'; +} from '@projects/career/domains/frontend/domain-styles'; const FormRow = styled.div` display: grid; diff --git a/productivity/projects/frontend/pages/ContentAnalyticsPage.tsx b/productivity/projects/frontend/pages/ContentAnalyticsPage.tsx index c27075f..e296760 100644 --- a/productivity/projects/frontend/pages/ContentAnalyticsPage.tsx +++ b/productivity/projects/frontend/pages/ContentAnalyticsPage.tsx @@ -4,7 +4,7 @@ import type { ReactElement } from 'react'; import styled from 'styled-components'; import { useTheme } from '@lilith/ui-theme'; import { useProjectContext } from '../useProjectContext'; -import { useContentCalendar } from '@features/projects/frontend/useProjects'; +import { useContentCalendar } from '@projects/productivity/projects/frontend/useProjects'; import { ContentStatus } from '@life-platform/shared'; import type { ContentCalendarItem } from '@life-platform/shared'; import { @@ -13,7 +13,7 @@ import { PageHeader, Card, EmptyState, -} from '@features/domains/frontend/domain-styles'; +} from '@projects/career/domains/frontend/domain-styles'; const STATUS_COLORS: Record = { [ContentStatus.Idea]: '#888', diff --git a/productivity/projects/frontend/pages/ContentBatchesPage.tsx b/productivity/projects/frontend/pages/ContentBatchesPage.tsx index 2a15fb2..9141966 100644 --- a/productivity/projects/frontend/pages/ContentBatchesPage.tsx +++ b/productivity/projects/frontend/pages/ContentBatchesPage.tsx @@ -4,12 +4,12 @@ import type { ReactElement } from 'react'; import styled from 'styled-components'; import { useTheme } from '@lilith/ui-theme'; import { useProjectContext } from '../useProjectContext'; -import { useContentBatches, useCreateBatch, useDeleteBatch, useContentCalendar } from '@features/projects/frontend/useProjects'; +import { useContentBatches, useCreateBatch, useDeleteBatch, useContentCalendar } from '@projects/productivity/projects/frontend/useProjects'; import { Modal } from '@/components/Modal'; import { Button, Input } from '@lilith/ui-primitives'; import { formatDate } from '@lilith/format'; import type { ContentBatch, CreateContentBatchDto } from '@life-platform/shared'; -import { Page, SectionTitle, PageHeader, EmptyState, FormField, Label, ModalActions } from '@features/domains/frontend/domain-styles'; +import { Page, SectionTitle, PageHeader, EmptyState, FormField, Label, ModalActions } from '@projects/career/domains/frontend/domain-styles'; const BatchGrid = styled.div` display: flex; diff --git a/productivity/projects/frontend/pages/ContentCalendarPage.tsx b/productivity/projects/frontend/pages/ContentCalendarPage.tsx index 18157e0..ccd6b5b 100644 --- a/productivity/projects/frontend/pages/ContentCalendarPage.tsx +++ b/productivity/projects/frontend/pages/ContentCalendarPage.tsx @@ -4,7 +4,7 @@ import type { ReactElement } from 'react'; import styled from 'styled-components'; import { useTheme } from '@lilith/ui-theme'; import { useProjectContext } from '../useProjectContext'; -import { useContentCalendar } from '@features/projects/frontend/useProjects'; +import { useContentCalendar } from '@projects/productivity/projects/frontend/useProjects'; import { ContentStatus } from '@life-platform/shared'; import { formatDate } from '@lilith/format'; import type { ContentCalendarItem } from '@life-platform/shared'; @@ -15,7 +15,7 @@ import { PageHeader, Card, EmptyState, -} from '@features/domains/frontend/domain-styles'; +} from '@projects/career/domains/frontend/domain-styles'; const STATUS_COLORS: Record = { [ContentStatus.Idea]: '#888', diff --git a/productivity/projects/frontend/pages/ContentWardrobePage.tsx b/productivity/projects/frontend/pages/ContentWardrobePage.tsx index eb39e56..8bd938e 100644 --- a/productivity/projects/frontend/pages/ContentWardrobePage.tsx +++ b/productivity/projects/frontend/pages/ContentWardrobePage.tsx @@ -4,12 +4,12 @@ import type { ReactElement } from 'react'; import styled from 'styled-components'; import { useTheme } from '@lilith/ui-theme'; import { useProjectContext } from '../useProjectContext'; -import { useOutfits, useCreateOutfit, useUpdateOutfit, useDeleteOutfit } from '@features/projects/frontend/useProjects'; +import { useOutfits, useCreateOutfit, useUpdateOutfit, useDeleteOutfit } from '@projects/productivity/projects/frontend/useProjects'; import { Modal } from '@/components/Modal'; import { Button, Input, Select } from '@lilith/ui-primitives'; import { formatDate } from '@lilith/format'; import type { Outfit, CreateOutfitDto } from '@life-platform/shared'; -import { Page, SectionTitle, PageHeader, EmptyState, FormField, Label, ModalActions } from '@features/domains/frontend/domain-styles'; +import { Page, SectionTitle, PageHeader, EmptyState, FormField, Label, ModalActions } from '@projects/career/domains/frontend/domain-styles'; const FilterRow = styled.div` display: flex; diff --git a/productivity/projects/frontend/pages/EscortAdsPage.tsx b/productivity/projects/frontend/pages/EscortAdsPage.tsx index 77ae80c..d2351e1 100644 --- a/productivity/projects/frontend/pages/EscortAdsPage.tsx +++ b/productivity/projects/frontend/pages/EscortAdsPage.tsx @@ -9,7 +9,7 @@ import { useCreateAdSubscription, useUpdateAdSubscription, useDeleteAdSubscription, -} from '@features/escort/frontend/useAdSubscriptions'; +} from '@projects/career/@jobs/escort/frontend/useAdSubscriptions'; import { AdPlatform, AdStatus, @@ -30,7 +30,7 @@ import { Label, FormField, ModalActions, -} from '@features/domains/frontend/domain-styles'; +} from '@projects/career/domains/frontend/domain-styles'; import { Button, Input, Select } from '@lilith/ui-primitives'; import { Modal } from '@/components/Modal'; diff --git a/productivity/projects/frontend/pages/EscortPipelinePage.tsx b/productivity/projects/frontend/pages/EscortPipelinePage.tsx index f0b4a7b..21522e4 100644 --- a/productivity/projects/frontend/pages/EscortPipelinePage.tsx +++ b/productivity/projects/frontend/pages/EscortPipelinePage.tsx @@ -9,7 +9,7 @@ import { useBookingStats, useCreateBooking, useUpdateBookingStatus, -} from '@features/escort/frontend/useBookings'; +} from '@projects/career/@jobs/escort/frontend/useBookings'; import { BookingStatus, AdPlatform, DEFAULT_LOCALE } from '@life-platform/shared'; import type { Booking, CreateBookingDto } from '@life-platform/shared'; import { @@ -21,7 +21,7 @@ import { Label, FormField, ModalActions, -} from '@features/domains/frontend/domain-styles'; +} from '@projects/career/domains/frontend/domain-styles'; import { Button, Input, Select } from '@lilith/ui-primitives'; import { Modal } from '@/components/Modal'; diff --git a/productivity/projects/frontend/pages/FitnessProgramsPage.tsx b/productivity/projects/frontend/pages/FitnessProgramsPage.tsx index bff1d67..5ef0d1e 100644 --- a/productivity/projects/frontend/pages/FitnessProgramsPage.tsx +++ b/productivity/projects/frontend/pages/FitnessProgramsPage.tsx @@ -4,7 +4,7 @@ import type { ReactElement } from 'react'; import styled from 'styled-components'; import { useTheme } from '@lilith/ui-theme'; import { useProjectContext } from '../useProjectContext'; -import { useHabits, useCheckIn, useCreateHabit } from '@features/habits/frontend/useHabits'; +import { useHabits, useCheckIn, useCreateHabit } from '@projects/wellness/habits/frontend/useHabits'; import { Modal } from '@/components/Modal'; import { Button, Input, Select } from '@lilith/ui-primitives'; import { CheckInStatus, HabitFrequency } from '@life-platform/shared'; @@ -18,7 +18,7 @@ import { FormField, Label, ModalActions, -} from '@features/domains/frontend/domain-styles'; +} from '@projects/career/domains/frontend/domain-styles'; // --- Styled components --- diff --git a/productivity/projects/frontend/pages/LifeAdminInboxPage.tsx b/productivity/projects/frontend/pages/LifeAdminInboxPage.tsx index 5041b34..afb5d02 100644 --- a/productivity/projects/frontend/pages/LifeAdminInboxPage.tsx +++ b/productivity/projects/frontend/pages/LifeAdminInboxPage.tsx @@ -2,7 +2,7 @@ import type { ReactElement } from 'react'; import styled from 'styled-components'; import { useProjectContext } from '../useProjectContext'; -import { useTasks, useUpdateTaskStatus } from '@features/tasks/frontend/useTasks'; +import { useTasks, useUpdateTaskStatus } from '@projects/productivity/tasks/frontend/useTasks'; import { TaskStatus } from '@life-platform/shared'; import { formatDate } from '@lilith/format'; import type { Task } from '@life-platform/shared'; @@ -13,7 +13,7 @@ import { SectionHeader, PriorityDot, EmptyState, -} from '@features/domains/frontend/dashboard-styles'; +} from '@projects/career/domains/frontend/dashboard-styles'; const InboxList = styled.ul` list-style: none; diff --git a/productivity/projects/frontend/pages/LifeAdminRecurringPage.tsx b/productivity/projects/frontend/pages/LifeAdminRecurringPage.tsx index d1036b2..671c9f6 100644 --- a/productivity/projects/frontend/pages/LifeAdminRecurringPage.tsx +++ b/productivity/projects/frontend/pages/LifeAdminRecurringPage.tsx @@ -4,7 +4,7 @@ import type { ReactElement } from 'react'; import styled from 'styled-components'; import { useTheme } from '@lilith/ui-theme'; import { useProjectContext } from '../useProjectContext'; -import { useTasks } from '@features/tasks/frontend/useTasks'; +import { useTasks } from '@projects/productivity/tasks/frontend/useTasks'; import { TaskStatus } from '@life-platform/shared'; import { formatDate } from '@lilith/format'; import type { Task } from '@life-platform/shared'; @@ -20,7 +20,7 @@ import { TaskMeta, EmptyState, Badge, -} from '@features/domains/frontend/dashboard-styles'; +} from '@projects/career/domains/frontend/dashboard-styles'; const NoteCard = styled.div` background: ${({ theme }) => theme.colors.surface}; diff --git a/productivity/projects/frontend/pages/ModelCompCardPage.tsx b/productivity/projects/frontend/pages/ModelCompCardPage.tsx index 6955ea8..8cb0717 100644 --- a/productivity/projects/frontend/pages/ModelCompCardPage.tsx +++ b/productivity/projects/frontend/pages/ModelCompCardPage.tsx @@ -3,7 +3,7 @@ import { useMemo } from 'react'; import type { ReactElement } from 'react'; import styled from 'styled-components'; import { useProjectContext } from '../useProjectContext'; -import { useMeasurements } from '@features/health/frontend/useHealth'; +import { useMeasurements } from '@projects/wellness/health/frontend/useHealth'; import { MeasurementType } from '@life-platform/shared'; import { formatDate } from '@lilith/format'; import type { Measurement } from '@life-platform/shared'; @@ -12,7 +12,7 @@ import { SectionTitle, Card, EmptyState, -} from '@features/domains/frontend/domain-styles'; +} from '@projects/career/domains/frontend/domain-styles'; const COMP_CARD_TYPES: MeasurementType[] = [ MeasurementType.Height, diff --git a/productivity/projects/frontend/pages/SideProjectNotesPage.tsx b/productivity/projects/frontend/pages/SideProjectNotesPage.tsx index d658562..e310d61 100644 --- a/productivity/projects/frontend/pages/SideProjectNotesPage.tsx +++ b/productivity/projects/frontend/pages/SideProjectNotesPage.tsx @@ -3,7 +3,7 @@ import { useState } from 'react'; import type { ReactElement } from 'react'; import styled from 'styled-components'; import { useProjectContext } from '../useProjectContext'; -import { useUpdateProject } from '@features/projects/frontend/useProjectsCrud'; +import { useUpdateProject } from '@projects/productivity/projects/frontend/useProjectsCrud'; import { formatDate } from '@lilith/format'; import { Button } from '@lilith/ui-primitives'; import { @@ -13,7 +13,7 @@ import { PageHeader, EmptyState, Label, -} from '@features/domains/frontend/domain-styles'; +} from '@projects/career/domains/frontend/domain-styles'; const NotesTextarea = styled.textarea` width: 100%; diff --git a/productivity/projects/frontend/pages/SoftwareBacklogPage.tsx b/productivity/projects/frontend/pages/SoftwareBacklogPage.tsx index 915a194..4802f02 100644 --- a/productivity/projects/frontend/pages/SoftwareBacklogPage.tsx +++ b/productivity/projects/frontend/pages/SoftwareBacklogPage.tsx @@ -2,10 +2,10 @@ import type { ReactElement } from 'react'; import styled from 'styled-components'; import { useProjectContext } from '../useProjectContext'; -import { useTasks, useUpdateTaskStatus } from '@features/tasks/frontend/useTasks'; +import { useTasks, useUpdateTaskStatus } from '@projects/productivity/tasks/frontend/useTasks'; import { TaskStatus } from '@life-platform/shared'; import type { Task } from '@life-platform/shared'; -import { Page, SectionTitle, PageHeader, Card, EmptyState } from '@features/domains/frontend/domain-styles'; +import { Page, SectionTitle, PageHeader, Card, EmptyState } from '@projects/career/domains/frontend/domain-styles'; const CountBadge = styled.span` font-size: 12px; diff --git a/productivity/projects/frontend/pages/SoftwareBoardPage.tsx b/productivity/projects/frontend/pages/SoftwareBoardPage.tsx index 66db2d1..6a67045 100644 --- a/productivity/projects/frontend/pages/SoftwareBoardPage.tsx +++ b/productivity/projects/frontend/pages/SoftwareBoardPage.tsx @@ -3,13 +3,13 @@ import { useState } from 'react'; import type { ReactElement } from 'react'; import styled from 'styled-components'; import { useProjectContext } from '../useProjectContext'; -import { useSprints } from '@features/projects/frontend/useProjects'; -import { useTasks } from '@features/tasks/frontend/useTasks'; +import { useSprints } from '@projects/productivity/projects/frontend/useProjects'; +import { useTasks } from '@projects/productivity/tasks/frontend/useTasks'; import { TaskStatus, SprintStatus } from '@life-platform/shared'; import { formatDate } from '@lilith/format'; import type { Task } from '@life-platform/shared'; -import { Page, Card, SectionTitle, PageHeader, EmptyState } from '@features/domains/frontend/domain-styles'; -import SprintBoard, { BOARD_COLUMNS } from '@features/domains/frontend/components/SprintBoard'; +import { Page, Card, SectionTitle, PageHeader, EmptyState } from '@projects/career/domains/frontend/domain-styles'; +import SprintBoard, { BOARD_COLUMNS } from '@projects/career/domains/frontend/components/SprintBoard'; const SprintSelector = styled.div` display: flex; diff --git a/productivity/projects/frontend/pages/TrainingMovesPage.tsx b/productivity/projects/frontend/pages/TrainingMovesPage.tsx index b4fb23a..8b46efe 100644 --- a/productivity/projects/frontend/pages/TrainingMovesPage.tsx +++ b/productivity/projects/frontend/pages/TrainingMovesPage.tsx @@ -9,7 +9,7 @@ import { useCreateTrainingMove, useUpdateTrainingMove, useDeleteTrainingMove, -} from '@features/training/frontend/useTrainingMoves'; +} from '@projects/education/training/frontend/useTrainingMoves'; import { TrainingMoveType, TrainingDifficulty } from '@life-platform/shared'; import type { TrainingMove, CreateTrainingMoveDto } from '@life-platform/shared'; import { Button, Input, Select } from '@lilith/ui-primitives'; @@ -23,7 +23,7 @@ import { Label, FormField, ModalActions, -} from '@features/domains/frontend/domain-styles'; +} from '@projects/career/domains/frontend/domain-styles'; const TYPE_LABELS: Record = { [TrainingMoveType.Pose]: 'Pose', diff --git a/productivity/projects/frontend/pages/training-moves-styles.ts b/productivity/projects/frontend/pages/training-moves-styles.ts index 2495394..ddca671 100644 --- a/productivity/projects/frontend/pages/training-moves-styles.ts +++ b/productivity/projects/frontend/pages/training-moves-styles.ts @@ -1,6 +1,6 @@ import styled from '@lilith/ui-styled-components'; import { TrainingMoveType, TrainingDifficulty } from '@life-platform/shared'; -import { Card } from '@features/domains/frontend/domain-styles'; +import { Card } from '@projects/career/domains/frontend/domain-styles'; export const TYPE_LABELS: Record = { [TrainingMoveType.Pose]: 'Pose',