1
0
Fork 0
mirror of https://github.com/mealie-recipes/mealie.git synced 2025-08-02 20:15:24 +02:00

fix: Nuxt3 upgrades UI fixes & improvements (#5589)

This commit is contained in:
Arsène Reymond 2025-06-28 15:59:58 +02:00 committed by GitHub
parent 2fb5dac966
commit 084f99b0de
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
42 changed files with 137 additions and 133 deletions

View file

@ -26,7 +26,7 @@
<section>
<BaseCardSectionTitle class="pb-0" :icon="$globals.icons.wrench" :title="$t('admin.maintenance.summary-title')" />
<div class="mb-6 ml-2 d-flex" style="gap: 0.3rem">
<div class="mb-6 d-flex" style="gap: 0.3rem">
<BaseButton color="info" @click="getSummary">
<template #icon>
{{ $globals.icons.tools }}
@ -40,7 +40,7 @@
{{ $t("admin.maintenance.button-label-open-details") }}
</BaseButton>
</div>
<v-card class="ma-2" :loading="state.fetchingInfo">
<v-card class="" :loading="state.fetchingInfo">
<template v-for="(value, idx) in info" :key="`item-${idx}`">
<v-list-item>
<v-list-item-title class="py-2">
@ -67,21 +67,23 @@
</template>
</i18n-t>
</BaseCardSectionTitle>
<v-card class="ma-2" :loading="state.actionLoading">
<v-card class="ma-0" flat :loading="state.actionLoading">
<template v-for="(action, idx) in actions" :key="`item-${idx}`">
<v-list-item class="py-1">
<v-list-item class="py-2 px-0">
<v-list-item-title>
<div>{{ action.name }}</div>
<v-list-item-subtitle class="wrap-word">
{{ action.subtitle }}
</v-list-item-subtitle>
</v-list-item-title>
<BaseButton color="info" @click="action.handler">
<template #append>
<BaseButton color="info" @click="action.handler">
<template #icon>
{{ $globals.icons.robot }}
</template>
{{ $t("general.run") }}
</BaseButton>
</template>
</v-list-item>
<v-divider class="mx-2" />
</template>

View file

@ -33,7 +33,6 @@
:items="groups"
variant="solo-filled"
flat
class="rounded-lg"
item-title="name"
item-value="id"
:return-object="false"

View file

@ -12,8 +12,6 @@
v-if="groups"
v-model="createHouseholdForm.data.groupId"
:items="groups"
rounded
class="rounded-lg"
item-title="name"
item-value="id"
:return-object="false"

View file

@ -24,8 +24,6 @@
v-if="groups"
v-model="selectedGroupId"
:items="groups"
rounded
class="rounded-lg"
item-title="name"
item-value="id"
:return-object="false"
@ -37,8 +35,6 @@
v-model="newUserData.household"
:disabled="!selectedGroupId"
:items="households"
rounded
class="rounded-lg"
item-title="name"
item-value="name"
:return-object="false"

View file

@ -17,10 +17,10 @@
<v-form @submit.prevent="requestLink()">
<v-text-field
v-model="email"
variant="filled"
rounded
:prepend-inner-icon="$globals.icons.email"
variant="solo-filled"
flat
autofocus
class="rounded-lg"
name="login"
:label="$t('user.email')"
type="text"

View file

@ -7,7 +7,7 @@
<v-card-text>
{{ $t('recipe.recipe-bulk-importer-description') }}
</v-card-text>
</div>
<div class="px-4">
<section class="mt-2">
<v-row
v-for="(_, idx) in bulkUrls"
@ -54,6 +54,7 @@
cols="12"
xs="12"
sm="6"
class="py-0"
>
<RecipeOrganizerSelector
v-model="bulkUrls[idx].categories"
@ -73,6 +74,7 @@
cols="12"
xs="12"
sm="6"
class="pt-0 pb-4"
>
<RecipeOrganizerSelector
v-model="bulkUrls[idx].tags"
@ -90,8 +92,9 @@
</v-col>
</template>
</v-row>
<v-card-actions class="justify-end flex-wrap mb-1">
<v-card-actions class="justify-end flex-wrap mt-3 pa-0">
<BaseButton
class="mt-1 pr-4"
delete
@click="
bulkUrls = [];
@ -117,23 +120,26 @@
@bulk-data="assignUrls"
/>
</v-card-actions>
<div class="px-1">
<div class="px-0">
<v-checkbox
v-model="showCatTags"
hide-details
:label="$t('recipe.set-categories-and-tags')"
/>
</div>
<v-card-actions class="justify-end">
<v-card-actions class="justify-center">
<div style="width: 250px">
<BaseButton
:disabled="bulkUrls.length === 0 || lockBulkImport"
rounded
block
@click="bulkCreate"
>
<template #icon>
{{ $globals.icons.check }}
</template>
{{ $t('general.submit') }}
</BaseButton>
</div>
</v-card-actions>
</section>
<section class="mt-12">
@ -144,6 +150,8 @@
/>
</section>
</div>
</div>
</div>
</template>
<script lang="ts">

View file

@ -61,7 +61,6 @@
<div style="width: 250px">
<BaseButton
:disabled="!newRecipeData"
large
rounded
block
type="submit"

View file

@ -25,7 +25,6 @@
<div style="width: 250px">
<BaseButton
:disabled="newRecipeZip === null"
large
rounded
block
:loading="loading"

View file

@ -2,7 +2,7 @@
<div>
<BasePageTitle
v-if="groupName"
class="bg-grey-darken-4 mt-n4 pt-8"
class="mt-n4 pt-8"
>
<template #header>
<v-img

View file

@ -15,11 +15,12 @@
</template>
{{ $t('migration.recipe-data-migrations-explanation') }}
</BasePageTitle>
<v-container>
<v-container :class="$vuetify.display.smAndDown ? 'px-0': ''">
<BaseCardSectionTitle :title="$t('migration.new-migration')" />
<v-card
variant="outlined"
:loading="loading"
style="border-color: lightgrey;"
>
<v-card-title> {{ $t('migration.choose-migration-type') }} </v-card-title>
<v-card-text
@ -83,7 +84,7 @@
</v-card-actions>
</v-card>
</v-container>
<v-container>
<v-container class="$vuetify.display.smAndDown ? 'px-0': ''">
<BaseCardSectionTitle :title="$t('migration.previous-migrations')" />
<ReportTable
:items="reports"

View file

@ -15,6 +15,7 @@
<BaseDialog
v-model="createDialog"
:title="$t('events.new-notification')"
:icon="$globals.icons.bellPlus"
can-submit
@submit="createNewNotifier"
>
@ -95,7 +96,7 @@
>
<v-expansion-panel-title
disable-icon-rotate
class="headline"
class="text-h6"
>
<div class="d-flex align-center">
{{ notifier.name }}
@ -103,6 +104,7 @@
<template #actions>
<v-btn
icon
flat
class="ml-2"
>
<v-icon>

View file

@ -47,7 +47,7 @@
<!-- Form Container -->
<div class="d-flex justify-center grow items-center my-4">
<template v-if="state.ctx.state === States.Initial">
<div width="600px">
<v-container>
<v-card-title class="text-h5 my-4 mb-5 pb-0 text-center">
{{ $t("user-registration.user-registration") }}
</v-card-title>
@ -60,7 +60,7 @@
color="primary"
dark
hover
width="300px"
width="320px"
@click="initial.joinGroup"
>
<v-card-title class="d-flex align-center justify-center py-3">
@ -77,7 +77,7 @@
color="primary"
dark
hover
width="300px"
width="320px"
@click="initial.createGroup"
>
<v-card-title class="d-flex align-center justify-center py-3">
@ -92,7 +92,7 @@
</v-card-title>
</v-card>
</div>
</div>
</v-container>
</template>
<template v-else-if="state.ctx.state === States.ProvideToken">
@ -333,9 +333,7 @@ import type { VForm } from "~/types/auto-forms";
const inputAttrs = {
variant: "filled",
rounded: true,
validateOnBlur: true,
class: "rounded-lg",
};
export default defineNuxtComponent({

View file

@ -17,21 +17,19 @@
<v-form @submit.prevent="requestLink()">
<v-text-field
v-model="email"
:prepend-icon="$globals.icons.email"
variant="filled"
rounded
:prepend-inner-icon="$globals.icons.email"
variant="solo-filled"
flat
autofocus
class="rounded-lg"
name="login"
:label="$t('user.email')"
type="text"
/>
<v-text-field
v-model="password"
variant="filled"
rounded
class="rounded-lg"
:prepend-icon="$globals.icons.lock"
variant="solo-filled"
flat
:prepend-inner-icon="$globals.icons.lock"
name="password"
:label="$t('user.password')"
type="password"
@ -39,11 +37,10 @@
/>
<v-text-field
v-model="passwordConfirm"
variant="filled"
rounded
variant="solo-filled"
flat
validate-on="blur"
class="rounded-lg"
:prepend-icon="$globals.icons.lock"
:prepend-inner-icon="$globals.icons.lock"
name="password"
:label="$t('user.confirm-password')"
type="password"

View file

@ -17,9 +17,10 @@
<section class="d-flex justify-center">
<v-card
class="mt-4"
width="500px"
width="100%"
flat
>
<v-card-text>
<v-card-text class="px-0">
<v-form
ref="domNewTokenForm"
@submit.prevent
@ -38,16 +39,16 @@
readonly
rows="3"
/>
<v-list-subheader class="text-center">
<p>
{{
$t(
"settings.token.copy-this-token-for-use-with-an-external-application-this-token-will-not-be-viewable-again",
)
}}
</v-list-subheader>
</p>
</template>
</v-card-text>
<v-card-actions>
<v-card-actions class="px-0">
<BaseButton
v-if="createdToken"
cancel
@ -78,14 +79,11 @@
:title="$t('settings.token.active-tokens')"
/>
<section class="d-flex flex-column">
<v-list>
<div
v-for="(token, index) in user.tokens"
:key="index"
>
<v-card
variant="outlined"
class="mb-2"
>
<v-list-item>
<v-list-item-title>
{{ token.name }}
@ -93,16 +91,17 @@
<v-list-item-subtitle>
{{ $t('general.created-on-date', [$d(new Date(token.createdAt!))]) }}
</v-list-item-subtitle>
<v-list-item-action>
<template #append>
<BaseButton
delete
small
@click="deleteToken(token.id)"
/>
</v-list-item-action>
</template>
</v-list-item>
</v-card>
</div>
<v-divider class="mx-2 my-2" />
</div>
</v-list>
</section>
</v-container>
</template>

View file

@ -1,5 +1,5 @@
<template>
<v-container v-if="user">
<v-container v-if="user" class="mb-8">
<section class="d-flex flex-column align-center mt-4">
<UserAvatar
:tooltip="false"
@ -7,7 +7,7 @@
:user-id="user.id"
/>
<h2 class="text-h4">
<h2 class="text-h4 text-center">
{{ $t('profile.welcome-user', [user.fullName]) }}
</h2>
<p class="subtitle-1 mb-0 text-center">