1
0
Fork 0
mirror of https://github.com/mealie-recipes/mealie.git synced 2025-08-05 13:35:23 +02:00

feat: Migrate to Nuxt 3 framework (#5184)

Co-authored-by: Michael Genson <71845777+michael-genson@users.noreply.github.com>
Co-authored-by: Kuchenpirat <24235032+Kuchenpirat@users.noreply.github.com>
This commit is contained in:
Hoa (Kyle) Trinh 2025-06-20 00:09:12 +07:00 committed by GitHub
parent 89ab7fac25
commit c24d532608
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
403 changed files with 23959 additions and 19557 deletions

11
frontend/types/auth.d.ts vendored Normal file
View file

@ -0,0 +1,11 @@
import type { UserOut } from "~/lib/api/types/user";
declare module "#auth-utils" {
type User = UserOut;
type UserSession = object;
type SecureSessionData = object;
}
export { };

View file

@ -1,3 +1,5 @@
import type { VForm as VuetifyForm } from "vuetify/components/VForm";
type FormFieldType = "text" | "textarea" | "list" | "select" | "object" | "boolean" | "color" | "password";
export interface FormSelectOption {
@ -19,3 +21,5 @@ export interface FormField {
}
export type AutoFormItems = FormField[];
export type VForm = InstanceType<typeof VuetifyForm>;

View file

@ -1,41 +1,41 @@
// This Code is auto generated by gen_ts_types.py
import AdvancedOnly from "@/components/global/AdvancedOnly.vue";
import AppButtonCopy from "@/components/global/AppButtonCopy.vue";
import AppButtonUpload from "@/components/global/AppButtonUpload.vue";
import AppLoader from "@/components/global/AppLoader.vue";
import AppToolbar from "@/components/global/AppToolbar.vue";
import AutoForm from "@/components/global/AutoForm.vue";
import BannerExperimental from "@/components/global/BannerExperimental.vue";
import BannerWarning from "@/components/global/BannerWarning.vue";
import BaseButton from "@/components/global/BaseButton.vue";
import BaseButtonGroup from "@/components/global/BaseButtonGroup.vue";
import BaseCardSectionTitle from "@/components/global/BaseCardSectionTitle.vue";
import BaseDialog from "@/components/global/BaseDialog.vue";
import BaseDivider from "@/components/global/BaseDivider.vue";
import BaseOverflowButton from "@/components/global/BaseOverflowButton.vue";
import BasePageTitle from "@/components/global/BasePageTitle.vue";
import BaseStatCard from "@/components/global/BaseStatCard.vue";
import BaseWizard from "@/components/global/BaseWizard.vue";
import ButtonLink from "@/components/global/ButtonLink.vue";
import ContextMenu from "@/components/global/ContextMenu.vue";
import CrudTable from "@/components/global/CrudTable.vue";
import DevDumpJson from "@/components/global/DevDumpJson.vue";
import DocLink from "@/components/global/DocLink.vue";
import DropZone from "@/components/global/DropZone.vue";
import HelpIcon from "@/components/global/HelpIcon.vue";
import ImageCropper from "@/components/global/ImageCropper.vue";
import InputColor from "@/components/global/InputColor.vue";
import InputLabelType from "@/components/global/InputLabelType.vue";
import InputQuantity from "@/components/global/InputQuantity.vue";
import LanguageDialog from "@/components/global/LanguageDialog.vue";
import MarkdownEditor from "@/components/global/MarkdownEditor.vue";
import RecipeJsonEditor from "@/components/global/RecipeJsonEditor.vue";
import ReportTable from "@/components/global/ReportTable.vue";
import SafeMarkdown from "@/components/global/SafeMarkdown.vue";
import StatsCards from "@/components/global/StatsCards.vue";
import ToggleState from "@/components/global/ToggleState.vue";
import WakelockSwitch from "@/components/global/WakelockSwitch.vue";
import DefaultLayout from "@/components/layout/DefaultLayout.vue";
import type AdvancedOnly from "@/components/global/AdvancedOnly.vue";
import type AppButtonCopy from "@/components/global/AppButtonCopy.vue";
import type AppButtonUpload from "@/components/global/AppButtonUpload.vue";
import type AppLoader from "@/components/global/AppLoader.vue";
import type AppToolbar from "@/components/global/AppToolbar.vue";
import type AutoForm from "@/components/global/AutoForm.vue";
import type BannerExperimental from "@/components/global/BannerExperimental.vue";
import type BannerWarning from "@/components/global/BannerWarning.vue";
import type BaseButton from "@/components/global/BaseButton.vue";
import type BaseButtonGroup from "@/components/global/BaseButtonGroup.vue";
import type BaseCardSectionTitle from "@/components/global/BaseCardSectionTitle.vue";
import type BaseDialog from "@/components/global/BaseDialog.vue";
import type BaseDivider from "@/components/global/BaseDivider.vue";
import type BaseOverflowButton from "@/components/global/BaseOverflowButton.vue";
import type BasePageTitle from "@/components/global/BasePageTitle.vue";
import type BaseStatCard from "@/components/global/BaseStatCard.vue";
import type BaseWizard from "@/components/global/BaseWizard.vue";
import type ButtonLink from "@/components/global/ButtonLink.vue";
import type ContextMenu from "@/components/global/ContextMenu.vue";
import type CrudTable from "@/components/global/CrudTable.vue";
import type DevDumpJson from "@/components/global/DevDumpJson.vue";
import type DocLink from "@/components/global/DocLink.vue";
import type DropZone from "@/components/global/DropZone.vue";
import type HelpIcon from "@/components/global/HelpIcon.vue";
import type ImageCropper from "@/components/global/ImageCropper.vue";
import type InputColor from "@/components/global/InputColor.vue";
import type InputLabelType from "@/components/global/InputLabelType.vue";
import type InputQuantity from "@/components/global/InputQuantity.vue";
import type LanguageDialog from "@/components/global/LanguageDialog.vue";
import type MarkdownEditor from "@/components/global/MarkdownEditor.vue";
import type RecipeJsonEditor from "@/components/global/RecipeJsonEditor.vue";
import type ReportTable from "@/components/global/ReportTable.vue";
import type SafeMarkdown from "@/components/global/SafeMarkdown.vue";
import type StatsCards from "@/components/global/StatsCards.vue";
import type ToggleState from "@/components/global/ToggleState.vue";
import type WakelockSwitch from "@/components/global/WakelockSwitch.vue";
import type DefaultLayout from "@/components/layout/DefaultLayout.vue";
declare module "vue" {
export interface GlobalComponents {

View file

@ -1,4 +1,5 @@
declare module "*.vue" {
import Vue from "vue";
export default Vue;
}

View file

@ -1,11 +0,0 @@
// TODO Remove this file when upgrading to Vuetify 3.0
export type VTooltip = Vue & {
deactivate(): void;
}
export type VForm = Vue & {
validate: () => boolean;
resetValidation: () => boolean;
reset: () => void;
};