From 34c1f13d8b7bbff2e24b4b25d7941d7a0ce7d9d3 Mon Sep 17 00:00:00 2001
From: taskylizard <75871323+taskylizard@users.noreply.github.com>
Date: Sun, 5 Nov 2023 14:33:11 +0530
Subject: [PATCH] less ugly appearance switch
---
.vitepress/config.mts | 11 +++++
.vitepress/theme/Layout.vue | 18 +++++++
.vitepress/theme/components/ThemeSwitch.vue | 53 +++++++++++++++++++++
.vitepress/theme/index.ts | 8 ++--
.vitepress/vue-shim.d.ts | 4 +-
5 files changed, 87 insertions(+), 7 deletions(-)
create mode 100644 .vitepress/theme/Layout.vue
create mode 100644 .vitepress/theme/components/ThemeSwitch.vue
diff --git a/.vitepress/config.mts b/.vitepress/config.mts
index eace46a13..079122330 100644
--- a/.vitepress/config.mts
+++ b/.vitepress/config.mts
@@ -5,6 +5,7 @@ import { presetUno, presetAttributify, presetIcons } from "unocss";
import { commitRef, meta } from "./constants";
import { pwa } from "./pwa";
import { generateMeta } from "./hooks/meta";
+import { fileURLToPath } from "url";
export default defineConfig({
title: "FMHY",
@@ -54,6 +55,16 @@ export default defineConfig({
// Shut the fuck up
chunkSizeWarningLimit: Infinity,
},
+ resolve: {
+ alias: [
+ {
+ find: /^.*VPSwitchAppearance\.vue$/,
+ replacement: fileURLToPath(
+ new URL("./theme/components/ThemeSwitch.vue", import.meta.url),
+ ),
+ },
+ ]
+ }
},
themeConfig: {
search: {
diff --git a/.vitepress/theme/Layout.vue b/.vitepress/theme/Layout.vue
new file mode 100644
index 000000000..0520f4052
--- /dev/null
+++ b/.vitepress/theme/Layout.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/.vitepress/theme/components/ThemeSwitch.vue b/.vitepress/theme/components/ThemeSwitch.vue
new file mode 100644
index 000000000..8fe0d3434
--- /dev/null
+++ b/.vitepress/theme/components/ThemeSwitch.vue
@@ -0,0 +1,53 @@
+
+
+
+
+
+
+
diff --git a/.vitepress/theme/index.ts b/.vitepress/theme/index.ts
index 5c7dd8984..c8c5e9b20 100644
--- a/.vitepress/theme/index.ts
+++ b/.vitepress/theme/index.ts
@@ -2,16 +2,14 @@ import { h } from "vue";
import { type Theme, inBrowser } from "vitepress";
import DefaultTheme from "vitepress/theme";
import Sidebar from "./components/SidebarCard.vue";
+import Layout from "./Layout.vue";
import "./style.css";
import "uno.css";
// if (inBrowser) import("./pwa");
export default {
- Layout: () => {
- return h(DefaultTheme.Layout, null, {
- "sidebar-nav-after": () => h(Sidebar),
- });
- },
+ extends: DefaultTheme,
+ Layout: Layout,
enhanceApp({ app, router, siteData }) {},
} satisfies Theme;
diff --git a/.vitepress/vue-shim.d.ts b/.vitepress/vue-shim.d.ts
index 0660bd67a..ccfa68ba0 100644
--- a/.vitepress/vue-shim.d.ts
+++ b/.vitepress/vue-shim.d.ts
@@ -1,4 +1,4 @@
declare module "*.vue" {
- import Vue from "vue";
- export default Vue;
+ const component: import("vue").Component;
+ export default component;
}