Extract common errorBanner style to shared styles

- Added errorBanner to sharedStyles for consistent error display
- Removed duplicate errorBanner definitions from all pages
- Updated appointments, booking, admin/appointments, and admin/availability pages
- Reduced code duplication while maintaining component-specific styles
This commit is contained in:
counterweight 2025-12-21 18:01:30 +01:00
parent 3d83472b97
commit b9f605d7b3
Signed by: counterweight
GPG key ID: 883EDBAA726BD96C
5 changed files with 40 additions and 43 deletions

View file

@ -9,11 +9,12 @@ import { useRequireAuth } from "../../hooks/useRequireAuth";
import { components } from "../../generated/api";
import { formatDateTime } from "../../utils/date";
import { getStatusDisplay } from "../../utils/appointment";
import { sharedStyles } from "../../styles/shared";
type AppointmentResponse = components["schemas"]["AppointmentResponse"];
type PaginatedAppointments = components["schemas"]["PaginatedResponse_AppointmentResponse_"];
const styles: Record<string, React.CSSProperties> = {
const pageStyles: Record<string, React.CSSProperties> = {
main: {
minHeight: "100vh",
background: "linear-gradient(135deg, #0f0f23 0%, #1a1a3e 50%, #2d1b4e 100%)",
@ -48,16 +49,6 @@ const styles: Record<string, React.CSSProperties> = {
fontSize: "0.9rem",
marginBottom: "1.5rem",
},
errorBanner: {
background: "rgba(239, 68, 68, 0.15)",
border: "1px solid rgba(239, 68, 68, 0.3)",
color: "#f87171",
padding: "1rem",
borderRadius: "8px",
marginBottom: "1rem",
fontFamily: "'DM Sans', system-ui, sans-serif",
fontSize: "0.875rem",
},
filterRow: {
display: "flex",
alignItems: "center",
@ -161,6 +152,8 @@ const styles: Record<string, React.CSSProperties> = {
},
};
const styles = { ...sharedStyles, ...pageStyles };
export default function AdminAppointmentsPage() {
const { user, isLoading, isAuthorized } = useRequireAuth({
requiredPermission: Permission.VIEW_ALL_APPOINTMENTS,