@acedatacloud/nexior 3.109.0 → 3.110.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.html +61 -13
- package/package.json +1 -1
package/dist/index.html
CHANGED
|
@@ -72,14 +72,51 @@
|
|
|
72
72
|
rel="stylesheet"
|
|
73
73
|
href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap"
|
|
74
74
|
media="print"
|
|
75
|
-
onload="this.media='all'"
|
|
75
|
+
onload="this.media = 'all'"
|
|
76
76
|
/>
|
|
77
77
|
<noscript>
|
|
78
78
|
<link
|
|
79
79
|
rel="stylesheet"
|
|
80
80
|
href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap"
|
|
81
81
|
/>
|
|
82
|
-
</noscript>
|
|
82
|
+
</noscript>
|
|
83
|
+
<script>
|
|
84
|
+
// Resolve the user's chosen theme BEFORE first paint and toggle
|
|
85
|
+
// `html.dark` accordingly. Without this, users who picked dark mode
|
|
86
|
+
// (or fall through to Nexior's `dark` cookie default — see
|
|
87
|
+
// `src/utils/initializer.ts` `initializeTheme`) get a white-flash
|
|
88
|
+
// boot screen until the Vue app boots and re-applies the cookie.
|
|
89
|
+
// Mirrors the pattern used in PlatformFrontend's index.html.
|
|
90
|
+
(() => {
|
|
91
|
+
try {
|
|
92
|
+
const normalizeTheme = (value) => {
|
|
93
|
+
if (!value) return null;
|
|
94
|
+
const lower = String(value).trim().toLowerCase();
|
|
95
|
+
if (lower === 'dark') return 'dark';
|
|
96
|
+
if (lower === 'light') return 'light';
|
|
97
|
+
return null;
|
|
98
|
+
};
|
|
99
|
+
|
|
100
|
+
const query = new URLSearchParams(window.location.search);
|
|
101
|
+
const queryTheme = normalizeTheme(query.get('theme'));
|
|
102
|
+
const cookieMatch = document.cookie.match(/(?:^|;\s*)THEME=([^;]+)/);
|
|
103
|
+
const cookieTheme = normalizeTheme(cookieMatch ? decodeURIComponent(cookieMatch[1]) : null);
|
|
104
|
+
const localTheme = normalizeTheme(localStorage.getItem('vueuse-color-scheme'));
|
|
105
|
+
|
|
106
|
+
// Priority: query > cookie > localStorage > Nexior default (`dark`).
|
|
107
|
+
// We do NOT fall back to OS preference here, because Nexior's app-
|
|
108
|
+
// level `initializeTheme` defaults missing cookies to `dark`; if we
|
|
109
|
+
// honored the OS we'd flicker from light → dark on first boot for
|
|
110
|
+
// light-OS users.
|
|
111
|
+
const resolvedTheme = queryTheme || cookieTheme || localTheme || 'dark';
|
|
112
|
+
document.documentElement.classList.toggle('dark', resolvedTheme === 'dark');
|
|
113
|
+
document.documentElement.style.colorScheme = resolvedTheme === 'dark' ? 'dark' : 'light';
|
|
114
|
+
} catch (e) {
|
|
115
|
+
/* no-op */
|
|
116
|
+
}
|
|
117
|
+
})();
|
|
118
|
+
</script>
|
|
119
|
+
<script>
|
|
83
120
|
var _hmt = _hmt || [];
|
|
84
121
|
// Defer Baidu analytics so it never blocks initial paint or competes for
|
|
85
122
|
// bandwidth with the application bundle. `requestIdleCallback` lets the
|
|
@@ -107,19 +144,19 @@
|
|
|
107
144
|
--boot-spinner-1: #7c3aed;
|
|
108
145
|
--boot-spinner-2: #818cf8;
|
|
109
146
|
--boot-spinner-3: #a78bfa;
|
|
110
|
-
color-scheme: light;
|
|
111
147
|
}
|
|
112
148
|
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
149
|
+
/*
|
|
150
|
+
* Driven by the inline pre-paint theme script above (which sets
|
|
151
|
+
* `html.dark` from query/cookie/localStorage before first paint).
|
|
152
|
+
* Avoid `@media (prefers-color-scheme: dark)` here because Nexior's
|
|
153
|
+
* default cookie value is `dark` regardless of OS preference, and we
|
|
154
|
+
* don't want a light-OS user flashing white on every reload.
|
|
155
|
+
*/
|
|
156
|
+
html.dark {
|
|
157
|
+
--boot-bg: #000000;
|
|
158
|
+
--boot-fg: #ffffff;
|
|
159
|
+
--boot-muted: rgba(255, 255, 255, 0.65);
|
|
123
160
|
}
|
|
124
161
|
|
|
125
162
|
html,
|
|
@@ -191,6 +228,16 @@
|
|
|
191
228
|
}
|
|
192
229
|
}
|
|
193
230
|
|
|
231
|
+
.boot__title {
|
|
232
|
+
font-size: 14px;
|
|
233
|
+
letter-spacing: 0.24em;
|
|
234
|
+
text-transform: uppercase;
|
|
235
|
+
opacity: 0.92;
|
|
236
|
+
-webkit-user-select: none;
|
|
237
|
+
-moz-user-select: none;
|
|
238
|
+
user-select: none;
|
|
239
|
+
}
|
|
240
|
+
|
|
194
241
|
.boot__subtitle {
|
|
195
242
|
font-size: 12px;
|
|
196
243
|
color: var(--boot-muted);
|
|
@@ -218,6 +265,7 @@
|
|
|
218
265
|
<div class="boot" aria-label="Loading" role="status">
|
|
219
266
|
<div class="boot__content">
|
|
220
267
|
<div class="boot__loader" aria-hidden="true"></div>
|
|
268
|
+
<div class="boot__title">Ace Data Cloud</div>
|
|
221
269
|
<div class="boot__subtitle">Loading…</div>
|
|
222
270
|
</div>
|
|
223
271
|
</div>
|