perf: faster app without defineAsync

This commit is contained in:
2026-08-02 08:59:13 +02:00
parent fe5c0f94b2
commit f680b04533
7 changed files with 17 additions and 34 deletions
+1 -4
View File
@@ -1,9 +1,6 @@
<script setup lang="ts">
import { useAlertStore } from "@/stores/alerts";
import { defineAsyncComponent } from "vue";
const AlertItem = defineAsyncComponent(
() => import("@/components/AlertItem.vue"),
);
import AlertItem from "@/components/AlertItem.vue";
const { alerts } = useAlertStore();
</script>
+2 -4
View File
@@ -1,10 +1,8 @@
<script setup lang="ts">
import { ref, onBeforeMount, watch, defineAsyncComponent } from "vue";
import { ref, onBeforeMount, watch } from "vue";
import { getCron, parseCron, validCron } from "@/lib/recurrence";
import { CronType } from "@/enums";
const DateInput = defineAsyncComponent(
() => import("@/components/DateInput.vue"),
);
import DateInput from "@/components/DateInput.vue";
const DEFAULT_CRON = "0 0 * * *";
+7 -11
View File
@@ -1,20 +1,16 @@
<script setup lang="ts">
import { getMetadata } from "@/api/meta";
import type { Metadata } from "@/types";
import { defineAsyncComponent, onBeforeMount, ref } from "vue";
import { onBeforeMount, ref } from "vue";
import LangInput from "@/components/LangInput.vue";
const metadata = ref<Metadata|null>(null);
const LangInput = defineAsyncComponent(
() => import("@/components/LangInput.vue"),
);
const metadata = ref<Metadata | null>(null);
function fetchMetadata() {
void getMetadata()
.then((data) => {
metadata.value = data;
setTimeout(fetchMetadata, 600000);
});
void getMetadata().then((data) => {
metadata.value = data;
setTimeout(fetchMetadata, 600000);
});
}
onBeforeMount(fetchMetadata);
+1 -4
View File
@@ -4,15 +4,12 @@ import {
ref,
watch,
computed,
defineAsyncComponent,
nextTick,
} from "vue";
import type { Task } from "@/types";
import { CopyIcon, TrashIcon, SaveIcon, XIcon } from "@lucide/vue";
import { updateTask } from "@/api/tasks";
const CronInput = defineAsyncComponent(
() => import("@/components/CronInput.vue"),
);
import CronInput from "@/components/CronInput.vue";
import {
isTemporary,
taskCompleted,
+2 -4
View File
@@ -2,11 +2,9 @@
import { useListStore } from "@/stores/lists";
import { ArrowBigRightDashIcon, DicesIcon, HistoryIcon } from "@lucide/vue";
import { generateSlug } from "random-word-slugs";
import { defineAsyncComponent, onBeforeMount, ref } from "vue";
import { onBeforeMount, ref } from "vue";
import { onBeforeRouteUpdate } from "vue-router";
const RecentItem = defineAsyncComponent(
() => import("@/components/RecentItem.vue"),
);
import RecentItem from "@/components/RecentItem.vue";
const listNameInput = ref<string>(generateSlug(4));
+3 -7
View File
@@ -1,5 +1,5 @@
<script setup lang="ts">
import { ref, onBeforeMount, computed, defineAsyncComponent } from "vue";
import { ref, onBeforeMount, computed } from "vue";
import type { Task } from "@/types";
import { getTasks, createTask, deleteTask } from "@/api/tasks";
import {
@@ -9,12 +9,8 @@ import {
SearchIcon,
Share2Icon,
} from "@lucide/vue";
const TaskItem = defineAsyncComponent(
() => import("@/components/TaskItem.vue"),
);
const ListOptions = defineAsyncComponent(
() => import("@/components/ListOptions.vue"),
);
import TaskItem from "@/components/TaskItem.vue";
import ListOptions from "@/components/ListOptions.vue";
import { taskCompleted, sortTasks, newTemporaryTask } from "@/lib/tasks";
import { SortType } from "@/enums";
import { booleanCookieRef, enumCookieRef } from "@/lib/cookies";