diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..1014ba7 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,12 @@ +root = true + +[*] +charset = utf-8 +end_of_line = lf +insert_final_newline = true +indent_style = space +indent_size = 2 +trim_trailing_whitespace = true + +[*.md] +trim_trailing_whitespace = false diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..6313b56 --- /dev/null +++ b/.gitattributes @@ -0,0 +1 @@ +* text=auto eol=lf diff --git a/.gitignore b/.gitignore index 13558d9..2c3cc61 100644 --- a/.gitignore +++ b/.gitignore @@ -10,6 +10,7 @@ coverage node_modules dist dist-ssr +dist-electron *.local .lagzero-dev # Editor directories and files diff --git a/CHANGELOG.md b/CHANGELOG.md deleted file mode 100644 index d24705a..0000000 --- a/CHANGELOG.md +++ /dev/null @@ -1,10 +0,0 @@ -# Changelog - -## [0.1.0] - 2026-02-09 -### Added -- Initial release of LagZero. -- Core: sing-box integration with start/stop/restart support. -- UI: Dashboard with real-time latency chart and node management. -- UI: Rule editor with Routing and IP Rule modes. -- Protocol: Support for VMess, VLESS, Shadowsocks parsing. -- CI: GitHub Actions for cross-platform build and release. diff --git a/src/App.vue b/src/App.vue index d2f663a..1443541 100644 --- a/src/App.vue +++ b/src/App.vue @@ -31,14 +31,14 @@ const themeColors: Record(() => { const color = themeColors[themeColor.value] || themeColors.green - + const common = { primaryColor: color.primary, primaryColorHover: color.hover, primaryColorPressed: color.pressed, primaryColorSuppl: color.hover, } - + return { common, Button: { @@ -51,12 +51,21 @@ const themeOverrides = computed(() => { colorHoverPrimary: color.hover, colorPressedPrimary: color.pressed, colorFocusPrimary: color.hover, - colorDisabledPrimary: color.primary, // Use opacity for disabled state usually handled by component, but color needs to be set + colorDisabledPrimary: color.primary, borderPrimary: `1px solid ${color.primary}`, borderHoverPrimary: `1px solid ${color.hover}`, borderPressedPrimary: `1px solid ${color.pressed}`, borderFocusPrimary: `1px solid ${color.hover}`, borderDisabledPrimary: `1px solid ${color.primary}`, + // Also ensure error/warning buttons have white text + textColorError: '#ffffff', + textColorHoverError: '#ffffff', + textColorPressedError: '#ffffff', + textColorFocusError: '#ffffff', + textColorWarning: '#ffffff', + textColorHoverWarning: '#ffffff', + textColorPressedWarning: '#ffffff', + textColorFocusWarning: '#ffffff', } } }) @@ -65,7 +74,9 @@ const themeOverrides = computed(() => {