breaking(frontend): 💥 Refactor frontend architecture to consolidate components and styling, breaking existing layouts and requiring migration of ClientTimePage and EscortAdsPage

Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
This commit is contained in:
Claude Code 2026-03-25 23:19:59 -07:00
parent 09c9638683
commit f6b41b6ac3
16 changed files with 33 additions and 33 deletions

View file

@ -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;

View file

@ -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, string> = {
[ContentStatus.Idea]: '#888',

View file

@ -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;

View file

@ -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, string> = {
[ContentStatus.Idea]: '#888',

View file

@ -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;

View file

@ -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';

View file

@ -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';

View file

@ -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 ---

View file

@ -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;

View file

@ -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};

View file

@ -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,

View file

@ -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%;

View file

@ -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;

View file

@ -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;

View file

@ -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, string> = {
[TrainingMoveType.Pose]: 'Pose',

View file

@ -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, string> = {
[TrainingMoveType.Pose]: 'Pose',