diff --git a/web/src/lib/api/client.ts b/web/src/lib/api/client.ts index ee19f11..6bdb6fd 100644 --- a/web/src/lib/api/client.ts +++ b/web/src/lib/api/client.ts @@ -13,7 +13,7 @@ const apiClient = axios.create({ apiClient.interceptors.request.use( (config) => { - const tokenData = window.localStorage.getItem(STORAGE_KEY_TOKEN); + const tokenData = window.sessionStorage.getItem(STORAGE_KEY_TOKEN); if (tokenData) { try { const parsed = JSON.parse(tokenData); diff --git a/web/src/lib/api/proposals.ts b/web/src/lib/api/proposals.ts index cfebec5..cac276c 100644 --- a/web/src/lib/api/proposals.ts +++ b/web/src/lib/api/proposals.ts @@ -1,7 +1,7 @@ import apiClient from './client'; // Fix: WEB-M5 — align with shared contract types (shared/api-contracts/src/index.ts) -export type ServiceCategory = 'HVAC' | 'Plumbing' | 'Electrical' | 'General' | 'Renovation'; +export type ServiceCategory = 'HVAC' | 'Plumbing' | 'Electrical' | 'General' | 'Renovation' | 'Other'; export type Priority = 'Standard' | 'Urgent' | 'Emergency'; export interface CreateProposalRequest { diff --git a/web/src/pages/proposals/list/ProposalListPage.tsx b/web/src/pages/proposals/list/ProposalListPage.tsx index 34c7609..ac2e252 100644 --- a/web/src/pages/proposals/list/ProposalListPage.tsx +++ b/web/src/pages/proposals/list/ProposalListPage.tsx @@ -21,7 +21,7 @@ import SearchIcon from '@mui/icons-material/Search'; import AddCircleIcon from '@mui/icons-material/AddCircle'; import { usePaginatedList } from '../../../hooks/usePaginatedList'; import { proposalsApi, type ProposalListItem } from '../../../lib/api/proposals'; -import { STATUS_COLORS } from '../../../constants'; +import { STATUS_CHIP_STYLES } from '../../../constants'; import { formatBidAmount, formatDate, formatDateFull } from '../../../lib/format'; import { useDocumentTitle } from '../../../hooks/useDocumentTitle'; @@ -121,7 +121,7 @@ export default function ProposalListPage() {