🍓 Sync 2026-07-23 08:32:50

This commit is contained in:
github-actions[bot]
2026-07-23 08:32:50 +08:00
parent 14f5c9168a
commit 414cbcb430
14 changed files with 66 additions and 26 deletions
@@ -1,3 +1 @@
<svg width="800" height="800" viewBox="0 0 800 800" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M99.5149 622.549C93.2144 633.653 93.4349 634 107.075 634H651.912C665.537 634 665.757 633.622 659.473 622.549L385.196 138.236C378.99 127.258 379.998 127.258 373.792 138.236L99.5149 622.534V622.549ZM440.01 107.161L714.303 591.475C744.577 644.978 713.373 697 651.912 697H107.075C45.5668 697 14.4423 644.946 44.7005 591.506L318.977 107.192C349.314 53.5947 409.705 53.6105 440.026 107.192L440.01 107.161ZM379.494 586.75C383.631 586.75 387.728 585.936 391.551 584.353C395.373 582.77 398.847 580.45 401.773 577.525C404.698 574.6 407.019 571.127 408.603 567.305C410.186 563.483 411.001 559.387 411.001 555.25C411.001 551.112 410.186 547.016 408.603 543.194C407.019 539.372 404.698 535.899 401.773 532.974C398.847 530.049 395.373 527.729 391.551 526.146C387.728 524.563 383.631 523.749 379.494 523.749C371.14 523.751 363.128 527.07 357.221 532.977C351.314 538.885 347.996 546.896 347.996 555.25C347.996 563.603 351.314 571.614 357.221 577.522C363.128 583.429 371.14 586.748 379.494 586.75ZM347.991 303.249V460.749C347.991 469.104 351.31 477.116 357.218 483.023C363.126 488.931 371.139 492.249 379.494 492.249C387.849 492.249 395.862 488.931 401.769 483.023C407.677 477.116 410.996 469.104 410.996 460.749V303.249C410.996 294.894 407.677 286.882 401.769 280.975C395.862 275.067 387.849 271.749 379.494 271.749C371.139 271.749 363.126 275.067 357.218 280.975C351.31 286.882 347.991 294.894 347.991 303.249Z" fill="#0F162B"/>
</svg>
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 9v4" /><path d="M10.363 3.591l-8.106 13.534a1.914 1.914 0 0 0 1.636 2.871h16.214a1.914 1.914 0 0 0 1.636 -2.87l-8.106 -13.536a1.914 1.914 0 0 0 -3.274 0" /><path d="M12 16h.01" /></svg>

Before

Width:  |  Height:  |  Size: 1.5 KiB

After

Width:  |  Height:  |  Size: 380 B

@@ -1,3 +1 @@
<svg width="800" height="800" viewBox="0 0 800 800" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M571.418 595.528C580.7 609.514 576.962 628.288 563.018 637.696C533.911 657.268 510.181 670.456 491.868 677.302C456.716 690.382 419.502 697.054 381.995 697C354.694 697 328.234 693.514 302.949 687.004L335.962 629.8C396.485 641.014 459.864 629.8 513.289 597.124L530.089 586.708C536.769 582.478 544.84 581.032 552.573 582.681C560.306 584.329 567.086 588.941 571.46 595.528H571.418ZM509.803 94.006C529.123 102.574 547.477 113.074 564.53 125.212L250.869 668.482C231.733 659.714 213.526 649.048 196.52 636.646L509.761 94.006H509.803ZM381.995 67C409.295 67 435.839 70.486 461.082 76.996L427.985 134.284L422.063 133.234C371.12 125.021 318.883 132.645 272.412 155.075C225.941 177.505 187.476 213.659 162.214 258.653C136.953 303.647 126.112 355.311 131.158 406.664C136.204 458.017 156.893 506.583 190.43 545.8L157.459 602.92C113.918 558.666 84.4251 502.532 72.6843 441.57C60.9436 380.609 67.4788 317.537 91.469 260.277C115.459 203.018 155.835 154.123 207.524 119.736C259.213 85.349 319.912 67.0021 381.995 67ZM606.572 161.08C664.623 219.944 697.117 299.327 697 382C697.058 427.158 687.374 471.797 668.607 512.872C664.536 521.456 660.05 529.838 655.167 537.988C653.67 540.539 651.526 542.649 648.952 544.106C646.378 545.563 643.465 546.315 640.508 546.285C637.55 546.255 634.653 545.445 632.109 543.936C629.564 542.428 627.464 540.274 626.019 537.694L609.932 508.714L553.357 406.948C551.939 404.39 551.212 401.505 551.251 398.581C551.289 395.656 552.09 392.791 553.575 390.271C555.06 387.751 557.177 385.662 559.717 384.212C562.258 382.761 565.132 381.998 568.058 382H633.999C634.02 321.959 612.568 263.891 573.518 218.284L606.572 161.122V161.08Z" fill="#0F162B"/>
</svg>
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M20 11a8.1 8.1 0 0 0 -11.271 -6.305m-2.41 1.624a8.083 8.083 0 0 0 -1.819 2.681m-.5 -4v4h4" /><path d="M4 13a8.1 8.1 0 0 0 13.671 4.691m2.329 -1.691v-1h-1" /><path d="M3 3l18 18" /></svg>

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 377 B

