diff --git a/registry.json b/registry.json index 4b48d02b..c906815d 100644 --- a/registry.json +++ b/registry.json @@ -16,5 +16,14 @@ "author": "msgbyte", "description": "初音未来主题", "requireRestart": true + }, + { + "label": "原神主题", + "name": "com.msgbyte.theme.genshin", + "url": "/plugins/com.msgbyte.theme.genshin/index.js", + "version": "0.0.0", + "author": "msgbyte", + "description": "原神主题", + "requireRestart": true } ] diff --git a/web/plugins/com.msgbyte.theme.genshin/manifest.json b/web/plugins/com.msgbyte.theme.genshin/manifest.json new file mode 100644 index 00000000..59b6961b --- /dev/null +++ b/web/plugins/com.msgbyte.theme.genshin/manifest.json @@ -0,0 +1,9 @@ +{ + "label": "原神主题", + "name": "com.msgbyte.theme.genshin", + "url": "/plugins/com.msgbyte.theme.genshin/index.js", + "version": "0.0.0", + "author": "msgbyte", + "description": "原神主题", + "requireRestart": true +} diff --git a/web/plugins/com.msgbyte.theme.genshin/package.json b/web/plugins/com.msgbyte.theme.genshin/package.json new file mode 100644 index 00000000..03ce02ac --- /dev/null +++ b/web/plugins/com.msgbyte.theme.genshin/package.json @@ -0,0 +1,7 @@ +{ + "name": "@plugins/com.msgbyte.theme.genshin", + "main": "src/index.ts", + "version": "0.0.0", + "private": true, + "dependencies": {} +} diff --git a/web/plugins/com.msgbyte.theme.genshin/src/hutao/avatar.png b/web/plugins/com.msgbyte.theme.genshin/src/hutao/avatar.png new file mode 100644 index 00000000..fd9f5887 Binary files /dev/null and b/web/plugins/com.msgbyte.theme.genshin/src/hutao/avatar.png differ diff --git a/web/plugins/com.msgbyte.theme.genshin/src/hutao/bg.jpg b/web/plugins/com.msgbyte.theme.genshin/src/hutao/bg.jpg new file mode 100644 index 00000000..b9601387 Binary files /dev/null and b/web/plugins/com.msgbyte.theme.genshin/src/hutao/bg.jpg differ diff --git a/web/plugins/com.msgbyte.theme.genshin/src/hutao/theme.less b/web/plugins/com.msgbyte.theme.genshin/src/hutao/theme.less new file mode 100644 index 00000000..1d9b65bb --- /dev/null +++ b/web/plugins/com.msgbyte.theme.genshin/src/hutao/theme.less @@ -0,0 +1,57 @@ +#tailchat-app.theme-genshin-hutao { + @primary-color: #dd5545; + + --tc-primary-color: @primary-color; + --tc-background-image: url(./bg.jpg); + + .bg-navbar-light { + background-color: @primary-color; + + .bg-gray-400 { + background-color: darken(@primary-color, 10%); + } + } + + .bg-sidebar-light { + background-color: lighten(@primary-color, 20%); + } + + .bg-content-light { + background-color: lighten(@primary-color, 40%); + } + + [data-tc-role^=content-] { + position: relative; + + &::before { + content: ''; + position: absolute; + display: block; + left: 0; + top: 0; + bottom: 0; + right: 0; + background-image: url(./avatar.png); + background-size: contain; + background-repeat: no-repeat; + background-position: right bottom; + opacity: 0.15; + } + } + + &.dark { + --tc-primary-color: darken(@primary-color, 10%); + + .dark\:bg-navbar-dark { + background-color: darken(@primary-color, 40%); + } + + .dark\:bg-sidebar-dark { + background-color: darken(@primary-color, 20%); + } + + .dark\:bg-content-dark { + background-color: @primary-color; + } + } +} diff --git a/web/plugins/com.msgbyte.theme.genshin/src/index.ts b/web/plugins/com.msgbyte.theme.genshin/src/index.ts new file mode 100644 index 00000000..52c2441d --- /dev/null +++ b/web/plugins/com.msgbyte.theme.genshin/src/index.ts @@ -0,0 +1,11 @@ +import { regPluginColorScheme } from '@capital/common'; + +regPluginColorScheme({ + label: '原神-胡桃', + name: 'light+genshin-hutao', +}); + +/** + * 异步加载以防止入口文件过大阻塞主应用加载(因为有图片) + */ +import('./hutao/theme.less'); diff --git a/web/plugins/com.msgbyte.theme.genshin/tsconfig.json b/web/plugins/com.msgbyte.theme.genshin/tsconfig.json new file mode 100644 index 00000000..465a28b5 --- /dev/null +++ b/web/plugins/com.msgbyte.theme.genshin/tsconfig.json @@ -0,0 +1,10 @@ +{ + "compilerOptions": { + "baseUrl": "./src", + "esModuleInterop": true, + "jsx": "react", + "paths": { + "@capital/*": ["../../../src/plugin/*"], + } + } +} diff --git a/web/plugins/com.msgbyte.theme.genshin/types/index.d.ts b/web/plugins/com.msgbyte.theme.genshin/types/index.d.ts new file mode 100644 index 00000000..1ea39606 --- /dev/null +++ b/web/plugins/com.msgbyte.theme.genshin/types/index.d.ts @@ -0,0 +1 @@ +declare module '*.less'; diff --git a/web/plugins/com.msgbyte.theme.genshin/yarn.lock b/web/plugins/com.msgbyte.theme.genshin/yarn.lock new file mode 100644 index 00000000..fb57ccd1 --- /dev/null +++ b/web/plugins/com.msgbyte.theme.genshin/yarn.lock @@ -0,0 +1,4 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + +