Compare commits

...

80 Commits

Author SHA1 Message Date
BTMuli
728a38edaf 🚀 v0.7.8 2025-07-07 12:47:15 +08:00
BTMuli
da5f372010 ✏️ 修正类型 2025-07-05 12:35:31 +08:00
BTMuli
8dcc929301 🍱 更新下半资源 2025-07-05 12:19:24 +08:00
BTMuli
ceeec4b4a4 💄 战绩添加幽境危战数据 2025-07-05 12:12:42 +08:00
BTMuli
f8f08cf048 💄 修复渲染异常 2025-07-02 11:49:48 +08:00
BTMuli
4e79d56664 💄 微调样式,增加文本清晰度 2025-07-02 11:28:03 +08:00
BTMuli
544b7a32b1 🚸 柔和过渡 2025-07-02 11:22:12 +08:00
BTMuli
70461d7797 🐛 修正路径 2025-07-02 11:20:07 +08:00
BTMuli
c199f2319e 👽️ 确认map 2025-07-01 22:20:57 +08:00
BTMuli
e44c255c72 👽️ 移除胡桃数据库 2025-07-01 22:13:39 +08:00
BTMuli
131fbe389c 幽境危战
close #157
2025-07-01 22:08:36 +08:00
BTMuli
aaf38e4526 💄 调整UI,添加medals
#157
2025-07-01 20:55:56 +08:00
BTMuli
97eef56cc0 💄 微调UI 2025-07-01 19:15:28 +08:00
BTMuli
a4ebf47b56 💄 基本完成危战UI
#157
2025-07-01 19:09:27 +08:00
BTMuli
bb092c0d8f ✏️ 更新类型 2025-07-01 17:38:58 +08:00
BTMuli
b3036a329b 💄 调整宽度 2025-07-01 17:32:36 +08:00
BTMuli
f933efa4c5 🏷️ 添加blings 2025-07-01 17:31:20 +08:00
BTMuli
1718b87adf 🌱 幽境危战数据库操作
#157
2025-07-01 16:43:14 +08:00
BTMuli
8f4d3d2285 🚸 话题列表页触底加载 2025-06-25 23:05:40 +08:00
BTMuli
4022df08ce 🌱 幽境危战页面
#157
2025-06-25 21:01:31 +08:00
BTMuli
d3ab4fb6dc ♻️ 调整服务器类型归属 2025-06-25 20:23:18 +08:00
BTMuli
79b071318b ⬆️ 更新依赖 2025-06-25 19:18:45 +08:00
BTMuli
9355dd7783 🍱 修正资源 2025-06-25 18:05:06 +08:00
BTMuli
efad39df40 💄 调整名片样式 2025-06-25 17:56:50 +08:00
BTMuli
ad00bcef68 🐛 修复渲染异常 2025-06-25 17:50:14 +08:00
BTMuli
f6b747c845 ♻️ 名片资源重构
close #156
2025-06-25 17:44:49 +08:00
BTMuli
1002514382 ♻️ 角色json文件拆分 2025-06-25 15:06:16 +08:00
BTMuli
0476bb287e 🐛 修正账号判断逻辑 2025-06-18 16:47:54 +08:00
BTMuli
4189cf6ac7 ⬆️ 更新依赖 2025-06-18 16:43:15 +08:00
BTMuli
0c18bea220 🚀 v0.7.7 2025-06-17 17:09:11 +08:00
BTMuli
66fd82ea66 🍱 更新5.7卡池 2025-06-17 17:03:51 +08:00
BTMuli
859c6165bf 移除snapdom 2025-06-17 17:01:24 +08:00
BTMuli
18d1d26344 📝 移除{LINK}{/LINK} 2025-06-17 16:57:31 +08:00
BTMuli
f05d8ceb82 🍱 更新名片资源 2025-06-17 16:46:13 +08:00
BTMuli
e1a0bbcbc5 🍱 更新部分5.7资源 2025-06-17 16:27:55 +08:00
BTMuli
61dd56fddd 🎨 代码格式化 2025-06-15 17:36:58 +08:00
BTMuli
ca1465f43a 🚸 调整加载顺序 2025-06-15 17:34:39 +08:00
BTMuli
0e01f2bdaa 浮窗触底加载 2025-06-15 15:36:02 +08:00
BTMuli
848227f6b0 页面触底加载 2025-06-15 15:16:25 +08:00
BTMuli
7fb13635f2 🔧 调整格式化配置 2025-06-15 15:02:29 +08:00
BTMuli
f590197a22 🌱 尝试snapdom 2025-06-10 11:45:46 +08:00
BTMuli
077ffc0c21 🐛 修复分享图生成异常 2025-06-10 11:35:29 +08:00
BTMuli
e8ab05759e ⬆️ 更新依赖 2025-06-10 11:33:36 +08:00
BTMuli
e23a0363c1 🚸 首页卡池不传递ck 2025-06-09 13:50:39 +08:00
BTMuli
291e92edd6 🏷️ 完善类型 2025-06-09 13:46:40 +08:00
BTMuli
6d8f7967fe 🚸 修正状态提示信息 2025-06-06 13:42:07 +08:00
BTMuli
25bb259d7a 🔧 调整属性排序&格式化 2025-06-01 19:37:52 +08:00
BTMuli
70a716842f ♻️ 重构公告模块,降低请求次数 2025-06-01 19:31:40 +08:00
BTMuli
33e9704f2d 🚨 修复构建异常 2025-05-29 20:59:06 +08:00
BTMuli
b30d96c3d3 ♻️ 重构公告时间计算逻辑,降低界面加载耗时 2025-05-29 20:54:03 +08:00
BTMuli
36f2adf3f7 🎨 颜色统一为hexa 2025-05-29 14:16:36 +08:00
BTMuli
a8d9808deb 🎨 代码格式化 2025-05-29 14:03:08 +08:00
BTMuli
4a748f20b7 🔧 完善格式化配置 2025-05-29 13:32:16 +08:00
BTMuli
0e9a0ec5f2 🐛 完善帖子ID判断逻辑 2025-05-28 17:52:02 +08:00
BTMuli
a910792e6a 🐛 修复五星平均抽数计算异常 2025-05-27 22:24:56 +08:00
BTMuli
e3bc295aa5 ⬆️ 更新UA 2025-05-26 09:13:13 +08:00
BTMuli
11bf522e22 💄 调整网格列宽至360px 2025-05-25 20:07:57 +08:00
BTMuli
9092d46759 💄 调整链接卡片背景 2025-05-25 20:02:38 +08:00
BTMuli
99327dd9eb 💄 调整投票组件样式 2025-05-25 20:02:04 +08:00
BTMuli
ae6dc39702 ⬆️ 更新依赖 2025-05-25 19:53:53 +08:00
BTMuli
dca590e027 🚀 v0.7.6 2025-05-25 14:33:21 +08:00
BTMuli
5c5380f4f7 🎨 defineModel 2025-05-25 14:26:53 +08:00
BTMuli
6b3b0e1de1 👽️ 调整查找逻辑 2025-05-23 18:52:02 +08:00
BTMuli
eb7e0df4fb 支持“一键执行” 2025-05-23 15:33:22 +08:00
BTMuli
58b95dc5e9 🍱 更新下半资源 2025-05-23 12:45:07 +08:00
BTMuli
724f828761 ♻️ 部分跳转改为外部浏览器打开 2025-05-23 12:04:26 +08:00
BTMuli
0d6ba14a0e ♻️ 修正import,调整路径 2025-05-23 11:58:11 +08:00
BTMuli
1266e5e9ee 🧑‍💻 调整别名 2025-05-23 11:21:48 +08:00
BTMuli
690da47cd8 添加游戏卡片类型组件
*PostID: 58244137
2025-05-23 10:30:13 +08:00
BTMuli
f75f982d84 添加 @btmuli/stylelint-plugin-color 插件并更新样式lint规则 2025-05-20 19:43:51 +08:00
BTMuli
22aea89f76 💄 使用长十六进制颜色 2025-05-20 16:25:14 +08:00
BTMuli
b757c4a432 🚸 子窗口添加外部打开菜单项 2025-05-20 16:22:28 +08:00
BTMuli
d8e14b14de 🐛 修正参数 2025-05-18 21:59:00 +08:00
BTMuli
1e2c479cee 💚 更新调试输出以忽略未使用的变量 2025-05-09 23:35:35 +08:00
BTMuli
0bb774f2c2 💚 调整构建参数 2025-05-09 23:33:10 +08:00
BTMuli
38c2be5edd 💚 修正路径 2025-05-09 23:26:18 +08:00
BTMuli
16332793ef 🐛 修复macOS平台的窗口大小适配逻辑 2025-05-09 23:11:06 +08:00
BTMuli
652a92a0da 📝 添加DeepWiki 2025-05-09 23:10:13 +08:00
BTMuli
928af9de4c 💚 调整test CI 2025-05-09 23:09:49 +08:00
BTMuli
7da1308386 ⬆️ 更新依赖项版本 2025-05-09 23:07:23 +08:00
1113 changed files with 38217 additions and 35429 deletions