@@ -1,3 +1 @@
<svg width="800" height="800" viewBox="0 0 800 800" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M201.032 123.921C202.67 122.913 204.182 121.936 205.537 121.023C257.614 85.7368 319.094 66.9154 382 67.0003C555.974 67.0003 697 208.026 697 382C697.086 440.93 680.568 498.691 649.34 548.666C648.405 550.159 647.097 551.383 645.545 552.216C643.993 553.05 642.25 553.465 640.489 553.42C638.728 553.376 637.009 552.873 635.501 551.962C633.993 551.051 632.748 549.763 631.889 548.225L552.509 405.404C551.176 403.007 550.492 400.303 550.525 397.56C550.558 394.817 551.307 392.13 552.698 389.765C554.089 387.401 556.073 385.44 558.454 384.078C560.836 382.716 563.531 382 566.275 382H634C634.01 335.412 621.106 289.734 596.72 250.038C572.334 210.343 537.422 178.184 495.861 157.135C454.3 136.085 407.718 126.968 361.288 130.797C314.858 134.626 270.398 151.251 232.847 178.825C229.627 181.188 225.94 182.839 222.032 183.668C218.124 184.497 214.085 184.485 210.182 183.633C206.279 182.781 202.602 181.108 199.395 178.726C196.189 176.344 193.525 173.307 191.582 169.816L189.818 166.666C185.825 159.468 184.763 151.007 186.852 143.044C188.941 135.082 194.02 128.232 201.032 123.921ZM558.715 642.82C506.586 678.213 445.009 697.092 382 697C208.025 697 67 555.974 67 382C67 322.969 83.254 267.718 111.478 220.5C112.696 218.456 114.432 216.77 116.509 215.61C118.587 214.45 120.933 213.858 123.312 213.893C125.691 213.928 128.019 214.589 130.061 215.81C132.103 217.03 133.788 218.768 134.945 220.846L211.49 358.595C212.824 360.993 213.508 363.697 213.474 366.44C213.441 369.183 212.692 371.87 211.302 374.235C209.911 376.599 207.926 378.56 205.545 379.922C203.164 381.284 200.468 382 197.725 382H130C129.999 428.603 142.921 474.294 167.33 513.993C191.739 553.693 226.679 585.846 268.265 606.879C309.852 627.913 356.457 637.002 402.9 633.137C449.342 629.272 493.803 612.604 531.341 584.986C534.645 582.52 538.43 580.775 542.451 579.865C546.472 578.954 550.64 578.898 554.684 579.7C558.728 580.501 562.558 582.143 565.928 584.519C569.297 586.894 572.131 589.951 574.244 593.491C578.821 601.138 580.227 610.272 578.161 618.941C576.095 627.61 570.721 635.129 563.188 639.89C561.702 640.833 560.232 641.799 558.778 642.788L558.715 642.82Z" fill="#0F162B"/>
</svg>
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M20 11a8.1 8.1 0 0 0 -15.5 -2m-.5 -4v4h4" /><path d="M4 13a8.1 8.1 0 0 0 15.5 2m.5 4v-4h-4" /></svg>

