diff --git a/src/app.css b/src/app.css index 57f9aae..68114ee 100644 --- a/src/app.css +++ b/src/app.css @@ -4,33 +4,17 @@ @tailwind components; @tailwind utilities; -@layer utilities { - .brutal { - @apply border-2 border-black rounded-md; - } - - .hovers-static { - box-shadow: 2px 2px 0 #000000; - -webkit-box-shadow: 2px 2px 0px 0px #000000; - } - - .hovers { - box-shadow: 2px 2px 0 #000000; - -webkit-box-shadow: 2px 2px 0px 0px #000000; - } - - .hovers-above, - .hovers:focus, - .hovers:hover { - box-shadow: 3px 3px 0 #000000; - -webkit-box-shadow: 3px 3px 0px 0px #000000; - } -} - :root { font-family: 'Roboto Mono', monospace; } body { @apply font-body; +} + +@supports(padding:max(0px)) { + body, header, footer { + padding-left: min(0vmin, env(safe-area-inset-left)); + padding-right: min(0vmin, env(safe-area-inset-right)); + } } \ No newline at end of file diff --git a/src/lib/components/AppBar.svelte b/src/lib/components/AppBar.svelte new file mode 100644 index 0000000..658c8b2 --- /dev/null +++ b/src/lib/components/AppBar.svelte @@ -0,0 +1,13 @@ + \ No newline at end of file diff --git a/src/lib/components/things/BorrowModal/BorrowModal.svelte b/src/lib/components/BorrowModal/BorrowModal.svelte similarity index 100% rename from src/lib/components/things/BorrowModal/BorrowModal.svelte rename to src/lib/components/BorrowModal/BorrowModal.svelte diff --git a/src/lib/components/things/BorrowModal/index.ts b/src/lib/components/BorrowModal/index.ts similarity index 100% rename from src/lib/components/things/BorrowModal/index.ts rename to src/lib/components/BorrowModal/index.ts diff --git a/src/lib/components/things/BorrowModal/stores.ts b/src/lib/components/BorrowModal/stores.ts similarity index 100% rename from src/lib/components/things/BorrowModal/stores.ts rename to src/lib/components/BorrowModal/stores.ts diff --git a/src/lib/components/Button/Button.svelte b/src/lib/components/Button/Button.svelte index b1e2512..5db65c9 100644 --- a/src/lib/components/Button/Button.svelte +++ b/src/lib/components/Button/Button.svelte @@ -8,7 +8,6 @@ export let selected: boolean = false; export let theme: ButtonTheme = ButtonTheme.default; export let size: ButtonSize = ButtonSize.normal; - export let flat: boolean = false; const padding = size === ButtonSize.normal ? 'px-3 py-1' : 'px-2'; @@ -27,7 +26,7 @@ class:defaultToggled={isToggled(ButtonTheme.default)} class:primary={theme === ButtonTheme.primary} class:primaryToggled={isToggled(ButtonTheme.primary)} - class="{padding} rounded brutal {!flat && 'hovers'} font-bold font-display outline-none"> + class="{padding} rounded-md border border-gray-500 font-semibold font-display outline-none"> {#if icon && !selected} {text} {/if} @@ -38,8 +37,12 @@ \ No newline at end of file diff --git a/src/lib/components/index.ts b/src/lib/components/index.ts index 1a9fd88..9dcf982 100644 --- a/src/lib/components/index.ts +++ b/src/lib/components/index.ts @@ -4,5 +4,4 @@ export { default as Column } from "./Column.svelte"; export { default as Head } from "./Head.svelte"; export { default as LoadingIndicator } from "./LoadingIndicator.svelte"; export { default as Row } from "./Row.svelte"; -export { default as TextInput } from "./TextInput.svelte"; -export { default as Title } from "./Title.svelte"; \ No newline at end of file +export { default as TextInput } from "./TextInput.svelte"; \ No newline at end of file diff --git a/src/lib/components/layout/Footer.svelte b/src/lib/components/layout/Footer.svelte deleted file mode 100644 index 9f0006c..0000000 --- a/src/lib/components/layout/Footer.svelte +++ /dev/null @@ -1,45 +0,0 @@ - - - \ No newline at end of file diff --git a/src/lib/components/layout/Header.svelte b/src/lib/components/layout/Header.svelte deleted file mode 100644 index bffde2e..0000000 --- a/src/lib/components/layout/Header.svelte +++ /dev/null @@ -1,35 +0,0 @@ - - -
-
- -
- - PVD Things - -
-
- {#each locales as localeKey} - - {/each} -
-
-

PVD Things

-
\ No newline at end of file diff --git a/src/lib/components/layout/Layout.svelte b/src/lib/components/layout/Layout.svelte deleted file mode 100644 index 3a5768e..0000000 --- a/src/lib/components/layout/Layout.svelte +++ /dev/null @@ -1,10 +0,0 @@ - - -
-
-
-
\ No newline at end of file diff --git a/src/lib/components/things/BookmarkIcon.svelte b/src/lib/components/things/BookmarkIcon.svelte new file mode 100644 index 0000000..153ce12 --- /dev/null +++ b/src/lib/components/things/BookmarkIcon.svelte @@ -0,0 +1,8 @@ + + + + + diff --git a/src/lib/components/things/Thing.svelte b/src/lib/components/things/Thing.svelte index d50d96e..69e5e7c 100644 --- a/src/lib/components/things/Thing.svelte +++ b/src/lib/components/things/Thing.svelte @@ -1,15 +1,18 @@ + +
+ + + +
+ + diff --git a/src/lib/views/CatalogView.svelte b/src/lib/views/CatalogView.svelte new file mode 100644 index 0000000..6b6da53 --- /dev/null +++ b/src/lib/views/CatalogView.svelte @@ -0,0 +1,24 @@ + + +
+
+ + +
+ +
+
+ +{#if $filteredThings.length > 0} + +{:else} +
{$t('No Results')}
+{/if} diff --git a/src/lib/views/InfoView/InfoView.svelte b/src/lib/views/InfoView/InfoView.svelte new file mode 100644 index 0000000..de001e6 --- /dev/null +++ b/src/lib/views/InfoView/InfoView.svelte @@ -0,0 +1,33 @@ + + +
+
+

{$t('How to Borrow')}

+
    +
  1. {$t('How to Borrow.Step1')}
  2. +
  3. {$t('How to Borrow.Step2')}
  4. +
+
+ +
+
+
+
+

{$t('Hours')}

+
    +
  • {$t('Wednesday')} 6PM - 8PM
  • +
  • {$t('Saturday')} 11AM - 2PM
  • +
+
+
+ + \ No newline at end of file diff --git a/src/lib/views/InfoView/index.ts b/src/lib/views/InfoView/index.ts new file mode 100644 index 0000000..78e106f --- /dev/null +++ b/src/lib/views/InfoView/index.ts @@ -0,0 +1,3 @@ +import InfoView from "./InfoView.svelte"; + +export default InfoView; \ No newline at end of file diff --git a/src/lib/views/LanguageToggleView.svelte b/src/lib/views/LanguageToggleView.svelte new file mode 100644 index 0000000..f271bd0 --- /dev/null +++ b/src/lib/views/LanguageToggleView.svelte @@ -0,0 +1,13 @@ + + + diff --git a/src/lib/views/MyListView/MyListTableRow.svelte b/src/lib/views/MyListView/MyListTableRow.svelte new file mode 100644 index 0000000..a48645c --- /dev/null +++ b/src/lib/views/MyListView/MyListTableRow.svelte @@ -0,0 +1,37 @@ + + + + +
+
+
+ {thingName} +
+
+
+
{thingName}
+
{available} {$t('Available')}
+
+
+ + + {$t(category)} + + + + + \ No newline at end of file diff --git a/src/lib/views/MyListView/MyListView.svelte b/src/lib/views/MyListView/MyListView.svelte new file mode 100644 index 0000000..947d889 --- /dev/null +++ b/src/lib/views/MyListView/MyListView.svelte @@ -0,0 +1,37 @@ + + +{#if $things.length > 0} + + + + + + + + + + {#each $things as thing} + {@const thingName = isSpanish ? thing.spanishName : thing.name} + removeThing(thing.id)} + {thingName} + category={thing.categories[0]} + available={thing.available} + imgSrc={thing.image} + /> + {/each} + +
{$t('Name')}{$t('Category')}
+{:else} +
{$t('No Bookmarks')}
+{/if} \ No newline at end of file diff --git a/src/lib/views/MyListView/index.ts b/src/lib/views/MyListView/index.ts new file mode 100644 index 0000000..c8e9a3b --- /dev/null +++ b/src/lib/views/MyListView/index.ts @@ -0,0 +1,3 @@ +import MyListView from './MyListView.svelte'; + +export default MyListView; \ No newline at end of file diff --git a/src/routes/+error.svelte b/src/routes/+error.svelte new file mode 100644 index 0000000..7944207 --- /dev/null +++ b/src/routes/+error.svelte @@ -0,0 +1,11 @@ + + +
+
+

{$t("It's not loading!")}

+

{$page.status} {$page.error.message}

+
+
\ No newline at end of file diff --git a/src/routes/+layout.svelte b/src/routes/+layout.svelte index 5a6d8bb..42b4f2d 100644 --- a/src/routes/+layout.svelte +++ b/src/routes/+layout.svelte @@ -1,17 +1,27 @@ - - - - \ No newline at end of file +
+ + + + +
+ +
+ +
diff --git a/src/routes/+page.server.ts b/src/routes/+page.server.ts index 3e3f580..7977c28 100644 --- a/src/routes/+page.server.ts +++ b/src/routes/+page.server.ts @@ -1,8 +1,5 @@ -export const load = async ({ fetch }) => { - const host = process.env.API_HOST ?? 'http://localhost:8088'; - const result = await fetch(`${host}/things`); - const data = await result.json(); - data.things = data.things.filter(thing => thing.categories); +import { fetchThings } from '$lib/server/api.js' - return data; +export const load = async ({ fetch }) => { + return fetchThings(fetch); } \ No newline at end of file diff --git a/src/routes/+page.svelte b/src/routes/+page.svelte index b85b09e..9fc510f 100644 --- a/src/routes/+page.svelte +++ b/src/routes/+page.svelte @@ -1,13 +1,11 @@