improvement: badge & card components colour pallete updated so their text become more readable in light mode.
This commit is contained in:
@@ -3,7 +3,10 @@
|
||||
import { Trash2 } from 'lucide-react';
|
||||
import type { AppointmentColumnProvider, AppointmentRecord } from '@/types/appointment';
|
||||
import { formatHourLabel } from '@/lib/appointmentTime';
|
||||
import { purposeDeleteIconClass, purposeStyle } from '@/components/ui/appointments/appointmentPurposeStyles';
|
||||
import {
|
||||
purposeDeleteIconClass,
|
||||
purposeStyle,
|
||||
} from '@/components/ui/appointments/appointmentPurposeStyles';
|
||||
|
||||
const HOUR_PX = 40;
|
||||
const HOURS = Array.from({ length: 24 }, (_, i) => i);
|
||||
@@ -133,7 +136,7 @@ export function AppointmentScheduleGrid({
|
||||
{canDelete && onDeleteAppointment && (
|
||||
<button
|
||||
type="button"
|
||||
className="group pointer-events-auto shrink-0 self-center z-20 mr-2 ml-1 inline-flex cursor-pointer items-center justify-center rounded-[var(--radius-sm)] border-0 bg-transparent p-1 outline-none focus-visible:ring-2 focus-visible:ring-primary/35"
|
||||
className="group pointer-events-auto shrink-0 self-center z-20 mr-0.5 ml-0.5 inline-flex cursor-pointer items-center justify-center rounded-[var(--radius-sm)] bg-transparent p-1 outline-none focus-visible:ring-2 focus-visible:ring-primary/35"
|
||||
aria-label="Delete appointment"
|
||||
title="Delete appointment"
|
||||
onClick={(e) => {
|
||||
|
||||
@@ -10,11 +10,12 @@ export const APPOINTMENT_PURPOSE_LABEL: Record<AppointmentPurpose, string> = {
|
||||
|
||||
/** Background + border for blocks / legend (matches reference palette). */
|
||||
export const APPOINTMENT_PURPOSE_STYLES: Record<AppointmentPurpose, string> = {
|
||||
consultation: 'bg-violet-500/25 border-violet-400/50 text-violet-100',
|
||||
filling: 'bg-orange-500/25 border-orange-400/50 text-orange-100',
|
||||
endo: 'bg-red-500/25 border-red-400/50 text-red-100',
|
||||
visit: 'bg-sky-500/25 border-sky-400/50 text-sky-100',
|
||||
hygiene: 'bg-lime-500/20 border-lime-400/45 text-lime-100',
|
||||
consultation:
|
||||
'bg-purpose-consultation-bg border-purpose-consultation-border text-purpose-consultation-fg',
|
||||
filling: 'bg-purpose-filling-bg border-purpose-filling-border text-purpose-filling-fg',
|
||||
endo: 'bg-purpose-endo-bg border-purpose-endo-border text-purpose-endo-fg',
|
||||
visit: 'bg-purpose-visit-bg border-purpose-visit-border text-purpose-visit-fg',
|
||||
hygiene: 'bg-purpose-hygiene-bg border-purpose-hygiene-border text-purpose-hygiene-fg',
|
||||
};
|
||||
|
||||
export function purposeStyle(purpose: string): string {
|
||||
@@ -26,13 +27,13 @@ export function purposeStyle(purpose: string): string {
|
||||
export function purposeDeleteIconClass(purpose: string): string {
|
||||
const p = purpose as AppointmentPurpose;
|
||||
const map: Record<AppointmentPurpose, string> = {
|
||||
consultation: '!text-violet-400 group-hover:!text-violet-300',
|
||||
filling: '!text-orange-400 group-hover:!text-orange-300',
|
||||
endo: '!text-red-400 group-hover:!text-red-300',
|
||||
visit: '!text-sky-400 group-hover:!text-sky-300',
|
||||
hygiene: '!text-lime-600 group-hover:!text-lime-500',
|
||||
consultation: '!text-purpose-consultation-fg',
|
||||
filling: '!text-purpose-filling-fg',
|
||||
endo: '!text-purpose-endo-fg',
|
||||
visit: '!text-purpose-visit-fg',
|
||||
hygiene: '!text-purpose-hygiene-fg',
|
||||
};
|
||||
return map[p] ?? '!text-text-muted group-hover:!text-text-secondary';
|
||||
return map[p] ?? '!text-text-muted';
|
||||
}
|
||||
|
||||
/** Small swatch for legend (background + border only). */
|
||||
|
||||
Reference in New Issue
Block a user