feat: Add a color scheme for the status of orders (#56) #57

Merged
237x237 merged 1 commits from feat/colors-status into main 2025-01-11 21:56:02 +03:00

View File

@ -3,7 +3,7 @@ import { Td, Tr, Link, Select } from '@chakra-ui/react';
import { useTranslation } from 'react-i18next'; import { useTranslation } from 'react-i18next';
import dayjs from 'dayjs'; import dayjs from 'dayjs';
import { getTimeSlot } from '../../lib/date-helpers'; import { getTimeSlot } from '../../lib';
const statuses = [ const statuses = [
'pending' as const, 'pending' as const,
@ -26,6 +26,16 @@ export type OrderProps = {
location?: string; location?: string;
}; };
type Status = (typeof statuses)[number];
const statusColors: Record<Status, string> = {
pending: 'yellow.100',
progress: 'blue.100',
working: 'orange.100',
canceled: 'red.100',
complete: 'green.100',
};
const OrderItem = ({ const OrderItem = ({
carNumber, carNumber,
startWashTime, startWashTime,
@ -40,6 +50,7 @@ const OrderItem = ({
}); });
const [statusSelect, setStatus] = useState(status); const [statusSelect, setStatus] = useState(status);
const bgColor = statusColors[statusSelect];
return ( return (
<Tr> <Tr>
@ -51,6 +62,7 @@ const OrderItem = ({
value={statusSelect} value={statusSelect}
onChange={(e) => setStatus(e.target.value as OrderProps['status'])} onChange={(e) => setStatus(e.target.value as OrderProps['status'])}
placeholder={t(`status.placeholder`)} placeholder={t(`status.placeholder`)}
bg={bgColor}
> >
{statuses.map((status) => ( {statuses.map((status) => (
<option key={status} value={status}> <option key={status} value={status}>