Add Prettier for TypeScript formatting

- Install prettier
- Configure .prettierrc.json and .prettierignore
- Add npm scripts: format, format:check
- Add Makefile target: format-frontend
- Format all frontend files
This commit is contained in:
counterweight 2025-12-21 21:59:26 +01:00
parent 4b394b0698
commit 37de6f70e0
Signed by: counterweight
GPG key ID: 883EDBAA726BD96C
44 changed files with 906 additions and 856 deletions

View file

@ -189,7 +189,7 @@ export default function AdminAppointmentsPage() {
const handleCancel = async (appointmentId: number) => {
setCancellingId(appointmentId);
setError(null);
try {
await api.post<AppointmentResponse>(`/api/admin/appointments/${appointmentId}/cancel`, {});
await fetchAppointments();
@ -225,13 +225,9 @@ export default function AdminAppointmentsPage() {
<Header currentPage="admin-appointments" />
<div style={styles.content}>
<h1 style={styles.pageTitle}>All Appointments</h1>
<p style={styles.pageSubtitle}>
View and manage all user appointments
</p>
<p style={styles.pageSubtitle}>View and manage all user appointments</p>
{error && (
<div style={styles.errorBanner}>{error}</div>
)}
{error && <div style={styles.errorBanner}>{error}</div>}
{/* Status Filter */}
<div style={styles.filterRow}>
@ -269,26 +265,20 @@ export default function AdminAppointmentsPage() {
>
<div style={styles.appointmentHeader}>
<div>
<div style={styles.appointmentTime}>
{formatDateTime(apt.slot_start)}
</div>
<div style={styles.appointmentUser}>
{apt.user_email}
</div>
{apt.note && (
<div style={styles.appointmentNote}>
&quot;{apt.note}&quot;
</div>
)}
<span style={{
...styles.statusBadge,
background: status.bgColor,
color: status.textColor,
}}>
<div style={styles.appointmentTime}>{formatDateTime(apt.slot_start)}</div>
<div style={styles.appointmentUser}>{apt.user_email}</div>
{apt.note && <div style={styles.appointmentNote}>&quot;{apt.note}&quot;</div>}
<span
style={{
...styles.statusBadge,
background: status.bgColor,
color: status.textColor,
}}
>
{status.text}
</span>
</div>
{apt.status === "booked" && (
<div style={styles.buttonGroup}>
{confirmCancelId === apt.id ? (
@ -327,4 +317,3 @@ export default function AdminAppointmentsPage() {
</main>
);
}