specsmd 0.1.66 → 0.1.69
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/README.md +11 -4
- package/bin/cli.js +14 -1
- package/lib/dashboard/web/extension-adapter.js +726 -0
- package/lib/dashboard/web/public/app.js +47 -0
- package/lib/dashboard/web/public/index.html +14 -0
- package/lib/dashboard/web/public/styles.css +66 -0
- package/lib/dashboard/web/public/webview-bundle.js +7903 -0
- package/lib/dashboard/web/server.js +376 -0
- package/lib/dashboard/web/snapshot.js +299 -0
- package/package.json +5 -2
- package/scripts/check-webview-bundle-sync.cjs +38 -0
- package/scripts/sync-webview-bundle.cjs +19 -0
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
(function () {
|
|
2
|
+
var themeKey = 'specsmd:webview-state';
|
|
3
|
+
|
|
4
|
+
function readTheme() {
|
|
5
|
+
try {
|
|
6
|
+
var stored = localStorage.getItem(themeKey);
|
|
7
|
+
if (stored === '"dark"' || stored === 'dark') {
|
|
8
|
+
return 'dark';
|
|
9
|
+
}
|
|
10
|
+
if (stored === '"light"' || stored === 'light') {
|
|
11
|
+
return 'light';
|
|
12
|
+
}
|
|
13
|
+
var parsed = JSON.parse(stored);
|
|
14
|
+
if (parsed === 'dark' || parsed === 'light') {
|
|
15
|
+
return parsed;
|
|
16
|
+
}
|
|
17
|
+
} catch (error) {
|
|
18
|
+
return 'dark';
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
return window.matchMedia && window.matchMedia('(prefers-color-scheme: light)').matches
|
|
22
|
+
? 'light'
|
|
23
|
+
: 'dark';
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
function applyTheme(theme) {
|
|
27
|
+
document.documentElement.dataset.theme = theme;
|
|
28
|
+
document.documentElement.style.colorScheme = theme;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
document.documentElement.dataset.host = 'dashboard-web';
|
|
32
|
+
applyTheme(readTheme());
|
|
33
|
+
|
|
34
|
+
window.addEventListener('storage', function (event) {
|
|
35
|
+
if (event.key !== themeKey) {
|
|
36
|
+
return;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
applyTheme(readTheme());
|
|
40
|
+
});
|
|
41
|
+
|
|
42
|
+
window.addEventListener('message', function (event) {
|
|
43
|
+
if (event.data && event.data.type === 'setData') {
|
|
44
|
+
document.documentElement.dataset.loaded = 'true';
|
|
45
|
+
}
|
|
46
|
+
});
|
|
47
|
+
}());
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
<!doctype html>
|
|
2
|
+
<html lang="en">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="utf-8">
|
|
5
|
+
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
6
|
+
<title>SpecsMD Dashboard</title>
|
|
7
|
+
<link rel="stylesheet" href="/styles.css">
|
|
8
|
+
</head>
|
|
9
|
+
<body>
|
|
10
|
+
<specsmd-app></specsmd-app>
|
|
11
|
+
<script src="/app.js"></script>
|
|
12
|
+
<script src="/webview-bundle.js"></script>
|
|
13
|
+
</body>
|
|
14
|
+
</html>
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
:root {
|
|
2
|
+
color-scheme: var(--specsmd-color-scheme, dark);
|
|
3
|
+
}
|
|
4
|
+
|
|
5
|
+
:root[data-theme="dark"] {
|
|
6
|
+
--vscode-font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
|
|
7
|
+
--vscode-font-size: 13px;
|
|
8
|
+
--vscode-foreground: #cccccc;
|
|
9
|
+
--vscode-descriptionForeground: #8b8b8b;
|
|
10
|
+
--vscode-sideBar-background: #252526;
|
|
11
|
+
--vscode-editor-background: #1e1e1e;
|
|
12
|
+
--vscode-sideBarSectionHeader-background: #2d2d30;
|
|
13
|
+
--vscode-sideBarSectionHeader-border: #454545;
|
|
14
|
+
--vscode-input-background: #3c3c3c;
|
|
15
|
+
--vscode-input-border: #3f3f46;
|
|
16
|
+
--vscode-list-hoverBackground: #2a2d2e;
|
|
17
|
+
--vscode-list-activeSelectionBackground: #094771;
|
|
18
|
+
--vscode-badge-background: #4d4d4d;
|
|
19
|
+
--vscode-badge-foreground: #ffffff;
|
|
20
|
+
--vscode-button-background: #0e639c;
|
|
21
|
+
--vscode-button-foreground: #ffffff;
|
|
22
|
+
--vscode-scrollbarSlider-background: #686868;
|
|
23
|
+
--specsmd-color-scheme: dark;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
:root[data-theme="light"] {
|
|
27
|
+
--vscode-font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
|
|
28
|
+
--vscode-font-size: 13px;
|
|
29
|
+
--vscode-foreground: #1f2328;
|
|
30
|
+
--vscode-descriptionForeground: #57606a;
|
|
31
|
+
--vscode-sideBar-background: #f6f8fa;
|
|
32
|
+
--vscode-editor-background: #ffffff;
|
|
33
|
+
--vscode-sideBarSectionHeader-background: #eef2f7;
|
|
34
|
+
--vscode-sideBarSectionHeader-border: #d0d7de;
|
|
35
|
+
--vscode-input-background: #ffffff;
|
|
36
|
+
--vscode-input-border: #d0d7de;
|
|
37
|
+
--vscode-list-hoverBackground: #eef2f7;
|
|
38
|
+
--vscode-list-activeSelectionBackground: #dbeafe;
|
|
39
|
+
--vscode-badge-background: #d0d7de;
|
|
40
|
+
--vscode-badge-foreground: #24292f;
|
|
41
|
+
--vscode-button-background: #0e639c;
|
|
42
|
+
--vscode-button-foreground: #ffffff;
|
|
43
|
+
--vscode-scrollbarSlider-background: #b6c2cf;
|
|
44
|
+
--specsmd-color-scheme: light;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
html,
|
|
48
|
+
body {
|
|
49
|
+
width: 100%;
|
|
50
|
+
height: 100%;
|
|
51
|
+
margin: 0;
|
|
52
|
+
overflow: hidden;
|
|
53
|
+
background: var(--vscode-sideBar-background);
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
body {
|
|
57
|
+
font-family: var(--vscode-font-family);
|
|
58
|
+
font-size: var(--vscode-font-size);
|
|
59
|
+
color: var(--vscode-foreground);
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
specsmd-app {
|
|
63
|
+
display: block;
|
|
64
|
+
width: 100vw;
|
|
65
|
+
height: 100vh;
|
|
66
|
+
}
|