🎁 Sync 2026-07-11 23:46:52

This commit is contained in:
github-actions[bot] committed 2026-07-11 23:46:52 +08:00
1 parent 40c9b82c9c
commit 01a1d05223
20 files changed
+36 -216

No files matched your search

+1 -1
View File
@@ -4,7 +4,7 @@ LUCI_TITLE:=luci-app-ssr-plus
LUCI_PKGARCH:=all
PKG_NAME:=luci-app-ssr-plus
PKG_VERSION:=196
PKG_RELEASE:=43
PKG_RELEASE:=44
PKG_CONFIG_DEPENDS:= \
CONFIG_PACKAGE_$(PKG_NAME)_Iptables_Transparent_Proxy \
@@ -1479,6 +1479,7 @@ if is_finded("xray") then
o:value("qq", translate("qq"))
o:value("random", translate("random"))
o:value("randomized", translate("randomized"))
o:value("unsafe", translate("unsafe"))
o:value("", translate("disable"))
o:depends({type = "v2ray", tls = true})
o:depends({type = "v2ray", reality = true})
@@ -265,7 +265,6 @@ New issues are handled by the `claude-issue-bot` workflow — it checks for spam
luci-theme-aurora/
├── .dev/ # Development environment
│ ├── docs/ # Project documentation
│ │ ├── changelog/ # Version changelogs
│ │ └── DEVELOPMENT.md # Development guide (this file)
│ ├── public/aurora/ # Public static assets
│ │ ├── fonts/ # Web fonts (Lato)
@@ -1,14 +0,0 @@
## What's Changed
### New Features
- **Floating Quick Navigation**: Added a floating toolbar for shortcuts with custom config, persistent state, and smooth animations
- **Custom Logo Support**: Enabled configuration for custom theme logos
### Other Improvements
- **Browser Titles**: The browser tab now correctly shows the current page name.
- **UI Polish**: Centered mega-menu layout, unified button styles, and standardized arrow icons
- **Design System**: Improved Dark Mode color contrast and simplified design tokens
- **Fixes**: Resolved DHCP Leases table overflow, fixed missing menu items in titles, and corrected network interface styling
- For remaining changes, see the [full changelog](https://github.com/eamonxg/luci-theme-aurora/compare/v0.9.0_beta...v0.10.0)
@@ -1,20 +0,0 @@
## What's Changed
### New Features
- **Login Page**: Enhanced styling and layout with support for displaying the brand logo.
- **Customization**: Added support for switching between multiple theme styles, configurable max width, and custom component colors.
- **Form Enhancements**: Added info icons to form fields and aligned form labels.
- **Internationalization**: Added i18n support for tab page titles.
### Other Improvements
- **Design System**: Refactored color variables and redesigned design tokens, reducing build size from 240KB to 193KB.
- **Animations**: Optimized the floating toolbar collapse animation.
- **Fixes**:
- Fixed Channel Analysis chart rendering (#29).
- Fixed vertical alignment of loader icon and text in table placeholder rows.
- **Compatibility**:
- Adapted the Overview hide/show button to upstream DOM changes.
- Resolved table styling (rounded corners, duplicate columns) to adapt to upstream changes.
- For remaining changes, see the [full changelog](https://github.com/eamonxg/luci-theme-aurora/compare/v0.10.0...v0.11.0)
@@ -1,25 +0,0 @@
## What's Changed
### New Features
- **Custom Login Background**: You can set your own photo or image as the login page background. It fades in smoothly with a blurred placeholder shown while the full image loads.
- **Custom Fonts**: The theme now supports uploading and applying your own font files, so the interface can match your preferred style.
- **Rounded Corners Control**: A new setting lets you dial in exactly how rounded buttons, cards, and panels look — from sharp corners to fully rounded.
- **PWA Support**: The router interface can now be installed as a web app on your phone or desktop. Includes a properly designed home screen icon.
- **Page Transition Animations**: Navigating between pages now has a subtle slide-in animation, making the interface feel more polished.
### Improvements
- **Smoother Login Interactions**: The login form no longer causes any visual flicker when you focus on input fields — rewritten to use zero-repaint techniques.
### Bug Fixes
- Fixed interface icon misalignment on the network overview (#63).
- Fixed broken styles when the `luci-mod-dashboard` plugin is installed (#66).
- Fixed content overflow in the ModemData panel.
- Fixed table overflow on mobile screens.
### Other Changes
- Updated the theme logo.
- For remaining changes, see the [full changelog](https://github.com/eamonxg/luci-theme-aurora/compare/v0.11.0...v0.12.0)
@@ -1,21 +0,0 @@
## v0.5.0_beta
## Changelog
### Features
- Updated theme icons (logo, spinning, refresh, refresh-off, setting) for better visuals.
- Optimized mobile display for ifacebox on Network > Interfaces page.
- Optimized modal scrolling by setting the scroll area to the modal overlay
- Improved table description row display on the Packages page.
### Fixes
- Resolved clipping issues for dropdown options by modal/header and fixed multi-select dropdown display issues.
- Corrected alert popup positioning and resolved text content overflow.
- Fixed modal content clipping.
- Fixed text and icon alignment in ifacebage.
### TODO
- Aim for optimal compatibility with OpenWrt 24.10.
@@ -1,15 +0,0 @@
## v0.5.5_beta
## What's Changed
- Adapted **luci-mod-dashboard** for dark mode, PC, and mobile displays
- Optimized page scroll performance on low-performance devices
- Improved mobile display for **Network → Interfaces**
- Enhanced mobile layout for pages like **Software** and **SQM QoS** to fix button/text overflow issues
- Fixed horizontal scrollbar display bug
- Fixed overflow issue in **Network → Wireless** table
- Fixed ipk theme upgrade issue causing loss of **Aurora** option
---
🇨🇳 🎉 国庆假期最后一版,祝大家假期愉快,节后再见!
@@ -1,23 +0,0 @@
## v0.6.0_beta
**Highly recommended to upgrade to the latest version**
## What's Changed
#### Features
- Support toggling Overview homepage cards (compatible with openwrt 24.10-SNAPSHOT)
- Added dotted underline indicator for Tooltip elements
- Improved visual styling for `a`, `var`, `ins`, and `del` tags
- UCI change modal now supports legend display
- Optimized mobile table cell layout (System → Software, Network → Interfaces/Wireless/Firewall, Status → Overview)
- Enhanced sorting indicators for sortable table headers
- Added fallback icon for the theme
#### Fixes
- Fixed missing first column in Network → Firewall (Port Forwards, Traffic Rules, NAT Rules)
- Fixed Tooltip being clipped when clicked or hovered
- Fixed display issues in luci-mod-dashboard
- Fixed dark mode chart background in luci-app-statistics
- … and other minor fixes
@@ -1,28 +0,0 @@
## What's Changed
#### New Features
- **Theme Mode Switcher**: Now you can choose between Auto (follows system), Light, or Dark mode
- **OpenWrt 24.10-SNAPSHOT Compatibility**: Added expand/collapse buttons to support the “Show/Hide Index Cards” feature on the OpenWrt 24.10-SNAPSHOT Overview page
#### Improvements & Fixes
- **Dropdown Menus**:
- Fixed checkbox selection behavior when dropdown items contain both a checkbox and a label (Previously, clicking the checkbox triggered incorrect dropdown selection logic)
- Checkbox and label elements are now properly aligned
- Better visual feedback for options you can't select (they appear dimmed)
- Fixed dropdown menus getting cut off on mobile screens in the bridge-vlan table
- Dropdown icons now adapt their color based on background
- **Forms & Inputs**:
- Improved spacing between labels and input fields on the System → Software page
- Radio buttons and checkboxes look more polished
- **Mobile Experience**:
- Better button sizes and layout on Diagnostics page
- Fixed modal content overflowing on small screens
- Login modal is now more compact
- **Visual Polish**:
- Unified scrollbar appearance throughout the interface
- Refined theme-adaptive colors for HTML tags (`a`, `label`, `val`, `pre`)
- **Small Fixes**:
- Fixed tooltips that were flickering when hovering
- Added spacing to footer to prevent content overlap
@@ -1,15 +0,0 @@
## What's Changed
### New Features
- **Redesigned Desktop Navigation**: Hover-based menus, smoother animations, unified header style
- **Form Layout Enhancements**: Horizontal layout on desktop, vertical on mobile, improved spacing
- **Enhanced Dynamic List**: Clearer buttons, drag animations, mobile-friendly, copy support
- **UCI Changes**: Added numeric badge showing pending configuration changes
### Other Improvements
- Rebuilt dropdown logic and fixed placeholder/overflow issues
- Refined `ifacebadge` display and dark mode styling
- Corrected table border-radius rendering
- For remaining changes, see the [full changelog](https://github.com/eamonxg/luci-theme-aurora/compare/v0.7.0_beta...v0.8.0_beta)
@@ -1,17 +0,0 @@
## **What's Changed — v0.9.0_beta**
### **New Features**
- Added support for [luci-app-aurora-config](https://github.com/eamonxg/luci-app-aurora-config) to customize the theme.
- Reduced CSS bundle size to improve loading performance.
---
### **Improvements & Fixes**
- Fixed jitter issue on top-level menu hover in the mega menu (#23).
- Fixed table overflow issue in Mount Points (#24).
- Fixed progress text clipping on the Package page (#26).
- Applied semantic and status colors to buttons, tooltips, labels, and alert messages.
- Centered alert messages both horizontally and vertically, and adjusted the spinning icon offset.
- see the [full changelog](https://github.com/eamonxg/luci-theme-aurora/compare/v0.8.0_beta...v0.9.0_beta)
@@ -1,25 +0,0 @@
## What's Changed
First stable release of Aurora, centered on a navigation overhaul.
### New Features
- **Sidebar Navigation Mode**: Added a configurable sidebar navigation layout. Initial design contributed by @chillykidd.
- **Three-Column Mega-Menu**: Redesigned top navigation dropdown with Tabler icons, an anchor column, and a device summary, with smooth hover animations.
- **Redesigned Mobile Navigation**: Reworked to align with the desktop navigation styling for a more consistent look.
### Improvements
- GPU-friendly animations with explicit transition properties.
- Compressed the logo for faster loading, and updated the Shortcuts icon.
### Bug Fixes
- Fixed dropdown and mega-menu stacking order.
- Fixed `.hidden` not always hiding elements regardless of specificity.
- Fixed the notification close button not dismissing alert messages.
- Applied button shape styles to `input[type=button/submit/reset]`.
### Other Changes
- For remaining changes, see the [full changelog](https://github.com/eamonxg/luci-theme-aurora/compare/v0.12.0...v1.0.0)
@@ -33,6 +33,14 @@
@apply text-text-muted border-dashed bg-transparent font-normal italic;
}
/* Bare zone-colour swatch: the interface overview / tooltip renders a
label-less `.zonebadge` as a colour chip prefixing an `.ifacebadge`. The
tag redesign's horizontal padding is meant for text labels, so keep the
label-less swatch a compact pill instead of a wide block. */
.ifacebadge > & {
@apply rounded-full px-1 py-1.5;
}
.cbi-dropdown & {
@apply px-1.5 py-0.5;
}
+2 -2
View File
@@ -8,8 +8,8 @@ include $(TOPDIR)/rules.mk
LUCI_TITLE:=Aurora Theme (A modern browser theme built with Vite and Tailwind CSS)
LUCI_DEPENDS:=+luci-base
PKG_VERSION:=1.0.15
PKG_RELEASE:=48
PKG_VERSION:=1.1.0
PKG_RELEASE:=49
PKG_LICENSE:=Apache-2.0
LUCI_MINIFY_CSS:=
+2 -2
View File
@@ -61,12 +61,12 @@ OpenWrt 25.12+ and snapshots use `apk`; other versions use `opkg`:
- **opkg** (OpenWrt < 25.12):
```sh
cd /tmp && uclient-fetch -O luci-theme-aurora.ipk https://github.com/eamonxg/luci-theme-aurora/releases/latest/download/luci-theme-aurora_1.0.0-r20260619_all.ipk && opkg install luci-theme-aurora.ipk
cd /tmp && uclient-fetch -O luci-theme-aurora.ipk https://github.com/eamonxg/luci-theme-aurora/releases/latest/download/luci-theme-aurora_1.1.0-r20260711_all.ipk && opkg install luci-theme-aurora.ipk
```
- **apk** (OpenWrt 25.12+ and snapshots):
```sh
cd /tmp && uclient-fetch -O luci-theme-aurora.apk https://github.com/eamonxg/luci-theme-aurora/releases/latest/download/luci-theme-aurora-1.0.0-r20260619.apk && apk add --allow-untrusted luci-theme-aurora.apk
cd /tmp && uclient-fetch -O luci-theme-aurora.apk https://github.com/eamonxg/luci-theme-aurora/releases/latest/download/luci-theme-aurora-1.1.0-r20260711.apk && apk add --allow-untrusted luci-theme-aurora.apk
```
## Build from source
+2 -2
View File
@@ -61,13 +61,13 @@ OpenWrt 25.12+ 和 Snapshot 版本使用 `apk`;其他版本使用 `opkg`:
- **opkg** (OpenWrt < 25.12):
```sh
cd /tmp && uclient-fetch -O luci-theme-aurora.ipk https://github.com/eamonxg/luci-theme-aurora/releases/latest/download/luci-theme-aurora_1.0.0-r20260619_all.ipk && opkg install luci-theme-aurora.ipk
cd /tmp && uclient-fetch -O luci-theme-aurora.ipk https://github.com/eamonxg/luci-theme-aurora/releases/latest/download/luci-theme-aurora_1.1.0-r20260711_all.ipk && opkg install luci-theme-aurora.ipk
```
- **apk** (OpenWrt 25.12+ 及 snapshots):
```sh
cd /tmp && uclient-fetch -O luci-theme-aurora.apk https://github.com/eamonxg/luci-theme-aurora/releases/latest/download/luci-theme-aurora-1.0.0-r20260619.apk && apk add --allow-untrusted luci-theme-aurora.apk
cd /tmp && uclient-fetch -O luci-theme-aurora.apk https://github.com/eamonxg/luci-theme-aurora/releases/latest/download/luci-theme-aurora-1.1.0-r20260711.apk && apk add --allow-untrusted luci-theme-aurora.apk
```
## 从源码构建
@@ -1,2 +1,2 @@
/*! tailwindcss v4.3.2 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-border-style:solid;--tw-font-weight:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-content:"";--tw-animation-delay:0s;--tw-animation-direction:normal;--tw-animation-duration:initial;--tw-animation-fill-mode:none;--tw-animation-iteration-count:1;--tw-enter-blur:0;--tw-enter-opacity:1;--tw-enter-rotate:0;--tw-enter-scale:1;--tw-enter-translate-x:0;--tw-enter-translate-y:0;--tw-exit-blur:0;--tw-exit-opacity:1;--tw-exit-rotate:0;--tw-exit-scale:1;--tw-exit-translate-x:0;--tw-exit-translate-y:0;--tw-scrollbar-thumb:#0000;--tw-scrollbar-track:#0000;--tw-leading:initial;--tw-tracking:initial;--tw-ease:initial;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-space-y-reverse:0;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-border-spacing-x:0;--tw-border-spacing-y:0}}}@layer theme{:root,:host{--font-sans:var(--font-sans);--font-mono:var(--font-mono);--spacing:var(--spacing);--container-xs:20rem;--container-5xl:64rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25 / 1.875);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-tight:-.025em;--tracking-wide:.025em;--tracking-wider:.05em;--leading-tight:1.25;--leading-snug:1.375;--leading-normal:1.5;--leading-relaxed:1.625;--radius-sm:calc(var(--radius-base) * .25);--radius-md:calc(var(--radius-base) * .75);--radius-lg:var(--radius-base);--radius-xl:calc(var(--radius-base) * 1.5);--radius-2xl:calc(var(--radius-base) * 2);--radius-3xl:calc(var(--radius-base) * 3);--radius-4xl:calc(var(--radius-base) * 4);--shadow-sm:var(--app-shadow-sm);--shadow-md:var(--app-shadow-md);--shadow-lg:var(--app-shadow-md);--shadow-xl:var(--app-shadow-lg);--shadow-2xl:var(--app-shadow-lg);--ease-out:cubic-bezier(0, 0, .2, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--animate-spin:spin 1s linear infinite;--blur-md:12px;--blur-lg:16px;--blur-xl:24px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--radius:calc(var(--radius-base) * .5);--container-max-width:var(--container-max-width)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mLine truncated
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-border-style:solid;--tw-font-weight:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-content:"";--tw-animation-delay:0s;--tw-animation-direction:normal;--tw-animation-duration:initial;--tw-animation-fill-mode:none;--tw-animation-iteration-count:1;--tw-enter-blur:0;--tw-enter-opacity:1;--tw-enter-rotate:0;--tw-enter-scale:1;--tw-enter-translate-x:0;--tw-enter-translate-y:0;--tw-exit-blur:0;--tw-exit-opacity:1;--tw-exit-rotate:0;--tw-exit-scale:1;--tw-exit-translate-x:0;--tw-exit-translate-y:0;--tw-scrollbar-thumb:#0000;--tw-scrollbar-track:#0000;--tw-leading:initial;--tw-tracking:initial;--tw-ease:initial;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-space-y-reverse:0;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-border-spacing-x:0;--tw-border-spacing-y:0}}}@layer theme{:root,:host{--font-sans:var(--font-sans);--font-mono:var(--font-mono);--spacing:var(--spacing);--container-xs:20rem;--container-5xl:64rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25 / 1.875);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-tight:-.025em;--tracking-wide:.025em;--tracking-wider:.05em;--leading-tight:1.25;--leading-snug:1.375;--leading-normal:1.5;--leading-relaxed:1.625;--radius-sm:calc(var(--radius-base) * .25);--radius-md:calc(var(--radius-base) * .75);--radius-lg:var(--radius-base);--radius-xl:calc(var(--radius-base) * 1.5);--radius-2xl:calc(var(--radius-base) * 2);--radius-3xl:calc(var(--radius-base) * 3);--radius-4xl:calc(var(--radius-base) * 4);--shadow-sm:var(--app-shadow-sm);--shadow-md:var(--app-shadow-md);--shadow-lg:var(--app-shadow-md);--shadow-xl:var(--app-shadow-lg);--shadow-2xl:var(--app-shadow-lg);--ease-out:cubic-bezier(0, 0, .2, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--animate-spin:spin 1s linear infinite;--blur-md:12px;--blur-lg:16px;--blur-xl:24px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--radius:calc(var(--radius-base) * .5);--container-max-width:var(--container-max-width)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mLine truncated
@@ -12,7 +12,7 @@
{%
import { getuid, getspnam } from 'luci.core';
import { cursor } from 'uci';
import { lsdir } from 'fs';
import { lsdir, readfile } from 'fs';
const boardinfo = ubus.call('system', 'board') ?? {};
const hostname = striptags(boardinfo.hostname ?? '?');
@@ -45,6 +45,16 @@
const nav_type = tokens.nav_type || 'mega-menu';
const toolbar_enabled = tokens.toolbar_enabled ? tokens.toolbar_enabled == '1' : true;
const icon_cache_version = tokens.icon_cache_version || '0';
const font_css = readfile(`/www${media}/fonts/aurora-font.css`);
const preload_raw = readfile(`/www${media}/fonts/preload.txt`);
// null = file absent (older config app): fall back to Lato below.
// '' = deliberately empty (pure-stack preset): preload nothing.
let font_preload = preload_raw == null ? null : trim(preload_raw);
if (font_preload && index(font_preload, '/luci-static/aurora/fonts/') != 0)
font_preload = '';
if (font_preload == null)
font_preload = (font_css && index(font_css, 'lato-v24-latin-regular') >= 0)
? `${media}/fonts/lato-v24-latin-regular.woff2` : '';
const logo_svg = tokens.logo_svg || 'logo.svg';
const favicon_png = tokens.favicon_png || '';
const favicon_ico = tokens.favicon_ico || 'favicon.ico';
@@ -170,7 +180,12 @@
<link rel="stylesheet" href="{{ media }}/patches/{{ patch }}.css">
{% endfor %}
{% endif %}
<link rel="stylesheet" href="{{ media }}/fonts/aurora-font.css?v={{ icon_cache_version }}">
{% if (font_preload): %}
<link rel="preload" as="font" type="font/woff2" crossorigin href="{{ font_preload }}">
{% endif %}
{% if (font_css): %}
<style>{{ font_css }}</style>
{% endif %}
<link rel="icon" href="{{ media }}/images/{{ logo_svg }}?v={{ icon_cache_version }}" sizes="any" type="image/svg+xml">
{% if (favicon_png): %}
<link rel="icon" href="{{ media }}/images/{{ favicon_png }}?v={{ icon_cache_version }}" type="image/png">
+2 -2
View File
@@ -10,12 +10,12 @@ include $(INCLUDE_DIR)/kernel.mk
PKG_NAME:=natflow
PKG_VERSION:=20260531
PKG_RELEASE:=42
PKG_RELEASE:=43
PKG_SOURCE:=$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=https://github.com/ptpt52/natflow.git
PKG_SOURCE_PROTO:=git
PKG_SOURCE_VERSION:=2e495d4fbf59b9b91d02789fedd66ddea334df1f
PKG_SOURCE_VERSION:=4d97d3c3d4e8b0dc8aff64905c861c66e57dbedf
PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
PKG_MAINTAINER:=Chen Minqiang <ptpt52@gmail.com>
PKG_LICENSE:=GPL-2.0