View File

@@ -5,7 +5,7 @@ on:
version:
description: "Version to build"
required: true
default: "0.1.0"
default: "0.7.6"
jobs:
build-tauri:
@@ -20,11 +20,11 @@ jobs:
target: "windows"
bundlePath: msi/
- platform: macos-latest
args: "--target x86_64-apple-darwin"
args: "x86_64-apple-darwin"
target: "macos-intel"
bundlePath: macos/TeyvatGuide.app
- platform: macos-latest
args: "--target aarch64-apple-darwin"
args: "aarch64-apple-darwin"
target: "macos-arm"
bundlePath: macos/TeyvatGuide.app
runs-on: ${{ matrix.settings.platform }}
@@ -42,12 +42,14 @@ jobs:
run: ssh -T git@github.com || true
- name: Rust setup
uses: dtolnay/rust-toolchain@stable
- name: Add Rust targets(macOS Intel)
if: matrix.settings.target == 'macos-intel'
run: rustup target add x86_64-apple-darwin
- name: Add Rust targets(macOS ARM)
if: matrix.settings.target == 'macos-arm'
run: rustup target add aarch64-apple-darwin
- name: setup node
uses: actions/setup-node@v3
with:
@@ -55,14 +57,22 @@ jobs:
- name: setup pnpm
uses: pnpm/action-setup@v2
with:
version: 9.15.0
version: 10.10.0
- name: Install frontend dependencies
run: pnpm install
- name: Update version
run: pnpm upv ${{ github.event.inputs.version }}
- name: Build app
run: pnpm build ${{ matrix.settings.args }}
run: pnpm build --target ${{ matrix.settings.args }}
if: matrix.settings.args != ''
- name: Build app (no target)
run: pnpm build
if: matrix.settings.args == ''
- name: Upload Artifact
uses: actions/upload-artifact@v4
with:
name: TeyvatGuide_v${{ github.event.inputs.version }}_${{ matrix.settings.target }}
path: src-tauri/target/release/bundle/${{ matrix.settings.bundlePath }}
path: src-tauri/target/${{ matrix.settings.args }}/release/bundle/${{ matrix.settings.bundlePath }}
if-no-files-found: error

View File

@@ -1,8 +1,8 @@
semi: true
singleQuote: false
printWidth: 100
useTabs: false
tabWidth: 2
bracketSpacing: true
endOfLine: auto
printWidth: 100
semi: true
singleQuote: false
tabWidth: 2
trailingComma: all
useTabs: false

View File

@@ -1,15 +1,44 @@
customSyntax: postcss-html
extends:
- stylelint-high-performance-animation
- stylelint-order
- stylelint-declaration-block-no-ignored-properties
- stylelint-config-standard-vue
- stylelint-config-standard-scss
- stylelint-config-idiomatic-order
overrides:
- customSyntax: postcss-scss
files:
- "*.scss"
plugins:
- stylelint-scss
- stylelint-prettier
- stylelint-order
- "@btmuli/stylelint-plugin-color"
rules:
color-hex-length: long
color/format:
- true
- hexa
import-notation: string
no-descending-specificity:
- true
- severity: warning
order/order:
- name: include
type: at-rule
- custom-properties
- declarations
- rules
- at-rules
prettier/prettier: true
property-no-vendor-prefix:
- true
- ignoreProperties: [backdrop-filter]
prettier/prettier: true
rule-empty-line-before:
- always
- except: ["first-nested"]
selector-class-pattern: null
selector-pseudo-class-no-unknown:
- true
- ignorePseudoClasses: ["deep"]

4
.vscode/launch.json vendored
View File

@@ -1,5 +1,4 @@
{
"version": "0.2.0",
"configurations": [
{
"name": "Debug",
@@ -9,5 +8,6 @@
"skipFiles": ["<node_internals>/**"],
"type": "node"
}
]
],
"version": "0.2.0"
}

