!22 更新到master分支

Merge pull request !22 from nongyehong/dev
This commit is contained in:
nongyehong 2024-09-24 06:06:35 +00:00 committed by Gitee
commit 3186dcb09f
No known key found for this signature in database
GPG Key ID: 173E9B9CA92EEF8F
134 changed files with 827 additions and 248 deletions

View File

@ -0,0 +1,59 @@
name: 🐞 Bug 报告
title: '[bug] '
description: 报告 bug
labels: ['bug']
body:
- type: markdown
attributes:
value: |
## First of all
1. 请先搜索 [现有问题]https://gitee.com/nongyehong/HuLa-IM-Tauri/issues?q=is%3Aissue 关于此问题。
2. 确保 rustc 和所有相关的 HuLa-IM-Tauri 包都是最新的。
3. 确保这是 HuLa-IM-Tauri 的问题,而不是你正在使用的其他东西。
4. 请记住遵循我们的社区准则并保持友好。
- type: textarea
id: description
attributes:
label: 描述 bug
description: 对 bug 的明确描述。如果适用,请包括屏幕截图。
placeholder: Bug 描述
validations:
required: true
- type: textarea
id: reproduction
attributes:
label: 步骤
description: 指向 reproduction 存储库的链接或重现行为的步骤。
placeholder: |
请提供最小复制或复制步骤,请参阅本指南 https://stackoverflow.com/help/minimal-reproducible-example
为什么需要复制?请参阅此文章 https://antfu.me/posts/why-reproductions-are-required
- type: textarea
id: expected-behavior
attributes:
label: 预期行为
description: 清楚地描述您期望发生的事情。
- type: textarea
id: info
attributes:
label: 完整的 'tauri info' 输出
description: '“npm run tauri info”或“cargo tauri info”的输出'
render: text
validations:
required: true
- type: textarea
id: logs
attributes:
label: 堆栈跟踪
render: text
- type: textarea
id: context
attributes:
label: 其他上下文
description: 在此处添加有关问题的任何其他上下文。

View File

@ -0,0 +1,35 @@
name: 💡 功能请求
title: '[功能建议] '
description: 提出想法
labels: ['enhancement']
body:
- type: textarea
id: problem
attributes:
label: 描述问题
description: 明确描述此功能将解决的问题
placeholder: "我总是感到困扰..."
validations:
required: true
- type: textarea
id: solution
attributes:
label: "描述您想要的解决方案"
description: 明确说明您希望做出的改变
placeholder: '我想...'
validations:
required: true
- type: textarea
id: alternatives
attributes:
label: 考虑的替代方案
description: "您考虑过的任何替代解决方案"
- type: textarea
id: context
attributes:
label: 其他上下文
description: 在此处添加有关问题的任何其他上下文。

59
.github/ISSUE_TEMPLATE/bug_report.yml vendored Normal file
View File

