cmdbox 0.5.1.2__py3-none-any.whl → 0.5.2__py3-none-any.whl

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.

Potentially problematic release.


This version of cmdbox might be problematic. Click here for more details.

Files changed (117) hide show
  1. cmdbox/app/app.py +4 -2
  2. cmdbox/app/auth/signin.py +633 -631
  3. cmdbox/app/client.py +10 -10
  4. cmdbox/app/common.py +50 -6
  5. cmdbox/app/commons/convert.py +9 -0
  6. cmdbox/app/commons/module.py +113 -113
  7. cmdbox/app/commons/redis_client.py +40 -29
  8. cmdbox/app/edge.py +4 -4
  9. cmdbox/app/features/cli/audit_base.py +135 -0
  10. cmdbox/app/features/cli/cmdbox_audit_createdb.py +224 -0
  11. cmdbox/app/features/cli/cmdbox_audit_delete.py +299 -0
  12. cmdbox/app/features/cli/cmdbox_audit_search.py +350 -0
  13. cmdbox/app/features/cli/cmdbox_audit_write.py +240 -0
  14. cmdbox/app/features/cli/cmdbox_client_file_copy.py +207 -207
  15. cmdbox/app/features/cli/cmdbox_client_file_download.py +207 -207
  16. cmdbox/app/features/cli/cmdbox_client_file_list.py +193 -193
  17. cmdbox/app/features/cli/cmdbox_client_file_mkdir.py +191 -191
  18. cmdbox/app/features/cli/cmdbox_client_file_move.py +199 -199
  19. cmdbox/app/features/cli/cmdbox_client_file_remove.py +190 -190
  20. cmdbox/app/features/cli/cmdbox_client_file_rmdir.py +190 -190
  21. cmdbox/app/features/cli/cmdbox_client_file_upload.py +212 -212
  22. cmdbox/app/features/cli/cmdbox_client_server_info.py +166 -166
  23. cmdbox/app/features/cli/cmdbox_server_list.py +88 -88
  24. cmdbox/app/features/cli/cmdbox_server_stop.py +138 -138
  25. cmdbox/app/features/web/cmdbox_web_del_cmd.py +2 -0
  26. cmdbox/app/features/web/cmdbox_web_del_pipe.py +1 -0
  27. cmdbox/app/features/web/cmdbox_web_do_signin.py +12 -2
  28. cmdbox/app/features/web/cmdbox_web_do_signout.py +1 -0
  29. cmdbox/app/features/web/cmdbox_web_exec_cmd.py +25 -1
  30. cmdbox/app/features/web/cmdbox_web_exec_pipe.py +1 -0
  31. cmdbox/app/features/web/cmdbox_web_filer download.py +43 -42
  32. cmdbox/app/features/web/cmdbox_web_filer.py +1 -0
  33. cmdbox/app/features/web/cmdbox_web_filer_upload.py +65 -64
  34. cmdbox/app/features/web/cmdbox_web_gui.py +166 -165
  35. cmdbox/app/features/web/cmdbox_web_load_pin.py +43 -43
  36. cmdbox/app/features/web/cmdbox_web_raw_pipe.py +87 -87
  37. cmdbox/app/features/web/cmdbox_web_save_cmd.py +1 -0
  38. cmdbox/app/features/web/cmdbox_web_save_pin.py +42 -42
  39. cmdbox/app/features/web/cmdbox_web_save_pipe.py +1 -0
  40. cmdbox/app/features/web/cmdbox_web_users.py +12 -0
  41. cmdbox/app/options.py +767 -601
  42. cmdbox/extensions/features.yml +20 -0
  43. cmdbox/extensions/sample_project/sample/app/features/cli/sample_client_time.py +82 -82
  44. cmdbox/extensions/sample_project/sample/app/features/cli/sample_server_time.py +145 -145
  45. cmdbox/licenses/{LICENSE.Sphinx.8.1.3(BSD License).txt → LICENSE.Sphinx.8.2.3(UNKNOWN).txt} +1 -1
  46. cmdbox/licenses/{LICENSE.babel.2.16.0(BSD License).txt → LICENSE.babel.2.17.0(BSD License).txt } +1 -1
  47. cmdbox/licenses/{LICENSE.pkginfo.1.10.0(MIT License).txt → LICENSE.charset-normalizer.3.4.1(MIT License).txt } +1 -1
  48. cmdbox/licenses/LICENSE.gunicorn.23.0.0(MIT License).txt +23 -0
  49. cmdbox/licenses/LICENSE.importlib_metadata.8.6.1(Apache Software License).txt +202 -0
  50. cmdbox/licenses/LICENSE.nh3.0.2.21(MIT).txt +21 -0
  51. cmdbox/licenses/{LICENSE.pillow.11.0.0(CMU License (MIT-CMU)).txt → LICENSE.pillow.11.1.0(CMU License (MIT-CMU)).txt } +27 -40
  52. cmdbox/licenses/LICENSE.plyer.2.1.0(MIT License).txt +19 -0
  53. cmdbox/licenses/LICENSE.prompt_toolkit.3.0.50(BSD License).txt +27 -0
  54. cmdbox/licenses/LICENSE.psycopg-binary.3.2.6(GNU Lesser General Public License v3 (LGPLv3)).txt +165 -0
  55. cmdbox/licenses/LICENSE.psycopg-pool.3.2.6(GNU Lesser General Public License v3 (LGPLv3)).txt +165 -0
  56. cmdbox/licenses/LICENSE.psycopg.3.2.6(GNU Lesser General Public License v3 (LGPLv3)).txt +165 -0
  57. cmdbox/licenses/LICENSE.pycryptodome.3.22.0(BSD License; Public Domain).txt +61 -0
  58. cmdbox/licenses/LICENSE.pystray.0.19.5(GNU Lesser General Public License v3 (LGPLv3)).txt +674 -0
  59. cmdbox/licenses/LICENSE.questionary.2.1.0(MIT License).txt +19 -0
  60. cmdbox/licenses/LICENSE.roman-numerals-py.3.1.0(CC0 1.0 Universal (CC0 1.0) Public Domain Dedication; Zero-Clause BSD (0BSD)).txt +146 -0
  61. cmdbox/licenses/{LICENSE.six.1.16.0(MIT License).txt → LICENSE.six.1.17.0(MIT License).txt } +1 -1
  62. cmdbox/licenses/{LICENSE.charset-normalizer.3.4.0(MIT License).txt → LICENSE.typing-inspection.0.4.0(MIT License).txt } +2 -2
  63. cmdbox/licenses/LICENSE.tzdata.2025.2(Apache Software License).txt +15 -0
  64. cmdbox/licenses/files.txt +48 -36
  65. cmdbox/logconf_audit.yml +30 -0
  66. cmdbox/logconf_cmdbox.yml +30 -0
  67. cmdbox/version.py +2 -2
  68. cmdbox/web/assets/cmdbox/color_mode.css +516 -0
  69. cmdbox/web/assets/cmdbox/common.js +19 -0
  70. cmdbox/web/assets/cmdbox/list_cmd.js +9 -10
  71. cmdbox/web/assets/cmdbox/main.js +2 -2
  72. cmdbox/web/assets/cmdbox/result.js +2 -2
  73. cmdbox/web/assets/cmdbox/signin.js +2 -2
  74. cmdbox/web/assets/cmdbox/users.js +2 -3
  75. cmdbox/web/assets/cmdbox/view_result.js +1 -1
  76. cmdbox/web/assets/filer/main.js +2 -2
  77. cmdbox/web/filer.html +16 -2
  78. cmdbox/web/gui.html +15 -1
  79. cmdbox/web/result.html +15 -1
  80. cmdbox/web/signin.html +35 -14
  81. cmdbox/web/users.html +15 -1
  82. {cmdbox-0.5.1.2.dist-info → cmdbox-0.5.2.dist-info}/METADATA +25 -5
  83. {cmdbox-0.5.1.2.dist-info → cmdbox-0.5.2.dist-info}/RECORD +116 -96
  84. {cmdbox-0.5.1.2.dist-info → cmdbox-0.5.2.dist-info}/entry_points.txt +0 -1
  85. cmdbox/licenses/LICENSE.nh3.0.2.18(MIT).txt +0 -1
  86. /cmdbox/licenses/{LICENSE.Jinja2.3.1.4(BSD License).txt → LICENSE.Jinja2.3.1.6(BSD License).txt} +0 -0
  87. /cmdbox/licenses/{LICENSE.Pygments.2.18.0(BSD License).txt → LICENSE.Pygments.2.19.1(BSD License).txt} +0 -0
  88. /cmdbox/licenses/{LICENSE.anyio.4.6.2.post1(MIT License).txt → LICENSE.anyio.4.9.0(MIT License).txt} +0 -0
  89. /cmdbox/licenses/{LICENSE.argcomplete.3.5.1(Apache Software License).txt → LICENSE.argcomplete.3.6.1(Apache Software License).txt} +0 -0
  90. /cmdbox/licenses/{LICENSE.certifi.2024.8.30(Mozilla Public License 2.0 (MPL 2.0)).txt → LICENSE.certifi.2025.1.31(Mozilla Public License 2.0 (MPL 2.0)).txt} +0 -0
  91. /cmdbox/licenses/{LICENSE.click.8.1.7(BSD License).txt → LICENSE.click.8.1.8(BSD License).txt} +0 -0
  92. /cmdbox/licenses/{LICENSE.cryptography.43.0.3(Apache Software License; BSD License).txt → LICENSE.cryptography.44.0.2(Apache Software License; BSD License).txt} +0 -0
  93. /cmdbox/licenses/{LICENSE.fastapi.0.115.5(MIT License).txt → LICENSE.fastapi.0.115.12(MIT License).txt} +0 -0
  94. /cmdbox/licenses/{LICENSE.importlib_metadata.8.5.0(Apache Software License).txt → LICENSE.id.1.5.0(Apache Software License).txt} +0 -0
  95. /cmdbox/licenses/{LICENSE.keyring.25.5.0(MIT License).txt → LICENSE.keyring.25.6.0(MIT License).txt} +0 -0
  96. /cmdbox/licenses/{LICENSE.more-itertools.10.5.0(MIT License).txt → LICENSE.more-itertools.10.6.0(MIT License).txt} +0 -0
  97. /cmdbox/licenses/{LICENSE.numpy.2.1.3(BSD License).txt → LICENSE.numpy.2.2.4(BSD License).txt} +0 -0
  98. /cmdbox/licenses/{LICENSE.prettytable.3.12.0(BSD License).txt → LICENSE.prettytable.3.16.0(UNKNOWN).txt} +0 -0
  99. /cmdbox/licenses/{LICENSE.pydantic.2.10.2(MIT License).txt → LICENSE.pydantic.2.11.1(MIT License).txt} +0 -0
  100. /cmdbox/licenses/{LICENSE.pydantic_core.2.27.1(MIT License).txt → LICENSE.pydantic_core.2.33.0(MIT License).txt} +0 -0
  101. /cmdbox/licenses/{LICENSE.python-dotenv.1.0.1(BSD License).txt → LICENSE.python-dotenv.1.1.0(BSD License).txt} +0 -0
  102. /cmdbox/licenses/{LICENSE.python-multipart.0.0.17(Apache Software License).txt → LICENSE.python-multipart.0.0.20(Apache Software License).txt} +0 -0
  103. /cmdbox/licenses/{LICENSE.redis.5.2.0(MIT License).txt → LICENSE.redis.5.2.1(MIT License).txt} +0 -0
  104. /cmdbox/licenses/{LICENSE.rich.13.9.4(MIT License).txt → LICENSE.rich.14.0.0(MIT License).txt} +0 -0
  105. /cmdbox/licenses/{LICENSE.sphinx-intl.2.3.0(BSD License).txt → LICENSE.sphinx-intl.2.3.1(BSD License).txt} +0 -0
  106. /cmdbox/licenses/{LICENSE.starlette.0.41.3(BSD License).txt → LICENSE.starlette.0.46.1(BSD License).txt} +0 -0
  107. /cmdbox/licenses/{LICENSE.tomli.2.1.0(MIT License).txt → LICENSE.tomli.2.2.1(MIT License).txt} +0 -0
  108. /cmdbox/licenses/{LICENSE.twine.5.1.1(Apache Software License).txt → LICENSE.twine.6.1.0(Apache Software License).txt} +0 -0
  109. /cmdbox/licenses/{LICENSE.typing_extensions.4.12.2(Python Software Foundation License).txt → LICENSE.typing_extensions.4.13.0(UNKNOWN).txt} +0 -0
  110. /cmdbox/licenses/{LICENSE.urllib3.2.2.3(MIT License).txt → LICENSE.urllib3.2.3.0(MIT License).txt} +0 -0
  111. /cmdbox/licenses/{LICENSE.uvicorn.0.32.1(BSD License).txt → LICENSE.uvicorn.0.34.0(BSD License).txt} +0 -0
  112. /cmdbox/licenses/{LICENSE.watchfiles.1.0.0(MIT License).txt → LICENSE.watchfiles.1.0.4(MIT License).txt} +0 -0
  113. /cmdbox/licenses/{LICENSE.websockets.14.1(BSD License).txt → LICENSE.websockets.15.0.1(BSD License).txt} +0 -0
  114. /cmdbox/licenses/{LICENSE.zope.interface.7.1.1(Zope Public License).txt → LICENSE.zope.interface.7.2(Zope Public License).txt} +0 -0
  115. {cmdbox-0.5.1.2.dist-info → cmdbox-0.5.2.dist-info}/LICENSE +0 -0
  116. {cmdbox-0.5.1.2.dist-info → cmdbox-0.5.2.dist-info}/WHEEL +0 -0
  117. {cmdbox-0.5.1.2.dist-info → cmdbox-0.5.2.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,516 @@
1
+ /* ライトモード (基本) - 必要に応じて調整 */
2
+ [data-bs-theme="light"] {
3
+ --bs-body-bg: #fff;
4
+ --bs-body-color: #212529;
5
+ --bs-body-font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
6
+ --bs-body-font-size: 1rem;
7
+ --bs-body-font-weight: 400;
8
+ --bs-body-line-height: 1.5;
9
+ --bs-body-text-align: left;
10
+ --bs-body-text-decoration: none;
11
+
12
+ --bs-emphasis-color: #000;
13
+ --bs-secondary-color: #6c757d;
14
+ --bs-secondary-bg: #e2e3e5;
15
+ --bs-tertiary-color: #6c757d;
16
+ --bs-tertiary-bg: #f8f9fa;
17
+ --bs-link-color: #0d6efd;
18
+ --bs-link-hover-color: #0a58ca;
19
+ --bs-code-color: #d63384;
20
+ --bs-highlight-bg: #fff3cd;
21
+ --bs-highlight-border-color: #ffeeba;
22
+
23
+ --bs-primary: #0d6efd;
24
+ --bs-primary-rgb: 13, 110, 253;
25
+ --bs-primary-text: #fff;
26
+ --bs-primary-bg-subtle: #cfe2ff;
27
+ --bs-primary-border-subtle: #b6d4fe;
28
+ --bs-secondary: #6c757d;
29
+ --bs-secondary-rgb: 108, 117, 125;
30
+ --bs-secondary-text: #fff;
31
+ --bs-secondary-bg-subtle: #e2e3e5;
32
+ --bs-secondary-border-subtle: #d3d6d8;
33
+ --bs-success: #198754;
34
+ --bs-success-rgb: 25, 135, 84;
35
+ --bs-success-text: #fff;
36
+ --bs-success-bg-subtle: #d1e7dd;
37
+ --bs-success-border-subtle: #badbcc;
38
+ --bs-info: #0dcaf0;
39
+ --bs-info-rgb: 13, 202, 240;
40
+ --bs-info-text: #000;
41
+ --bs-info-bg-subtle: #cff4fc;
42
+ --bs-info-border-subtle: #b6effb;
43
+ --bs-warning: #ffc107;
44
+ --bs-warning-rgb: 255, 193, 7;
45
+ --bs-warning-text: #000;
46
+ --bs-warning-bg-subtle: #fff3cd;
47
+ --bs-warning-border-subtle: #ffeeba;
48
+ --bs-danger: #dc3545;
49
+ --bs-danger-rgb: 220, 53, 69;
50
+ --bs-danger-text: #fff;
51
+ --bs-danger-bg-subtle: #f8d7da;
52
+ --bs-danger-border-subtle: #f5c2c7;
53
+ --bs-light: #f8f9fa;
54
+ --bs-light-rgb: 248, 249, 250;
55
+ --bs-light-text: #000;
56
+ --bs-light-bg-subtle: #fdfdfe;
57
+ --bs-light-border-subtle: #fcfcfd;
58
+ --bs-dark: #212529;
59
+ --bs-dark-rgb: 33, 37, 41;
60
+ --bs-dark-text: #fff;
61
+ --bs-dark-bg-subtle: #ced4da;
62
+ --bs-dark-border-subtle: #adb5bd;
63
+
64
+ --bs-white: #fff;
65
+ --bs-black: #000;
66
+ --bs-blue: #0d6efd;
67
+ --bs-indigo: #6610f2;
68
+ --bs-purple: #6f42c1;
69
+ --bs-pink: #d63384;
70
+ --bs-red: #dc3545;
71
+ --bs-orange: #fd7e14;
72
+ --bs-yellow: #ffc107;
73
+ --bs-green: #198754;
74
+ --bs-teal: #20c997;
75
+ --bs-cyan: #0dcaf0;
76
+ --bs-gray: #6c757d;
77
+ --bs-gray-dark: #343a40;
78
+
79
+ --bs-gradient: linear-gradient(180deg, rgba(0, 0, 0, 0.15), rgba(0, 0, 0, 0));
80
+
81
+ --bs-border-width: 1px;
82
+ --bs-border-style: solid;
83
+ --bs-border-color: #dee2e6;
84
+ --bs-border-color-translucent: rgba(0, 0, 0, 0.175);
85
+ --bs-border-radius: 0.375rem;
86
+ --bs-border-radius-sm: 0.25rem;
87
+ --bs-border-radius-lg: 0.5rem;
88
+ --bs-border-radius-pill: 50rem;
89
+
90
+ --bs-box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .15);
91
+ --bs-box-shadow-sm: 0 .125rem .25rem rgba(0, 0, 0, .075);
92
+ --bs-box-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, .175);
93
+ --bs-box-shadow-inset: inset 0 1px 2px rgba(0, 0, 0, .075);
94
+
95
+ --bs-component-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out, filter .15s ease-in-out, backdrop-filter .15s ease-in-out;
96
+ --bs-form-control-transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out;
97
+ --bs-button-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out;
98
+ --bs-modal-transition: transform .3s ease-out;
99
+ --bs-collapse-transition: height .35s ease;
100
+ --bs-dropdown-transition: transform .15s ease-in-out;
101
+ --bs-alert-transition: opacity .15s ease-in-out, margin .15s ease-in-out;
102
+ --bs-tooltip-transition: opacity .15s ease-in-out;
103
+ --bs-popover-transition: opacity .15s ease-in-out;
104
+ --bs-carousel-transition: transform .6s ease-in-out;
105
+ }
106
+
107
+ /* ダークモード - 必要に応じて調整 */
108
+ [data-bs-theme="dark"] {
109
+ --bs-body-bg: #212529;
110
+ --bs-body-color: #fff;
111
+ --bs-emphasis-color: #fff;
112
+ --bs-secondary-color: #6c757d;
113
+ --bs-secondary-bg: #343a40;
114
+ --bs-tertiary-color: #6c757d;
115
+ --bs-tertiary-bg: #212529;
116
+ --bs-link-color: #0d6efd;
117
+ --bs-link-hover-color: #0a58ca;
118
+ --bs-code-color: #d63384;
119
+ --bs-highlight-bg: #fff3cd;
120
+ --bs-highlight-border-color: #ffeeba;
121
+
122
+ --bs-primary: #0d6efd;
123
+ --bs-primary-rgb: 13, 110, 253;
124
+ --bs-primary-text: #fff;
125
+ --bs-primary-bg-subtle: #162e51;
126
+ --bs-primary-border-subtle: #0c1a30;
127
+ --bs-secondary: #6c757d;
128
+ --bs-secondary-rgb: 108, 117, 125;
129
+ --bs-secondary-text: #fff;
130
+ --bs-secondary-bg-subtle: #41464b;
131
+ --bs-secondary-border-subtle: #2b3035;
132
+ --bs-success: #198754;
133
+ --bs-success-rgb: 25, 135, 84;
134
+ --bs-success-text: #fff;
135
+ --bs-success-bg-subtle: #142b1e;
136
+ --bs-success-border-subtle: #0a1913;
137
+ --bs-info: #0dcaf0;
138
+ --bs-info-rgb: 13, 202, 240;
139
+ --bs-info-text: #000;
140
+ --bs-info-bg-subtle: #11303b;
141
+ --bs-info-border-subtle: #081c22;
142
+ --bs-warning: #ffc107;
143
+ --bs-warning-rgb: 255, 193, 7;
144
+ --bs-warning-text: #000;
145
+ --bs-warning-bg-subtle: #4d3b08;
146
+ --bs-warning-border-subtle: #302406;
147
+ --bs-danger: #dc3545;
148
+ --bs-danger-rgb: 220, 53, 69;
149
+ --bs-danger-text: #fff;
150
+ --bs-danger-bg-subtle: #361114;
151
+ --bs-danger-border-subtle: #1e0b0d;
152
+ --bs-light: #f8f9fa;
153
+ --bs-light-rgb: 248, 249, 250;
154
+ --bs-light-text: #000;
155
+ --bs-light-bg-subtle: #fdfdfe;
156
+ --bs-light-border-subtle: #fcfcfd;
157
+ --bs-dark: #212529;
158
+ --bs-dark-rgb: 33, 37, 41;
159
+ --bs-dark-text: #fff;
160
+ --bs-dark-bg-subtle: #ced4da;
161
+ --bs-dark-border-subtle: #adb5bd;
162
+
163
+ --bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));
164
+ --bs-border-color: #495057;
165
+ --bs-border-color-translucent: rgba(255, 255, 255, 0.15);
166
+ }
167
+
168
+ /* ミッドナイトモード */
169
+ [data-bs-theme="midnight"] {
170
+ --bs-body-bg: #1a233a; /* ダークネイビー */
171
+ --bs-body-color: #d7dbe8; /* ライトブルーグレー */
172
+ --bs-emphasis-color: #fff;
173
+ --bs-secondary-color: #283552; /* ディープネイビー */
174
+ --bs-secondary-bg: #131a2c;
175
+ --bs-tertiary-color: #546e7a; /* ブルーグレー */
176
+ --bs-tertiary-bg: #283552;
177
+ --bs-link-color: #64b5f6; /* ライトブルー */
178
+ --bs-link-hover-color: #42a5f5; /* ブルー */
179
+ --bs-code-color: #ffb300; /* アンバー */
180
+ --bs-highlight-bg: #25324e;
181
+ --bs-highlight-border-color: #1a233a;
182
+
183
+ --bs-primary: #64b5f6; /* ライトブルー */
184
+ --bs-primary-rgb: 100, 181, 246;
185
+ --bs-primary-text: #000;
186
+ --bs-primary-bg-subtle: #2d4263;
187
+ --bs-primary-border-subtle: #1e2b40;
188
+ --bs-secondary: #283552; /* ディープネイビー */
189
+ --bs-secondary-rgb: 40, 53, 82;
190
+ --bs-secondary-text: #fff;
191
+ --bs-secondary-bg-subtle: #141b2d;
192
+ --bs-secondary-border-subtle: #0d111f;
193
+ --bs-success: #66bb6a; /* ライトグリーン */
194
+ --bs-success-rgb: 102, 187, 106;
195
+ --bs-success-text: #000;
196
+ --bs-success-bg-subtle: #2a402e;
197
+ --bs-success-border-subtle: #1b291f;
198
+ --bs-info: #b0bec5; /* ブルーグレー */
199
+ --bs-info-rgb: 176, 190, 197;
200
+ --bs-info-text: #000;
201
+ --bs-info-bg-subtle: #32373a;
202
+ --bs-info-border-subtle: #212426;
203
+ --bs-warning: #ffca28; /* イエローアンバー */
204
+ --bs-warning-rgb: 255, 202, 40;
205
+ --bs-warning-text: #000;
206
+ --bs-warning-bg-subtle: #4d3e10;
207
+ --bs-warning-border-subtle: #332a0b;
208
+ --bs-danger: #ef5350; /* ライトレッド */
209
+ --bs-danger-rgb: 239, 83, 80;
210
+ --bs-danger-text: #fff;
211
+ --bs-danger-bg-subtle: #451e1d;
212
+ --bs-danger-border-subtle: #2e1312;
213
+ --bs-light: #e0e0e0; /* ライトグレー */
214
+ --bs-light-rgb: 224, 224, 224;
215
+ --bs-light-text: #000;
216
+ --bs-light-bg-subtle: #37474f;
217
+ --bs-light-border-subtle: #263238;
218
+ --bs-dark: #283552; /* ディープネイビー */
219
+ --bs-dark-rgb: 40, 53, 82;
220
+ --bs-dark-text: #fff;
221
+ --bs-dark-bg-subtle: #141b2d;
222
+ --bs-dark-border-subtle: #0d111f;
223
+
224
+ --bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));
225
+ --bs-border-width: 1px;
226
+ --bs-border-style: solid;
227
+ --bs-border-color: #37474f;
228
+ --bs-border-color-translucent: rgba(40, 53, 82, 1);
229
+
230
+ --bs-emphasis-color-rgb: var(--bs-card-title-color);
231
+ --bs-warning-text-emphasis: var(--bs-code-color);
232
+ --bs-body-color-rgb: var(--bs-body-color);
233
+ --bs-secondary-rgb: var(--bs-btn-color);
234
+ --bs-table-bg: var(--bs-tertiary-bg);
235
+ --bs-tertiary-bg-rgb: var(--bs-tertiary-bg);
236
+ }
237
+
238
+ /* バーダントモード */
239
+ [data-bs-theme="verdant"] {
240
+ --bs-body-bg: #001a00; /* 濃い緑 */
241
+ --bs-body-color: #90ee90; /* ライトグリーン */
242
+ --bs-emphasis-color: #00ff00; /* ライム */
243
+ --bs-secondary-color: #006400; /* ダークグリーン */
244
+ --bs-secondary-bg: #000d00;
245
+ --bs-tertiary-color: #228b22; /* フォレストグリーン */
246
+ --bs-tertiary-bg: #285235;
247
+ --bs-link-color: #32cd32; /* ライムグリーン */
248
+ --bs-link-hover-color: #008000; /* 緑 */
249
+ --bs-code-color: #fafad2; /* ライトゴールデンロッドイエロー */
250
+ --bs-highlight-bg: #003300;
251
+ --bs-highlight-border-color: #001a00;
252
+
253
+ --bs-primary: #32cd32; /* ライムグリーン */
254
+ --bs-primary-rgb: 50, 205, 50;
255
+ --bs-primary-text: #000;
256
+ --bs-primary-bg-subtle: #004d00;
257
+ --bs-primary-border-subtle: #003300;
258
+ --bs-secondary: #006400; /* ダークグリーン */
259
+ --bs-secondary-rgb: 0, 100, 0;
260
+ --bs-secondary-text: #fff;
261
+ --bs-secondary-bg-subtle: #001900;
262
+ --bs-secondary-border-subtle: #000d00;
263
+ --bs-success: #00ff00; /* ライム */
264
+ --bs-success-rgb: 0, 255, 0;
265
+ --bs-success-text: #000;
266
+ --bs-success-bg-subtle: #004d00;
267
+ --bs-success-border-subtle: #003300;
268
+ --bs-info: #4682b4; /* スティールブルー (コントラスト用) */
269
+ --bs-info-rgb: 70, 130, 180;
270
+ --bs-info-text: #fff;
271
+ --bs-info-bg-subtle: #0b141d;
272
+ --bs-info-border-subtle: #070c11;
273
+ --bs-warning: #ffd700; /* ゴールド (コントラスト用) */
274
+ --bs-warning-rgb: 255, 215, 0;
275
+ --bs-warning-text: #000;
276
+ --bs-warning-bg-subtle: #4d4300;
277
+ --bs-warning-border-subtle: #332b00;
278
+ --bs-danger: #ff4500; /* オレンジレッド (コントラスト用) */
279
+ --bs-danger-rgb: 255, 69, 0;
280
+ --bs-danger-text: #fff;
281
+ --bs-danger-bg-subtle: #4d1100;
282
+ --bs-danger-border-subtle: #330b00;
283
+ --bs-light: #003300; /* 濃い緑 */
284
+ --bs-light-rgb: 0, 51, 0;
285
+ --bs-light-text: #fff;
286
+ --bs-light-bg-subtle: #001a00;
287
+ --bs-light-border-subtle: #000d00;
288
+ --bs-dark: #006400; /* ダークグリーン */
289
+ --bs-dark-rgb: 0, 100, 0;
290
+ --bs-dark-text: #fff;
291
+ --bs-dark-bg-subtle: #001900;
292
+ --bs-dark-border-subtle: #000d00;
293
+
294
+ --bs-gradient: linear-gradient(180deg, rgba(0, 255, 0, 0.15), rgba(0, 255, 0, 0));
295
+ --bs-border-width: 1px;
296
+ --bs-border-style: solid;
297
+ --bs-border-color: #006400;
298
+ --bs-border-color-translucent: rgba(0, 100, 0, 1);
299
+
300
+ --bs-emphasis-color-rgb: var(--bs-card-title-color);
301
+ --bs-warning-text-emphasis: var(--bs-code-color);
302
+ --bs-body-color-rgb: var(--bs-body-color);
303
+ --bs-secondary-rgb: var(--bs-btn-color);
304
+ --bs-table-bg: var(--bs-tertiary-bg);
305
+ --bs-tertiary-bg-rgb: var(--bs-tertiary-bg);
306
+ }
307
+
308
+ /* ディープシーモード */
309
+ [data-bs-theme="deepsea"] {
310
+ --bs-body-bg: #0a1128; /* 濃いネイビー */
311
+ --bs-body-color: #a7bcd4; /* ライトブルーグレー */
312
+ --bs-emphasis-color: #fff;
313
+ --bs-secondary-color: #001f54; /* ディープブルー */
314
+ --bs-secondary-bg: #050b17;
315
+ --bs-tertiary-color: #415a77; /* スティールブルー */
316
+ --bs-tertiary-bg: #001f54;
317
+ --bs-link-color: #6a994e; /* オリーブグリーン */
318
+ --bs-link-hover-color: #386641; /* ダークオリーブグリーン */
319
+ --bs-code-color: #feca57; /* イエロー */
320
+ --bs-highlight-bg: #141d37;
321
+ --bs-highlight-border-color: #0a1128;
322
+
323
+ --bs-primary: #6a994e; /* オリーブグリーン */
324
+ --bs-primary-rgb: 106, 153, 78;
325
+ --bs-primary-text: #fff;
326
+ --bs-primary-bg-subtle: #2a3d1f;
327
+ --bs-primary-border-subtle: #1b2814;
328
+ --bs-secondary: #001f54; /* ディープブルー */
329
+ --bs-secondary-rgb: 0, 31, 84;
330
+ --bs-secondary-text: #fff;
331
+ --bs-secondary-bg-subtle: #000a1a;
332
+ --bs-secondary-border-subtle: #00060f;
333
+ --bs-success: #43aa8b; /* シーグリーン */
334
+ --bs-success-rgb: 67, 170, 139;
335
+ --bs-success-text: #fff;
336
+ --bs-success-bg-subtle: #1a372e;
337
+ --bs-success-border-subtle: #10251f;
338
+ --bs-info: #4cc9f0; /* シアン */
339
+ --bs-info-rgb: 76, 201, 240;
340
+ --bs-info-text: #000;
341
+ --bs-info-bg-subtle: #1d3845;
342
+ --bs-info-border-subtle: #13252f;
343
+ --bs-warning: #ffbe0b; /* アンバー */
344
+ --bs-warning-rgb: 255, 190, 11;
345
+ --bs-warning-text: #000;
346
+ --bs-warning-bg-subtle: #4d3b05;
347
+ --bs-warning-border-subtle: #332703;
348
+ --bs-danger: #f94144; /* レッドオレンジ */
349
+ --bs-danger-rgb: 249, 65, 68;
350
+ --bs-danger-text: #fff;
351
+ --bs-danger-bg-subtle: #4a191a;
352
+ --bs-danger-border-subtle: #301011;
353
+ --bs-light: #e9ecef; /* ライトグレー */
354
+ --bs-light-rgb: 233, 236, 239;
355
+ --bs-light-text: #000;
356
+ --bs-light-bg-subtle: #1e2533;
357
+ --bs-light-border-subtle: #131822;
358
+ --bs-dark: #001f54; /* ディープブルー */
359
+ --bs-dark-rgb: 0, 31, 84;
360
+ --bs-dark-text: #fff;
361
+ --bs-dark-bg-subtle: #000a1a;
362
+ --bs-dark-border-subtle: #00060f;
363
+
364
+ --bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0));
365
+ --bs-border-width: 1px;
366
+ --bs-border-style: solid;
367
+ --bs-border-color: #1e2533;
368
+ --bs-border-color-translucent: rgba(0, 31, 84, 1);
369
+
370
+ --bs-emphasis-color-rgb: var(--bs-card-title-color);
371
+ --bs-warning-text-emphasis: var(--bs-code-color);
372
+ --bs-body-color-rgb: var(--bs-body-color);
373
+ --bs-secondary-rgb: var(--bs-btn-color);
374
+ --bs-table-bg: var(--bs-tertiary-bg);
375
+ --bs-tertiary-bg-rgb: var(--bs-tertiary-bg);
376
+ }
377
+
378
+ /* クリムゾンモード */
379
+ [data-bs-theme="crimson"] {
380
+ --bs-body-bg: #1a0000; /* 濃いマルーン */
381
+ --bs-body-color: #f08080; /* ライトコーラル */
382
+ --bs-emphasis-color: #ff0000; /* 赤 */
383
+ --bs-secondary-color: #8b0000; /* ダークレッド */
384
+ --bs-secondary-bg: #0d0000;
385
+ --bs-tertiary-color: #b22222; /* ファイアブリック */
386
+ --bs-tertiary-bg: #522835;
387
+ --bs-link-color: #ff4d4d; /* 明るい赤 */
388
+ --bs-link-hover-color: #cc0000; /* より濃い赤 */
389
+ --bs-code-color: #ffdab9; /* ピーチパフ */
390
+ --bs-highlight-bg: #330000;
391
+ --bs-highlight-border-color: #1a0000;
392
+
393
+ --bs-primary: #ff4d4d; /* 明るい赤 */
394
+ --bs-primary-rgb: 255, 77, 77;
395
+ --bs-primary-text: #fff;
396
+ --bs-primary-bg-subtle: #4d0000;
397
+ --bs-primary-border-subtle: #330000;
398
+ --bs-secondary: #8b0000; /* ダークレッド */
399
+ --bs-secondary-rgb: 139, 0, 0;
400
+ --bs-secondary-text: #fff;
401
+ --bs-secondary-bg-subtle: #220000;
402
+ --bs-secondary-border-subtle: #140000;
403
+ --bs-success: #556b2f; /* ダークオリーブグリーン (コントラスト用) */
404
+ --bs-success-rgb: 85, 107, 47;
405
+ --bs-success-text: #fff;
406
+ --bs-success-bg-subtle: #11170b;
407
+ --bs-success-border-subtle: #0a0e07;
408
+ --bs-info: #4682b4; /* スティールブルー (コントラスト用) */
409
+ --bs-info-rgb: 70, 130, 180;
410
+ --bs-info-text: #fff;
411
+ --bs-info-bg-subtle: #0b141d;
412
+ --bs-info-border-subtle: #070c11;
413
+ --bs-warning: #ffa07a; /* ライトサーモン (コントラスト用) */
414
+ --bs-warning-rgb: 255, 160, 122;
415
+ --bs-warning-text: #000;
416
+ --bs-warning-bg-subtle: #4d2012;
417
+ --bs-warning-border-subtle: #33140b;
418
+ --bs-danger: #ff0000; /* 赤 */
419
+ --bs-danger-rgb: 255, 0, 0;
420
+ --bs-danger-text: #fff;
421
+ --bs-danger-bg-subtle: #4d0000;
422
+ --bs-danger-border-subtle: #330000;
423
+ --bs-light: #4d0000; /* 濃いマルーン */
424
+ --bs-light-rgb: 77, 0, 0;
425
+ --bs-light-text: #fff;
426
+ --bs-light-bg-subtle: #1a0000;
427
+ --bs-light-border-subtle: #0d0000;
428
+ --bs-dark: #8b0000; /* ダークレッド */
429
+ --bs-dark-rgb: 139, 0, 0;
430
+ --bs-dark-text: #fff;
431
+ --bs-dark-bg-subtle: #220000;
432
+ --bs-dark-border-subtle: #140000;
433
+
434
+ --bs-gradient: linear-gradient(180deg, rgba(255, 0, 0, 0.15), rgba(255, 0, 0, 0));
435
+ --bs-border-width: 1px;
436
+ --bs-border-style: solid;
437
+ --bs-border-color: #8b0000;
438
+ --bs-border-color-translucent: rgba(139, 0, 0, 1);
439
+
440
+ --bs-emphasis-color-rgb: var(--bs-card-title-color);
441
+ --bs-warning-text-emphasis: var(--bs-code-color);
442
+ --bs-body-color-rgb: var(--bs-body-color);
443
+ --bs-secondary-rgb: var(--bs-btn-color);
444
+ --bs-table-bg: var(--bs-tertiary-bg);
445
+ --bs-tertiary-bg-rgb: var(--bs-tertiary-bg);
446
+ }
447
+
448
+ /* バンブルビーモード */
449
+ [data-bs-theme="bumblebee"] {
450
+ --bs-body-bg: #1a1a00; /* 濃いオリーブ */
451
+ --bs-body-color: #ffff00; /* 黄 */
452
+ --bs-emphasis-color: #ffff00; /* 黄 */
453
+ --bs-secondary-color: #b8860b; /* ダークゴールデンロッド */
454
+ --bs-secondary-bg: #0d0d00;
455
+ --bs-tertiary-color: #ffd700; /* ゴールド */
456
+ --bs-tertiary-bg: #525235;
457
+ --bs-link-color: #ffcc00; /* 明るい黄 */
458
+ --bs-link-hover-color: #e6b800; /* より濃い黄 */
459
+ --bs-code-color: #f0f8ff; /* アリスブルー */
460
+ --bs-highlight-bg: #333300;
461
+ --bs-highlight-border-color: #1a1a00;
462
+
463
+ --bs-primary: #ffcc00; /* 明るい黄 */
464
+ --bs-primary-rgb: 255, 204, 0;
465
+ --bs-primary-text: #000;
466
+ --bs-primary-bg-subtle: #4d4000;
467
+ --bs-primary-border-subtle: #332b00;
468
+ --bs-secondary: #b8860b; /* ダークゴールデンロッド */
469
+ --bs-secondary-rgb: 184, 134, 11;
470
+ --bs-secondary-text: #000;
471
+ --bs-secondary-bg-subtle: #2e2103;
472
+ --bs-secondary-border-subtle: #1f1602;
473
+ --bs-success: #008000; /* 緑 (コントラスト用) */
474
+ --bs-success-rgb: 0, 128, 0;
475
+ --bs-success-text: #fff;
476
+ --bs-success-bg-subtle: #001900;
477
+ --bs-success-border-subtle: #000d00;
478
+ --bs-info: #008b8b; /* ダークシアン (コントラスト用) */
479
+ --bs-info-rgb: 0, 139, 139;
480
+ --bs-info-text: #fff;
481
+ --bs-info-bg-subtle: #001a1a;
482
+ --bs-info-border-subtle: #000d0d;
483
+ --bs-warning: #ffff00; /* 黄 */
484
+ --bs-warning-rgb: 255, 255, 0;
485
+ --bs-warning-text: #000;
486
+ --bs-warning-bg-subtle: #4d4d00;
487
+ --bs-warning-border-subtle: #333300;
488
+ --bs-danger: #ff4500; /* オレンジレッド (コントラスト用) */
489
+ --bs-danger-rgb: 255, 69, 0;
490
+ --bs-danger-text: #fff;
491
+ --bs-danger-bg-subtle: #4d1100;
492
+ --bs-danger-border-subtle: #330b00;
493
+ --bs-light: #333300; /* 濃いオリーブ */
494
+ --bs-light-rgb: 51, 51, 0;
495
+ --bs-light-text: #fff;
496
+ --bs-light-bg-subtle: #1a1a00;
497
+ --bs-light-border-subtle: #0d0d00;
498
+ --bs-dark: #b8860b; /* ダークゴールデンロッド */
499
+ --bs-dark-rgb: 184, 134, 11;
500
+ --bs-dark-text: #000;
501
+ --bs-dark-bg-subtle: #2e2103;
502
+ --bs-dark-border-subtle: #1f1602;
503
+
504
+ --bs-gradient: linear-gradient(180deg, rgba(255, 255, 0, 0.15), rgba(255, 255, 0, 0));
505
+ --bs-border-width: 1px;
506
+ --bs-border-style: solid;
507
+ --bs-border-color: #b8860b;
508
+ --bs-border-color-translucent: rgba(184, 134, 11, 1);
509
+
510
+ --bs-emphasis-color-rgb: var(--bs-card-title-color);
511
+ --bs-warning-text-emphasis: var(--bs-code-color);
512
+ --bs-body-color-rgb: var(--bs-body-color);
513
+ --bs-secondary-rgb: var(--bs-btn-color);
514
+ --bs-table-bg: var(--bs-tertiary-bg);
515
+ --bs-tertiary-bg-rgb: var(--bs-tertiary-bg);
516
+ }
@@ -10,6 +10,25 @@ cmdbox.change_dark_mode = (dark_mode) => {
10
10
  else html.attr('data-bs-theme','dark');
11
11
  $('body').css('background-color', '');
12
12
  };
