pinokiod 3.90.0 → 3.92.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/package.json +1 -1
- package/server/public/common.js +38 -0
- package/server/public/style.css +1 -1
- package/server/views/app.ejs +2 -0
- package/server/views/pro.ejs +1 -1
- package/server/views/shell.ejs +4 -4
package/package.json
CHANGED
package/server/public/common.js
CHANGED
|
@@ -29,6 +29,43 @@ async function uploadCapture(blob, filename) {
|
|
|
29
29
|
}
|
|
30
30
|
|
|
31
31
|
class ScreenCaptureModal {
|
|
32
|
+
static ensureSavedModalStyles() {
|
|
33
|
+
if (document.querySelector('link[href="/urldropdown.css"]')) {
|
|
34
|
+
return;
|
|
35
|
+
}
|
|
36
|
+
if (document.querySelector('style[data-capture-modal-styles="true"]')) {
|
|
37
|
+
return;
|
|
38
|
+
}
|
|
39
|
+
const style = document.createElement('style');
|
|
40
|
+
style.type = 'text/css';
|
|
41
|
+
style.dataset.captureModalStyles = 'true';
|
|
42
|
+
style.textContent = `
|
|
43
|
+
.modal-overlay{position:fixed;inset:0;padding:24px;display:flex;align-items:center;justify-content:center;z-index:9999;opacity:0;visibility:hidden;pointer-events:none;transition:opacity 160ms ease,visibility 0s linear 160ms;}
|
|
44
|
+
.modal-overlay.is-visible{opacity:1;visibility:visible;pointer-events:auto;transition-delay:0s;}
|
|
45
|
+
@media (prefers-reduced-motion: reduce){.modal-overlay{transition:none;}.capture-modal{animation:none;}}
|
|
46
|
+
.capture-modal-overlay{background:rgba(15,23,42,0.45);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);}
|
|
47
|
+
.capture-modal{width:min(360px,calc(100% - 32px));padding:28px 26px;border-radius:18px;background:rgba(255,255,255,0.92);border:1px solid rgba(15,23,42,0.08);box-shadow:0 30px 80px rgba(15,23,42,0.35);display:flex;flex-direction:column;gap:18px;text-align:center;}
|
|
48
|
+
body.dark .capture-modal{background:rgba(15,23,42,0.9);border-color:rgba(148,163,184,0.24);color:rgba(226,232,240,0.96);box-shadow:0 34px 88px rgba(2,6,20,0.82);}
|
|
49
|
+
.capture-modal-title{font-size:20px;font-weight:600;letter-spacing:-0.01em;color:rgba(15,23,42,0.92);}
|
|
50
|
+
body.dark .capture-modal-title{color:inherit;}
|
|
51
|
+
.capture-modal-description{font-size:14px;line-height:1.5;color:rgba(71,85,105,0.82);}
|
|
52
|
+
body.dark .capture-modal-description{color:rgba(203,213,225,0.88);}
|
|
53
|
+
.capture-modal-actions{display:flex;justify-content:center;gap:12px;}
|
|
54
|
+
.capture-modal-button{padding:10px 20px;border-radius:999px;border:1px solid transparent;font-size:14px;font-weight:600;cursor:pointer;transition:background 0.18s ease,color 0.18s ease,box-shadow 0.18s ease,transform 0.12s ease;}
|
|
55
|
+
.capture-modal-button.primary{background:linear-gradient(135deg,rgba(127,91,243,0.95),rgba(84,63,196,0.95));color:#fff;box-shadow:0 16px 36px rgba(111,76,242,0.3);}
|
|
56
|
+
.capture-modal-button.primary:hover{box-shadow:0 20px 42px rgba(111,76,242,0.38);transform:translateY(-1px);}
|
|
57
|
+
.capture-modal-button.secondary{background:rgba(148,163,184,0.18);color:rgba(15,23,42,0.78);}
|
|
58
|
+
.capture-modal-button.secondary:hover{background:rgba(148,163,184,0.28);box-shadow:0 12px 28px rgba(15,23,42,0.12);}
|
|
59
|
+
body.dark .capture-modal-button.secondary{background:rgba(148,163,184,0.2);color:rgba(226,232,240,0.92);}
|
|
60
|
+
.capture-modal-button:active{transform:translateY(1px);}
|
|
61
|
+
.capture-modal-button:focus-visible{outline:2px solid rgba(127,91,243,0.8);outline-offset:2px;}
|
|
62
|
+
.modal-overlay.is-visible .capture-modal{animation:captureModalPop 160ms ease-out;}
|
|
63
|
+
@media (max-width: 640px){.modal-overlay{padding:16px;}.capture-modal{width:calc(100% - 24px);padding:24px 20px;}.capture-modal-actions{flex-direction:column;}.capture-modal-button{width:100%;}}
|
|
64
|
+
@keyframes captureModalPop{from{opacity:0;transform:scale(0.97) translateY(12px);}to{opacity:1;transform:scale(1) translateY(0);}}
|
|
65
|
+
`;
|
|
66
|
+
document.head.appendChild(style);
|
|
67
|
+
}
|
|
68
|
+
|
|
32
69
|
constructor(stream = null, opts = {}) {
|
|
33
70
|
this.stream = stream;
|
|
34
71
|
this.opts = opts;
|
|
@@ -1128,6 +1165,7 @@ class ScreenCaptureModal {
|
|
|
1128
1165
|
}
|
|
1129
1166
|
|
|
1130
1167
|
showCaptureSavedModal(kind) {
|
|
1168
|
+
this.constructor.ensureSavedModalStyles();
|
|
1131
1169
|
const overlay = document.createElement('div');
|
|
1132
1170
|
overlay.className = 'modal-overlay capture-modal-overlay';
|
|
1133
1171
|
|
package/server/public/style.css
CHANGED
package/server/views/app.ejs
CHANGED
package/server/views/pro.ejs
CHANGED
package/server/views/shell.ejs
CHANGED
|
@@ -163,7 +163,7 @@ body.frozen {
|
|
|
163
163
|
#status-window {
|
|
164
164
|
display: flex;
|
|
165
165
|
align-items: center;
|
|
166
|
-
font-size:
|
|
166
|
+
font-size: 12px;
|
|
167
167
|
/*
|
|
168
168
|
flex-grow: 1;
|
|
169
169
|
text-align: right;
|
|
@@ -1112,9 +1112,9 @@ document.addEventListener("DOMContentLoaded", async () => {
|
|
|
1112
1112
|
<% if (target === "_top") { %>
|
|
1113
1113
|
<header class='navheader grabbable'>
|
|
1114
1114
|
<% } else { %>
|
|
1115
|
-
<header class='
|
|
1115
|
+
<header class='navheader2'>
|
|
1116
1116
|
<% } %>
|
|
1117
|
-
<
|
|
1117
|
+
<div class='runner'>
|
|
1118
1118
|
<% if (target === "_top") { %>
|
|
1119
1119
|
<a class='home' href="/"><img class='icon' src="/pinokio-black.png"></a>
|
|
1120
1120
|
<% } %>
|
|
@@ -1132,7 +1132,7 @@ document.addEventListener("DOMContentLoaded", async () => {
|
|
|
1132
1132
|
</div>
|
|
1133
1133
|
<div id='status-window'></div>
|
|
1134
1134
|
<div id='progress-window' class='hidden'><div id='progress-bar'></div></div>
|
|
1135
|
-
</
|
|
1135
|
+
</div>
|
|
1136
1136
|
</header>
|
|
1137
1137
|
<div class='terminal-container'>
|
|
1138
1138
|
<div id='terminal'></div>
|