mirror of
https://github.com/mealie-recipes/mealie.git
synced 2025-12-06 18:35:18 -05:00
122 lines
3.5 KiB
Vue
122 lines
3.5 KiB
Vue
<template>
|
|
<v-container max-width="880" class="end-page-content">
|
|
<div class="d-flex flex-column ga-6">
|
|
<div>
|
|
<v-card-title class="text-h4 justify-center">
|
|
{{ $t('admin.setup.setup-complete') }}
|
|
</v-card-title>
|
|
<v-card-subtitle class="justify-center">
|
|
{{ $t('admin.setup.here-are-a-few-things-to-help-you-get-started') }}
|
|
</v-card-subtitle>
|
|
</div>
|
|
<div
|
|
v-for="section, idx in sections"
|
|
:key="idx"
|
|
class="d-flex flex-column ga-3"
|
|
>
|
|
<v-card-title class="text-h6 pl-0">
|
|
{{ section.title }}
|
|
</v-card-title>
|
|
<div class="sections d-flex flex-column ga-2">
|
|
<v-card
|
|
v-for="link, linkIdx in section.links"
|
|
:key="linkIdx"
|
|
clas="link-card"
|
|
:href="link.to"
|
|
:title="link.text"
|
|
:subtitle="link.description"
|
|
:append-icon="$globals.icons.chevronRight"
|
|
>
|
|
<template #prepend>
|
|
<v-avatar :icon="link.icon || undefined" variant="tonal" :color="section.color" />
|
|
</template>
|
|
</v-card>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</v-container>
|
|
</template>
|
|
|
|
<script lang="ts">
|
|
export default defineNuxtComponent({
|
|
setup() {
|
|
const i18n = useI18n();
|
|
const $auth = useMealieAuth();
|
|
const groupSlug = computed(() => $auth.user.value?.groupSlug);
|
|
const { $globals } = useNuxtApp();
|
|
|
|
const sections = ref([
|
|
{
|
|
title: i18n.t("profile.data-migrations"),
|
|
color: "info",
|
|
links: [
|
|
{
|
|
icon: $globals.icons.backupRestore,
|
|
to: "/admin/backups",
|
|
text: i18n.t("settings.backup.backup-restore"),
|
|
description: i18n.t("admin.setup.restore-from-v1-backup"),
|
|
},
|
|
{
|
|
icon: $globals.icons.import,
|
|
to: "/group/migrations",
|
|
text: i18n.t("migration.recipe-migration"),
|
|
description: i18n.t("migration.coming-from-another-application-or-an-even-older-version-of-mealie"),
|
|
},
|
|
],
|
|
},
|
|
{
|
|
title: i18n.t("recipe.create-recipes"),
|
|
color: "success",
|
|
links: [
|
|
{
|
|
icon: $globals.icons.createAlt,
|
|
to: computed(() => `/g/${groupSlug.value || ""}/r/create/new`),
|
|
text: i18n.t("recipe.create-recipe"),
|
|
description: i18n.t("recipe.create-recipe-description"),
|
|
},
|
|
{
|
|
icon: $globals.icons.link,
|
|
to: computed(() => `/g/${groupSlug.value || ""}/r/create/url`),
|
|
text: i18n.t("recipe.import-with-url"),
|
|
description: i18n.t("recipe.scrape-recipe-description"),
|
|
},
|
|
],
|
|
},
|
|
{
|
|
title: i18n.t("user.manage-users"),
|
|
color: "primary",
|
|
links: [
|
|
{
|
|
icon: $globals.icons.group,
|
|
to: "/admin/manage/users",
|
|
text: i18n.t("user.manage-users"),
|
|
description: i18n.t("user.manage-users-description"),
|
|
},
|
|
{
|
|
icon: $globals.icons.user,
|
|
to: "/user/profile",
|
|
text: i18n.t("profile.manage-user-profile"),
|
|
description: i18n.t("admin.setup.manage-profile-or-get-invite-link"),
|
|
},
|
|
],
|
|
},
|
|
]);
|
|
return { sections };
|
|
},
|
|
});
|
|
</script>
|
|
|
|
<style>
|
|
.v-container {
|
|
.v-card-title,
|
|
.v-card-subtitle {
|
|
padding: 0;
|
|
white-space: unset;
|
|
}
|
|
|
|
.v-card-item {
|
|
gap: 0.5rem;
|
|
}
|
|
}
|
|
</style>
|