13
+ cmdbox.change_color_mode = (color_mode) => {
14
+ const html = $('html');
15
+ color_mode = !color_mode ? localStorage.getItem('color_mode') : color_mode;
16
+ if(color_mode == 'light') html.attr('data-bs-theme','light');
17
+ else if(color_mode == 'midnight') html.attr('data-bs-theme','midnight');
18
+ else if(color_mode == 'deepsea') html.attr('data-bs-theme','deepsea');
19
+ else if(color_mode == 'verdant') html.attr('data-bs-theme','verdant');
20
+ else if(color_mode == 'bumblebee') html.attr('data-bs-theme','bumblebee');
21
+ else if(color_mode == 'crimson') html.attr('data-bs-theme','crimson');
22
+ else html.attr('data-bs-theme','dark');
23
+ localStorage.setItem('color_mode', color_mode);
24
+ if (color_mode) {
25
+ const elem = $('.change_color_mode');
26
+ elem.val(color_mode);
27
+ elem.css('background-color', 'var(--bs-body-bg)');
28
+ elem.css('color', 'var(--bs-body-color)');
29
+ }
30
+ $('body').css('background-color', '');
31
+ };
13
32
  /**
14
33
  * ローディング表示
15
34
  */
@@ -93,13 +93,14 @@ const list_cmd_func = async () => {
93
93
  };
