From e6f79cd68a904490663bcf3100e0efe7b7066c90 Mon Sep 17 00:00:00 2001 From: Daniel Kirby Date: Sat, 27 Jun 2026 10:13:51 +0100 Subject: [PATCH] refactor: organize shared utilities --- src/lib/components/first-admin-form.svelte | 4 +-- src/lib/components/form-combobox.svelte | 2 +- src/lib/components/form-select.svelte | 2 +- src/lib/components/login-form.svelte | 2 +- src/lib/components/search-form.svelte | 2 +- .../ui/accordion/accordion-content.svelte | 2 +- .../ui/accordion/accordion-item.svelte | 2 +- .../ui/accordion/accordion-trigger.svelte | 2 +- .../components/ui/accordion/accordion.svelte | 2 +- .../alert-dialog/alert-dialog-action.svelte | 2 +- .../alert-dialog/alert-dialog-cancel.svelte | 2 +- .../alert-dialog/alert-dialog-content.svelte | 2 +- .../alert-dialog-description.svelte | 2 +- .../alert-dialog/alert-dialog-footer.svelte | 2 +- .../alert-dialog/alert-dialog-header.svelte | 2 +- .../ui/alert-dialog/alert-dialog-media.svelte | 2 +- .../alert-dialog/alert-dialog-overlay.svelte | 2 +- .../ui/alert-dialog/alert-dialog-title.svelte | 2 +- .../components/ui/alert/alert-action.svelte | 2 +- .../ui/alert/alert-description.svelte | 2 +- .../components/ui/alert/alert-title.svelte | 2 +- src/lib/components/ui/alert/alert.svelte | 2 +- .../components/ui/avatar/avatar-badge.svelte | 2 +- .../ui/avatar/avatar-fallback.svelte | 2 +- .../ui/avatar/avatar-group-count.svelte | 2 +- .../components/ui/avatar/avatar-group.svelte | 2 +- .../components/ui/avatar/avatar-image.svelte | 2 +- src/lib/components/ui/avatar/avatar.svelte | 2 +- src/lib/components/ui/badge/badge.svelte | 2 +- .../ui/breadcrumb/breadcrumb-ellipsis.svelte | 2 +- .../ui/breadcrumb/breadcrumb-item.svelte | 2 +- .../ui/breadcrumb/breadcrumb-link.svelte | 2 +- .../ui/breadcrumb/breadcrumb-list.svelte | 2 +- .../ui/breadcrumb/breadcrumb-page.svelte | 2 +- .../ui/breadcrumb/breadcrumb-separator.svelte | 2 +- .../ui/breadcrumb/breadcrumb.svelte | 4 +-- .../button-group-separator.svelte | 2 +- .../ui/button-group/button-group-text.svelte | 2 +- .../ui/button-group/button-group.svelte | 2 +- src/lib/components/ui/button/button.svelte | 2 +- .../ui/calendar/calendar-cell.svelte | 2 +- .../ui/calendar/calendar-day.svelte | 2 +- .../ui/calendar/calendar-grid-body.svelte | 2 +- .../ui/calendar/calendar-grid-head.svelte | 2 +- .../ui/calendar/calendar-grid-row.svelte | 2 +- .../ui/calendar/calendar-grid.svelte | 2 +- .../ui/calendar/calendar-head-cell.svelte | 2 +- .../ui/calendar/calendar-header.svelte | 2 +- .../ui/calendar/calendar-heading.svelte | 2 +- .../ui/calendar/calendar-month-select.svelte | 2 +- .../ui/calendar/calendar-month.svelte | 2 +- .../ui/calendar/calendar-months.svelte | 2 +- .../ui/calendar/calendar-nav.svelte | 2 +- .../ui/calendar/calendar-next-button.svelte | 2 +- .../ui/calendar/calendar-prev-button.svelte | 2 +- .../ui/calendar/calendar-year-select.svelte | 2 +- .../components/ui/calendar/calendar.svelte | 2 +- src/lib/components/ui/card/card-action.svelte | 2 +- .../components/ui/card/card-content.svelte | 2 +- .../ui/card/card-description.svelte | 2 +- src/lib/components/ui/card/card-footer.svelte | 2 +- src/lib/components/ui/card/card-header.svelte | 2 +- src/lib/components/ui/card/card-title.svelte | 2 +- src/lib/components/ui/card/card.svelte | 2 +- .../ui/carousel/carousel-content.svelte | 2 +- .../ui/carousel/carousel-item.svelte | 2 +- .../ui/carousel/carousel-next.svelte | 2 +- .../ui/carousel/carousel-previous.svelte | 2 +- .../components/ui/carousel/carousel.svelte | 2 +- src/lib/components/ui/carousel/context.ts | 2 +- .../ui/chart/chart-container.svelte | 2 +- .../components/ui/chart/chart-tooltip.svelte | 2 +- .../components/ui/checkbox/checkbox.svelte | 2 +- .../ui/command/command-dialog.svelte | 2 +- .../ui/command/command-empty.svelte | 2 +- .../ui/command/command-group.svelte | 2 +- .../ui/command/command-input.svelte | 2 +- .../components/ui/command/command-item.svelte | 2 +- .../ui/command/command-link-item.svelte | 2 +- .../components/ui/command/command-list.svelte | 2 +- .../ui/command/command-separator.svelte | 2 +- .../ui/command/command-shortcut.svelte | 2 +- src/lib/components/ui/command/command.svelte | 2 +- .../context-menu-checkbox-item.svelte | 2 +- .../context-menu/context-menu-content.svelte | 4 +-- .../context-menu-group-heading.svelte | 2 +- .../ui/context-menu/context-menu-item.svelte | 2 +- .../ui/context-menu/context-menu-label.svelte | 2 +- .../context-menu-radio-item.svelte | 2 +- .../context-menu-separator.svelte | 2 +- .../context-menu/context-menu-shortcut.svelte | 2 +- .../context-menu-sub-content.svelte | 2 +- .../context-menu-sub-trigger.svelte | 2 +- .../context-menu/context-menu-trigger.svelte | 2 +- .../ui/dialog/dialog-content.svelte | 2 +- .../ui/dialog/dialog-description.svelte | 2 +- .../components/ui/dialog/dialog-footer.svelte | 2 +- .../components/ui/dialog/dialog-header.svelte | 2 +- .../ui/dialog/dialog-overlay.svelte | 2 +- .../components/ui/dialog/dialog-title.svelte | 2 +- .../ui/drawer/drawer-content.svelte | 4 +-- .../ui/drawer/drawer-description.svelte | 2 +- .../components/ui/drawer/drawer-footer.svelte | 2 +- .../components/ui/drawer/drawer-header.svelte | 2 +- .../ui/drawer/drawer-overlay.svelte | 2 +- .../components/ui/drawer/drawer-title.svelte | 2 +- .../dropdown-menu-checkbox-item.svelte | 2 +- .../dropdown-menu-content.svelte | 2 +- .../dropdown-menu-group-heading.svelte | 2 +- .../dropdown-menu/dropdown-menu-item.svelte | 2 +- .../dropdown-menu/dropdown-menu-label.svelte | 2 +- .../dropdown-menu-radio-item.svelte | 2 +- .../dropdown-menu-separator.svelte | 2 +- .../dropdown-menu-shortcut.svelte | 2 +- .../dropdown-menu-sub-content.svelte | 2 +- .../dropdown-menu-sub-trigger.svelte | 2 +- .../components/ui/empty/empty-content.svelte | 2 +- .../ui/empty/empty-description.svelte | 2 +- .../components/ui/empty/empty-header.svelte | 2 +- .../components/ui/empty/empty-media.svelte | 2 +- .../components/ui/empty/empty-title.svelte | 2 +- src/lib/components/ui/empty/empty.svelte | 2 +- .../components/ui/field/field-content.svelte | 2 +- .../ui/field/field-description.svelte | 2 +- .../components/ui/field/field-error.svelte | 2 +- .../components/ui/field/field-group.svelte | 2 +- .../components/ui/field/field-label.svelte | 2 +- .../components/ui/field/field-legend.svelte | 2 +- .../ui/field/field-separator.svelte | 2 +- src/lib/components/ui/field/field-set.svelte | 2 +- .../components/ui/field/field-title.svelte | 2 +- src/lib/components/ui/field/field.svelte | 2 +- .../ui/form/form-description.svelte | 2 +- .../ui/form/form-element-field.svelte | 2 +- .../ui/form/form-field-errors.svelte | 2 +- src/lib/components/ui/form/form-field.svelte | 2 +- .../components/ui/form/form-fieldset.svelte | 2 +- src/lib/components/ui/form/form-label.svelte | 2 +- src/lib/components/ui/form/form-legend.svelte | 2 +- .../ui/hover-card/hover-card-content.svelte | 2 +- .../ui/input-group/input-group-addon.svelte | 2 +- .../ui/input-group/input-group-button.svelte | 2 +- .../ui/input-group/input-group-input.svelte | 2 +- .../ui/input-group/input-group-text.svelte | 2 +- .../input-group/input-group-textarea.svelte | 2 +- .../ui/input-group/input-group.svelte | 2 +- .../ui/input-otp/input-otp-group.svelte | 2 +- .../ui/input-otp/input-otp-separator.svelte | 4 +-- .../ui/input-otp/input-otp-slot.svelte | 2 +- .../components/ui/input-otp/input-otp.svelte | 2 +- src/lib/components/ui/input/input.svelte | 2 +- .../components/ui/item/item-actions.svelte | 2 +- .../components/ui/item/item-content.svelte | 2 +- .../ui/item/item-description.svelte | 2 +- src/lib/components/ui/item/item-footer.svelte | 2 +- src/lib/components/ui/item/item-group.svelte | 2 +- src/lib/components/ui/item/item-header.svelte | 2 +- src/lib/components/ui/item/item-media.svelte | 2 +- .../components/ui/item/item-separator.svelte | 2 +- src/lib/components/ui/item/item-title.svelte | 2 +- src/lib/components/ui/item/item.svelte | 2 +- src/lib/components/ui/kbd/kbd-group.svelte | 2 +- src/lib/components/ui/kbd/kbd.svelte | 2 +- src/lib/components/ui/label/label.svelte | 2 +- .../ui/menubar/menubar-checkbox-item.svelte | 2 +- .../ui/menubar/menubar-content.svelte | 2 +- .../ui/menubar/menubar-group-heading.svelte | 2 +- .../components/ui/menubar/menubar-item.svelte | 2 +- .../ui/menubar/menubar-label.svelte | 2 +- .../ui/menubar/menubar-radio-item.svelte | 2 +- .../ui/menubar/menubar-separator.svelte | 2 +- .../ui/menubar/menubar-shortcut.svelte | 2 +- .../ui/menubar/menubar-sub-content.svelte | 2 +- .../ui/menubar/menubar-sub-trigger.svelte | 2 +- .../ui/menubar/menubar-trigger.svelte | 2 +- src/lib/components/ui/menubar/menubar.svelte | 2 +- .../native-select-opt-group.svelte | 2 +- .../native-select/native-select-option.svelte | 2 +- .../ui/native-select/native-select.svelte | 2 +- .../navigation-menu-content.svelte | 2 +- .../navigation-menu-indicator.svelte | 2 +- .../navigation-menu-item.svelte | 2 +- .../navigation-menu-link.svelte | 2 +- .../navigation-menu-list.svelte | 2 +- .../navigation-menu-trigger.svelte | 2 +- .../navigation-menu-viewport.svelte | 2 +- .../ui/navigation-menu/navigation-menu.svelte | 2 +- .../ui/pagination/pagination-content.svelte | 2 +- .../ui/pagination/pagination-ellipsis.svelte | 2 +- .../ui/pagination/pagination-item.svelte | 2 +- .../ui/pagination/pagination-link.svelte | 2 +- .../pagination/pagination-next-button.svelte | 2 +- .../ui/pagination/pagination-next.svelte | 2 +- .../pagination/pagination-prev-button.svelte | 2 +- .../ui/pagination/pagination-previous.svelte | 2 +- .../ui/pagination/pagination.svelte | 2 +- .../ui/popover/popover-content.svelte | 2 +- .../ui/popover/popover-description.svelte | 2 +- .../ui/popover/popover-header.svelte | 2 +- .../ui/popover/popover-title.svelte | 2 +- .../ui/popover/popover-trigger.svelte | 2 +- .../components/ui/progress/progress.svelte | 2 +- .../ui/radio-group/radio-group-item.svelte | 2 +- .../ui/radio-group/radio-group.svelte | 2 +- .../range-calendar/range-calendar-cell.svelte | 2 +- .../range-calendar/range-calendar-day.svelte | 2 +- .../range-calendar-grid-row.svelte | 2 +- .../range-calendar/range-calendar-grid.svelte | 2 +- .../range-calendar-head-cell.svelte | 2 +- .../range-calendar-header.svelte | 2 +- .../range-calendar-heading.svelte | 2 +- .../range-calendar-month-select.svelte | 2 +- .../range-calendar-month.svelte | 2 +- .../range-calendar-months.svelte | 2 +- .../range-calendar/range-calendar-nav.svelte | 2 +- .../range-calendar-next-button.svelte | 2 +- .../range-calendar-prev-button.svelte | 2 +- .../range-calendar-year-select.svelte | 2 +- .../ui/range-calendar/range-calendar.svelte | 2 +- .../ui/resizable/resizable-handle.svelte | 2 +- .../ui/resizable/resizable-pane-group.svelte | 2 +- .../scroll-area/scroll-area-scrollbar.svelte | 2 +- .../ui/scroll-area/scroll-area.svelte | 2 +- .../ui/select/select-content.svelte | 4 +-- .../ui/select/select-group-heading.svelte | 2 +- .../components/ui/select/select-group.svelte | 2 +- .../components/ui/select/select-item.svelte | 2 +- .../components/ui/select/select-label.svelte | 2 +- .../select/select-scroll-down-button.svelte | 2 +- .../ui/select/select-scroll-up-button.svelte | 2 +- .../ui/select/select-separator.svelte | 2 +- .../ui/select/select-trigger.svelte | 2 +- .../components/ui/separator/separator.svelte | 2 +- .../components/ui/sheet/sheet-content.svelte | 2 +- .../ui/sheet/sheet-description.svelte | 2 +- .../components/ui/sheet/sheet-footer.svelte | 2 +- .../components/ui/sheet/sheet-header.svelte | 2 +- .../components/ui/sheet/sheet-overlay.svelte | 2 +- .../components/ui/sheet/sheet-title.svelte | 2 +- .../ui/sidebar/sidebar-content.svelte | 2 +- .../ui/sidebar/sidebar-footer.svelte | 2 +- .../ui/sidebar/sidebar-group-action.svelte | 2 +- .../ui/sidebar/sidebar-group-content.svelte | 2 +- .../ui/sidebar/sidebar-group-label.svelte | 2 +- .../ui/sidebar/sidebar-group.svelte | 2 +- .../ui/sidebar/sidebar-header.svelte | 2 +- .../ui/sidebar/sidebar-input.svelte | 2 +- .../ui/sidebar/sidebar-inset.svelte | 2 +- .../ui/sidebar/sidebar-menu-action.svelte | 2 +- .../ui/sidebar/sidebar-menu-badge.svelte | 2 +- .../ui/sidebar/sidebar-menu-button.svelte | 2 +- .../ui/sidebar/sidebar-menu-item.svelte | 2 +- .../ui/sidebar/sidebar-menu-skeleton.svelte | 2 +- .../ui/sidebar/sidebar-menu-sub-button.svelte | 2 +- .../ui/sidebar/sidebar-menu-sub-item.svelte | 2 +- .../ui/sidebar/sidebar-menu-sub.svelte | 2 +- .../components/ui/sidebar/sidebar-menu.svelte | 2 +- .../ui/sidebar/sidebar-provider.svelte | 2 +- .../components/ui/sidebar/sidebar-rail.svelte | 2 +- .../ui/sidebar/sidebar-separator.svelte | 2 +- .../ui/sidebar/sidebar-trigger.svelte | 2 +- src/lib/components/ui/sidebar/sidebar.svelte | 2 +- .../components/ui/skeleton/skeleton.svelte | 2 +- src/lib/components/ui/slider/slider.svelte | 2 +- src/lib/components/ui/spinner/spinner.svelte | 2 +- .../ui/stepper/stepper-description.svelte | 2 +- .../ui/stepper/stepper-indicator.svelte | 2 +- .../components/ui/stepper/stepper-item.svelte | 2 +- .../ui/stepper/stepper-separator.svelte | 2 +- .../ui/stepper/stepper-title.svelte | 2 +- .../ui/stepper/stepper-trigger.svelte | 2 +- src/lib/components/ui/stepper/stepper.svelte | 2 +- src/lib/components/ui/switch/switch.svelte | 2 +- src/lib/components/ui/table/table-body.svelte | 2 +- .../components/ui/table/table-caption.svelte | 2 +- src/lib/components/ui/table/table-cell.svelte | 2 +- .../components/ui/table/table-footer.svelte | 2 +- src/lib/components/ui/table/table-head.svelte | 2 +- .../components/ui/table/table-header.svelte | 2 +- src/lib/components/ui/table/table-row.svelte | 2 +- src/lib/components/ui/table/table.svelte | 2 +- .../components/ui/tabs/tabs-content.svelte | 2 +- src/lib/components/ui/tabs/tabs-list.svelte | 2 +- .../components/ui/tabs/tabs-trigger.svelte | 2 +- src/lib/components/ui/tabs/tabs.svelte | 2 +- .../components/ui/textarea/textarea.svelte | 2 +- .../ui/toggle-group/toggle-group-item.svelte | 2 +- .../ui/toggle-group/toggle-group.svelte | 2 +- src/lib/components/ui/toggle/toggle.svelte | 2 +- .../ui/tooltip/tooltip-content.svelte | 4 +-- src/lib/list-search.svelte.ts | 2 +- src/lib/utils.ts | 13 --------- .../{form-feedback.ts => utils/feedback.ts} | 0 src/lib/utils/filter.ts | 15 ++++++++++ src/lib/{record-utils.ts => utils/format.ts} | 28 +++++++++---------- src/routes/dashboard/+page.svelte | 2 +- src/routes/dashboard/addresses/+page.svelte | 4 +-- src/routes/dashboard/bookings/+page.svelte | 4 +-- src/routes/dashboard/clients/+page.svelte | 4 +-- .../[id]/addresses/addresses-table.svelte | 2 +- .../[id]/contacts/contacts-table.svelte | 2 +- .../contracts/contract-form-fields.svelte | 2 +- .../[id]/contracts/room-multi-combobox.svelte | 2 +- src/routes/dashboard/contacts/+page.svelte | 4 +-- src/routes/dashboard/rooms/+page.svelte | 4 +-- src/routes/dashboard/services/+page.svelte | 4 +-- 306 files changed, 343 insertions(+), 343 deletions(-) delete mode 100644 src/lib/utils.ts rename src/lib/{form-feedback.ts => utils/feedback.ts} (100%) create mode 100644 src/lib/utils/filter.ts rename src/lib/{record-utils.ts => utils/format.ts} (74%) diff --git a/src/lib/components/first-admin-form.svelte b/src/lib/components/first-admin-form.svelte index 98e9caa..51f116f 100644 --- a/src/lib/components/first-admin-form.svelte +++ b/src/lib/components/first-admin-form.svelte @@ -11,8 +11,8 @@ import type { HTMLAttributes } from 'svelte/elements'; import { Button } from '$lib/components/ui/button/index.js'; import { Input } from '$lib/components/ui/input/index.js'; - import { cn, type WithElementRef } from '$lib/utils.js'; - import { firstFormError } from '$lib/form-feedback'; + import { cn, type WithElementRef } from '$lib/utils/format.js'; + import { firstFormError } from '$lib/utils/feedback'; import { firstAdminSchema, type FirstAdminSchema } from '$lib/schemas/auth'; let { diff --git a/src/lib/components/form-combobox.svelte b/src/lib/components/form-combobox.svelte index 4602bd9..499ed03 100644 --- a/src/lib/components/form-combobox.svelte +++ b/src/lib/components/form-combobox.svelte @@ -5,7 +5,7 @@ import { Button } from '$lib/components/ui/button/index.js'; import * as Command from '$lib/components/ui/command/index.js'; import * as Popover from '$lib/components/ui/popover/index.js'; - import { cn } from '$lib/utils.js'; + import { cn } from '$lib/utils/format.js'; type Option = { value: string; diff --git a/src/lib/components/form-select.svelte b/src/lib/components/form-select.svelte index 3833117..786f721 100644 --- a/src/lib/components/form-select.svelte +++ b/src/lib/components/form-select.svelte @@ -1,7 +1,7 @@