diff --git a/.github/workflows/ui.yml b/.github/workflows/ui.yml new file mode 100644 index 00000000..6232198d --- /dev/null +++ b/.github/workflows/ui.yml @@ -0,0 +1,29 @@ +name: UI + +on: + push: + branches: [ "master" ] + pull_request: + branches: [ "master" ] + +jobs: + build_site: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Install Dependencies + run: cd ui && npm install + + - name: Code Lint + run: cd ui && npm run lint + + - name: Svelte Check + run: cd ui && npm run check + + - name: Unit Test + run: cd ui && npm run test:unit + + - name: Integration Test + run: cd ui && npm run test:integration diff --git a/ui/.prettierignore b/ui/.prettierignore index cc41cea9..8954b436 100644 --- a/ui/.prettierignore +++ b/ui/.prettierignore @@ -2,3 +2,4 @@ pnpm-lock.yaml package-lock.json yarn.lock +src/lib/components/* \ No newline at end of file diff --git a/ui/src/lib/components/ui/button/button.svelte b/ui/src/lib/components/ui/button/button.svelte index f578a575..a6007af3 100644 --- a/ui/src/lib/components/ui/button/button.svelte +++ b/ui/src/lib/components/ui/button/button.svelte @@ -1,10 +1,9 @@ diff --git a/ui/src/lib/components/ui/calendar/calendar-heading.svelte b/ui/src/lib/components/ui/calendar/calendar-heading.svelte index 0ec3693c..84e4df7a 100644 --- a/ui/src/lib/components/ui/calendar/calendar-heading.svelte +++ b/ui/src/lib/components/ui/calendar/calendar-heading.svelte @@ -2,8 +2,6 @@ import { Calendar as CalendarPrimitive } from 'bits-ui'; import { cn } from '$lib/utils.js'; - type $$Props = CalendarPrimitive.HeadingProps; - let className: string | undefined | null = undefined; export { className as class }; diff --git a/ui/src/lib/components/ui/calendar/calendar-next-button.svelte b/ui/src/lib/components/ui/calendar/calendar-next-button.svelte index 47fdd98d..e66a4923 100644 --- a/ui/src/lib/components/ui/calendar/calendar-next-button.svelte +++ b/ui/src/lib/components/ui/calendar/calendar-next-button.svelte @@ -5,7 +5,6 @@ import { ChevronRight } from 'lucide-svelte'; type $$Props = CalendarPrimitive.NextButtonProps; - type $$Events = CalendarPrimitive.NextButtonEvents; let className: $$Props['class'] = undefined; export { className as class }; diff --git a/ui/src/lib/components/ui/calendar/calendar-prev-button.svelte b/ui/src/lib/components/ui/calendar/calendar-prev-button.svelte index 717c9dc7..c2a23cf8 100644 --- a/ui/src/lib/components/ui/calendar/calendar-prev-button.svelte +++ b/ui/src/lib/components/ui/calendar/calendar-prev-button.svelte @@ -5,7 +5,6 @@ import { ChevronLeft } from 'lucide-svelte'; type $$Props = CalendarPrimitive.PrevButtonProps; - type $$Events = CalendarPrimitive.PrevButtonEvents; let className: $$Props['class'] = undefined; export { className as class }; diff --git a/ui/src/lib/components/ui/calendar/calendar.svelte b/ui/src/lib/components/ui/calendar/calendar.svelte index 8e0318e1..eb8f2d26 100644 --- a/ui/src/lib/components/ui/calendar/calendar.svelte +++ b/ui/src/lib/components/ui/calendar/calendar.svelte @@ -4,7 +4,6 @@ import { cn } from '$lib/utils.js'; type $$Props = CalendarPrimitive.Props; - type $$Events = CalendarPrimitive.Events; export let value: $$Props['value'] = undefined; export let placeholder: $$Props['placeholder'] = undefined; diff --git a/ui/src/lib/components/ui/card/card.svelte b/ui/src/lib/components/ui/card/card.svelte index 8f8a21e2..1303324c 100644 --- a/ui/src/lib/components/ui/card/card.svelte +++ b/ui/src/lib/components/ui/card/card.svelte @@ -8,15 +8,11 @@ export { className as class }; -
diff --git a/ui/src/routes/+page.svelte b/ui/src/routes/+page.svelte index 628bf5dd..f45036e9 100644 --- a/ui/src/routes/+page.svelte +++ b/ui/src/routes/+page.svelte @@ -18,7 +18,7 @@ } class Vehicle { - license_plate!: String; + license_plate!: string; availability!: Array; } @@ -122,7 +122,7 @@ }; class Selection { - id!: Number; + id!: number; vehicle!: Vehicle; start!: Range; end!: Range; @@ -140,11 +140,11 @@ }; }; - const isSelected = (id: Number, cell: Range) => { + const isSelected = (id: number, cell: Range) => { return selection != null && selection.id == id && overlaps(getSelection()!, cell); }; - const selectionStart = (id: Number, vehicle: Vehicle, cell: Range) => { + const selectionStart = (id: number, vehicle: Vehicle, cell: Range) => { selection = { id, vehicle,