@zjy4fun/json-open 0.3.5 → 0.3.6

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/index.html CHANGED
@@ -652,10 +652,7 @@
652
652
  <span id="status-size" style="margin-left:auto"></span>
653
653
  </div>
654
654
 
655
- <script src="./web/theme-preference.js"></script>
656
655
  <script>
657
- var resolveInitialTheme = window.JsonOpenThemePreference.resolveInitialTheme
658
-
659
656
  // ===== Utility =====
660
657
  function escapeHtml(str) {
661
658
  return str
@@ -1154,10 +1151,9 @@
1154
1151
  }
1155
1152
  }
1156
1153
 
1157
- var saved = localStorage.getItem('json-open-theme')
1158
- var systemPrefersDark = window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches
1159
- var initialTheme = resolveInitialTheme({ savedTheme: saved, systemPrefersDark: systemPrefersDark })
1160
- applyTheme(initialTheme)
1154
+ // Load saved preference, default to dark
1155
+ var saved = localStorage.getItem('json-open-theme') || 'dark'
1156
+ applyTheme(saved)
1161
1157
 
1162
1158
  themeBtn.addEventListener('click', function () {
1163
1159
  var isLight = root.classList.contains('light')
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zjy4fun/json-open",
3
- "version": "0.3.5",
3
+ "version": "0.3.6",
4
4
  "description": "JSON Formatter — A fast, zero-dependency JSON formatter & viewer (CLI + Web)",
5
5
  "type": "module",
6
6
  "bin": {
@@ -1,22 +0,0 @@
1
- import test from 'node:test'
2
- import assert from 'node:assert/strict'
3
-
4
- import { resolveInitialTheme } from '../web/theme-preference.js'
5
-
6
- test('uses saved theme when localStorage has a valid value', () => {
7
- assert.equal(resolveInitialTheme({ savedTheme: 'light', systemPrefersDark: true }), 'light')
8
- assert.equal(resolveInitialTheme({ savedTheme: 'dark', systemPrefersDark: false }), 'dark')
9
- })
10
-
11
- test('falls back to browser dark preference when no saved theme exists', () => {
12
- assert.equal(resolveInitialTheme({ savedTheme: null, systemPrefersDark: true }), 'dark')
13
- })
14
-
15
- test('falls back to browser light preference when no saved theme exists', () => {
16
- assert.equal(resolveInitialTheme({ savedTheme: null, systemPrefersDark: false }), 'light')
17
- })
18
-
19
- test('ignores invalid saved values and uses browser preference instead', () => {
20
- assert.equal(resolveInitialTheme({ savedTheme: 'system', systemPrefersDark: true }), 'dark')
21
- assert.equal(resolveInitialTheme({ savedTheme: 'auto', systemPrefersDark: false }), 'light')
22
- })
@@ -1,13 +0,0 @@
1
- function resolveInitialTheme({ savedTheme, systemPrefersDark }) {
2
- if (savedTheme === 'light' || savedTheme === 'dark') {
3
- return savedTheme
4
- }
5
-
6
- return systemPrefersDark ? 'dark' : 'light'
7
- }
8
-
9
- if (typeof window !== 'undefined') {
10
- window.JsonOpenThemePreference = { resolveInitialTheme }
11
- }
12
-
13
- export { resolveInitialTheme }