fix(meilisearch): unify task time formatting with locale display
This commit is contained in:
2 files changed
+5
-31
No files matched your search
@@ -1,17 +1,6 @@
|
||||
<script setup lang="ts">
|
||||
import { computed, onMounted, ref } from "vue";
|
||||
import { useI18n } from "vue-i18n";
|
||||
import dayjs from "dayjs";
|
||||
import relativeTime from "dayjs/plugin/relativeTime";
|
||||
import "dayjs/locale/zh-cn";
|
||||
import "dayjs/locale/zh-tw";
|
||||
import "dayjs/locale/az";
|
||||
import "dayjs/locale/es";
|
||||
import "dayjs/locale/it";
|
||||
import "dayjs/locale/ja";
|
||||
import "dayjs/locale/ko";
|
||||
import "dayjs/locale/pt-br";
|
||||
import "dayjs/locale/tr";
|
||||
import { Copy, FileText, ListChecks, Settings } from "@lucide/vue";
|
||||
import * as api from "@/lib/backend/api";
|
||||
import type { MeilisearchIndexOverview } from "@/lib/backend/tauri";
|
||||
@@ -21,20 +10,7 @@ import { useTabUiState } from "@/lib/tabs/tabUiState";
|
||||
import MeilisearchDocumentsPage from "./MeilisearchDocumentsPage.vue";
|
||||
import MeilisearchSettingsPage from "./MeilisearchSettingsPage.vue";
|
||||
import MeilisearchTasksPage from "./MeilisearchTasksPage.vue";
|
||||
|
||||
dayjs.extend(relativeTime);
|
||||
|
||||
const DAYJS_LOCALES: Record<string, string> = {
|
||||
az: "az",
|
||||
"zh-CN": "zh-cn",
|
||||
"zh-TW": "zh-tw",
|
||||
"pt-BR": "pt-br",
|
||||
es: "es",
|
||||
it: "it",
|
||||
ja: "ja",
|
||||
ko: "ko",
|
||||
tr: "tr",
|
||||
};
|
||||
import { formatMeilisearchTaskDateTime } from "@/types/meilisearchManagement";
|
||||
|
||||
const props = defineProps<{
|
||||
connectionId: string;
|
||||
@@ -62,9 +38,7 @@ const navSections = computed<Array<{ value: ActiveSection; label: string; icon:
|
||||
const updatedAtLabel = computed(() => {
|
||||
const value = overview.value?.updatedAt;
|
||||
if (!value) return "-";
|
||||
return dayjs(value)
|
||||
.locale(DAYJS_LOCALES[locale.value] ?? "en")
|
||||
.fromNow();
|
||||
return formatMeilisearchTaskDateTime(value, locale.value);
|
||||
});
|
||||
|
||||
async function refreshStats() {
|
||||
|
||||
@@ -9,13 +9,13 @@ import ErrorBanner from "@/components/ui/ErrorBanner.vue";
|
||||
import QueryLoadingState from "@/components/common/QueryLoadingState.vue";
|
||||
import * as api from "@/lib/backend/api";
|
||||
import { formatBytes } from "@/lib/database/serverMetrics";
|
||||
import type { MeilisearchSystemOverview, OverviewSection } from "@/types/meilisearchManagement";
|
||||
import { formatMeilisearchTaskDateTime, type MeilisearchSystemOverview, type OverviewSection } from "@/types/meilisearchManagement";
|
||||
import { useConnectionStore } from "@/stores/connectionStore";
|
||||
import { connectionIsEffectivelyReadOnly } from "@/lib/database/readOnlyWriteAccess";
|
||||
import { useToast } from "@/composables/useToast";
|
||||
|
||||
const props = defineProps<{ connectionId: string }>();
|
||||
const { t } = useI18n();
|
||||
const { locale, t } = useI18n();
|
||||
const { toast } = useToast();
|
||||
const connectionStore = useConnectionStore();
|
||||
const loading = ref(false);
|
||||
@@ -131,7 +131,7 @@ onMounted(() => void load());
|
||||
</div>
|
||||
<div class="col-span-2">
|
||||
<div class="text-muted-foreground">{{ t("meilisearch.lastUpdate") }}</div>
|
||||
<div class="mt-1 text-sm font-medium">{{ stats.lastUpdate || "-" }}</div>
|
||||
<div class="mt-1 text-sm font-medium" :title="stats.lastUpdate || undefined">{{ formatMeilisearchTaskDateTime(stats.lastUpdate, locale) }}</div>
|
||||
</div>
|
||||
</div>
|
||||
<p v-else class="text-xs text-muted-foreground">{{ sectionLabel(overview.stats) }}</p>
|
||||
|
||||
Reference in new issue
Block a user