perf(assets): bundle theme CSS into one hashed bundle
The 3 theme stylesheets were separate raw entries in both app_include_css and web_include_css — 3 lines each in the preload header (edge proxy has a ~4 KB buffer; overflow → 502) and hashless /assets paths under nginx's 1-year cache. Merged into jey_theme.bundle.css (order preserved: shared → theme_chrome → theme_modern); 3 → 1, now hashed → automatic cache-busting. JS left as-is (theme logic, kept out of scope). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
712d54b6e7
commit
2e03ec2e91
|
|
@ -11,9 +11,7 @@ app_license = "unlicense"
|
||||||
|
|
||||||
# include js, css files in header of desk.html
|
# include js, css files in header of desk.html
|
||||||
app_include_css = [
|
app_include_css = [
|
||||||
"/assets/jey_theme/css/shared.css",
|
"jey_theme.bundle.css",
|
||||||
"/assets/jey_theme/css/theme_chrome.css",
|
|
||||||
"/assets/jey_theme/css/theme_modern.css",
|
|
||||||
]
|
]
|
||||||
|
|
||||||
app_include_js = "/assets/jey_theme/js/jey_theme.js"
|
app_include_js = "/assets/jey_theme/js/jey_theme.js"
|
||||||
|
|
@ -55,9 +53,7 @@ after_migrate = [
|
||||||
|
|
||||||
# include js, css files in header of web template
|
# include js, css files in header of web template
|
||||||
web_include_css = [
|
web_include_css = [
|
||||||
"/assets/jey_theme/css/shared.css",
|
"jey_theme.bundle.css",
|
||||||
"/assets/jey_theme/css/theme_chrome.css",
|
|
||||||
"/assets/jey_theme/css/theme_modern.css",
|
|
||||||
]
|
]
|
||||||
|
|
||||||
web_include_js = "/assets/jey_theme/js/jey_theme.js"
|
web_include_js = "/assets/jey_theme/js/jey_theme.js"
|
||||||
|
|
|
||||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
|
@ -1,69 +0,0 @@
|
||||||
/* ==========================================================================
|
|
||||||
THEME: Modern [data-jey-theme="modern"]
|
|
||||||
Frosted glass rounded squares with indigo accents.
|
|
||||||
========================================================================== */
|
|
||||||
|
|
||||||
@keyframes jey-modern-glow {
|
|
||||||
0%, 100% { opacity: 0.4; }
|
|
||||||
50% { opacity: 0.7; }
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Outer shell — frosted glass rounded square */
|
|
||||||
[data-jey-theme="modern"] .jey-chrome {
|
|
||||||
width: 72px; height: 72px; border-radius: 22px; position: relative;
|
|
||||||
background: rgba(255, 255, 255, 0.45);
|
|
||||||
backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px);
|
|
||||||
border: 1px solid rgba(255, 255, 255, 0.6);
|
|
||||||
box-shadow: 0 4px 16px rgba(0,0,0,0.06), 0 1px 3px rgba(0,0,0,0.04), inset 0 1px 0 rgba(255,255,255,0.8);
|
|
||||||
transition: all 0.3s ease;
|
|
||||||
}
|
|
||||||
|
|
||||||
[data-jey-theme="modern"] .desktop-icon:hover .jey-chrome {
|
|
||||||
box-shadow: 0 8px 24px rgba(0,0,0,0.1), 0 2px 6px rgba(0,0,0,0.06), inset 0 1px 0 rgba(255,255,255,0.9);
|
|
||||||
transform: translateY(-2px);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Hide chrome ring layers */
|
|
||||||
[data-jey-theme="modern"] .jey-chrome-ring,
|
|
||||||
[data-jey-theme="modern"] .jey-chrome-gap,
|
|
||||||
[data-jey-theme="modern"] .jey-chrome-ring-inner {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Face fills rounded square */
|
|
||||||
[data-jey-theme="modern"] .jey-chrome-face {
|
|
||||||
position: absolute; inset: 0; border-radius: 22px; overflow: hidden;
|
|
||||||
background: transparent; box-shadow: none;
|
|
||||||
display: flex; align-items: center; justify-content: center;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Bottom glow accent */
|
|
||||||
[data-jey-theme="modern"] .jey-face-glow {
|
|
||||||
position: absolute; bottom: -4px; left: 16px; right: 16px; height: 20px;
|
|
||||||
border-radius: 50%;
|
|
||||||
background: radial-gradient(ellipse, rgba(99, 102, 241, 0.35) 0%, transparent 70%);
|
|
||||||
animation: jey-modern-glow 4s ease-in-out infinite;
|
|
||||||
pointer-events: none; z-index: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Top glass highlight */
|
|
||||||
[data-jey-theme="modern"] .jey-face-reflection {
|
|
||||||
position: absolute; top: 0; left: 0; right: 0; height: 50%;
|
|
||||||
border-radius: 22px 22px 0 0;
|
|
||||||
background: linear-gradient(180deg, rgba(255,255,255,0.5) 0%, transparent 100%);
|
|
||||||
pointer-events: none; z-index: 1; animation: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Icon — indigo accent */
|
|
||||||
[data-jey-theme="modern"] .jey-chrome-face .jey-icon {
|
|
||||||
width: 26px !important; height: 26px !important;
|
|
||||||
stroke: #4f46e5 !important; fill: none !important;
|
|
||||||
stroke-width: 1.6 !important; stroke-linecap: round !important; stroke-linejoin: round !important;
|
|
||||||
filter: drop-shadow(0 1px 2px rgba(79, 70, 229, 0.2)) !important;
|
|
||||||
position: relative; z-index: 2;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Rounded square container */
|
|
||||||
[data-jey-theme="modern"] .icon-container.jey-chrome-done {
|
|
||||||
border-radius: 22px !important;
|
|
||||||
}
|
|
||||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
Loading…
Reference in New Issue