diff --git a/src/views/contents/sheets/SheetList.vue b/src/views/contents/sheets/SheetList.vue
index 841c59dd7..3d5284af3 100644
--- a/src/views/contents/sheets/SheetList.vue
+++ b/src/views/contents/sheets/SheetList.vue
@@ -3,7 +3,7 @@ import { VButton } from "@/components/base/button";
import { VCard } from "@/components/base/card";
import { VSpace } from "@/components/base/space";
import { VTag } from "@/components/base/tag";
-import { VTabItem, VTabs } from "@/components/base/tabs";
+import { VTabbar } from "@/components/base/tabs";
import { VInput } from "@/components/base/input";
import { VPageHeader } from "@/components/base/header";
import {
@@ -77,50 +77,62 @@ const activeId = ref("advanced");
-
-
-
-
- -
-
-
-
-
-
- {{ sheet.name }}
-
- {{ sheet.url }}
-
-
-
-
+
+
+
+
+
+ -
+
+
+
+
+
-
-
-
-
-
+ {{ sheet.name }}
+
+
{{ sheet.url }}
+
+
+
+
+
![]()
+
+
+
-
-
-
-
-
-
+
+
+
+
+
+
diff --git a/src/views/dashboard/Dashboard.vue b/src/views/dashboard/Dashboard.vue
index d4ddf519b..eec4b5bc5 100644
--- a/src/views/dashboard/Dashboard.vue
+++ b/src/views/dashboard/Dashboard.vue
@@ -155,7 +155,10 @@ const widgetsGroup = [
{
id: "other",
label: "其他",
- widgets: [{ x: 0, y: 0, w: 3, h: 3, i: 0, widget: "ViewsStatsWidget" }],
+ widgets: [
+ { x: 0, y: 0, w: 3, h: 3, i: 0, widget: "ViewsStatsWidget" },
+ { x: 0, y: 0, w: 6, h: 10, i: 1, widget: "QuickLinkWidget" },
+ ],
},
];
diff --git a/src/views/dashboard/widgets/QuickLinkWidget.vue b/src/views/dashboard/widgets/QuickLinkWidget.vue
new file mode 100644
index 000000000..7b756e03b
--- /dev/null
+++ b/src/views/dashboard/widgets/QuickLinkWidget.vue
@@ -0,0 +1,80 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ action.title }}
+
+
+
+
+
+
+
+
+
diff --git a/src/views/dashboard/widgets/index.ts b/src/views/dashboard/widgets/index.ts
index ab2c4f690..2293a71a6 100644
--- a/src/views/dashboard/widgets/index.ts
+++ b/src/views/dashboard/widgets/index.ts
@@ -7,6 +7,7 @@ import ViewsStatsWidget from "./ViewsStatsWidget.vue";
import RecentLoginWidget from "./RecentLoginWidget.vue";
import RecentPublishedWidget from "./RecentPublishedWidget.vue";
import JournalPublishWidget from "./JournalPublishWidget.vue";
+import QuickLinkWidget from "./QuickLinkWidget.vue";
const install = (app: App) => {
app.component("PostStatsWidget", PostStatsWidget);
@@ -16,6 +17,7 @@ const install = (app: App) => {
app.component("RecentLoginWidget", RecentLoginWidget);
app.component("RecentPublishedWidget", RecentPublishedWidget);
app.component("JournalPublishWidget", JournalPublishWidget);
+ app.component("QuickLinkWidget", QuickLinkWidget);
};
export default install;
diff --git a/src/views/interface/themes/ThemeDetail.vue b/src/views/interface/themes/ThemeDetail.vue
index ceb42638d..7defed850 100644
--- a/src/views/interface/themes/ThemeDetail.vue
+++ b/src/views/interface/themes/ThemeDetail.vue
@@ -16,7 +16,9 @@ import {
IconPalette,
} from "@/core/icons";
import { ref } from "vue";
+import { RouterLink } from "vue-router";
import { themes } from "@/views/interface/themes/themes-mock";
+import Alert from "@/components/base/alert/Alert.vue";
const currentTheme = ref(themes[0]);
const changeTheme = ref(false);
@@ -171,71 +173,110 @@ const handleChangeTheme = (theme: any) => {
- ID
- -
+
-
{{ currentTheme.id }}
- 作者
- -
+
-
{{ currentTheme.author.name }}
- 当前版本
- -
+
-
{{ currentTheme.version }}
- Halo 版本要求
- -
+
-
{{ currentTheme.require }}
- 存储位置
- -
+
-
{{ currentTheme.themePath }}
- 插件依赖
-
-
- 无
+
-
+
+
+ -
+
+
+ run.halo.plugins.links
+
+
+
+ 已安装
+
+
+
+
+ -
+
+
+ run.halo.plugins.photos
+
+
+
+ 未安装
+
+
+
+
+
@@ -243,31 +284,31 @@ const handleChangeTheme = (theme: any) => {