Before

Width:  |  Height:  |  Size: 2.2 KiB

After

Width:  |  Height:  |  Size: 291 B

@@ -1,4 +1 @@
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M10 10m-7 0a7 7 0 1 0 14 0a7 7 0 1 0 -14 0" stroke="#0F162B" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M21 21l-6 -6" stroke="#0F162B" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
</svg>
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10 10m-7 0a7 7 0 1 0 14 0a7 7 0 1 0 -14 0" /><path d="M21 21l-6 -6" /></svg>

Before

Width:  |  Height:  |  Size: 345 B

After

Width:  |  Height:  |  Size: 268 B

@@ -1 +0,0 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1758476543825" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="17352" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M439.594667 85.333333h144.810666a70.4 70.4 0 0 1 70.101334 60.970667l5.802666 44.8a17.066667 17.066667 0 0 0 8.192 12.458667l38.058667 22.528a17.066667 17.066667 0 0 0 15.146667 1.109333l46.848-19.2a71.082667 71.082667 0 0 1 88.021333 29.226667l72.405333 122.069333c18.218667 30.72 10.069333 69.973333-18.688 91.221333l-45.184 33.408a17.066667 17.066667 0 0 0-6.912 13.696v28.757334a17.066667 17.066667 0 0 0 6.912 13.696l45.226667 33.408c28.714667 21.205333 36.864 60.458667 18.645333 91.221333l-72.405333 122.026667a71.082667 71.082667 0 0 1-88.021333 29.226666l-46.848-19.2a17.066667 17.066667 0 0 0-15.146667 1.152l-38.058667 22.528a17.066667 17.066667 0 0 0-8.192 12.501334l-5.802666 44.8A70.4 70.4 0 0 1 584.405333 938.666667h-144.810666a70.4 70.4 0 0 1-70.101334-60.970667l-5.802666-44.8a17.066667 17.066667 0 0 0-8.192-12.458667l-38.058667-22.528a17.066667 17.066667 0 0 0-15.146667-1.109333l-46.848 19.2a71.082667 71.082667 0 0 1-88.021333-29.226667l-72.405333-122.069333a69.290667 69.290667 0 0 1 18.688-91.221333l45.184-33.408a17.066667 17.066667 0 0 0 6.912-13.696v-28.757334a17.066667 17.066667 0 0 0-6.912-13.696l-45.226667-33.408a69.290667 69.290667 0 0 1-18.645333-91.221333l72.405333-122.026667a71.082667 71.082667 0 0 1 88.021333-29.226666l46.848 19.2a17.066667 17.066667 0 0 0 15.146667-1.152l38.058667-22.528a17.066667 17.066667 0 0 0 8.192-12.501334l5.802666-44.8A70.4 70.4 0 0 1 439.594667 85.333333z m1.024 130.688a75.818667 75.818667 0 0 1-36.821334 55.466667l-51.712 30.464a76.970667 76.970667 0 0 1-67.925333 4.906667l-35.328-14.336a17.066667 17.066667 0 0 0-21.077333 7.04L178.645333 381.738667a17.066667 17.066667 0 0 0 4.565334 22.528l33.066666 24.277333c19.541333 14.293333 31.018667 36.906667 31.018667 61.013333v44.885334c0 24.106667-11.52 46.72-31.018667 61.013333l-33.066666 24.277333a17.066667 17.066667 0 0 0-4.565334 22.528l49.066667 82.176a17.066667 17.066667 0 0 0 21.12 7.04l35.328-14.336a76.970667 76.970667 0 0 1 67.925333 4.906667l51.712 30.421333c20.224 11.946667 33.792 32.384 36.821334 55.509334l4.010666 30.506666a17.066667 17.066667 0 0 0 16.896 14.848h100.949334a17.066667 17.066667 0 0 0 16.896-14.848l4.010666-30.506666c2.986667-23.125333 16.597333-43.605333 36.821334-55.466667l51.712-30.464a76.970667 76.970667 0 0 1 67.925333-4.906667l35.328 14.336a17.066667 17.066667 0 0 0 21.077333-7.04l49.109334-82.176a17.066667 17.066667 0 0 0-4.565334-22.528l-33.066666-24.277333a75.648 75.648 0 0 1-31.018667-61.013333v-44.885334c0-24.106667 11.52-46.72 31.018667-61.013333l33.066666-24.277333a17.066667 17.066667 0 0 0 4.565334-22.528l-49.066667-82.176a17.066667 17.066667 0 0 0-21.12-7.04l-35.328 14.336c-22.186667 9.045333-47.317333 7.210667-67.925333-4.906667l-51.712-30.421333a75.818667 75.818667 0 0 1-36.821334-55.509334l-4.010666-30.506666A17.066667 17.066667 0 0 0 562.474667 170.666667h-100.949334a17.066667 17.066667 0 0 0-16.896 14.848l-4.010666 30.506666zM682.666667 512a42.666667 42.666667 0 0 1-85.333334 0 85.333333 85.333333 0 1 0-85.333333 85.333333 42.666667 42.666667 0 0 1 0 85.333334 170.666667 170.666667 0 1 1 170.666667-170.666667z" fill="#0f162b" p-id="17353"></path></svg>