30
.vscode/settings.json vendored
View File

@@ -1,33 +1,33 @@
{
"editor.tabSize": 2,
"eslint.format.enable": true,
"eslint.quiet": false,
"eslint.lintTask.enable": true,
"eslint.validate": ["typescript", "vue"],
"stylelint.enable": true,
"stylelint.validate": ["css", "less", "postcss"],
"css.validate": false,
"less.validate": false,
"scss.validate": false,
"[vue]": {
"editor.defaultFormatter": "dbaeumer.vscode-eslint"
},
"[javascript]": {
"editor.defaultFormatter": "dbaeumer.vscode-eslint"
},
"[javascriptreact]": {
"editor.defaultFormatter": "dbaeumer.vscode-eslint"
},
"[scss]": {
"editor.defaultFormatter": "stylelint.vscode-stylelint"
},
"[typescript]": {
"editor.defaultFormatter": "dbaeumer.vscode-eslint"
},
"[typescriptreact]": {
"editor.defaultFormatter": "dbaeumer.vscode-eslint"
},
"[scss]": {
"editor.defaultFormatter": "stylelint.vscode-stylelint"
"[vue]": {
"editor.defaultFormatter": "dbaeumer.vscode-eslint"
},
"css.validate": false,
"editor.rulers": [80, 120],
"editor.tabSize": 2,
"eslint.format.enable": true,
"eslint.lintTask.enable": true,
"eslint.quiet": false,
"eslint.validate": ["typescript", "vue"],
"less.validate": false,
"scss.validate": false,
"stylelint.enable": true,
"stylelint.validate": ["css", "less", "postcss"],
"typescript.tsdk": "node_modules/typescript/lib",
"vue.features.codeActions.enable": false
}

4
.vscode/tasks.json vendored
View File

@@ -1,5 +1,4 @@
{
"version": "2.0.0",
"tasks": [
{
"type": "npm",
@@ -7,5 +6,6 @@
"problemMatcher": ["$eslint-compact", "$eslint-stylish"],
"label": "npm: lint:code"
}
]
],
"version": "2.0.0"
}

View File