94
94
  // タグボタンを追加
95
95
  py_list_cmd.forEach(row => {
96
+ // タグボタンを追加
96
97
  if (!row.tag || !Array.isArray(row.tag)) return;
97
98
  row.tag.forEach(tag => {
98
99
  if (tag=='') return;
99
100
  if (cmd_item_tags.find(`[data-tag="${tag}"]`).length > 0) return;
100
- const elem = $(`<button type="button" class="btn btn-outline-secondary btn-sm btn-tag me-2">${tag}</button>`);
101
+ const elem = $(`<button type="button" class="btn btn-outline-secondary btn-sm btn-tag me-2">` +
102
+ `<svg class="bi svg-tag" width="16" height="16" fill="currentColor"><use href="#svg_tag"></use></svg>${tag}</button>`);
101
103
  elem.attr('data-tag', tag);
102
- elem.text(tag);
103
104
  elem.click(tag_bot_click);
104
105
  cmd_item_tags.append(elem);
105
106
  });
@@ -176,6 +177,8 @@ const list_cmd_func_then = () => {
176
177
  if (next_elem) next_elem.after(elem);
177
178
  else row_content.append(elem);
178
179
  input_elem = elem.find('.row_content_template_input');
180
+ if(row.type=='date') input_elem.attr('type', 'date');
181
+ else if(row.type=='datetime') input_elem.attr('type', 'datetime-local');
179
182
  input_elem.removeClass('row_content_template_input');
180
183
  input_elem.val(row.default);
181
184
  }
@@ -265,9 +268,7 @@ const list_cmd_func_then = () => {
265
268
  // マルチの場合は追加ボタンを追加
266
269
  if(row.multi){
267
270
  const btn_a = $('<button class="btn btn-secondary add_buton" type="button"></button>');
268
- btn_a.append('<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-plus" viewBox="0 0 16 16">'
269
- +'<path d="M8 4a.5.5 0 0 1 .5.5v3h3a.5.5 0 0 1 0 1h-3v3a.5.5 0 0 1-1 0v-3h-3a.5.5 0 0 1 0-1h3v-3A.5.5 0 0 1 8 4z"/>'
270
- +'</svg>');
271
+ btn_a.append('<svg class="bi bi-plus" width="16" height="16" fill="currentColor"><use href="#btn_plus"></use></svg>');
271
272
  input_elem.parent().append(btn_a);
272
273
  let mk_func = (row, next_elem) => {
273
274
  // row, next_elemの値を残すためにクロージャーにする
@@ -286,10 +287,8 @@ const list_cmd_func_then = () => {
286
287
  return () => del_elem.remove();
287
288
  }
288
289
  const btn_t = $('<button class="btn btn-secondary" type="button"></button>');
289
- btn_t.append('<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-trash" viewBox="0 0 16 16">'
290
- +'<path d="M5.5 5.5A.5.5 0 0 1 6 6v6a.5.5 0 0 1-1 0V6a.5.5 0 0 1 .5-.5zm2.5 0a.5.5 0 0 1 .5.5v6a.5.5 0 0 1-1 0V6a.5.5 0 0 1 .5-.5zm3 .5a.5.5 0 0 0-1 0v6a.5.5 0 0 0 1 0V6z"/>'
291
- +'<path fill-rule="evenodd" d="M14.5 3a1 1 0 0 1-1 1H13v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V4h-.5a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1H6a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1h3.5a1 1 0 0 1 1 1v1zM4.118 4 4 4.059V13a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1V4.059L11.882 4H4.118zM2.5 3V2h11v1h-11z"/>'
292
- +'</svg>');
290
+ btn_trash
291
+ btn_t.append('<svg class="bi bi-trash" width="16" height="16" fill="currentColor"><use href="#btn_trash"></use></svg>');
293
292
  input_elem.parent().append(btn_t);
294
293
  btn_t.click(mk_func(input_elem.parent().parent(), row));
295
294
  }
@@ -572,7 +571,7 @@ const get_param = (modal_elem) => {
572
571
  $(elem).addClass('is-valid');
573
572
  }
574
573
  } else if (data_type=='bool') {
575
- if(data_val!='true' && data_val!='false') $(elem).addClass('is-invalid');
574
+ if(data_val!='true' && data_val!='false' && !$(elem).prop('disabled')) $(elem).addClass('is-invalid');
576
575
  else {
577
576
  data_val = data_val=='true';
578
577
  $(elem).removeClass('is-invalid');
@@ -1,6 +1,6 @@
1
1
  $(() => {
2
- // ダークモード対応
3
- cmdbox.change_dark_mode(window.matchMedia('(prefers-color-scheme: dark)').matches);
2
+ // カラーモード対応
3
+ cmdbox.change_color_mode();
4
4
  // コマンド一覧の取得と表示
5
5
  list_cmd_func().then(list_cmd_func_then);
6
6
  // コマンド一覧の検索
@@ -1,6 +1,6 @@
1
1
  $(() => {
2
- // ダークモード対応
3
- cmdbox.change_dark_mode(window.matchMedia('(prefers-color-scheme: dark)').matches);
2
+ // カラーモード対応
3
+ cmdbox.change_color_mode();
4
4
  // アイコンを表示
5
5
  cmdbox.set_logoicon('.navbar-brand');
6
6
  // copyright表示
@@ -1,6 +1,6 @@
1
1
  $(() => {
2
- // ダークモード対応
3
- cmdbox.change_dark_mode(window.matchMedia('(prefers-color-scheme: dark)').matches);
2
+ // カラーモード対応
3
+ cmdbox.change_color_mode();
4
4
 
5
5
  $('.theme-item').off('click').on('click', (event) => {
6
6
  $('.theme-item').removeClass('active');
@@ -552,9 +552,8 @@ users.passsetting_list = async () => {
552
552
  mk_card(passsetting_elem, 'Account Lockout', passsetting_root_data['lockout']);
553
553
  };
554
554
  $(() => {
555
- // ダークモード対応
556
- cmdbox.change_dark_mode(window.matchMedia('(prefers-color-scheme: dark)').matches);
557
-
555
+ // カラーモード対応
556
+ cmdbox.change_color_mode();
558
557
  // アイコンを表示
559
558
  cmdbox.set_logoicon('.navbar-brand');
560
559
  // copyright表示
@@ -24,7 +24,7 @@ const render_result_func = (target_elem, result, res_size) => {
24
24
  if (!result || Array.isArray(result) && result.length<=0) return;
25
25
  const mk_table_func = () => {
26
26
  const table = $('<table class="table table-bordered table-hover table-sm"></table>');
27
- const table_head = $('<thead class="table-dark bg-dark"></thead>');
27
+ const table_head = $('<thead></thead>');
28
28
  const table_body = $('<tbody></tbody>');
29
29
  table.append(table_head);
30
30
  table.append(table_body);
@@ -1,6 +1,6 @@
1
1
  $(() => {
2
- // ダークモード対応
3
- cmdbox.change_dark_mode(window.matchMedia('(prefers-color-scheme: dark)').matches);
2
+ // カラーモード対応
3
+ cmdbox.change_color_mode();
4
4
  // スプリッター初期化
5
5
  $('.split-pane').splitPane();
6
6
  // アイコンを表示