Before

Width:  |  Height:  |  Size: 3.4 KiB

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 6l-12 12" /><path d="M6 6l12 12" /></svg>

After

Width:  |  Height:  |  Size: 236 B

+4 -2
View File
@@ -312,8 +312,10 @@ header {
#indicators {
@apply flex shrink-0 flex-row-reverse gap-5 md:gap-8;
/* Same hover language as .navigation-toggle and .cmdk-trigger: a scale
nudge, never a background plate. */
& span[data-indicator] {
@apply before:text-text size-5 cursor-pointer text-[0px] before:absolute before:size-5 before:bg-current;
@apply before:text-text size-5 cursor-pointer text-[0px] transition-transform duration-150 before:absolute before:size-5 before:bg-current hover:scale-105 active:scale-95;
&[data-indicator="media_error"] {
@apply before:[mask:url('@assets/icons/error.svg')_center/cover_no-repeat];
@@ -330,7 +332,7 @@ header {
}
&[data-indicator="uci-changes"] {
@apply relative before:[mask:url('@assets/icons/setting.svg')_center/cover_no-repeat];
@apply relative before:[mask:url('@assets/icons/settings.svg')_center/cover_no-repeat];
&[data-count]:not([data-count="0"]) {
@apply after:bg-danger after:text-on-brand after:absolute after:-top-0.5 after:-right-0.5 after:z-10 after:flex after:min-h-3 after:min-w-3 after:items-center after:justify-center after:rounded-full after:px-0.5 after:text-[8px] after:leading-none after:font-bold after:shadow-sm after:content-[attr(data-count)];
@@ -13,7 +13,10 @@
*/
.cmdk-trigger {
@apply text-text relative mr-4 grid size-8 shrink-0 cursor-pointer place-items-center rounded-lg border-0 bg-transparent p-0 shadow-none transition-colors duration-150;
/* Hover is a scale nudge with no plate behind it — the header's own
language, set by .navigation-toggle and shared with #indicators. The
size-8 box stays as the touch target; it just never paints. */
@apply text-text relative mr-4 grid size-8 shrink-0 cursor-pointer place-items-center rounded-lg border-0 bg-transparent p-0 shadow-none transition-transform duration-150;
/* Non-sidebar headers have no mr-auto crumb absorbing the slack — pull the
toggle right so it docks next to #indicators instead of landing in the
@@ -22,12 +25,20 @@
@apply ml-auto;
}
/* size-5 (not the button's own size): the same box #indicators gives its
glyphs, so the shared 24×24 Tabler canvas scales identically and the
search icon carries the same stroke weight as the poll/changes ones
sitting next to it. */
&::before {
@apply size-4.5 bg-current content-[''] [mask:url('@assets/icons/search.svg')_center/contain_no-repeat];
@apply size-5 bg-current content-[''] [mask:url('@assets/icons/search.svg')_center/contain_no-repeat];
}
&:hover {
@apply bg-hover-faint;
@apply scale-105;
}
&:active {
@apply scale-95;
}
&:focus-visible {
@@ -55,6 +66,24 @@
@apply text-text placeholder-text-subtle w-full min-w-0 flex-1 rounded-none border-0 bg-transparent p-0 text-base shadow-none focus:ring-0 focus:outline-none;
}
/* Shown only while the field holds a query: :placeholder-shown is true
exactly when the input is empty, so the state needs no JS mirror. */
& .cmdk-clear {
@apply text-text-subtle grid size-5 shrink-0 cursor-pointer place-items-center rounded-md border-0 bg-transparent p-0 shadow-none transition-colors duration-150;
&::before {
@apply size-4 bg-current content-[''] [mask:url('@assets/icons/x.svg')_center/contain_no-repeat];
}
&:hover {
@apply text-text;
}
.cmdk-input:placeholder-shown ~ & {
@apply hidden;
}
}
& .cmdk-cancel {
@apply text-brand hidden shrink-0 cursor-pointer border-0 bg-transparent p-1 text-sm shadow-none max-md:block;
}
@@ -592,12 +592,15 @@ return baseclass.extend({
},
buildPalette() {
// type=search gets WebKit's native clear button for free; the combobox
// type=text, not search: WebKit's search variant draws its own clear
// glyph at its own weight, which reads foreign next to the theme's
// Tabler set (and Firefox draws none at all) — .cmdk-clear below is the
// themed replacement, matching luci-theme-shadcn's palette. The combobox
// wiring (with role=option rows) is what makes arrow-key selection
// audible to screen readers — visually it's CSS-only .is-selected.
const input = E("input", {
class: "cmdk-input",
type: "search",
type: "text",
enterkeyhint: "go",
placeholder: _("Type to filter…"),
"aria-label": _("Type to filter…"),
@@ -613,6 +616,18 @@ return baseclass.extend({
id: "cmdk-list",
role: "listbox",
});
// Visibility is CSS-only (:placeholder-shown on the input), so nothing
// here has to mirror the query state.
const clear = E("button", {
class: "cmdk-clear",
type: "button",
"aria-label": _("Clear"),
});
clear.addEventListener("click", () => {
input.value = "";
this.renderPaletteResults("");
input.focus();
});
// Mobile-only exit (the full-screen takeover leaves no outside to tap
// and touch devices have no Escape) — hidden on md+ via CSS.
const cancel = E(
@@ -632,7 +647,7 @@ return baseclass.extend({
hidden: "",
},
[
E("div", { class: "cmdk-inputrow" }, [input, cancel]),
E("div", { class: "cmdk-inputrow" }, [input, clear, cancel]),
results,
E("div", { class: "cmdk-footer" }, [
E("kbd", {}, ["↑↓"]),
@@ -690,6 +705,7 @@ return baseclass.extend({
if (e.key !== "Tab") return;
const focusables = [
input,
clear,
...results.querySelectorAll("a"),
cancel,
].filter((el) => el.getClientRects().length);
+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.1.1
PKG_RELEASE:=51
PKG_VERSION:=1.1.2
PKG_RELEASE:=52
PKG_LICENSE:=Apache-2.0
LUCI_MINIFY_CSS:=
+1
View File
@@ -136,5 +136,6 @@ Thanks goes to these wonderful people:
- [luci-theme-bootstrap](https://github.com/openwrt/luci/tree/master/themes/luci-theme-bootstrap)
- [Vite](https://vitejs.dev/)
- [Tailwind CSS](https://tailwindcss.com/)
- [Tabler Icons](https://tabler.io/icons) — the interface icon set
- [Claude Code](https://claude.ai/code)
- [Apple](https://www.apple.com/) and [Vercel](https://vercel.com/) — design inspiration
+1
View File
@@ -137,5 +137,6 @@ Aurora 使用 **Vite** 与现代前端工具链构建,并尝试将 AI 融入
- [luci-theme-bootstrap](https://github.com/openwrt/luci/tree/master/themes/luci-theme-bootstrap)
- [Vite](https://vitejs.dev/)
- [Tailwind CSS](https://tailwindcss.com/)
- [Tabler Icons](https://tabler.io/icons) — 界面图标集
- [Claude Code](https://claude.ai/code)
- [Apple](https://www.apple.com/) 和 [Vercel](https://vercel.com/) — 设计灵感
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long