68 lines
3.0 KiB
JavaScript
68 lines
3.0 KiB
JavaScript
export const labelClass = 'block text-xs font-semibold uppercase tracking-wide text-slate-500';
|
|
|
|
export const inputClass =
|
|
'mt-1.5 block w-full rounded-xl border-slate-200 bg-white px-3 py-2.5 text-sm text-slate-800 shadow-sm transition placeholder:text-slate-400 focus:border-indigo-400 focus:outline-none focus:ring-2 focus:ring-indigo-500/20';
|
|
|
|
export const selectClass = inputClass;
|
|
|
|
export const cardClass = 'overflow-hidden rounded-2xl border border-slate-200/80 bg-white shadow-sm';
|
|
|
|
export const filterBarClass =
|
|
'mb-6 flex flex-wrap gap-4 rounded-2xl border border-slate-200/80 bg-white p-5 shadow-sm';
|
|
|
|
export const thFilterClass = 'px-6 py-3 align-bottom';
|
|
|
|
export const filterLabelClass =
|
|
'mb-1.5 block text-xs font-semibold uppercase tracking-wide text-slate-600';
|
|
|
|
export const filterInputClass =
|
|
'block w-full min-w-[7rem] rounded-lg border-slate-200 bg-white px-2.5 py-1.5 text-sm text-slate-800 shadow-sm transition placeholder:text-slate-400 focus:border-indigo-400 focus:outline-none focus:ring-2 focus:ring-indigo-500/20';
|
|
|
|
export const filterSelectClass = filterInputClass;
|
|
|
|
export const formPanelClass =
|
|
'mb-6 rounded-2xl border border-indigo-200/60 bg-white p-6 shadow-sm ring-1 ring-indigo-50';
|
|
|
|
export const thClass =
|
|
'px-6 py-4 text-left text-xs font-semibold uppercase tracking-wide text-slate-600';
|
|
|
|
export const tdClass = 'px-6 py-4 text-sm text-slate-600';
|
|
|
|
export const rowClass = '';
|
|
|
|
export const linkClass = 'font-medium text-indigo-600 transition hover:text-indigo-800';
|
|
|
|
export const machineStatusColors = {
|
|
available: 'bg-emerald-100 text-emerald-800 ring-emerald-600/20',
|
|
reserved: 'bg-amber-100 text-amber-800 ring-amber-600/20',
|
|
running: 'bg-sky-100 text-sky-800 ring-sky-600/20',
|
|
maintenance: 'bg-orange-100 text-orange-800 ring-orange-600/20',
|
|
offline: 'bg-slate-100 text-slate-600 ring-slate-500/20',
|
|
error: 'bg-red-100 text-red-800 ring-red-600/20',
|
|
};
|
|
|
|
export const bookingStatusColors = {
|
|
pending: 'bg-slate-100 text-slate-600 ring-slate-500/20',
|
|
confirmed: 'bg-sky-100 text-sky-800 ring-sky-600/20',
|
|
expired: 'bg-orange-100 text-orange-800 ring-orange-600/20',
|
|
active: 'bg-emerald-100 text-emerald-800 ring-emerald-600/20',
|
|
completed: 'bg-indigo-100 text-indigo-800 ring-indigo-600/20',
|
|
cancelled: 'bg-amber-100 text-amber-800 ring-amber-600/20',
|
|
no_show: 'bg-red-100 text-red-800 ring-red-600/20',
|
|
};
|
|
|
|
export const washStatusColors = {
|
|
pending_start: 'bg-slate-100 text-slate-600 ring-slate-500/20',
|
|
running: 'bg-sky-100 text-sky-800 ring-sky-600/20',
|
|
completed: 'bg-emerald-100 text-emerald-800 ring-emerald-600/20',
|
|
failed: 'bg-red-100 text-red-800 ring-red-600/20',
|
|
cancelled: 'bg-amber-100 text-amber-800 ring-amber-600/20',
|
|
};
|
|
|
|
export const activeStatusColors = {
|
|
active: 'bg-emerald-100 text-emerald-800 ring-emerald-600/20',
|
|
inactive: 'bg-slate-100 text-slate-600 ring-slate-500/20',
|
|
};
|
|
|
|
export const getStatusColor = (status, map) => map[status] ?? 'bg-slate-100 text-slate-700 ring-slate-500/20';
|