@@ -2,12 +2,48 @@
Author: 目棃
Description: CHANGELOG
Date: 2024-10-09
Update: 2025-05-09
Update: 2025-07-07
---
> 本文档 [`Frontmatter`](https://github.com/BTMuli/MuCli#Frontmatter) 由 [MuCli](https://github.com/BTMuli/Mucli) 自动生成于 `2024-10-09 15:51:43`
>
> 更新于 `2025-05-09 12:06:20`
> 更新于 `2025-07-07 12:45:35`
## [v0.7.8](https://github.com/BTMuli/TeyvatGuide/releases/v0.7.8) (2025-07-07)
- 🐛 修正游戏账号判断逻辑
- ✏️ 修正帖子活动卡片状态类型
- ✨ 幽境危战页面 [`#157`](https://github.com/BTMuli/TeyvatGuide/issues/157)
- 💄 战绩添加幽境危战数据
- 💄 修复部分页面渲染异常
- 🍱 更新下半资源
- ♻️ 角色json文件拆分
- ♻️ 名片资源重构
- ♻️ 调整服务器类型归属
## [0.7.7](https://github.com/BTMuli/TeyvatGuide/releases/v0.7.7) (2025-06-17)
- 🍱 更新5.7资源
- ✨ 页面触底加载
- ✨ 部分浮窗触底加载
- 🐛 修复五星平均抽数计算异常
- 🐛 完善帖子ID判断逻辑
- 🐛 修复公告卡片分享图生成异常
- ♻️ 重构公告模块,降低界面加载耗时&请求次数
- 💄 调整投票组件样式
- 💄 调整链接卡片组件背景
- 💄 调整帖子等页面网格列宽至360px
- 🚸 修正无痕浏览状态提示信息
- 🚸 首页卡池不传递ck
## [0.7.6](https://github.com/BTMuli/TeyvatGuide/releases/v0.7.6) (2025-05-25)
- 🍱 更新下半资源
- 🐛 修正macOS平台的窗口大小适配逻辑
- 🚸 子窗口添加外部打开菜单项
- ✨ 添加游戏卡片类型组件
- ♻️ 部分跳转改为外部浏览器打开
- ✨ 脚本支持“一键执行”
## [0.7.5](https://github.com/BTMuli/TeyvatGuide/releases/v0.7.5) (2025-05-09)

View File

@@ -2,14 +2,14 @@
Author: 目棃
Description: 说明文档
Date: 2023-03-05
Update: 2025-03-31
Update: 2025-07-07
---
> 本文档 [`Frontmatter`](https://github.com/BTMuli/MuCli#Frontmatter) 由 [MuCli](https://github.com/BTMuli/Mucli) 自动生成于 `2023-03-05 14:41:55`
>
> 更新于 `2025-03-31 15:53:10`
> 更新于 `2025-07-07 12:46:39`
![](https://img.shields.io/github/last-commit/BTMuli/TeyvatGuide?style=for-the-badge) ![](https://img.shields.io/github/commits-since/BTMuli/TeyvatGuide/latest?include_prereleases&style=for-the-badge)
[![Ask DeepWiki](https://deepwiki.com/badge.svg)](https://deepwiki.com/BTMuli/TeyvatGuide) ![](https://img.shields.io/github/last-commit/BTMuli/TeyvatGuide) ![](https://img.shields.io/github/commits-since/BTMuli/TeyvatGuide/latest?include_prereleases)
![](https://img.shields.io/badge/UIAF-v1.1-orange?style=for-the-badge) ![](https://img.shields.io/badge/UIGF-v3.0-red?style=for-the-badge) ![](https://img.shields.io/badge/UIGF-v4.0-red?style=for-the-badge) ![](https://img.shields.io/github/license/BTMuli/TeyvatGuide?style=for-the-badge)
@@ -60,10 +60,11 @@ Game Tool for Genshin Impact player, supports Windows and macOS.
> 支持 扫码/验证码/Cookie 登陆,支持多账号管理
- [x] 原神战绩数据获取
- [x] 角色详情数据获取
- [x] 螺旋深渊数据获取
- [x] 真境剧诗数据获取
- [x] 原神战绩
- [x] 角色详情
- [x] 螺旋深渊
- [x] 真境剧诗
- [x] 幽境危战
- [x] 祈愿数据获取(近一年)
- [x] 用户收藏帖子获取
- [x] 用户关注帖子获取

View File

@@ -1,20 +1,25 @@
import eslint_jsonc from "eslint-plugin-jsonc";
import eslint_js from "@eslint/js";
import eslint_ts from "typescript-eslint";
import eslint_vue from "eslint-plugin-vue";
/**
* @file eslint.config.mjs
* @description ESLint配置文件
* @since 2025-05-29
*/
import eslintPluginJsonc from "eslint-plugin-jsonc";
import eslintPluginJs from "@eslint/js";
import eslintPluginTs from "typescript-eslint";
import eslintPluginVue from "eslint-plugin-vue";
import { jsonEslintConfig } from "./eslint/jsonEslint.js";
import { vueEslintConfig } from "./eslint/vueEslint.js";
import ymlEslintConfig from "./eslint/ymlEslint.js";
import eslintConfigJson from "./eslint/jsonEslint.js";
import eslintConfigVue from "./eslint/vueEslint.js";
import eslintConfigYml from "./eslint/ymlEslint.js";
export default [
eslint_js.configs.recommended,
...eslint_jsonc.configs["flat/recommended-with-jsonc"],
...eslint_ts.configs.recommended,
...eslint_vue.configs["flat/essential"],
...jsonEslintConfig,
...vueEslintConfig,
ymlEslintConfig,
eslintPluginJs.configs.recommended,
...eslintPluginJsonc.configs["flat/recommended-with-jsonc"],
...eslintPluginTs.configs.recommended,
...eslintPluginVue.configs["flat/essential"],
...eslintConfigJson,
...eslintConfigVue,
eslintConfigYml,
{
ignores: [
"dist",
@@ -25,9 +30,6 @@ export default [
"src-tauri/**/*.json",
"qodana.yaml",
".github",
".vscode",
".prettierrc.yml",
".stylelintrc.yml",
],
},
];

View File

@@ -1,3 +1,9 @@
/**
* @file eslint/jsonEslint.js
* @description JSON相关的ESLint配置
* @since Beta v0.7.7
*/
import pluginJsonc from "eslint-plugin-jsonc";
import parserJsonc from "jsonc-eslint-parser";
@@ -66,4 +72,6 @@ const jsoncConfig = {
},
};
export const jsonEslintConfig = [pkgJsonConfig, tscJsonConfig, jsoncConfig];
const eslintConfigJson = [pkgJsonConfig, tscJsonConfig, jsoncConfig];
export default eslintConfigJson;

View File

@@ -1,3 +1,8 @@
/**
* @file eslint/vueEslint.js
* @description Vue相关的ESLint配置
* @since Beta v0.7.7
*/
import pluginImport from "eslint-plugin-import";
import pluginPrettier from "eslint-plugin-prettier";
import pluginVue from "eslint-plugin-vue";
@@ -49,4 +54,6 @@ const vueConfig = {
rules: { ...tsConfigRules, "vue/multi-word-component-names": "off" },
};
export const vueEslintConfig = [tsConfig, vueConfig];
const eslintConfigVue = [tsConfig, vueConfig];
export default eslintConfigVue;

View File

@@ -1,7 +1,12 @@
/**
* @file eslint/ymlEslint.js
* @description YAML相关的ESLint配置
* @since Beta v0.7.7
*/
import pluginYml from "eslint-plugin-yml";
import parserYml from "yaml-eslint-parser";
const ymlEslintConfig = {
const eslintConfigYml = {
files: ["**/*.yml", "**/*.yaml"],
plugins: { yml: pluginYml },
languageOptions: {
@@ -16,4 +21,4 @@ const ymlEslintConfig = {
},
};
export default ymlEslintConfig;
export default eslintConfigYml;

View File

@@ -1,9 +1,9 @@
{
"name": "teyvatguide",
"version": "0.7.5",
"version": "0.7.8",
"description": "Game Tool for GenshinImpact player",
"private": true,
"packageManager": "pnpm@10.10.0",
"packageManager": "pnpm@10.12.3",
"type": "module",
"scripts": {
"build": "tauri build",
@@ -40,7 +40,8 @@
"prettier --write",
"stylelint --fix"
],
"*.{yml,json,md}": [
"*.{yml,json}": [
"eslint --fix",
"prettier --write"
],
"*.rs": [
@@ -70,78 +71,80 @@
},
"dependencies": {
"@mdi/font": "7.4.47",
"@tauri-apps/api": "^2.5.0",
"@tauri-apps/plugin-deep-link": "^2.2.1",
"@tauri-apps/plugin-dialog": "^2.2.1",
"@tauri-apps/plugin-fs": "^2.2.1",
"@tauri-apps/plugin-http": "^2.4.3",
"@tauri-apps/plugin-log": "^2.4.0",
"@tauri-apps/plugin-opener": "^2.2.6",
"@tauri-apps/plugin-os": "^2.2.1",
"@tauri-apps/plugin-process": "^2.2.1",
"@tauri-apps/plugin-shell": "^2.2.1",
"@tauri-apps/plugin-sql": "^2.2.0",
"@tauri-apps/api": "^2.6.0",
"@tauri-apps/plugin-deep-link": "^2.3.0",
"@tauri-apps/plugin-dialog": "^2.2.2",
"@tauri-apps/plugin-fs": "^2.3.0",
"@tauri-apps/plugin-http": "^2.4.4",
"@tauri-apps/plugin-log": "^2.5.1",
"@tauri-apps/plugin-opener": "^2.3.1",
"@tauri-apps/plugin-os": "^2.2.2",
"@tauri-apps/plugin-process": "^2.2.2",
"@tauri-apps/plugin-shell": "^2.2.2",
"@tauri-apps/plugin-sql": "^2.2.1",
"ajv": "^8.17.1",
"artplayer": "^5.2.3",
"clipboard": "^2.0.11",
"color-convert": "^3.0.1",
"color-convert": "^3.1.0",
"echarts": "^5.6.0",
"html2canvas": "^1.4.1",
"js-md5": "^0.8.3",
"jsencrypt": "^3.3.2",
"pinia": "^3.0.2",
"pinia-plugin-persistedstate": "^4.2.0",
"pinia": "^3.0.3",
"pinia-plugin-persistedstate": "^4.3.0",
"qrcode.vue": "^3.6.0",
"sass-embedded": "^1.87.0",
"sass-embedded": "^1.89.2",
"uuid": "^11.1.0",
"vue": "^3.5.13",
"vue": "^3.5.17",
"vue-echarts": "^7.0.3",
"vue-json-pretty": "^2.4.0",
"vue-json-pretty": "^2.5.0",
"vue-router": "^4.5.1",
"vuetify": "^3.8.3",
"vuetify": "^3.8.11",
"wcag-color": "^1.1.1",
"xml-js": "^1.6.11"
},
"devDependencies": {
"@btmuli/stylelint-plugin-color": "^0.1.0",
"@eslint/eslintrc": "^3.3.1",
"@eslint/js": "^9.26.0",
"@tauri-apps/cli": "2.5.0",
"@eslint/js": "^9.29.0",
"@tauri-apps/cli": "2.6.0",
"@types/color-convert": "^2.0.4",
"@types/fs-extra": "^11.0.4",
"@types/js-md5": "^0.7.2",
"@types/node": "^22.15.14",
"@types/js-md5": "^0.8.0",
"@types/node": "^24.0.4",
"@types/uuid": "^10.0.0",
"@typescript-eslint/parser": "^8.32.0",
"@vitejs/plugin-vue": "^5.2.3",
"concurrently": "^9.1.2",
"eslint": "^9.26.0",
"eslint-plugin-import": "^2.31.0",
"eslint-plugin-jsonc": "^2.20.0",
"eslint-plugin-prettier": "^5.4.0",
"eslint-plugin-vue": "^10.1.0",
"@typescript-eslint/parser": "^8.35.0",
"@vitejs/plugin-vue": "^6.0.0",
"concurrently": "^9.2.0",
"eslint": "^9.29.0",
"eslint-plugin-import": "^2.32.0",
"eslint-plugin-jsonc": "^2.20.1",
"eslint-plugin-prettier": "^5.5.0",
"eslint-plugin-vue": "^10.2.0",
"eslint-plugin-yml": "^1.18.0",
"fs-extra": "^11.3.0",
"globals": "^16.0.0",
"globals": "^16.2.0",
"husky": "^9.1.7",
"jsonc-eslint-parser": "^2.4.0",
"lint-staged": "^15.5.2",
"oxlint": "^0.16.9",
"prettier": "3.5.3",
"stylelint": "^16.19.1",
"lint-staged": "^16.1.2",
"oxlint": "^1.3.0",
"prettier": "3.6.1",
"stylelint": "^16.21.0",
"stylelint-config-idiomatic-order": "^10.0.0",
"stylelint-config-standard-scss": "^15.0.1",
"stylelint-config-standard-vue": "^1.0.0",
"stylelint-declaration-block-no-ignored-properties": "^2.8.0",
"stylelint-high-performance-animation": "^1.11.0",
"stylelint-order": "^7.0.0",
"stylelint-prettier": "^5.0.3",
"stylelint-scss": "^6.12.0",
"tsx": "^4.19.4",
"stylelint-scss": "^6.12.1",
"tsx": "^4.20.3",
"typescript": "^5.8.3",
"typescript-eslint": "^8.32.0",
"vite": "^6.3.5",
"vite-plugin-vue-devtools": "^7.7.6",
"typescript-eslint": "^8.35.0",
"vite": "^7.0.0",
"vite-plugin-vue-devtools": "^7.7.7",
"vite-plugin-vuetify": "^2.1.1",
"vue-eslint-parser": "^10.1.3",
"vue-eslint-parser": "^10.1.4",
"vue-tsc": "^2.2.10",
"yaml-eslint-parser": "^1.3.0"
}

3091
pnpm-lock.yaml generated

File diff suppressed because it is too large Load Diff

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 29 KiB

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 23 KiB

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 29 KiB

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 27 KiB

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 37 KiB

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 27 KiB

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 37 KiB

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 25 KiB

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 41 KiB

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 28 KiB

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 322 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 29 KiB

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 32 KiB

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 27 KiB

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 30 KiB

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 29 KiB

After

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 27 KiB

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 29 KiB

After

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 28 KiB

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 29 KiB

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 27 KiB

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 30 KiB

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 23 KiB

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 27 KiB

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 33 KiB

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 36 KiB

After

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 25 KiB

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 29 KiB

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 23 KiB

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 23 KiB

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 30 KiB

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 25 KiB

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 28 KiB

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 32 KiB

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 29 KiB

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 29 KiB

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 27 KiB

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 30 KiB

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 32 KiB

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 23 KiB

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 33 KiB

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 23 KiB

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 53 KiB

After

Width:  |  Height:  |  Size: 50 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 29 KiB

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 19 KiB

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