From d9858b03c93c57b3cb7b0cec19e8b0b3c0572334 Mon Sep 17 00:00:00 2001 From: syuilo <4439005+syuilo@users.noreply.github.com> Date: Mon, 10 Mar 2025 09:28:07 +0900 Subject: enhance(frontend): improve plugin management --- packages/frontend/src/pages/settings/plugin.vue | 62 ++++++++++++++++++------- 1 file changed, 44 insertions(+), 18 deletions(-) (limited to 'packages/frontend/src/pages/settings/plugin.vue') diff --git a/packages/frontend/src/pages/settings/plugin.vue b/packages/frontend/src/pages/settings/plugin.vue index efe1fdc20d..32c35e3670 100644 --- a/packages/frontend/src/pages/settings/plugin.vue +++ b/packages/frontend/src/pages/settings/plugin.vue @@ -14,7 +14,7 @@ SPDX-License-Identifier: AGPL-3.0-only - + @@ -59,23 +59,27 @@ SPDX-License-Identifier: AGPL-3.0-only - - - {{ i18n.ts._plugin.viewLog }} - - - - - - - - - {{ i18n.ts._plugin.viewSource }} - - - - - + + + + {{ i18n.ts.logs }} + + + + {{ timeToHhMmSs(log.at) }} {{ log.message }} + + + + + + + {{ i18n.ts._plugin.viewSource }} + + + + + + @@ -98,11 +102,20 @@ import { i18n } from '@/i18n.js'; import { definePageMetadata } from '@/utility/page-metadata.js'; import { changePluginActive, configPlugin, pluginLogs, uninstallPlugin, reloadPlugin } from '@/plugin.js'; import { prefer } from '@/preferences.js'; +import * as os from '@/os.js'; const plugins = prefer.r.plugins; async function uninstall(plugin: Plugin) { + const { canceled } = await os.confirm({ + type: 'warning', + text: i18n.tsx.removeAreYouSure({ x: plugin.name }), + }); + if (canceled) return; + await uninstallPlugin(plugin); + + os.success(); } function reload(plugin: Plugin) { @@ -117,6 +130,10 @@ function changeActive(plugin: Plugin, active: boolean) { changePluginActive(plugin, active); } +function timeToHhMmSs(unixtime: number) { + return new Date(unixtime).toTimeString().split(' ')[0]; +} + const headerActions = computed(() => []); const headerTabs = computed(() => []); @@ -126,3 +143,12 @@ definePageMetadata(() => ({ icon: 'ti ti-plug', })); + + -- cgit v1.2.3-freya