From 1504b8bfe9c961a14dd82079f367e061dd73bee6 Mon Sep 17 00:00:00 2001 From: webfussel <fiona@webfussel.de> Date: Sun, 11 May 2025 11:07:19 +0200 Subject: [PATCH] fix: a lot of design flaws Info text when empty, new inputs, minimum height of content fixed --- app/app.vue | 12 +- app/assets/styles/fonts.css | 24 - app/assets/styles/form/input.css | 52 -- app/assets/styles/form/textfield.css | 66 +++ app/assets/styles/general.css | 251 +++++---- app/assets/styles/header.css | 1 - app/assets/styles/page.css | 29 +- app/assets/styles/priceCard.css | 8 +- app/components/Pp/DeleteDialog.vue | 14 +- app/components/Pp/Form/Input.vue | 46 -- app/components/Pp/Form/TextField.vue | 27 + app/components/Pp/Header.vue | 2 +- app/components/Pp/PriceCard.vue | 2 +- app/components/Pp/PriceCardDialog.vue | 145 +++--- app/pages/index.vue | 25 +- nuxt.config.ts | 7 +- package-lock.json | 716 +++++++++++++++++++++----- package.json | 1 + public/fonts/opensans.woff2 | Bin 16720 -> 0 bytes public/fonts/roboto_con_bold.woff2 | Bin 15660 -> 0 bytes public/fonts/roboto_con_reg.woff2 | Bin 15700 -> 0 bytes 21 files changed, 970 insertions(+), 458 deletions(-) delete mode 100755 app/assets/styles/fonts.css delete mode 100755 app/assets/styles/form/input.css create mode 100755 app/assets/styles/form/textfield.css delete mode 100755 app/components/Pp/Form/Input.vue create mode 100755 app/components/Pp/Form/TextField.vue delete mode 100755 public/fonts/opensans.woff2 delete mode 100755 public/fonts/roboto_con_bold.woff2 delete mode 100755 public/fonts/roboto_con_reg.woff2 diff --git a/app/app.vue b/app/app.vue index 86f6369..a738821 100755 --- a/app/app.vue +++ b/app/app.vue @@ -1,7 +1,11 @@ <template> - <PpHeader /> - <div class="page"> - <NuxtPage /> + <div class="page-wrapper"> + <PpHeader /> + <div class="page"> + <NuxtPage /> + </div> + <PpFooter /> </div> - <PpFooter /> </template> +<script setup lang="ts"> +</script> \ No newline at end of file diff --git a/app/assets/styles/fonts.css b/app/assets/styles/fonts.css deleted file mode 100755 index e4a4fec..0000000 --- a/app/assets/styles/fonts.css +++ /dev/null @@ -1,24 +0,0 @@ -@font-face { - font-family: 'Open Sans'; - font-style: normal; - font-weight: 400; - font-stretch: 100%; - font-display: swap; - src: url('/fonts/opensans.woff2') format('woff2'); -} - -@font-face { - font-family: 'Roboto Condensed'; - font-style: normal; - font-weight: 300; - font-display: swap; - src: url('/fonts/roboto_con_reg.woff2') format('woff2'); -} - -@font-face { - font-family: 'Roboto Condensed'; - font-style: normal; - font-weight: 700; - font-display: swap; - src: url('/fonts/roboto_con_bold.woff2') format('woff2'); -} diff --git a/app/assets/styles/form/input.css b/app/assets/styles/form/input.css deleted file mode 100755 index 3d9c8a0..0000000 --- a/app/assets/styles/form/input.css +++ /dev/null @@ -1,52 +0,0 @@ -.Input { - &.error { - & .input-wrapper { - border-color: var(--color-error); - outline-width: 2px; - } - - & span { - color: var(--color-error); - } - } - - & span { - font-size: .65em; - } - - & .input-wrapper { - position: relative; - flex: 25% 1 0; - border: 2px solid var(--color-main-dark); - border-radius: var(--radius-default); - overflow: hidden; - transition: var(--transition-default); - outline: 0 solid var(--color-lightest); - - & label { - position: absolute; - font-size: .8em; - top: .3rem; - left: .5rem; - transition: var(--transition-default); - } - - & input { - all: unset; - width: calc(100% - 1rem); - padding: 1.3rem .5rem .5rem .5rem; - background: var(--color-lightest); - - &[type="number"] { - text-align: right; - } - } - - & input:focus, - & input:not(:placeholder-shown) { - & + label { - color: var(--color-main-dark); - } - } - } -} \ No newline at end of file diff --git a/app/assets/styles/form/textfield.css b/app/assets/styles/form/textfield.css new file mode 100755 index 0000000..c46fd55 --- /dev/null +++ b/app/assets/styles/form/textfield.css @@ -0,0 +1,66 @@ +.TextField { + --border-color: var(--color-light); + --label-color: var(--color-middle); + --label-position-top: 0.4em; + --label-font-size: 1rem; + --icon-color: var(--color-main-dark); + --message-color: var(--color-middle); + + position: relative; + flex: 25% 1 0; + + &:focus-within { + --border-color: var(--color-main-dark); + } + + &:focus-within, + &:has(input:not(:placeholder-shown)) { + --icon-color: var(--color-main-dark); + --label-color: var(--color-main-dark); + --label-position-top: -11px; + --label-font-size: 0.8rem; + } + + &.error { + --label-color: var(--color-error); + --icon-color: var(--color-error); + --border-color: var(--color-error); + --message-color: var(--color-error); + } + + & .wrapper { + display: flex; + align-items: center; + padding: 0.1rem 0.5rem; + border: 1px solid var(--border-color); + border-radius: var(--radius-default); + } + + & label { + position: absolute; + background: var(--color-lightest); + padding: 0.2rem; + left: 1.8rem; + color: var(--label-color); + top: var(--label-position-top); + font-size: var(--label-font-size); + transition: var(--transition-default); + } + + & .icon { + color: var(--icon-color); + } + + & input { + all: unset; + padding: 0.5rem; + font-size: 1rem; + width: 100%; + flex: 25% 1 0; + } + + & span { + color: var(--message-color); + font-size: 0.6rem; + } +} diff --git a/app/assets/styles/general.css b/app/assets/styles/general.css index 5c77913..f752aa8 100755 --- a/app/assets/styles/general.css +++ b/app/assets/styles/general.css @@ -1,181 +1,208 @@ :root { - --padding-default: 1rem; - --padding-small: .5rem; - --radius-default: 3px; - --transition-default: 150ms; + --padding-default: 1rem; + --padding-small: 0.5rem; + --radius-default: 3px; + --transition-default: 150ms; - --color-success: #328104; - --color-error: #A20606; - --color-blue-light: #0DDCE7; - --color-blue: #05B0FF; - --color-blue-dark: #0266F2; - --color-blue-darkest: #013174; + --color-success: #328104; + --color-error: #a20606; + --color-blue-light: #0ddce7; + --color-blue: #05b0ff; + --color-blue-dark: #0266f2; + --color-blue-darkest: #013174; - --color-darkest: #292929; - --color-dark: #404040; - --color-middle: #707070; - --color-light: #E0E0E6; - --color-lightest: #FAFAFF; + --color-darkest: #292929; + --color-dark: #404040; + --color-middle: #707070; + --color-light: #e0e0e6; + --color-lightest: #fafaff; - --color-green-light: #05FFC5; - --color-green: #02F276; - --color-green-dark: #09DC33; - --color-green-darkest: #07B029; - --color-green-darkest-most: #157C2A; + --color-green-light: #05ffc5; + --color-green: #02f276; + --color-green-dark: #09dc33; + --color-green-darkest: #07b029; + --color-green-darkest-most: #157c2a; + --color-main: var(--color-blue); + --color-main-light: var(--color-blue-light); + --color-main-dark: var(--color-blue-dark); + --color-main-darkest: var(--color-blue-darkest); - --color-main: var(--color-blue); - --color-main-light: var(--color-blue-light); - --color-main-dark: var(--color-blue-dark); - --color-main-darkest: var(--color-blue-darkest); + --color-accent: var(--color-green); + --color-accent-light: var(--color-green-light); + --color-accent-dark: var(--color-green-dark); + --color-accent-darkest: var(--color-green-darkest); - --color-accent: var(--color-green); - --color-accent-light: var(--color-green-light); - --color-accent-dark: var(--color-green-dark); - --color-accent-darkest: var(--color-green-darkest); - - --color-gradient-main: linear-gradient(to bottom right, var(--color-main), var(--color-main-light)); - --color-gradient-main-dark: linear-gradient(to bottom right, var(--color-main-darkest), var(--color-main-dark)); - --color-gradient-accent: linear-gradient(to bottom right, var(--color-accent), var(--color-accent-light)); - --color-gradient-accent-dark: linear-gradient(to bottom right, var(--color-accent-darkest), var(--color-accent-dark)); - --color-gradient-error: linear-gradient(to bottom right, #B00707, #DC0909); - --color-gradient-error-reverse: linear-gradient(to top left, #B00707, #DC0909); - - --box-shadow-upper: 0 -3px 6px rgba(0,0,0,0.16), 0 -3px 6px rgba(0,0,0,0.23); - --box-shadow-z2: 0 3px 6px rgba(0,0,0,0.16), 0 3px 6px rgba(0,0,0,0.23); - --box-shadow-inset: inset 0 3px 6px rgba(0,0,0,0.16), inset 0 3px 6px rgba(0,0,0,0.23); + --color-gradient-main: linear-gradient(to bottom right, var(--color-main), var(--color-main-light)); + --color-gradient-main-dark: linear-gradient(to bottom right, var(--color-main-darkest), var(--color-main-dark)); + --color-gradient-accent: linear-gradient(to bottom right, var(--color-accent), var(--color-accent-light)); + --color-gradient-accent-dark: linear-gradient(to bottom right, var(--color-accent-darkest), var(--color-accent-dark)); + --color-gradient-error: linear-gradient(to bottom right, #b00707, #dc0909); + --color-gradient-error-reverse: linear-gradient(to top left, #b00707, #dc0909); + --box-shadow-upper: 0 -3px 6px rgba(0, 0, 0, 0.16), 0 -3px 6px rgba(0, 0, 0, 0.23); + --box-shadow-z2: 0 3px 6px rgba(0, 0, 0, 0.16), 0 3px 6px rgba(0, 0, 0, 0.23); + --box-shadow-inset: inset 0 3px 6px rgba(0, 0, 0, 0.16), inset 0 3px 6px rgba(0, 0, 0, 0.23); } * { - margin: 0; - padding: 0; - box-sizing: border-box; + margin: 0; + padding: 0; + box-sizing: border-box; } html, body { - height: 100%; - overflow-x: hidden; - font-family: sans-serif; - background: var(--color-main-darkest); + height: 100%; + overflow-x: hidden; + font-family: sans-serif; + background: var(--color-main-darkest); } .dot { - --size: 10px; - width: var(--size); - height: var(--size); - top: 5px; - right: 25%; - border-radius: 50%; - background-color: var(--color-accent); - display: inline-block; - margin-right: 0.5rem; - position: absolute; - box-shadow: var(--box-shadow-z2); - scale: 0; - transition: var(--transition-default); + --size: 10px; + width: var(--size); + height: var(--size); + top: 5px; + right: 25%; + border-radius: 50%; + background-color: var(--color-accent); + display: inline-block; + margin-right: 0.5rem; + position: absolute; + box-shadow: var(--box-shadow-z2); + scale: 0; + transition: var(--transition-default); - &.visible { - scale: 1; - animation: pulse 1s infinite; - } + &.visible { + scale: 1; + animation: pulse 1s infinite; + } } @keyframes pulse { - 0% { - transform: scale(0.95); - box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.7); - } - 70% { - transform: scale(1); - box-shadow: 0 0 0 10px rgba(255, 255, 255, 0); - } + 0% { + transform: scale(0.95); + box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.7); + } + 70% { + transform: scale(1); + box-shadow: 0 0 0 10px rgba(255, 255, 255, 0); + } - 100% { - transform: scale(0.95); - box-shadow: 0 0 0 0 rgba(255, 255, 255, 0); - } + 100% { + transform: scale(0.95); + box-shadow: 0 0 0 0 rgba(255, 255, 255, 0); + } } .card { - overflow: hidden; - border-radius: var(--radius-default); - box-shadow: var(--box-shadow-z2); + overflow: hidden; + border-radius: var(--radius-default); + box-shadow: var(--box-shadow-z2); } .flex-col { - display: flex; - flex-direction: column; + display: flex; + flex-direction: column; } .flex-row { - display: flex; - flex-direction: row; + display: flex; + flex-direction: row; } .text-white { - color: var(--color-lightest); + color: var(--color-lightest); } .bg-main { - background-color: var(--color-main); + background-color: var(--color-main); } .bg-main-hover:hover { - background-color: var(--color-main); + background-color: var(--color-main); } .bg-main-dark { - background-color: var(--color-main-dark); + background-color: var(--color-main-dark); } .bg-main-dark-hover:hover { - background-color: var(--color-main-dark); + background-color: var(--color-main-dark); } .gap-default { - gap: 1rem; + gap: 1rem; } .bg-blue { - background: var(--color-blue); + background: var(--color-blue); } .bg-white { - background: var(--color-lightest); + background: var(--color-lightest); } .padding { - gap: 1rem; - padding: var(--padding-default); + gap: 1rem; + padding: var(--padding-default); } .padding-small { - gap: 1rem; - padding: var(--padding-small); + gap: 1rem; + padding: var(--padding-small); +} + +.roboto-condensed { + font-family: "Roboto Condensed", sans-serif; +} + +.roboto { + font-family: "Roboto", sans-serif; +} + +.open-sans { + font-family: "Open Sans", sans-serif; +} + +.grow { + flex-grow: 1; + height: 10px; } dialog { - top: 50%; - left: 50%; - width: 100vw; - transform: translate(-50%, -50%); - border: none; - border-radius: var(--radius-default); + top: 50%; + left: 50%; + width: 100vw; + transform: translate(-50%, -50%); + border: none; + border-radius: var(--radius-default); + background: var(--color-lightest); + font-size: 1rem; - font-size: 1rem; + & > .wrapper { + display: flex; + flex-direction: column; + gap: 1rem; + } - & header { - justify-content: space-between; - align-items: center; - } + & header { + justify-content: space-between; + align-items: center; + padding: 1rem 1rem 0; + } - & footer { - justify-content: space-between; - } + main { + padding: 0 1rem; + } - &::backdrop { - background: rgba(0, 0, 0, 0.5); - } -} \ No newline at end of file + & footer { + justify-content: space-between; + padding: 0 1rem 1rem; + } + + &::backdrop { + background: rgba(0, 0, 0, 0.5); + } +} diff --git a/app/assets/styles/header.css b/app/assets/styles/header.css index 43b0c3f..da5d3a5 100755 --- a/app/assets/styles/header.css +++ b/app/assets/styles/header.css @@ -16,7 +16,6 @@ display: flex; align-items: center; justify-content: space-between; - font-family: 'Roboto', sans-serif; font-weight: bold; & a { diff --git a/app/assets/styles/page.css b/app/assets/styles/page.css index eb9426d..a9aaedf 100644 --- a/app/assets/styles/page.css +++ b/app/assets/styles/page.css @@ -1,3 +1,18 @@ +.page-wrapper { + display: flex; + flex-direction: column; + height: 100vh; + + & .page { + flex-grow: 1; + + & .nuxt-page-wrapper { + height: 100%; + justify-content: space-between; + } + } +} + .filter-bar { background: var(--color-lightest); display: flex; @@ -25,16 +40,24 @@ z-index: 100; & p { - font-family: 'Roboto Condensed', sans-serif; - font-weight: lighter; + font-weight: 100; color: var(--color-lightest); } } .content { - min-height: 100dvh; border-top-left-radius: 15px; border-top-right-radius: 15px; overflow: hidden; background: var(--color-lightest); + height: 100%; +} + +.info-text { + padding: 0 1rem; + text-align: center; + width: 100%; + top: 40%; + transform: translateY(-50%); + position: absolute; } \ No newline at end of file diff --git a/app/assets/styles/priceCard.css b/app/assets/styles/priceCard.css index a922b25..b108971 100755 --- a/app/assets/styles/priceCard.css +++ b/app/assets/styles/priceCard.css @@ -3,7 +3,6 @@ width: 100%; color: var(--color-darkest); border-bottom: 1px solid var(--color-light); - font-family: 'Roboto', sans-serif; .bottom { position: absolute; @@ -79,10 +78,6 @@ margin-right: .5rem; color: var(--color-middle); } - - & > span:nth-child(2) { - font-family: 'Roboto Condensed', sans-serif; - } } & .wrapper { @@ -91,7 +86,6 @@ width: 100%; gap: 1rem; justify-content: space-between; - font-family: 'Roboto Condensed', sans-serif; & > .info { flex-grow: 0; @@ -110,7 +104,7 @@ } & > .pro { - font-size: .5rem; + font-size: .6rem; color: var(--color-middle); font-weight: lighter; } diff --git a/app/components/Pp/DeleteDialog.vue b/app/components/Pp/DeleteDialog.vue index dd24927..b6101ed 100644 --- a/app/components/Pp/DeleteDialog.vue +++ b/app/components/Pp/DeleteDialog.vue @@ -3,22 +3,22 @@ ref="dialog" closedby="any" > - <form method="dialog"> - <header class="flex-row padding"> + <form method="dialog" class="wrapper"> + <header class="flex-row"> Wirklich löschen? <PpButton class="round text"> <Icon name="uil:times" mode="svg" /> </PpButton> </header> <main> - <div class="padding flex-col"> + <div class="flex-col"> <p>Bist du dir sicher, dass du diesen Eintrag löschen möchtest?</p> </div> </main> - <footer class="flex-row padding"> - <PpButton class="text"> - <span>Abbrechen</span> - </PpButton> + <footer class="flex-row"> + <PpButton class="text"> + <span>Abbrechen</span> + </PpButton> <PpButton class="danger raised" @click="$emit('delete')"> <span>Löschen</span> </PpButton> diff --git a/app/components/Pp/Form/Input.vue b/app/components/Pp/Form/Input.vue deleted file mode 100755 index 43557d3..0000000 --- a/app/components/Pp/Form/Input.vue +++ /dev/null @@ -1,46 +0,0 @@ -<template> - <div class="Input"> - <div class="input-wrapper flex-col"> - <input - v-model="text" - :type="type" - :id="id" - :step="step" - :min="min" - :max="max" - :required="required" - placeholder=" " - @blur="emit('blur')" - :inputmode="mode" - /> - <label :for="id">{{ label }}</label> - </div> - <span v-if="message">{{ message }}</span> - </div> -</template> - -<script setup lang="ts"> -type Props = { - type ?: 'text' | 'number' - max ?: number - min ?: number - step ?: number - required ?: boolean - message ?: string - label : string - id : string - mode ?: 'text' | 'email' | 'search' | 'tel' | 'url' | 'none' | 'numeric' | 'decimal' -} - -const { - type = 'text', - required = false, - step = 0.01, - min = 1, - mode = 'text', -} = defineProps<Props>() - -const emit = defineEmits(['blur']) - -const text = defineModel() -</script> diff --git a/app/components/Pp/Form/TextField.vue b/app/components/Pp/Form/TextField.vue new file mode 100755 index 0000000..0c4f803 --- /dev/null +++ b/app/components/Pp/Form/TextField.vue @@ -0,0 +1,27 @@ +<template> + <div class="TextField"> + <div class="wrapper"> + <Icon v-if="icon" class="icon" :name="icon" mode="svg" /> + <input v-model="text" :type="type" :id="id" placeholder=" " @blur="emit('blur')" @input="emit('input')" :inputmode="mode" /> + <label :for="id">{{ label }}</label> + </div> + <span v-if="message">{{ message }}</span> + </div> +</template> + +<script setup lang="ts"> +type Props = { + type?: 'text' | 'number'; + message?: string; + icon?: string; + label: string; + id: string; + mode?: 'text' | 'email' | 'search' | 'tel' | 'url' | 'none' | 'numeric' | 'decimal'; +}; + +const { type = "text", mode = "text" } = defineProps<Props>(); + +const emit = defineEmits(['blur', 'input']); + +const text = defineModel(); +</script> diff --git a/app/components/Pp/Header.vue b/app/components/Pp/Header.vue index e64430a..1c88ae1 100755 --- a/app/components/Pp/Header.vue +++ b/app/components/Pp/Header.vue @@ -2,7 +2,7 @@ <div class="Header"> <img class="logo" src="/img/propapier.svg" alt="ProPapier logo" /> <div> - <header> + <header class="roboto-condensed"> <NuxtLink class="header-text" to="/"> ProPapier </NuxtLink> diff --git a/app/components/Pp/PriceCard.vue b/app/components/Pp/PriceCard.vue index c2a1c3a..2f18a4a 100755 --- a/app/components/Pp/PriceCard.vue +++ b/app/components/Pp/PriceCard.vue @@ -1,5 +1,5 @@ <template> - <article class="PriceCard"> + <article class="PriceCard roboto-condensed"> <div class="bottom"> <div class="bg-edit"> <Icon class="icon" name="uil:pen" mode="svg" /> diff --git a/app/components/Pp/PriceCardDialog.vue b/app/components/Pp/PriceCardDialog.vue index b16a262..07728d7 100644 --- a/app/components/Pp/PriceCardDialog.vue +++ b/app/components/Pp/PriceCardDialog.vue @@ -1,64 +1,72 @@ <template> - <dialog - ref="dialog" - closedby="any" - > - <form method="dialog"> - <header class="flex-row padding"> - {{ currentCardIndex > -1 ? 'Bearbeiten' : 'Neues Hinzufügen' }} - <PpButton class="round text"> - <Icon name="uil:times" mode="svg" /> - </PpButton> - </header> - </form> + <dialog ref="dialog" closedby="any"> + <div class="wrapper"> + <form method="dialog"> + <header class="flex-row"> + {{ currentCardIndex > -1 ? 'Bearbeiten' : 'Neues hinzufügen' }} + <PpButton class="round text"> + <Icon name="uil:times" mode="svg" /> + </PpButton> + </header> + </form> <main v-if="currentCard"> - <div class="padding flex-col"> + <div class="flex-col gap-default"> <div class="flex-row gap-default"> - <PpFormInput + <PpFormTextField v-model="currentCard.name" id="card_name" label="Name" - :class="{'error': !validFields.name }" + icon="uil:user" + :class="{ error: !validFields.name }" :message="!validFields.name ? 'Feld darf nicht leer sein.' : ''" + @input="validFields.name = true" /> - <PpFormInput + <PpFormTextField v-model="currentCard.price" id="card_price" label="Preis" + icon="uil:euro" mode="decimal" - :class="{'error': !validFields.price }" + :class="{ error: !validFields.price }" :message="!validFields.price ? 'Muss eine Zahl sein.' : ''" + @input="validFields.price = true" /> </div> <div class="flex-row gap-default"> - <PpFormInput + <PpFormTextField v-model="currentCard.roles" id="card_roles" label="Rollen" + icon="uil:toilet-paper" mode="decimal" - :class="{'error': !validFields.roles }" + :class="{ error: !validFields.roles }" :message="!validFields.roles ? 'Muss eine Ganzzahl sein.' : ''" + @input="validFields.roles = true" /> - <PpFormInput + <PpFormTextField v-model="currentCard.sheets" id="card_sheets" - label="Blätter" + label="Blatt" + icon="uil:file-landscape" mode="decimal" - :class="{'error': !validFields.sheets }" + :class="{ error: !validFields.sheets }" :message="!validFields.sheets ? 'Muss eine Ganzzahl sein.' : ''" + @input="validFields.sheets = true" /> - <PpFormInput + <PpFormTextField v-model="currentCard.layers" id="card_layers" label="Lagen" + icon="uil:layer-group" mode="decimal" - :class="{'error': !validFields.layers }" + :class="{ error: !validFields.layers }" :message="!validFields.layers ? 'Muss eine Ganzzahl sein.' : ''" + @input="validFields.layers = true" /> </div> </div> </main> - <footer class="flex-row padding"> + <footer class="flex-row"> <form method="dialog"> <PpButton class="danger text"> <span>Abbrechen</span> @@ -68,34 +76,43 @@ <span>{{ currentCardIndex > -1 ? 'Übernehmen' : 'Hinzufügen' }}</span> </PpButton> </footer> + </div> </dialog> </template> <script setup lang="ts"> -import type { Card } from '../../../shared/Card' +import type { Card } from '../../../shared/Card'; type Props = { - currentCardIndex : number - currentCard ?: Card -} + currentCardIndex: number; + currentCard?: Card; +}; -const { currentCardIndex, currentCard } = defineProps<Props>() -const emit = defineEmits(['update']) +const { currentCardIndex, currentCard } = defineProps<Props>(); +const emit = defineEmits(['update']); -const dialog = useTemplateRef<HTMLDialogElement>('dialog') +const dialog = useTemplateRef<HTMLDialogElement>("dialog"); const checkPrice = () => { - if (!currentCard) { return false } - if (currentCard.price.length === 0) { return false } - const price = +replaceComma(currentCard.price) - return !isNaN(price) -} + if (!currentCard) { + return false; + } + if (currentCard.price.length === 0) { + return false; + } + const price = +replaceComma(currentCard.price); + return !isNaN(price); +}; -const checkIfInteger = (toBeNumber : string) => { - if (toBeNumber.length === 0) { return false } - if (toBeNumber.includes(',') || toBeNumber.includes('.')) { return false } - return !isNaN(+toBeNumber) -} +const checkIfInteger = (toBeNumber: string) => { + if (toBeNumber.length === 0) { + return false; + } + if (toBeNumber.includes(",") || toBeNumber.includes(".")) { + return false; + } + return !isNaN(+toBeNumber); +}; const validFields = reactive({ name: true, @@ -103,30 +120,32 @@ const validFields = reactive({ roles: true, sheets: true, layers: true, -}) +}); const validate = () => { - if (!currentCard) { return } - - validFields.name = currentCard.name.length > 0 - validFields.price = checkPrice() - validFields.roles = checkIfInteger(currentCard.roles) - validFields.sheets = checkIfInteger(currentCard.sheets) - validFields.layers = checkIfInteger(currentCard.layers) - - if (Object.values(validFields).every(value => value)) { - emit('update') - dialog.value?.close() + if (!currentCard) { + return; } -} + + validFields.name = currentCard.name.length > 0; + validFields.price = checkPrice(); + validFields.roles = checkIfInteger(currentCard.roles); + validFields.sheets = checkIfInteger(currentCard.sheets); + validFields.layers = checkIfInteger(currentCard.layers); + + if (Object.values(validFields).every((value) => value)) { + emit('update'); + dialog.value?.close(); + } +}; onMounted(() => { dialog.value?.addEventListener('close', () => { - validFields.name = true - validFields.price = true - validFields.roles = true - validFields.sheets = true - validFields.layers = true - }) -}) -</script> \ No newline at end of file + validFields.name = true; + validFields.price = true; + validFields.roles = true; + validFields.sheets = true; + validFields.layers = true; + }); +}); +</script> diff --git a/app/pages/index.vue b/app/pages/index.vue index 1424bee..9019be1 100755 --- a/app/pages/index.vue +++ b/app/pages/index.vue @@ -1,5 +1,5 @@ <template> - <div> + <div class="nuxt-page-wrapper flex-col"> <ClientOnly> <PpDeleteDialog ref="deleteModal" @@ -14,7 +14,7 @@ /> <Teleport to="#subheader"> <div class="search-bar"> - <p>Preisvergleich. Schnell. Unkompliziert.</p> + <p class="roboto-condensed">Vergleichen. Schnell. Unkompliziert.</p> </div> </Teleport> <section class="content flex-col"> @@ -23,17 +23,22 @@ {{ button.label }} </button> </aside> - <div class="flex-col" role="list"> + <div class="flex-col" role="list" v-if="cards.length"> <PpPriceCard - ref="priceCard" - v-for="(card, index) in cards" - :key="card.uuid" - :deletable="cards.length > 1" - :card="card" - @update="openModal(false, index)" - @remove="openDeleteModal()" + ref="priceCard" + v-for="(card, index) in cards" + :key="card.uuid" + :deletable="cards.length > 1" + :card="card" + @update="openModal(false, index)" + @remove="openDeleteModal()" /> </div> + <p class="info-text grow" v-else> + Du hast noch keinerlei Einträge angelegt. + <br />Aber das ist gar nicht schlimm! + <br />Tippe einfach unten auf "+ Hinzufügen" und leg los. + </p> </section> <PpToolbar> <PpButton class="mini-button text-white transparent" @click="openModal(true, -1)"> diff --git a/nuxt.config.ts b/nuxt.config.ts index 846366a..a2c322d 100755 --- a/nuxt.config.ts +++ b/nuxt.config.ts @@ -26,9 +26,6 @@ export default defineNuxtConfig({ link: [ { rel: 'preload', as: 'image', href: '/img/propapier.svg', type: 'image/svg+xml' }, { rel: 'icon', type: 'image/x-icon', href: '/favicon.svg' }, - { rel: 'preload', crossorigin: 'anonymous', as: 'font', href: '/fonts/opensans.woff2', type: 'font/woff2' }, - { rel: 'preload', crossorigin: 'anonymous', as: 'font', href: '/fonts/roboto_con_bold.woff2', type: 'font/woff2' }, - { rel: 'preload', crossorigin: 'anonymous', as: 'font', href: '/fonts/roboto_con_reg.woff2', type: 'font/woff2' }, ], } }, @@ -39,7 +36,7 @@ export default defineNuxtConfig({ '/privacy': { prerender: true }, }, - modules: ['@nuxt/icon', '@vueuse/nuxt', '@nuxtjs/device'], + modules: ['@nuxt/icon', '@vueuse/nuxt', '@nuxtjs/device', '@nuxt/fonts'], css : [ './app/assets/styles/general.css', @@ -48,7 +45,7 @@ export default defineNuxtConfig({ './app/assets/styles/button.css', './app/assets/styles/buttonGroup.css', './app/assets/styles/priceCard.css', - './app/assets/styles/form/input.css', + './app/assets/styles/form/textfield.css', './app/assets/styles/form/search.css', './app/assets/styles/toolbar.css', './app/assets/styles/page.css', diff --git a/package-lock.json b/package-lock.json index 0ae7a87..7ab19b0 100755 --- a/package-lock.json +++ b/package-lock.json @@ -9,6 +9,7 @@ "dependencies": { "@iconify-json/simple-icons": "^1.2.32", "@iconify-json/uil": "^1.2.3", + "@nuxt/fonts": "^0.11.3", "@nuxt/icon": "^1.10.3", "@nuxtjs/device": "^3.2.4", "@vueuse/nuxt": "^13.1.0", @@ -440,6 +441,23 @@ "node": ">=6.9.0" } }, + "node_modules/@capsizecss/metrics": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/@capsizecss/metrics/-/metrics-3.5.0.tgz", + "integrity": "sha512-Ju2I/Qn3c1OaU8FgeW4Tc22D4C9NwyVfKzNmzst59bvxBjPoLYNZMqFYn+HvCtn4MpXwiaDtCE8fNuQLpdi9yA==", + "license": "MIT" + }, + "node_modules/@capsizecss/unpack": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@capsizecss/unpack/-/unpack-2.4.0.tgz", + "integrity": "sha512-GrSU71meACqcmIUxPYOJvGKF0yryjN/L1aCuE9DViCTJI7bfkjgYDPD1zbNDcINJwSSP6UaBZY9GAbYDO7re0Q==", + "license": "MIT", + "dependencies": { + "blob-to-buffer": "^1.2.8", + "cross-fetch": "^3.0.4", + "fontkit": "^2.0.2" + } + }, "node_modules/@cloudflare/kv-asset-handler": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/@cloudflare/kv-asset-handler/-/kv-asset-handler-0.4.0.tgz", @@ -529,9 +547,9 @@ } }, "node_modules/@esbuild/aix-ppc64": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.2.tgz", - "integrity": "sha512-wCIboOL2yXZym2cgm6mlA742s9QeJ8DjGVaL39dLN4rRwrOgOyYSnOaFPhKZGLb2ngj4EyfAFjsNJwPXZvseag==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.4.tgz", + "integrity": "sha512-1VCICWypeQKhVbE9oW/sJaAmjLxhVqacdkvPLEjwlttjfwENRSClS8EjBz0KzRyFSCPDIkuXW34Je/vk7zdB7Q==", "cpu": [ "ppc64" ], @@ -545,9 +563,9 @@ } }, "node_modules/@esbuild/android-arm": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.2.tgz", - "integrity": "sha512-NQhH7jFstVY5x8CKbcfa166GoV0EFkaPkCKBQkdPJFvo5u+nGXLEH/ooniLb3QI8Fk58YAx7nsPLozUWfCBOJA==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.4.tgz", + "integrity": "sha512-QNdQEps7DfFwE3hXiU4BZeOV68HHzYwGd0Nthhd3uCkkEKK7/R6MTgM0P7H7FAs5pU/DIWsviMmEGxEoxIZ+ZQ==", "cpu": [ "arm" ], @@ -561,9 +579,9 @@ } }, "node_modules/@esbuild/android-arm64": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.2.tgz", - "integrity": "sha512-5ZAX5xOmTligeBaeNEPnPaeEuah53Id2tX4c2CVP3JaROTH+j4fnfHCkr1PjXMd78hMst+TlkfKcW/DlTq0i4w==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.4.tgz", + "integrity": "sha512-bBy69pgfhMGtCnwpC/x5QhfxAz/cBgQ9enbtwjf6V9lnPI/hMyT9iWpR1arm0l3kttTr4L0KSLpKmLp/ilKS9A==", "cpu": [ "arm64" ], @@ -577,9 +595,9 @@ } }, "node_modules/@esbuild/android-x64": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.2.tgz", - "integrity": "sha512-Ffcx+nnma8Sge4jzddPHCZVRvIfQ0kMsUsCMcJRHkGJ1cDmhe4SsrYIjLUKn1xpHZybmOqCWwB0zQvsjdEHtkg==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.4.tgz", + "integrity": "sha512-TVhdVtQIFuVpIIR282btcGC2oGQoSfZfmBdTip2anCaVYcqWlZXGcdcKIUklfX2wj0JklNYgz39OBqh2cqXvcQ==", "cpu": [ "x64" ], @@ -593,9 +611,9 @@ } }, "node_modules/@esbuild/darwin-arm64": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.2.tgz", - "integrity": "sha512-MpM6LUVTXAzOvN4KbjzU/q5smzryuoNjlriAIx+06RpecwCkL9JpenNzpKd2YMzLJFOdPqBpuub6eVRP5IgiSA==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.4.tgz", + "integrity": "sha512-Y1giCfM4nlHDWEfSckMzeWNdQS31BQGs9/rouw6Ub91tkK79aIMTH3q9xHvzH8d0wDru5Ci0kWB8b3up/nl16g==", "cpu": [ "arm64" ], @@ -609,9 +627,9 @@ } }, "node_modules/@esbuild/darwin-x64": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.2.tgz", - "integrity": "sha512-5eRPrTX7wFyuWe8FqEFPG2cU0+butQQVNcT4sVipqjLYQjjh8a8+vUTfgBKM88ObB85ahsnTwF7PSIt6PG+QkA==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.4.tgz", + "integrity": "sha512-CJsry8ZGM5VFVeyUYB3cdKpd/H69PYez4eJh1W/t38vzutdjEjtP7hB6eLKBoOdxcAlCtEYHzQ/PJ/oU9I4u0A==", "cpu": [ "x64" ], @@ -625,9 +643,9 @@ } }, "node_modules/@esbuild/freebsd-arm64": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.2.tgz", - "integrity": "sha512-mLwm4vXKiQ2UTSX4+ImyiPdiHjiZhIaE9QvC7sw0tZ6HoNMjYAqQpGyui5VRIi5sGd+uWq940gdCbY3VLvsO1w==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.4.tgz", + "integrity": "sha512-yYq+39NlTRzU2XmoPW4l5Ifpl9fqSk0nAJYM/V/WUGPEFfek1epLHJIkTQM6bBs1swApjO5nWgvr843g6TjxuQ==", "cpu": [ "arm64" ], @@ -641,9 +659,9 @@ } }, "node_modules/@esbuild/freebsd-x64": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.2.tgz", - "integrity": "sha512-6qyyn6TjayJSwGpm8J9QYYGQcRgc90nmfdUb0O7pp1s4lTY+9D0H9O02v5JqGApUyiHOtkz6+1hZNvNtEhbwRQ==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.4.tgz", + "integrity": "sha512-0FgvOJ6UUMflsHSPLzdfDnnBBVoCDtBTVyn/MrWloUNvq/5SFmh13l3dvgRPkDihRxb77Y17MbqbCAa2strMQQ==", "cpu": [ "x64" ], @@ -657,9 +675,9 @@ } }, "node_modules/@esbuild/linux-arm": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.2.tgz", - "integrity": "sha512-UHBRgJcmjJv5oeQF8EpTRZs/1knq6loLxTsjc3nxO9eXAPDLcWW55flrMVc97qFPbmZP31ta1AZVUKQzKTzb0g==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.4.tgz", + "integrity": "sha512-kro4c0P85GMfFYqW4TWOpvmF8rFShbWGnrLqlzp4X1TNWjRY3JMYUfDCtOxPKOIY8B0WC8HN51hGP4I4hz4AaQ==", "cpu": [ "arm" ], @@ -673,9 +691,9 @@ } }, "node_modules/@esbuild/linux-arm64": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.2.tgz", - "integrity": "sha512-gq/sjLsOyMT19I8obBISvhoYiZIAaGF8JpeXu1u8yPv8BE5HlWYobmlsfijFIZ9hIVGYkbdFhEqC0NvM4kNO0g==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.4.tgz", + "integrity": "sha512-+89UsQTfXdmjIvZS6nUnOOLoXnkUTB9hR5QAeLrQdzOSWZvNSAXAtcRDHWtqAUtAmv7ZM1WPOOeSxDzzzMogiQ==", "cpu": [ "arm64" ], @@ -689,9 +707,9 @@ } }, "node_modules/@esbuild/linux-ia32": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.2.tgz", - "integrity": "sha512-bBYCv9obgW2cBP+2ZWfjYTU+f5cxRoGGQ5SeDbYdFCAZpYWrfjjfYwvUpP8MlKbP0nwZ5gyOU/0aUzZ5HWPuvQ==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.4.tgz", + "integrity": "sha512-yTEjoapy8UP3rv8dB0ip3AfMpRbyhSN3+hY8mo/i4QXFeDxmiYbEKp3ZRjBKcOP862Ua4b1PDfwlvbuwY7hIGQ==", "cpu": [ "ia32" ], @@ -705,9 +723,9 @@ } }, "node_modules/@esbuild/linux-loong64": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.2.tgz", - "integrity": "sha512-SHNGiKtvnU2dBlM5D8CXRFdd+6etgZ9dXfaPCeJtz+37PIUlixvlIhI23L5khKXs3DIzAn9V8v+qb1TRKrgT5w==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.4.tgz", + "integrity": "sha512-NeqqYkrcGzFwi6CGRGNMOjWGGSYOpqwCjS9fvaUlX5s3zwOtn1qwg1s2iE2svBe4Q/YOG1q6875lcAoQK/F4VA==", "cpu": [ "loong64" ], @@ -721,9 +739,9 @@ } }, "node_modules/@esbuild/linux-mips64el": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.2.tgz", - "integrity": "sha512-hDDRlzE6rPeoj+5fsADqdUZl1OzqDYow4TB4Y/3PlKBD0ph1e6uPHzIQcv2Z65u2K0kpeByIyAjCmjn1hJgG0Q==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.4.tgz", + "integrity": "sha512-IcvTlF9dtLrfL/M8WgNI/qJYBENP3ekgsHbYUIzEzq5XJzzVEV/fXY9WFPfEEXmu3ck2qJP8LG/p3Q8f7Zc2Xg==", "cpu": [ "mips64el" ], @@ -737,9 +755,9 @@ } }, "node_modules/@esbuild/linux-ppc64": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.2.tgz", - "integrity": "sha512-tsHu2RRSWzipmUi9UBDEzc0nLc4HtpZEI5Ba+Omms5456x5WaNuiG3u7xh5AO6sipnJ9r4cRWQB2tUjPyIkc6g==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.4.tgz", + "integrity": "sha512-HOy0aLTJTVtoTeGZh4HSXaO6M95qu4k5lJcH4gxv56iaycfz1S8GO/5Jh6X4Y1YiI0h7cRyLi+HixMR+88swag==", "cpu": [ "ppc64" ], @@ -753,9 +771,9 @@ } }, "node_modules/@esbuild/linux-riscv64": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.2.tgz", - "integrity": "sha512-k4LtpgV7NJQOml/10uPU0s4SAXGnowi5qBSjaLWMojNCUICNu7TshqHLAEbkBdAszL5TabfvQ48kK84hyFzjnw==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.4.tgz", + "integrity": "sha512-i8JUDAufpz9jOzo4yIShCTcXzS07vEgWzyX3NH2G7LEFVgrLEhjwL3ajFE4fZI3I4ZgiM7JH3GQ7ReObROvSUA==", "cpu": [ "riscv64" ], @@ -769,9 +787,9 @@ } }, "node_modules/@esbuild/linux-s390x": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.2.tgz", - "integrity": "sha512-GRa4IshOdvKY7M/rDpRR3gkiTNp34M0eLTaC1a08gNrh4u488aPhuZOCpkF6+2wl3zAN7L7XIpOFBhnaE3/Q8Q==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.4.tgz", + "integrity": "sha512-jFnu+6UbLlzIjPQpWCNh5QtrcNfMLjgIavnwPQAfoGx4q17ocOU9MsQ2QVvFxwQoWpZT8DvTLooTvmOQXkO51g==", "cpu": [ "s390x" ], @@ -785,9 +803,9 @@ } }, "node_modules/@esbuild/linux-x64": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.2.tgz", - "integrity": "sha512-QInHERlqpTTZ4FRB0fROQWXcYRD64lAoiegezDunLpalZMjcUcld3YzZmVJ2H/Cp0wJRZ8Xtjtj0cEHhYc/uUg==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.4.tgz", + "integrity": "sha512-6e0cvXwzOnVWJHq+mskP8DNSrKBr1bULBvnFLpc1KY+d+irZSgZ02TGse5FsafKS5jg2e4pbvK6TPXaF/A6+CA==", "cpu": [ "x64" ], @@ -801,9 +819,9 @@ } }, "node_modules/@esbuild/netbsd-arm64": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.2.tgz", - "integrity": "sha512-talAIBoY5M8vHc6EeI2WW9d/CkiO9MQJ0IOWX8hrLhxGbro/vBXJvaQXefW2cP0z0nQVTdQ/eNyGFV1GSKrxfw==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.4.tgz", + "integrity": "sha512-vUnkBYxZW4hL/ie91hSqaSNjulOnYXE1VSLusnvHg2u3jewJBz3YzB9+oCw8DABeVqZGg94t9tyZFoHma8gWZQ==", "cpu": [ "arm64" ], @@ -817,9 +835,9 @@ } }, "node_modules/@esbuild/netbsd-x64": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.2.tgz", - "integrity": "sha512-voZT9Z+tpOxrvfKFyfDYPc4DO4rk06qamv1a/fkuzHpiVBMOhpjK+vBmWM8J1eiB3OLSMFYNaOaBNLXGChf5tg==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.4.tgz", + "integrity": "sha512-XAg8pIQn5CzhOB8odIcAm42QsOfa98SBeKUdo4xa8OvX8LbMZqEtgeWE9P/Wxt7MlG2QqvjGths+nq48TrUiKw==", "cpu": [ "x64" ], @@ -833,9 +851,9 @@ } }, "node_modules/@esbuild/openbsd-arm64": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.2.tgz", - "integrity": "sha512-dcXYOC6NXOqcykeDlwId9kB6OkPUxOEqU+rkrYVqJbK2hagWOMrsTGsMr8+rW02M+d5Op5NNlgMmjzecaRf7Tg==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.4.tgz", + "integrity": "sha512-Ct2WcFEANlFDtp1nVAXSNBPDxyU+j7+tId//iHXU2f/lN5AmO4zLyhDcpR5Cz1r08mVxzt3Jpyt4PmXQ1O6+7A==", "cpu": [ "arm64" ], @@ -849,9 +867,9 @@ } }, "node_modules/@esbuild/openbsd-x64": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.2.tgz", - "integrity": "sha512-t/TkWwahkH0Tsgoq1Ju7QfgGhArkGLkF1uYz8nQS/PPFlXbP5YgRpqQR3ARRiC2iXoLTWFxc6DJMSK10dVXluw==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.4.tgz", + "integrity": "sha512-xAGGhyOQ9Otm1Xu8NT1ifGLnA6M3sJxZ6ixylb+vIUVzvvd6GOALpwQrYrtlPouMqd/vSbgehz6HaVk4+7Afhw==", "cpu": [ "x64" ], @@ -865,9 +883,9 @@ } }, "node_modules/@esbuild/sunos-x64": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.2.tgz", - "integrity": "sha512-cfZH1co2+imVdWCjd+D1gf9NjkchVhhdpgb1q5y6Hcv9TP6Zi9ZG/beI3ig8TvwT9lH9dlxLq5MQBBgwuj4xvA==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.4.tgz", + "integrity": "sha512-Mw+tzy4pp6wZEK0+Lwr76pWLjrtjmJyUB23tHKqEDP74R3q95luY/bXqXZeYl4NYlvwOqoRKlInQialgCKy67Q==", "cpu": [ "x64" ], @@ -881,9 +899,9 @@ } }, "node_modules/@esbuild/win32-arm64": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.2.tgz", - "integrity": "sha512-7Loyjh+D/Nx/sOTzV8vfbB3GJuHdOQyrOryFdZvPHLf42Tk9ivBU5Aedi7iyX+x6rbn2Mh68T4qq1SDqJBQO5Q==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.4.tgz", + "integrity": "sha512-AVUP428VQTSddguz9dO9ngb+E5aScyg7nOeJDrF1HPYu555gmza3bDGMPhmVXL8svDSoqPCsCPjb265yG/kLKQ==", "cpu": [ "arm64" ], @@ -897,9 +915,9 @@ } }, "node_modules/@esbuild/win32-ia32": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.2.tgz", - "integrity": "sha512-WRJgsz9un0nqZJ4MfhabxaD9Ft8KioqU3JMinOTvobbX6MOSUigSBlogP8QB3uxpJDsFS6yN+3FDBdqE5lg9kg==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.4.tgz", + "integrity": "sha512-i1sW+1i+oWvQzSgfRcxxG2k4I9n3O9NRqy8U+uugaT2Dy7kLO9Y7wI72haOahxceMX8hZAzgGou1FhndRldxRg==", "cpu": [ "ia32" ], @@ -913,9 +931,9 @@ } }, "node_modules/@esbuild/win32-x64": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.2.tgz", - "integrity": "sha512-kM3HKb16VIXZyIeVrM1ygYmZBKybX8N4p754bw390wGO3Tf2j4L2/WYL+4suWujpgf6GBYs3jv7TyUivdd05JA==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.4.tgz", + "integrity": "sha512-nOT2vZNw6hJ+z43oP1SPea/G/6AbN6X+bGNhNuq8NtRHy4wsMhw765IKLNmnjek7GvjWBYQ8Q5VBoYTFg9y1UQ==", "cpu": [ "x64" ], @@ -2465,6 +2483,237 @@ "node": "^18.17.0 || >=20.5.0" } }, + "node_modules/@nuxt/fonts": { + "version": "0.11.3", + "resolved": "https://registry.npmjs.org/@nuxt/fonts/-/fonts-0.11.3.tgz", + "integrity": "sha512-IRlzEoxeza1RgUiXKynLlo98MsAYIclM0iDaG51sWoGAisDwMw+DAhbklJkIWIFWHZ4VVSHFQSzLfjRJTkk7cQ==", + "license": "MIT", + "dependencies": { + "@nuxt/devtools-kit": "^2.4.0", + "@nuxt/kit": "^3.17.1", + "consola": "^3.4.2", + "css-tree": "^3.1.0", + "defu": "^6.1.4", + "esbuild": "^0.25.4", + "fontaine": "^0.6.0", + "h3": "^1.15.3", + "jiti": "^2.4.2", + "magic-regexp": "^0.10.0", + "magic-string": "^0.30.17", + "node-fetch-native": "^1.6.6", + "ohash": "^2.0.11", + "pathe": "^2.0.3", + "sirv": "^3.0.1", + "tinyglobby": "^0.2.13", + "ufo": "^1.6.1", + "unifont": "^0.5.0", + "unplugin": "^2.3.2", + "unstorage": "^1.16.0" + } + }, + "node_modules/@nuxt/fonts/node_modules/@nuxt/devtools-kit": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@nuxt/devtools-kit/-/devtools-kit-2.4.0.tgz", + "integrity": "sha512-GdxdxEDN1f6uxJOPooYQTLC6X1QUe5kRs83A0PVH/uD0sqoXCjpKHOw+H0vdhkHOwOIsVIsbL+TdaF4k++p9TA==", + "license": "MIT", + "dependencies": { + "@nuxt/kit": "^3.16.2", + "@nuxt/schema": "^3.16.2", + "execa": "^8.0.1" + }, + "peerDependencies": { + "vite": ">=6.0" + } + }, + "node_modules/@nuxt/fonts/node_modules/@nuxt/kit": { + "version": "3.17.2", + "resolved": "https://registry.npmjs.org/@nuxt/kit/-/kit-3.17.2.tgz", + "integrity": "sha512-Mz2Ni8iUwty5LBs3LepUL43rI2xXbuAz3Cqq37L9frOD2QI2tQUtasYaSoKk6U7nvYzuW2z/2b3YOLkMNi/k2w==", + "license": "MIT", + "dependencies": { + "c12": "^3.0.3", + "consola": "^3.4.2", + "defu": "^6.1.4", + "destr": "^2.0.5", + "errx": "^0.1.0", + "exsolve": "^1.0.5", + "ignore": "^7.0.4", + "jiti": "^2.4.2", + "klona": "^2.0.6", + "knitwork": "^1.2.0", + "mlly": "^1.7.4", + "ohash": "^2.0.11", + "pathe": "^2.0.3", + "pkg-types": "^2.1.0", + "scule": "^1.3.0", + "semver": "^7.7.1", + "std-env": "^3.9.0", + "tinyglobby": "^0.2.13", + "ufo": "^1.6.1", + "unctx": "^2.4.1", + "unimport": "^5.0.1", + "untyped": "^2.0.0" + }, + "engines": { + "node": ">=18.12.0" + } + }, + "node_modules/@nuxt/fonts/node_modules/confbox": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/confbox/-/confbox-0.2.2.tgz", + "integrity": "sha512-1NB+BKqhtNipMsov4xI/NnhCKp9XG9NamYp5PVm9klAT0fsrNPjaFICsCFhNhwZJKNh7zB/3q8qXz0E9oaMNtQ==", + "license": "MIT" + }, + "node_modules/@nuxt/fonts/node_modules/css-tree": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-3.1.0.tgz", + "integrity": "sha512-0eW44TGN5SQXU1mWSkKwFstI/22X2bG1nYzZTYMAWjylYURhse752YgbE4Cx46AC+bAvI+/dYTPRk1LqSUnu6w==", + "license": "MIT", + "dependencies": { + "mdn-data": "2.12.2", + "source-map-js": "^1.0.1" + }, + "engines": { + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0" + } + }, + "node_modules/@nuxt/fonts/node_modules/execa": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz", + "integrity": "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==", + "license": "MIT", + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^8.0.1", + "human-signals": "^5.0.0", + "is-stream": "^3.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^5.1.0", + "onetime": "^6.0.0", + "signal-exit": "^4.1.0", + "strip-final-newline": "^3.0.0" + }, + "engines": { + "node": ">=16.17" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/@nuxt/fonts/node_modules/get-stream": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz", + "integrity": "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==", + "license": "MIT", + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@nuxt/fonts/node_modules/human-signals": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz", + "integrity": "sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==", + "license": "Apache-2.0", + "engines": { + "node": ">=16.17.0" + } + }, + "node_modules/@nuxt/fonts/node_modules/local-pkg": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/local-pkg/-/local-pkg-1.1.1.tgz", + "integrity": "sha512-WunYko2W1NcdfAFpuLUoucsgULmgDBRkdxHxWQ7mK0cQqwPiy8E1enjuRBrhLtZkB5iScJ1XIPdhVEFK8aOLSg==", + "license": "MIT", + "dependencies": { + "mlly": "^1.7.4", + "pkg-types": "^2.0.1", + "quansync": "^0.2.8" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@nuxt/fonts/node_modules/mdn-data": { + "version": "2.12.2", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.12.2.tgz", + "integrity": "sha512-IEn+pegP1aManZuckezWCO+XZQDplx1366JoVhTpMpBB1sPey/SbveZQUosKiKiGYjg1wH4pMlNgXbCiYgihQA==", + "license": "CC0-1.0" + }, + "node_modules/@nuxt/fonts/node_modules/ohash": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/ohash/-/ohash-2.0.11.tgz", + "integrity": "sha512-RdR9FQrFwNBNXAr4GixM8YaRZRJ5PUWbKYbE5eOsrwAjJW0q2REGcf79oYPsLyskQCZG1PLN+S/K1V00joZAoQ==", + "license": "MIT" + }, + "node_modules/@nuxt/fonts/node_modules/pkg-types": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-2.1.0.tgz", + "integrity": "sha512-wmJwA+8ihJixSoHKxZJRBQG1oY8Yr9pGLzRmSsNms0iNWyHHAlZCa7mmKiFR10YPZuz/2k169JiS/inOjBCZ2A==", + "license": "MIT", + "dependencies": { + "confbox": "^0.2.1", + "exsolve": "^1.0.1", + "pathe": "^2.0.3" + } + }, + "node_modules/@nuxt/fonts/node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "license": "ISC", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@nuxt/fonts/node_modules/tinyglobby": { + "version": "0.2.13", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.13.tgz", + "integrity": "sha512-mEwzpUgrLySlveBwEVDMKk5B57bhLPYovRfPAXD5gA/98Opn0rCDj3GtLwFvCvH5RK9uPCExUROW5NjDwvqkxw==", + "license": "MIT", + "dependencies": { + "fdir": "^6.4.4", + "picomatch": "^4.0.2" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/SuperchupuDev" + } + }, + "node_modules/@nuxt/fonts/node_modules/unimport": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/unimport/-/unimport-5.0.1.tgz", + "integrity": "sha512-1YWzPj6wYhtwHE+9LxRlyqP4DiRrhGfJxdtH475im8ktyZXO3jHj/3PZ97zDdvkYoovFdi0K4SKl3a7l92v3sQ==", + "license": "MIT", + "dependencies": { + "acorn": "^8.14.1", + "escape-string-regexp": "^5.0.0", + "estree-walker": "^3.0.3", + "local-pkg": "^1.1.1", + "magic-string": "^0.30.17", + "mlly": "^1.7.4", + "pathe": "^2.0.3", + "picomatch": "^4.0.2", + "pkg-types": "^2.1.0", + "scule": "^1.3.0", + "strip-literal": "^3.0.0", + "tinyglobby": "^0.2.13", + "unplugin": "^2.3.2", + "unplugin-utils": "^0.2.4" + }, + "engines": { + "node": ">=18.12.0" + } + }, "node_modules/@nuxt/icon": { "version": "1.10.3", "resolved": "https://registry.npmjs.org/@nuxt/icon/-/icon-1.10.3.tgz", @@ -3745,6 +3994,15 @@ "integrity": "sha512-0dxmVj4gxg3Jg879kvFS/msl4s9F3T9UXC1InxgOf7t5NvcPD97u/WTA5vL/IxWHMn7qSxBozqrnnE2wvl1m8g==", "license": "CC0-1.0" }, + "node_modules/@swc/helpers": { + "version": "0.5.17", + "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.17.tgz", + "integrity": "sha512-5IKx/Y13RsYd+sauPb2x+U/xZikHjolzfuDgTAl/Tdf3Q8rslRvC19NKDLgAJQ6wsqADk10ntlv08nPFw/gO/A==", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.8.0" + } + }, "node_modules/@trysound/sax": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz", @@ -4826,6 +5084,26 @@ "url": "https://github.com/sponsors/antfu" } }, + "node_modules/blob-to-buffer": { + "version": "1.2.9", + "resolved": "https://registry.npmjs.org/blob-to-buffer/-/blob-to-buffer-1.2.9.tgz", + "integrity": "sha512-BF033y5fN6OCofD3vgHmNtwZWRcq9NLyyxyILx9hfMy1sXYy4ojFl765hJ2lP0YaN2fuxPaLO2Vzzoxy0FLFFA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, "node_modules/boolbase": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", @@ -4853,6 +5131,15 @@ "node": ">=8" } }, + "node_modules/brotli": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/brotli/-/brotli-1.3.3.tgz", + "integrity": "sha512-oTKjJdShmDuGW94SyyaoQvAjf30dZaHnjJ8uAF+u2/vGJkJbJPJAT1gDiOJP5v1Zb6f9KEyW/1HpuaWIXtGHPg==", + "license": "MIT", + "dependencies": { + "base64-js": "^1.1.2" + } + }, "node_modules/browserslist": { "version": "4.24.4", "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.4.tgz", @@ -5221,6 +5508,15 @@ "node": ">=8" } }, + "node_modules/clone": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", + "integrity": "sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==", + "license": "MIT", + "engines": { + "node": ">=0.8" + } + }, "node_modules/cluster-key-slot": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/cluster-key-slot/-/cluster-key-slot-1.1.2.tgz", @@ -5483,6 +5779,15 @@ "node": ">=18.0" } }, + "node_modules/cross-fetch": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.2.0.tgz", + "integrity": "sha512-Q+xVJLoGOeIMXZmbUK4HYk+69cQH6LudR0Vu/pRm2YlU/hDV9CiS0gKUMaWY5f2NeUH9C1nV3bsTlCo0FsTV1Q==", + "license": "MIT", + "dependencies": { + "node-fetch": "^2.7.0" + } + }, "node_modules/cross-spawn": { "version": "7.0.6", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", @@ -5962,6 +6267,12 @@ "integrity": "sha512-maua5KUiapvEwiEAe+XnlZ3Rh0GD+qI1J/nb9vrJc3muPXvcF/8gXYTWF76+5DAqHyDUtOIImEuo0YKE9mshVw==", "license": "MIT" }, + "node_modules/dfa": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/dfa/-/dfa-1.2.0.tgz", + "integrity": "sha512-ED3jP8saaweFTjeGX8HQPjeC1YYyZs98jGNZx6IiBvxW7JG5v492kamAQB3m2wop07CvU/RQmzcKr6bgcC5D/Q==", + "license": "MIT" + }, "node_modules/diff": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/diff/-/diff-7.0.0.tgz", @@ -6231,9 +6542,9 @@ } }, "node_modules/esbuild": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.2.tgz", - "integrity": "sha512-16854zccKPnC+toMywC+uKNeYSv+/eXkevRAfwRD/G9Cleq66m8XFIrigkbvauLLlCfDL45Q2cWegSg53gGBnQ==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.4.tgz", + "integrity": "sha512-8pgjLUcUjcgDg+2Q4NYXnPbo/vncAY4UmyaCm0jZevERqCHZIaWwdJHkf8XQtu4AxSKCdvrUbT0XUr1IdZzI8Q==", "hasInstallScript": true, "license": "MIT", "bin": { @@ -6243,31 +6554,31 @@ "node": ">=18" }, "optionalDependencies": { - "@esbuild/aix-ppc64": "0.25.2", - "@esbuild/android-arm": "0.25.2", - "@esbuild/android-arm64": "0.25.2", - "@esbuild/android-x64": "0.25.2", - "@esbuild/darwin-arm64": "0.25.2", - "@esbuild/darwin-x64": "0.25.2", - "@esbuild/freebsd-arm64": "0.25.2", - "@esbuild/freebsd-x64": "0.25.2", - "@esbuild/linux-arm": "0.25.2", - "@esbuild/linux-arm64": "0.25.2", - "@esbuild/linux-ia32": "0.25.2", - "@esbuild/linux-loong64": "0.25.2", - "@esbuild/linux-mips64el": "0.25.2", - "@esbuild/linux-ppc64": "0.25.2", - "@esbuild/linux-riscv64": "0.25.2", - "@esbuild/linux-s390x": "0.25.2", - "@esbuild/linux-x64": "0.25.2", - "@esbuild/netbsd-arm64": "0.25.2", - "@esbuild/netbsd-x64": "0.25.2", - "@esbuild/openbsd-arm64": "0.25.2", - "@esbuild/openbsd-x64": "0.25.2", - "@esbuild/sunos-x64": "0.25.2", - "@esbuild/win32-arm64": "0.25.2", - "@esbuild/win32-ia32": "0.25.2", - "@esbuild/win32-x64": "0.25.2" + "@esbuild/aix-ppc64": "0.25.4", + "@esbuild/android-arm": "0.25.4", + "@esbuild/android-arm64": "0.25.4", + "@esbuild/android-x64": "0.25.4", + "@esbuild/darwin-arm64": "0.25.4", + "@esbuild/darwin-x64": "0.25.4", + "@esbuild/freebsd-arm64": "0.25.4", + "@esbuild/freebsd-x64": "0.25.4", + "@esbuild/linux-arm": "0.25.4", + "@esbuild/linux-arm64": "0.25.4", + "@esbuild/linux-ia32": "0.25.4", + "@esbuild/linux-loong64": "0.25.4", + "@esbuild/linux-mips64el": "0.25.4", + "@esbuild/linux-ppc64": "0.25.4", + "@esbuild/linux-riscv64": "0.25.4", + "@esbuild/linux-s390x": "0.25.4", + "@esbuild/linux-x64": "0.25.4", + "@esbuild/netbsd-arm64": "0.25.4", + "@esbuild/netbsd-x64": "0.25.4", + "@esbuild/openbsd-arm64": "0.25.4", + "@esbuild/openbsd-x64": "0.25.4", + "@esbuild/sunos-x64": "0.25.4", + "@esbuild/win32-arm64": "0.25.4", + "@esbuild/win32-ia32": "0.25.4", + "@esbuild/win32-x64": "0.25.4" } }, "node_modules/escalade": { @@ -6489,6 +6800,12 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "license": "MIT" + }, "node_modules/fast-fifo": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/fast-fifo/-/fast-fifo-1.3.2.tgz", @@ -6539,9 +6856,9 @@ } }, "node_modules/fdir": { - "version": "6.4.3", - "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.3.tgz", - "integrity": "sha512-PMXmW2y1hDDfTSRc9gaXIuCCRpuoz3Kaz8cUelp3smouvfT632ozg2vrT6lJsHKKOF59YLbOGfAWGUcKEfRMQw==", + "version": "6.4.4", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.4.tgz", + "integrity": "sha512-1NZP+GK4GfuAv3PqKvxQRDMjdSRZjnkq7KfhlNrCNNlZ0ygQFpebfrnfnq/W7fpUnAv9aGWmY1zKx7FYL3gwhg==", "license": "MIT", "peerDependencies": { "picomatch": "^3 || ^4" @@ -6658,6 +6975,58 @@ "integrity": "sha512-GRnmB5gPyJpAhTQdSZTSp9uaPSvl09KoYcMQtsB9rQoOmzs9dH6ffeccH+Z+cv6P68Hu5bC6JjRh4Ah/mHSNRw==", "license": "MIT" }, + "node_modules/fontaine": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/fontaine/-/fontaine-0.6.0.tgz", + "integrity": "sha512-cfKqzB62GmztJhwJ0YXtzNsmpqKAcFzTqsakJ//5COTzbou90LU7So18U+4D8z+lDXr4uztaAUZBonSoPDcj1w==", + "license": "MIT", + "dependencies": { + "@capsizecss/metrics": "^3.5.0", + "@capsizecss/unpack": "^2.4.0", + "css-tree": "^3.1.0", + "magic-regexp": "^0.10.0", + "magic-string": "^0.30.17", + "pathe": "^2.0.3", + "ufo": "^1.6.1", + "unplugin": "^2.3.2" + } + }, + "node_modules/fontaine/node_modules/css-tree": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-3.1.0.tgz", + "integrity": "sha512-0eW44TGN5SQXU1mWSkKwFstI/22X2bG1nYzZTYMAWjylYURhse752YgbE4Cx46AC+bAvI+/dYTPRk1LqSUnu6w==", + "license": "MIT", + "dependencies": { + "mdn-data": "2.12.2", + "source-map-js": "^1.0.1" + }, + "engines": { + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0" + } + }, + "node_modules/fontaine/node_modules/mdn-data": { + "version": "2.12.2", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.12.2.tgz", + "integrity": "sha512-IEn+pegP1aManZuckezWCO+XZQDplx1366JoVhTpMpBB1sPey/SbveZQUosKiKiGYjg1wH4pMlNgXbCiYgihQA==", + "license": "CC0-1.0" + }, + "node_modules/fontkit": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/fontkit/-/fontkit-2.0.4.tgz", + "integrity": "sha512-syetQadaUEDNdxdugga9CpEYVaQIxOwk7GlwZWWZ19//qW4zE5bknOKeMBDYAASwnpaSHKJITRLMF9m1fp3s6g==", + "license": "MIT", + "dependencies": { + "@swc/helpers": "^0.5.12", + "brotli": "^1.3.2", + "clone": "^2.1.2", + "dfa": "^1.2.0", + "fast-deep-equal": "^3.1.3", + "restructure": "^3.0.0", + "tiny-inflate": "^1.0.3", + "unicode-properties": "^1.4.0", + "unicode-trie": "^2.0.0" + } + }, "node_modules/foreground-child": { "version": "3.3.1", "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.1.tgz", @@ -7089,19 +7458,19 @@ } }, "node_modules/h3": { - "version": "1.15.1", - "resolved": "https://registry.npmjs.org/h3/-/h3-1.15.1.tgz", - "integrity": "sha512-+ORaOBttdUm1E2Uu/obAyCguiI7MbBvsLTndc3gyK3zU+SYLoZXlyCP9Xgy0gikkGufFLTZXCXD6+4BsufnmHA==", + "version": "1.15.3", + "resolved": "https://registry.npmjs.org/h3/-/h3-1.15.3.tgz", + "integrity": "sha512-z6GknHqyX0h9aQaTx22VZDf6QyZn+0Nh+Ym8O/u0SGSkyF5cuTJYKlc8MkzW3Nzf9LE1ivcpmYC3FUGpywhuUQ==", "license": "MIT", "dependencies": { "cookie-es": "^1.2.2", - "crossws": "^0.3.3", + "crossws": "^0.3.4", "defu": "^6.1.4", - "destr": "^2.0.3", + "destr": "^2.0.5", "iron-webcrypto": "^1.2.1", "node-mock-http": "^1.0.0", "radix3": "^1.1.2", - "ufo": "^1.5.4", + "ufo": "^1.6.1", "uncrypto": "^0.1.3" } }, @@ -7240,9 +7609,9 @@ "license": "BSD-3-Clause" }, "node_modules/ignore": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.3.tgz", - "integrity": "sha512-bAH5jbK/F3T3Jls4I0SO1hmPR0dKU0a7+SY6n1yzRtG54FLO8d6w/nxLFX2Nb7dBu6cCWXPaAME6cYqFUMmuCA==", + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.4.tgz", + "integrity": "sha512-gJzzk+PQNznz8ysRrC0aOkBNVRBDtE1n53IqyqEf3PXrYwomFs5q4pGMizBMJF+ykh03insJ27hB8gSrD2Hn8A==", "license": "MIT", "engines": { "node": ">= 4" @@ -7936,6 +8305,21 @@ "node": ">=12" } }, + "node_modules/magic-regexp": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/magic-regexp/-/magic-regexp-0.10.0.tgz", + "integrity": "sha512-Uly1Bu4lO1hwHUW0CQeSWuRtzCMNO00CmXtS8N6fyvB3B979GOEEeAkiTUDsmbYLAbvpUS/Kt5c4ibosAzVyVg==", + "license": "MIT", + "dependencies": { + "estree-walker": "^3.0.3", + "magic-string": "^0.30.12", + "mlly": "^1.7.2", + "regexp-tree": "^0.1.27", + "type-level-regexp": "~0.1.17", + "ufo": "^1.5.4", + "unplugin": "^2.0.0" + } + }, "node_modules/magic-string": { "version": "0.30.17", "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.17.tgz", @@ -9079,6 +9463,12 @@ "integrity": "sha512-+vYvA/Y31l8Zk8dwxHhL3JfTuHPm6tlxM2A3GeQyl7ovYnSp1+mzAxClxaOr0qO1TtPxbQxetI7v5XqKLJZk7Q==", "license": "MIT" }, + "node_modules/pako": { + "version": "0.2.9", + "resolved": "https://registry.npmjs.org/pako/-/pako-0.2.9.tgz", + "integrity": "sha512-NUcwaKxUxWrZLpDG+z/xZaCgQITkA/Dv4V/T6bw7VON6l1Xz/VnrBqrYjZQ12TamKHzITTfOEIYUj48y2KXImA==", + "license": "MIT" + }, "node_modules/parse-json": { "version": "8.3.0", "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-8.3.0.tgz", @@ -10078,6 +10468,15 @@ "node": ">=4" } }, + "node_modules/regexp-tree": { + "version": "0.1.27", + "resolved": "https://registry.npmjs.org/regexp-tree/-/regexp-tree-0.1.27.tgz", + "integrity": "sha512-iETxpjK6YoRWJG5o6hXLwvjYAoW+FEZn9os0PD/b6AP6xQwsa/Y7lCVgIixBbUPMfhu+i2LtdeAqVTgGlQarfA==", + "license": "MIT", + "bin": { + "regexp-tree": "bin/regexp-tree" + } + }, "node_modules/remove-trailing-separator": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", @@ -10125,6 +10524,12 @@ "node": ">=8" } }, + "node_modules/restructure": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/restructure/-/restructure-3.0.2.tgz", + "integrity": "sha512-gSfoiOEA0VPE6Tukkrr7I0RBdE0s7H1eFCDBk05l1KIQT1UIKNc5JZy6jdyW6eYH3aR3g5b3PuL77rq0hvwtAw==", + "license": "MIT" + }, "node_modules/reusify": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", @@ -11061,6 +11466,12 @@ "integrity": "sha512-uuVGNWzgJ4yhRaNSiubPY7OjISw4sw4E5Uv0wbjp+OzcbmVU/rsT8ujgcXJhn9ypzsgr5vlzpPqP+MBBKcGvbg==", "license": "MIT" }, + "node_modules/tiny-inflate": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/tiny-inflate/-/tiny-inflate-1.0.3.tgz", + "integrity": "sha512-pkY1fj1cKHb2seWDy0B16HeWyczlJA9/WW3u3c4z/NiWDsO3DOU5D7nhTLE9CF0yXv/QZFY7sEJmj24dK+Rrqw==", + "license": "MIT" + }, "node_modules/tiny-invariant": { "version": "1.3.3", "resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.3.3.tgz", @@ -11197,6 +11608,12 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/type-level-regexp": { + "version": "0.1.17", + "resolved": "https://registry.npmjs.org/type-level-regexp/-/type-level-regexp-0.1.17.tgz", + "integrity": "sha512-wTk4DH3cxwk196uGLK/E9pE45aLfeKJacKmcEgEOA/q5dnPGNxXt0cfYdFxb57L+sEpf1oJH4Dnx/pnRcku9jg==", + "license": "MIT" + }, "node_modules/typescript": { "version": "5.7.3", "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.7.3.tgz", @@ -11278,6 +11695,26 @@ "url": "https://github.com/sponsors/harlan-zw" } }, + "node_modules/unicode-properties": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/unicode-properties/-/unicode-properties-1.4.1.tgz", + "integrity": "sha512-CLjCCLQ6UuMxWnbIylkisbRj31qxHPAurvena/0iwSVbQ2G1VY5/HjV0IRabOEbDHlzZlRdCrD4NhB0JtU40Pg==", + "license": "MIT", + "dependencies": { + "base64-js": "^1.3.0", + "unicode-trie": "^2.0.0" + } + }, + "node_modules/unicode-trie": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-trie/-/unicode-trie-2.0.0.tgz", + "integrity": "sha512-x7bc76x0bm4prf1VLg79uhAzKw8DVboClSN5VxJuQ+LKDOVEW9CdH+VY7SP+vX7xCYQqzzgQpFqz15zeLvAtZQ==", + "license": "MIT", + "dependencies": { + "pako": "^0.2.5", + "tiny-inflate": "^1.0.0" + } + }, "node_modules/unicorn-magic": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/unicorn-magic/-/unicorn-magic-0.3.0.tgz", @@ -11290,6 +11727,41 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/unifont": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/unifont/-/unifont-0.5.0.tgz", + "integrity": "sha512-4DueXMP5Hy4n607sh+vJ+rajoLu778aU3GzqeTCqsD/EaUcvqZT9wPC8kgK6Vjh22ZskrxyRCR71FwNOaYn6jA==", + "license": "MIT", + "dependencies": { + "css-tree": "^3.0.0", + "ohash": "^2.0.0" + } + }, + "node_modules/unifont/node_modules/css-tree": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-3.1.0.tgz", + "integrity": "sha512-0eW44TGN5SQXU1mWSkKwFstI/22X2bG1nYzZTYMAWjylYURhse752YgbE4Cx46AC+bAvI+/dYTPRk1LqSUnu6w==", + "license": "MIT", + "dependencies": { + "mdn-data": "2.12.2", + "source-map-js": "^1.0.1" + }, + "engines": { + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0" + } + }, + "node_modules/unifont/node_modules/mdn-data": { + "version": "2.12.2", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.12.2.tgz", + "integrity": "sha512-IEn+pegP1aManZuckezWCO+XZQDplx1366JoVhTpMpBB1sPey/SbveZQUosKiKiGYjg1wH4pMlNgXbCiYgihQA==", + "license": "CC0-1.0" + }, + "node_modules/unifont/node_modules/ohash": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/ohash/-/ohash-2.0.11.tgz", + "integrity": "sha512-RdR9FQrFwNBNXAr4GixM8YaRZRJ5PUWbKYbE5eOsrwAjJW0q2REGcf79oYPsLyskQCZG1PLN+S/K1V00joZAoQ==", + "license": "MIT" + }, "node_modules/unimport": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/unimport/-/unimport-4.2.0.tgz", @@ -11469,19 +11941,19 @@ } }, "node_modules/unstorage": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/unstorage/-/unstorage-1.15.0.tgz", - "integrity": "sha512-m40eHdGY/gA6xAPqo8eaxqXgBuzQTlAKfmB1iF7oCKXE1HfwHwzDJBywK+qQGn52dta+bPlZluPF7++yR3p/bg==", + "version": "1.16.0", + "resolved": "https://registry.npmjs.org/unstorage/-/unstorage-1.16.0.tgz", + "integrity": "sha512-WQ37/H5A7LcRPWfYOrDa1Ys02xAbpPJq6q5GkO88FBXVSQzHd7+BjEwfRqyaSWCv9MbsJy058GWjjPjcJ16GGA==", "license": "MIT", "dependencies": { "anymatch": "^3.1.3", "chokidar": "^4.0.3", - "destr": "^2.0.3", - "h3": "^1.15.0", + "destr": "^2.0.5", + "h3": "^1.15.2", "lru-cache": "^10.4.3", "node-fetch-native": "^1.6.6", "ofetch": "^1.4.1", - "ufo": "^1.5.4" + "ufo": "^1.6.1" }, "peerDependencies": { "@azure/app-configuration": "^1.8.0", @@ -11490,7 +11962,7 @@ "@azure/identity": "^4.6.0", "@azure/keyvault-secrets": "^4.9.0", "@azure/storage-blob": "^12.26.0", - "@capacitor/preferences": "^6.0.3", + "@capacitor/preferences": "^6.0.3 || ^7.0.0", "@deno/kv": ">=0.9.0", "@netlify/blobs": "^6.5.0 || ^7.0.0 || ^8.1.0", "@planetscale/database": "^1.19.0", diff --git a/package.json b/package.json index c56f122..9ea8575 100755 --- a/package.json +++ b/package.json @@ -14,6 +14,7 @@ "dependencies": { "@iconify-json/simple-icons": "^1.2.32", "@iconify-json/uil": "^1.2.3", + "@nuxt/fonts": "^0.11.3", "@nuxt/icon": "^1.10.3", "@nuxtjs/device": "^3.2.4", "@vueuse/nuxt": "^13.1.0", diff --git a/public/fonts/opensans.woff2 b/public/fonts/opensans.woff2 deleted file mode 100755 index f143cd4578d29e4b0bc221b7ba879dda75e62cef..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16720 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 diff --git a/public/fonts/roboto_con_bold.woff2 b/public/fonts/roboto_con_bold.woff2 deleted file mode 100755 index a5ab9d81f54fa9fddbbf4948384f60262d693907..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15660 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 SBm4oB5;GNOZng@P2><~0LOg2# diff --git a/public/fonts/roboto_con_reg.woff2 b/public/fonts/roboto_con_reg.woff2 deleted file mode 100755 index e4c259c725ba4e5b6568a0bd74fe8912635c8472..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15700 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 GpM)rlE@mwN