@ -0,0 +1,59 @@
name: 🐞 Bug Report
title: '[bug] '
description: Report a bug
labels: ['type: bug', 'status: needs triage']
body:
- type: markdown
attributes:
value: |
## First of all
1. Please search for [existing issues](https://github.com/nongyehong/HuLa-IM-Tauri/issues?q=is%3Aissue) about this problem first.
2. Make sure `rustc` and all relevant HuLa-IM-Tauri packages are up to date.
3. Make sure it's an issue with HuLa-IM-Tauri and not something else you are using.
4. Remember to follow our community guidelines and be friendly.
- type: textarea
id: description
attributes:
label: Describe the bug
description: A clear description of what the bug is. Include screenshots if applicable.
placeholder: Bug description
validations:
required: true
- type: textarea
id: reproduction
attributes:
label: Reproduction
description: A link to a reproduction repo or steps to reproduce the behaviour.
placeholder: |
Please provide a minimal reproduction or steps to reproduce, see this guide https://stackoverflow.com/help/minimal-reproducible-example
Why reproduction is required? see this article https://antfu.me/posts/why-reproductions-are-required
- type: textarea
id: expected-behavior
attributes:
label: Expected behavior
description: A clear description of what you expected to happen.
- type: textarea
id: info
attributes:
label: Full `tauri info` output
description: 'Output of `npm run tauri info` or `cargo tauri info`'
render: text
validations:
required: true
- type: textarea
id: logs
attributes:
label: Stack trace
render: text
- type: textarea
id: context
attributes:
label: Additional context
description: Add any other context about the problem here.

View File

@ -0,0 +1,35 @@
name: 💡 Feature Request
title: '[feat] '
description: Suggest an idea
labels: ['type: feature request']
body:
- type: textarea
id: problem
attributes:
label: Describe the problem
description: A clear description of the problem this feature would solve
placeholder: "I'm always frustrated when..."
validations:
required: true
- type: textarea
id: solution
attributes:
label: "Describe the solution you'd like"
description: A clear description of what change you would like
placeholder: 'I would like to...'
validations:
required: true
- type: textarea
id: alternatives
attributes:
label: Alternatives considered
description: "Any alternative solutions you've considered"
- type: textarea
id: context
attributes:
label: Additional context
description: Add any other context about the problem here.

File diff suppressed because one or more lines are too long

Binary file not shown.

Before

Width:  |  Height:  |  Size: 35 KiB

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 55 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 85 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 273 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 90 KiB

View File

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 14 KiB

View File

Before

Width:  |  Height:  |  Size: 38 KiB

After

Width:  |  Height:  |  Size: 38 KiB

View File

Before

Width:  |  Height:  |  Size: 2.3 KiB

After

Width:  |  Height:  |  Size: 2.3 KiB

View File

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 11 KiB

View File

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 16 KiB

View File

Before

Width:  |  Height:  |  Size: 17 KiB

After

Width:  |  Height:  |  Size: 17 KiB

View File

Before

Width:  |  Height:  |  Size: 45 KiB

After

Width:  |  Height:  |  Size: 45 KiB

View File

Before

Width:  |  Height:  |  Size: 2.1 KiB

After

Width:  |  Height:  |  Size: 2.1 KiB

View File

Before

Width:  |  Height:  |  Size: 52 KiB

After

Width:  |  Height:  |  Size: 52 KiB

View File

Before

Width:  |  Height:  |  Size: 3.4 KiB

After

Width:  |  Height:  |  Size: 3.4 KiB

View File

Before

Width:  |  Height:  |  Size: 6.4 KiB

After

Width:  |  Height:  |  Size: 6.4 KiB

View File

Before

Width:  |  Height:  |  Size: 8.5 KiB

After

Width:  |  Height:  |  Size: 8.5 KiB

View File

Before

Width:  |  Height:  |  Size: 4.1 KiB

After

Width:  |  Height:  |  Size: 4.1 KiB

View File

Before

Width:  |  Height:  |  Size: 53 KiB

After

Width:  |  Height:  |  Size: 53 KiB

View File

Before

Width:  |  Height:  |  Size: 109 KiB

After

Width:  |  Height:  |  Size: 109 KiB

View File

@ -2,7 +2,6 @@
#![cfg_attr(not(debug_assertions), windows_subsystem = "windows")]
mod tray;
mod user_cmd;
use tauri::{LogicalSize, Manager};
use user_cmd::{get_user_info, save_user_info, default_window_icon, screenshot, audio};
use tauri_plugin_autostart::MacosLauncher;
@ -21,19 +20,6 @@ fn main() {
.setup(move |app| {
app.handle().plugin(tauri_plugin_global_shortcut::Builder::new().build())?;
tray::create_tray(app.handle())?;
let os = std::env::consts::OS;
match os {
"windows" => {
// 如果是 Windows找到 label 为 "login" 的窗口并设置 decorations 为 false
let window = app.get_webview_window("login").expect("Failed to get window");
window.set_decorations(false).expect("Failed to set decorations");
let new_size = LogicalSize { width: 320.0, height: 448.0 };
window.set_size(new_size).expect("Failed to set size");
}
_ => {}
}
Ok(())
})
.invoke_handler(tauri::generate_handler![get_user_info, save_user_info, default_window_icon, screenshot, audio])

View File

@ -13,59 +13,13 @@
"tray"
],
"active": true,
"targets": "all",
"icon": [
"icons/32x32.png",
"icons/128x128.png",
"icons/128x128@2x.png",
"icons/icon.icns",
"icons/icon.ico"
],
"windows": {
"wix": {
"language": "zh-CN"
}
}
"icon": [],
"windows": {},
"macOS": {}
},
"app": {
"withGlobalTauri": true,
"windows": [
{
"label": "login",
"url": "/login",
"fullscreen": false,
"resizable": false,
"center": true,
"width": 320,
"height": 448,
"skipTaskbar": false,
"transparent": false,
"titleBarStyle": "Overlay",
"hiddenTitle": true
},
{
"label": "tray",
"url": "/tray",
"resizable": false,
"center": false,
"visible": false,
"width": 130,
"height": 44,
"alwaysOnTop": true,
"skipTaskbar": true,
"decorations": false
},
{
"label": "capture",
"url": "/capture",
"fullscreen": false,
"transparent": true,
"resizable": false,
"skipTaskbar": false,
"decorations": false,
"visible": false
}
],
"windows": [],
"security": {
"csp": null
},

View File

@ -0,0 +1,100 @@
{
"productName": "HuLa",
"version": "2.1.0",
"identifier": "com.tauri.build",
"build": {
"beforeDevCommand": "pnpm dev",
"beforeBuildCommand": "pnpm build",
"frontendDist": "../dist",
"devUrl": "http://127.0.0.1:6130"
},
"bundle": {
"resources": [
"tray"
],
"active": true,
"targets": ["dmg"],
"icon": [
"icons/macos/32x32.png",
"icons/macos/128x128.png",
"icons/macos/128x128@2x.png",
"icons/macos/icon.icns",
"icons/macos/icon.ico",
"icons/macos/icon.png",
"icons/macos/Square30x30Logo.png",
"icons/macos/Square44x44Logo.png",
"icons/macos/Square71x71Logo.png",
"icons/macos/Square89x89Logo.png",
"icons/macos/Square107x107Logo.png",
"icons/macos/Square142x142Logo.png",
"icons/macos/Square150x150Logo.png",
"icons/macos/Square284x284Logo.png",
"icons/macos/Square310x310Logo.png",
"icons/macos/StoreLogo.png"
],
"macOS": {
"dmg": {
"appPosition": {
"x": 180,
"y": 170
},
"applicationFolderPosition": {
"x": 480,
"y": 170
},
"windowSize": {
"height": 400,
"width": 660
}
},
"files": {},
"hardenedRuntime": true,
"minimumSystemVersion": "10.13"
}
},
"app": {
"withGlobalTauri": true,
"windows": [
{
"label": "login",
"url": "/login",
"fullscreen": false,
"resizable": false,
"center": true,
"width": 320,
"height": 448,
"skipTaskbar": false,
"transparent": false,
"visible": false,
"titleBarStyle": "Overlay",
"hiddenTitle": true
},
{
"label": "tray",
"url": "/tray",
"resizable": false,
"center": false,
"visible": false,
"width": 130,
"height": 44,
"alwaysOnTop": true,
"skipTaskbar": true,
"decorations": false
},
{
"label": "capture",
"url": "/capture",
"fullscreen": false,
"transparent": true,
"resizable": false,
"skipTaskbar": false,
"decorations": false,
"visible": false
}
],
"security": {
"csp": null
},
"macOSPrivateApi": true
}
}

View File

@ -0,0 +1,85 @@
{
"productName": "HuLa",
"version": "2.1.0",
"identifier": "com.tauri.build",
"build": {
"beforeDevCommand": "pnpm dev",
"beforeBuildCommand": "pnpm build",
"frontendDist": "../dist",
"devUrl": "http://127.0.0.1:6130"
},
"bundle": {
"resources": [
"tray"
],
"active": true,
"targets": ["msi"],
"icon": [
"icons/windows/32x32.png",
"icons/windows/128x128.png",
"icons/windows/128x128@2x.png",
"icons/windows/icon.icns",
"icons/windows/icon.ico",
"icons/windows/icon.png",
"icons/windows/Square30x30Logo.png",
"icons/windows/Square44x44Logo.png",
"icons/windows/Square71x71Logo.png",
"icons/windows/Square89x89Logo.png",
"icons/windows/Square107x107Logo.png",
"icons/windows/Square142x142Logo.png",
"icons/windows/Square150x150Logo.png",
"icons/windows/Square284x284Logo.png",
"icons/windows/Square310x310Logo.png",
"icons/windows/StoreLogo.png"
],
"windows": {
"wix": {
"language": "zh-CN"
}
}
},
"app": {
"withGlobalTauri": true,
"windows": [
{
"label": "login",
"url": "/login",
"fullscreen": false,
"resizable": false,
"center": true,
"width": 320,
"height": 448,
"skipTaskbar": false,
"transparent": false,
"visible": false,
"decorations": false
},
{
"label": "tray",
"url": "/tray",
"resizable": false,
"center": false,
"visible": false,
"width": 130,
"height": 44,
"alwaysOnTop": true,
"skipTaskbar": true,
"decorations": false
},
{
"label": "capture",
"url": "/capture",
"fullscreen": false,
"transparent": true,
"resizable": false,
"skipTaskbar": false,
"decorations": false,
"visible": false
}
],
"security": {
"csp": null
},
"macOSPrivateApi": true
}
}

View File

@ -10,7 +10,6 @@
</template>
<script setup lang="ts">
import { setting } from '@/stores/setting.ts'
import { storeToRefs } from 'pinia'
import { StoresEnum, ThemeEnum } from '@/enums'
import { onlineStatus } from '@/stores/onlineStatus.ts'
import LockScreen from '@/views/LockScreen.vue'
@ -52,7 +51,23 @@ watch(
{ immediate: true }
)
onMounted(() => {
/** 控制变化主题 */
watch(
() => themes.value.versatile,
async (val, oldVal) => {
await import(`@/styles/scss/theme/${val}.scss`)
// divval
const app = document.querySelector('#app')?.classList as DOMTokenList
app.remove(oldVal as string)
await nextTick(() => {
app.add(val)
})
},
{ immediate: true }
)
onMounted(async () => {
await import(`@/styles/scss/theme/${themes.value.versatile}.scss`)
// initWebSocket()
// /**! 使msi */
// sendNotification({ title: 'TAURI', body: 'Tauri is awesome!' })
@ -66,19 +81,19 @@ onMounted(() => {
}
document.documentElement.dataset.theme = themes.value.content
window.addEventListener('dragstart', preventDrag)
// /** */
// if (process.env.NODE_ENV !== 'development') {
// /** */
// window.addEventListener('keydown', (e) => {
// // ctrl+c ctrl+v ctrl+enter
// if (e.ctrlKey && (e.key === 'c' || e.key === 'v' || e.key === 'Enter')) return
// if (e.ctrlKey || e.metaKey || e.altKey) {
// e.preventDefault()
// }
// })
// }
// /** */
// window.addEventListener('contextmenu', (e) => e.preventDefault(), false)
/** 开发环境不禁止 */
if (process.env.NODE_ENV !== 'development') {
/** 禁用浏览器默认的快捷键 */
window.addEventListener('keydown', (e) => {
// ctrl+c ctrl+v ctrl+enter
if (e.ctrlKey && (e.key === 'c' || e.key === 'v' || e.key === 'Enter')) return
if (e.ctrlKey || e.metaKey || e.altKey) {
e.preventDefault()
}
})
/** 禁止右键菜单 */
window.addEventListener('contextmenu', (e) => e.preventDefault(), false)
}
})
onUnmounted(() => {

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.2 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 9.7 KiB

View File

@ -21,7 +21,6 @@
<script setup lang="ts">
import { setting } from '@/stores/setting.ts'
import { storeToRefs } from 'pinia'
import { dateZhCN, darkTheme, lightTheme, GlobalThemeOverrides, zhCN } from 'naive-ui'
import { ThemeEnum } from '@/enums'

View File

@ -113,7 +113,6 @@ import Mitt from '@/utils/Bus.ts'
import { CacheUserItem, MockItem } from '@/services/types.ts'
import { emit, listen } from '@tauri-apps/api/event'
import { setting } from '@/stores/setting.ts'
import { storeToRefs } from 'pinia'
import { sendOptions } from '@/views/homeWindow/more/settings/config.ts'
import { useMsgInput } from '@/hooks/useMsgInput.ts'
import { useCommon } from '@/hooks/useCommon.ts'

View File

@ -1,6 +1,7 @@
<template>
<!-- 底部栏 -->
<main class="size-full relative z-10 bg-[--right-bg-color] border-t-(1px solid [--line-color]) color-[--icon-color]">
<main
class="size-full relative z-10 bg-transparent backdrop-blur-2xl border-t-(1px solid [--line-color]) color-[--icon-color]">
<!-- 输入框顶部选项栏 -->
<n-flex align="center" justify="space-between" class="p-[10px_22px_5px] select-none">
<n-flex align="center" :size="0" class="input-options">

View File

@ -349,7 +349,6 @@ import { VirtualListInst } from 'naive-ui'
import { delay } from 'lodash-es'
import { useCommon } from '@/hooks/useCommon.ts'
import { setting } from '@/stores/setting.ts'
import { storeToRefs } from 'pinia'
import { formatTimestamp } from '@/utils/ComputedTime.ts'
import { useUserInfo, useBadgeInfo } from '@/hooks/useCached.ts'
import { useChatStore } from '@/stores/chat.ts'

View File

@ -16,7 +16,6 @@ import { MockItem } from '@/services/types.ts'
import { listen } from '@tauri-apps/api/event'
import { WebviewWindow } from '@tauri-apps/api/webviewWindow'
import { setting } from '@/stores/setting.ts'
import { storeToRefs } from 'pinia'
const settingStore = setting()
const { page } = storeToRefs(settingStore)

View File

@ -84,7 +84,6 @@ import { useAlwaysOnTopStore } from '@/stores/alwaysOnTop.ts'
import { setting } from '@/stores/setting.ts'
import { emit, listen } from '@tauri-apps/api/event'
import { CloseBxEnum, EventEnum, MittEnum } from '@/enums'
import { storeToRefs } from 'pinia'
import { PersistedStateOptions } from 'pinia-plugin-persistedstate'
import { exit } from '@tauri-apps/plugin-process'
import { type } from '@tauri-apps/plugin-os'

View File

@ -3,7 +3,6 @@ import { Ref } from 'vue'
import { createFileOrVideoDom } from '@/utils/CreateDom.ts'
import { RegExp } from '@/utils/RegExp.ts'
import { setting } from '@/stores/setting.ts'
import { storeToRefs } from 'pinia'
/** 常用工具类 */
export const useCommon = () => {

View File

@ -6,7 +6,6 @@ import { MockItem, SessionItem } from '@/services/types.ts'
import { delay } from 'lodash-es'
import { MockList } from '@/mock'
import { setting } from '@/stores/setting.ts'
import { storeToRefs } from 'pinia'
const { createWebviewWindow, checkWinExist } = useWindow()
/** 建议把此状态存入localStorage中 */

View File

@ -2,7 +2,6 @@ import { LimitEnum, MittEnum, MsgEnum } from '@/enums'
import { Ref } from 'vue'
import { CacheUserItem } from '@/services/types.ts'
import { setting } from '@/stores/setting.ts'
import { storeToRefs } from 'pinia'
import { useDebounceFn } from '@vueuse/core'
import Mitt from '@/utils/Bus.ts'
import { useCommon } from './useCommon.ts'

View File

@ -47,7 +47,8 @@ export const useWindow = () => {
decorations: type() !== 'windows',
transparent: false,
titleBarStyle: 'overlay', // mac覆盖标签栏
hiddenTitle: true // mac隐藏标题栏
hiddenTitle: true, // mac隐藏标题栏
visible: false
})
await webview.once('tauri://created', async () => {

View File

@ -21,9 +21,11 @@ export const useWindowState = (label: string) => {
})
onMounted(async () => {
const isShow = await win?.isVisible()
if (isShow) {
await emit(EventEnum.WIN_SHOW, label)
}
await nextTick(async () => {
const isShow = await win?.isVisible()
if (isShow) {
await emit(EventEnum.WIN_SHOW, label)
}
})
})
}

View File

@ -44,7 +44,7 @@
<!-- 添加面板 -->
<n-popover
v-model:show="addPanels.show"
style="padding: 0; background: transparent"
style="padding: 0; background: transparent; user-select: none"
:show-arrow="false"
trigger="click">
<template #trigger>
@ -83,7 +83,6 @@ import { MittEnum } from '@/enums'
import { WebviewWindow } from '@tauri-apps/api/webviewWindow'
import { useWindowSize } from '@vueuse/core'
import { setting } from '@/stores/setting.ts'
import { storeToRefs } from 'pinia'
const settingStore = setting()
const { page } = storeToRefs(settingStore)

View File

@ -1,13 +1,13 @@
<template>
<div ref="actionList" class="flex-1 mt-20px flex-col-x-center justify-between" data-tauri-drag-region>
<!-- 上部分操作栏 -->
<header ref="header" class="flex-col-x-center gap-10px color-[--icon-color]">
<header ref="header" class="flex-col-x-center gap-10px color-[--left-icon-color]">
<div
v-for="(item, index) in menuTop"
:key="index"
:class="[
{ active: activeUrl === item.url && item.url !== 'dynamic' },
openWindowsList.has(item.url) ? 'p-[6px_8px] color-#13987f' : 'top-action'
openWindowsList.has(item.url) ? 'p-[6px_8px] color-[--left-win-icon-color]' : 'top-action'
]"
@click="pageJumps(item.url, item.title, item.size, item.window)">
<!-- 已经打开窗口时展示 -->
@ -80,11 +80,11 @@
</header>
<!-- 下部分操作栏 -->
<footer class="flex-col-x-center gap-10px color-[--icon-color]">
<footer class="flex-col-x-center gap-10px color-[--left-icon-color] select-none">
<div
v-for="(item, index) in itemsBottom"
:key="index"
:class="openWindowsList.has(item.url) ? 'p-[6px_8px] color-#13987f' : 'bottom-action'"
:class="openWindowsList.has(item.url) ? 'p-[6px_8px] color-[--left-win-icon-color]' : 'bottom-action'"
@click="pageJumps(item.url, item.title, item.size, item.window)">
<!-- 已经打开窗口时展示 -->
<n-popover :show-arrow="false" v-if="openWindowsList.has(item.url)" trigger="hover" placement="right">
@ -125,12 +125,12 @@
<!-- 更多选项面板 -->
<n-popover
v-model:show="settingShow"
style="padding: 0; background: transparent"
style="padding: 0; background: transparent; user-select: none"
:show-arrow="false"
trigger="click">
<template #trigger>
<svg
:class="{ 'color-#13987f': settingShow }"
:class="{ 'color--[--left-active-hover]': settingShow }"
class="more size-22px relative"
@click="settingShow = !settingShow">
<use :href="settingShow ? '#hamburger-button-action' : '#hamburger-button'"></use>

View File

@ -11,7 +11,7 @@
<n-avatar :color="'#fff'" :size="34" :src="login.accountInfo.avatar" fallback-src="/logo.png" round />
<div
class="bg-[--bg-avatar] text-10px rounded-50% size-12px absolute bottom--2px right--2px border-(2px solid [--bg-avatar])"
class="bg-[--left-bg-color] text-10px rounded-50% size-12px absolute bottom--2px right--2px border-(2px solid [--left-bg-color])"
@click.stop="openContent('在线状态', 'onlineStatus', 320, 480)">
<img :src="url" alt="" class="rounded-50% size-full" />
</div>

View File

@ -136,7 +136,6 @@ import { PluginEnum } from '@/enums'
import { setting } from '@/stores/setting.ts'
import { usePluginsStore } from '@/stores/plugins.ts'
import { useMenuTopStore } from '@/stores/menuTop.ts'
import { storeToRefs } from 'pinia'
const settingStore = setting()
const { updatePlugins, plugins } = usePluginsStore()

View File

@ -58,7 +58,7 @@
justify="center"
align="center"
:size="8"
class="box bg-[--left-active-color]">
class="box bg-[--left-active-bg-color]">
<!-- 在下载中进度条 -->
<n-flex
@click="handleState(plugin)"

View File

@ -67,7 +67,6 @@
<script setup lang="ts">
import { type } from '@tauri-apps/plugin-os'
import { usePluginsStore } from '@/stores/plugins.ts'
import { storeToRefs } from 'pinia'
import Card from './Card.vue'
import List from './List.vue'

View File

@ -117,7 +117,7 @@ const pluginsList = ref<STO.Plugins<PluginEnum>[]>([
title: 'ChatBot',
tip: 'ChatBot新应用上线',
state: PluginEnum.NOT_INSTALLED,
version: 'v2.0.0-Bate',
version: 'v2.0.0-Beta',
isAdd: false,
dot: true,
progress: 0,

View File

@ -2,7 +2,6 @@ import { useWindow } from '@/hooks/useWindow.ts'
import { setting } from '@/stores/setting.ts'
import { useUserStore } from '@/stores/user.ts'
import { useCachedStore } from '@/stores/cached.ts'
import { storeToRefs } from 'pinia'
import { onlineStatus } from '@/stores/onlineStatus.ts'
import { EventEnum, IsYetEnum, MittEnum, MsgEnum, ThemeEnum } from '@/enums'
import { BadgeType, UserInfoType } from '@/services/types.ts'

View File

@ -1,18 +1,20 @@
<template>
<main
class="left rounded-l-8px min-w-64px h-full p-[30px_6px_15px] box-border flex-col-center select-none"
data-tauri-drag-region>
<p class="text-(16px [--text-color]) cursor-default select-none m-[4px_0_16px_0]">HuLa</p>
<!-- 头像模块 -->
<LeftAvatar />
<!-- 导航选项按钮模块 -->
<ActionList />
<!-- 编辑资料弹窗 -->
<InfoPopover />
<div style="background: rgba(30, 30, 30, 0.8)">
<main
class="left rounded-l-8px min-w-64px h-full p-[30px_6px_15px] box-border flex-col-center select-none"
data-tauri-drag-region>
<p class="text-(16px [--left-text-color]) cursor-default select-none m-[4px_0_16px_0]">HuLa</p>
<!-- 头像模块 -->
<LeftAvatar />
<!-- 导航选项按钮模块 -->
<ActionList />
<!-- 编辑资料弹窗 -->
<InfoPopover />
<!-- 弹出框 -->
<component :is="componentMap" />
</main>
<!-- 弹出框 -->
<component :is="componentMap" />
</main>
</div>
</template>
<script lang="tsx" setup>
import LeftAvatar from './components/LeftAvatar.vue'

View File

@ -14,7 +14,6 @@ import {
} from 'naive-ui'
import { FormInst } from 'naive-ui'
import { setting } from '@/stores/setting.ts'
import { storeToRefs } from 'pinia'
import { emit } from '@tauri-apps/api/event'
import { EventEnum } from '@/enums'
import pkg from '~/package.json'
@ -321,9 +320,9 @@ export const CheckUpdate = defineComponent(() => {
<NScrollbar class="max-h-460px p-[0_10px] box-border">
{newCommitLog.value.length > 0 ? (
<>
<span class="p-[4px_8px] mb-10px w-fit bg-#f6dfe3ff rounded-6px text-(12px #ce304f)">
<div class="p-[4px_8px] mt-4px w-fit bg-#f6dfe3ff rounded-6px text-(12px #ce304f)">
{newVersion.value}
</span>
</div>
<NTimeline class="p-16px box-border">
{newCommitLog.value.map((log, index) => (
@ -341,7 +340,7 @@ export const CheckUpdate = defineComponent(() => {
<NFlex>
<NFlex vertical size={20}>
<svg class="m-[10px_40px] w-24px h-24px select-none rotate-270 color-#ccc">
<svg class="m-[4px_40px] w-24px h-24px select-none rotate-270 color-#ccc">
<use href={'#RightArrow'}></use>
</svg>

Some files were not shown because too many files have changed in this diff Show More