pinokiod 3.85.0 → 3.86.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.
Files changed (55) hide show
  1. package/kernel/api/index.js +7 -0
  2. package/kernel/bin/caddy.js +10 -4
  3. package/kernel/peer.js +0 -3
  4. package/kernel/prototype.js +1 -0
  5. package/kernel/shell.js +43 -2
  6. package/kernel/util.js +2 -0
  7. package/package.json +1 -1
  8. package/pipe/views/login.ejs +1 -1
  9. package/server/index.js +133 -83
  10. package/server/public/common.js +534 -0
  11. package/server/public/opener.js +12 -11
  12. package/server/public/serve/style.css +1 -1
  13. package/server/public/style.css +25 -24
  14. package/server/public/urldropdown.css +473 -4
  15. package/server/public/urldropdown.js +202 -8
  16. package/server/views/404.ejs +1 -1
  17. package/server/views/500.ejs +1 -1
  18. package/server/views/app.ejs +29 -33
  19. package/server/views/bookmarklet.ejs +197 -0
  20. package/server/views/connect/x.ejs +4 -4
  21. package/server/views/connect.ejs +10 -10
  22. package/server/views/container.ejs +2 -2
  23. package/server/views/d.ejs +3 -3
  24. package/server/views/download.ejs +1 -1
  25. package/server/views/editor.ejs +1 -1
  26. package/server/views/env_editor.ejs +3 -3
  27. package/server/views/explore.ejs +2 -2
  28. package/server/views/file_explorer.ejs +2 -2
  29. package/server/views/git.ejs +7 -7
  30. package/server/views/github.ejs +3 -3
  31. package/server/views/help.ejs +2 -2
  32. package/server/views/index.ejs +5 -5
  33. package/server/views/index2.ejs +3 -3
  34. package/server/views/init/index.ejs +11 -74
  35. package/server/views/install.ejs +3 -3
  36. package/server/views/keys.ejs +2 -2
  37. package/server/views/mini.ejs +2 -2
  38. package/server/views/net.ejs +6 -6
  39. package/server/views/network.ejs +21 -21
  40. package/server/views/network2.ejs +10 -10
  41. package/server/views/old_network.ejs +8 -8
  42. package/server/views/pro.ejs +369 -0
  43. package/server/views/prototype/index.ejs +2 -2
  44. package/server/views/required_env_editor.ejs +2 -2
  45. package/server/views/review.ejs +6 -6
  46. package/server/views/screenshots.ejs +5 -4
  47. package/server/views/settings.ejs +3 -3
  48. package/server/views/setup.ejs +2 -2
  49. package/server/views/setup_home.ejs +2 -2
  50. package/server/views/share_editor.ejs +4 -4
  51. package/server/views/shell.ejs +3 -3
  52. package/server/views/start.ejs +2 -2
  53. package/server/views/task.ejs +2 -2
  54. package/server/views/terminal.ejs +5 -4
  55. package/server/views/tools.ejs +13 -13
@@ -74,7 +74,7 @@ body {
74
74
  }
75
75
  .item .title {
76
76
  text-decoration: none;
77
- color: royalblue;
77
+ color: rgba(127, 91, 243, 0.9);
78
78
  }
79
79
  .item .col {
80
80
  padding: 10px;
@@ -129,7 +129,7 @@ body.dark .card {
129
129
  color: rgba(0,0,0,0.9);
130
130
  }
131
131
  .card:hover {
132
- color: royalblue !important;
132
+ color: rgba(127, 91, 243, 0.9) !important;
133
133
  }
134
134
  .card .desc {
135
135
  }
@@ -164,7 +164,7 @@ body.dark .config {
164
164
  font-size: 16px;
165
165
  font-weight: bold;
166
166
  width: 100px;
167
- background: royalblue;
167
+ background: rgba(127, 91, 243, 0.9);
168
168
  flex-shrink: 0;
169
169
  }
170
170
  .config-row {
@@ -300,12 +300,12 @@ header .runner {
300
300
  margin-top: 5px;
301
301
  }
302
302
  a.badge {
303
- color: royalblue;
303
+ color: rgba(127, 91, 243, 0.9);
304
304
  text-decoration: none;
305
305
  cursor: pointer;
306
306
  }
307
307
  .badge a {
308
- color: royalblue;
308
+ color: rgba(127, 91, 243, 0.9);
309
309
  text-decoration: none;
310
310
  }
311
311
  body.dark .btn {
@@ -425,7 +425,7 @@ body.dark .open-menu, body.dark .browse {
425
425
  color: white !important;
426
426
  }
427
427
  .open-menu:hover, .browse:hover, body.dark .open-menu:hover, body.dark .browse:hover {
428
- color: royalblue !important;
428
+ color: rgba(127, 91, 243, 0.9) !important;
429
429
  }
430
430
  .open-menu, .browse {
431
431
  width: 80px;
@@ -511,7 +511,7 @@ body.dark aside .tab {
511
511
  color: white;
512
512
  }
513
513
  body.dark aside .tab:hover, aside .tab:hover {
514
- color: royalblue !important;
514
+ color: rgba(127, 91, 243, 0.9) !important;
515
515
  opacity: 1;
516
516
  }
517
517
  aside .tab {
@@ -550,7 +550,7 @@ aside .selected {
550
550
  gap: 15px;
551
551
  }
552
552
  .tab:hover {
553
- color: royalblue;
553
+ color: rgba(127, 91, 243, 0.9);
554
554
  }
555
555
  .tab-content .tab {
556
556
  text-decoration: none;
@@ -622,7 +622,7 @@ body.dark .tab {
622
622
  padding: 0;
623
623
  }
624
624
  body.dark .net:hover, .net:hover {
625
- color: royalblue;
625
+ color: rgba(127, 91, 243, 0.9);
626
626
  }
627
627
  body.dark .net {
628
628
  /*
@@ -935,7 +935,7 @@ document.addEventListener('DOMContentLoaded', function() {
935
935
  </div>
936
936
  <aside>
937
937
  <div class='btn-tab'>
938
- <a href="/init" class='btn'><i class="fa-solid fa-plus"></i><div class='caption'>Create</div></a>
938
+ <button type='button' class='btn' id='create-launcher-button'><i class="fa-solid fa-plus"></i><div class='caption'>Create</div></button>
939
939
  <a class='btn' id='explore' href="/?mode=explore"><i class="fa-solid fa-globe"></i><div class='caption'>Discover</div></a>
940
940
  </div>
941
941
  <a href="/" class='tab'><i class='fas fa-laptop-code'></i><div class='caption'>This machine</div></a>
@@ -152,7 +152,7 @@ body.dark .item select {
152
152
  }
153
153
  .item .title {
154
154
  text-decoration: none;
155
- color: royalblue;
155
+ color: rgba(127, 91, 243, 0.9);
156
156
  }
157
157
  .item .col {
158
158
  padding: 10px;
@@ -265,7 +265,7 @@ body.dark aside .tab {
265
265
  color: white;
266
266
  }
267
267
  body.dark aside .tab:hover, aside .tab:hover {
268
- color: royalblue !important;
268
+ color: rgba(127, 91, 243, 0.9) !important;
269
269
  opacity: 1;
270
270
  }
271
271
  aside .tab {
@@ -37,7 +37,7 @@ main {
37
37
  margin: 10px 0;
38
38
  }
39
39
  .tab:hover {
40
- color: royalblue;
40
+ color: rgba(127, 91, 243, 0.9);
41
41
  }
42
42
  .tab {
43
43
  /*
@@ -164,7 +164,7 @@ body.dark .btn {
164
164
  border: none;
165
165
  }
166
166
  .btn:hover {
167
- color: royalblue;
167
+ color: rgba(127, 91, 243, 0.9);
168
168
  }
169
169
  .btn {
170
170
  padding: 2px 10px;
@@ -228,7 +228,7 @@ body.dark .btn.run-btn {
228
228
  padding: 10px;
229
229
  border-radius: 0;
230
230
  /*
231
- background: royalblue !important;
231
+ background: rgba(127, 91, 243, 0.9) !important;
232
232
  */
233
233
  }
234
234
  .tab-header h3 {
@@ -70,7 +70,7 @@ body.frozen {
70
70
  }
71
71
  .item .title {
72
72
  text-decoration: none;
73
- color: royalblue;
73
+ color: rgba(127, 91, 243, 0.9);
74
74
  }
75
75
  .item .col {
76
76
  padding: 10px;
@@ -116,7 +116,7 @@ header .runner {
116
116
  padding: 10px 0 0;
117
117
  }
118
118
  #del-bin {
119
- color: royalblue;
119
+ color: rgba(127, 91, 243, 0.9);
120
120
  cursor: pointer;
121
121
  font-weight: bold;
122
122
  padding: 0 5px;
@@ -117,7 +117,7 @@ body.dark .env-item label {
117
117
  color: cornflowerblue;
118
118
  }
119
119
  .env-item label {
120
- color: royalblue;
120
+ color: rgba(127, 91, 243, 0.9);
121
121
  display: block;
122
122
  margin-bottom: 5px;
123
123
  font-weight: bold;
@@ -143,7 +143,7 @@ body.dark .comment {
143
143
  padding-left: 10px;
144
144
  }
145
145
  #save {
146
- background: royalblue;
146
+ background: rgba(127, 91, 243, 0.9);
147
147
  }
148
148
  a#customize {
149
149
  text-decoration: underline;
@@ -227,7 +227,7 @@ footer .btn.go-home {
227
227
  }
228
228
  .warning a {
229
229
  text-decoration: none;
230
- color: royalblue;
230
+ color: rgba(127, 91, 243, 0.9);
231
231
  }
232
232
  </style>
233
233
  <script>
@@ -58,7 +58,7 @@ body {
58
58
  text-decoration: none;
59
59
  font-weight: bold;
60
60
  font-size: 16px;
61
- color: royalblue;
61
+ color: rgba(127, 91, 243, 0.9);
62
62
  }
63
63
  .item .col {
64
64
  padding: 0 10px;
@@ -84,7 +84,7 @@ body {
84
84
  /*
85
85
  border: 3px solid black;
86
86
  */
87
- background: royalblue;
87
+ background: rgba(127, 91, 243, 0.9);
88
88
  }
89
89
  .selectors .selector {
90
90
  color: white;
@@ -106,12 +106,12 @@ header .runner {
106
106
  margin-top: 5px;
107
107
  }
108
108
  a.badge {
109
- color: royalblue;
109
+ color: rgba(127, 91, 243, 0.9);
110
110
  text-decoration: none;
111
111
  cursor: pointer;
112
112
  }
113
113
  .badge a {
114
- color: royalblue;
114
+ color: rgba(127, 91, 243, 0.9);
115
115
  text-decoration: none;
116
116
  }
117
117
  body.dark .btn {
@@ -33,7 +33,7 @@ body {
33
33
  }
34
34
  .changes .diffs .btn {
35
35
  margin-left: 5px !important;
36
- background: royalblue;
36
+ background: rgba(127, 91, 243, 0.9);
37
37
  }
38
38
  aside {
39
39
  width: 200px;
@@ -76,7 +76,7 @@ aside .item, .log .item {
76
76
  .item .switch {
77
77
  padding: 5px 10px;
78
78
  margin: 10px 0 0px;
79
- background: royalblue;
79
+ background: rgba(127, 91, 243, 0.9);
80
80
  display: block;
81
81
  text-align: center;
82
82
  }
@@ -106,12 +106,12 @@ nav {
106
106
  background: rgba(0,0,0,0.04);
107
107
  }
108
108
  body.dark nav a.btn, nav a.btn {
109
- background: royalblue;
109
+ background: rgba(127, 91, 243, 0.9);
110
110
  padding: 5px 10px;
111
111
  }
112
112
  nav a {
113
113
  display: block;
114
- color: royalblue;
114
+ color: rgba(127, 91, 243, 0.9);
115
115
  text-decoration: none;
116
116
  }
117
117
  label {
@@ -266,7 +266,7 @@ body.dark .chunk {
266
266
  height: 100%;
267
267
  }
268
268
  .chunk.selected, body.dark .chunk.selected {
269
- border: 3px solid royalblue;
269
+ border: 3px solid rgba(127, 91, 243, 0.9);
270
270
  }
271
271
 
272
272
  .add { background: #e6ffed; color: green; }
@@ -398,7 +398,7 @@ body.dark .branches .label {
398
398
  align-items: center;
399
399
  }
400
400
  .branches .btn {
401
- background: royalblue;
401
+ background: rgba(127, 91, 243, 0.9);
402
402
  padding: 2px 10px;
403
403
  }
404
404
  .branches .btn i {
@@ -464,7 +464,7 @@ body.dark .change-count {
464
464
  box-sizing: border-box;
465
465
  width: 100%;
466
466
  margin: 0;
467
- background: royalblue;
467
+ background: rgba(127, 91, 243, 0.9);
468
468
  }
469
469
 
470
470
  </style>
@@ -79,7 +79,7 @@ body {
79
79
  }
80
80
  .item .title {
81
81
  text-decoration: none;
82
- color: royalblue;
82
+ color: rgba(127, 91, 243, 0.9);
83
83
  }
84
84
  .item .col {
85
85
  padding: 10px;
@@ -174,7 +174,7 @@ body.dark .card {
174
174
  margin: 20px;
175
175
  }
176
176
  .card:hover {
177
- color: royalblue !important;
177
+ color: rgba(127, 91, 243, 0.9) !important;
178
178
  }
179
179
  .card .desc {
180
180
  opacity: 0.7;
@@ -187,7 +187,7 @@ body.dark .card {
187
187
  font-size: 50px;
188
188
  }
189
189
  a {
190
- color: royalblue;
190
+ color: rgba(127, 91, 243, 0.9);
191
191
  }
192
192
  body.dark hr {
193
193
  background: rgba(255,255,255,0.05);
@@ -124,7 +124,7 @@ body.dark .item select {
124
124
  }
125
125
  .item .title {
126
126
  text-decoration: none;
127
- color: royalblue;
127
+ color: rgba(127, 91, 243, 0.9);
128
128
  }
129
129
  .item .col {
130
130
  padding: 10px;
@@ -201,7 +201,7 @@ hr {
201
201
  margin-top: 10px;
202
202
  }
203
203
  a.link {
204
- color: royalblue;
204
+ color: rgba(127, 91, 243, 0.9);
205
205
  }
206
206
  .item .tile h2 {
207
207
  margin: 0;
@@ -137,12 +137,12 @@ header .runner {
137
137
  margin-top: 5px;
138
138
  }
139
139
  a.badge {
140
- color: royalblue;
140
+ color: rgba(127, 91, 243, 0.9);
141
141
  text-decoration: none;
142
142
  cursor: pointer;
143
143
  }
144
144
  .badge a {
145
- color: royalblue;
145
+ color: rgba(127, 91, 243, 0.9);
146
146
  text-decoration: none;
147
147
  }
148
148
  body.dark .btn {
@@ -214,7 +214,7 @@ body.dark .open-menu, body.dark .browse {
214
214
  color: white !important;
215
215
  }
216
216
  .open-menu:hover, .browse:hover, body.dark .open-menu:hover, body.dark .browse:hover {
217
- color: royalblue !important;
217
+ color: rgba(127, 91, 243, 0.9) !important;
218
218
  }
219
219
  .open-menu, .browse {
220
220
  /*
@@ -251,7 +251,7 @@ aside {
251
251
  flex-shrink: 0;
252
252
  }
253
253
  body.dark aside .tab:hover, aside .tab:hover {
254
- color: royalblue !important;
254
+ color: rgba(127, 91, 243, 0.9) !important;
255
255
  opacity: 1;
256
256
  }
257
257
  aside .tab i {
@@ -719,7 +719,7 @@ body.dark aside .current.selected {
719
719
  </div>
720
720
  <aside>
721
721
  <div class='btn-tab'>
722
- <a href="/init" class='btn'><i class="fa-solid fa-plus"></i><div class='caption'>Create</div></a>
722
+ <button type='button' class='btn' id='create-launcher-button'><i class="fa-solid fa-plus"></i><div class='caption'>Create</div></button>
723
723
  <a class='btn' id='explore' href="/?mode=explore"><i class="fa-solid fa-globe"></i><div class='caption'>Discover</div></a>
724
724
  </div>
725
725
  <a href="/" class='tab selected'><i class='fas fa-laptop-code'></i><div class='caption'>This machine</div></a>
@@ -107,12 +107,12 @@ header .runner {
107
107
  margin-top: 5px;
108
108
  }
109
109
  a.badge {
110
- color: royalblue;
110
+ color: rgba(127, 91, 243, 0.9);
111
111
  text-decoration: none;
112
112
  cursor: pointer;
113
113
  }
114
114
  .badge a {
115
- color: royalblue;
115
+ color: rgba(127, 91, 243, 0.9);
116
116
  text-decoration: none;
117
117
  }
118
118
  body.dark .btn {
@@ -170,7 +170,7 @@ body.dark .open-menu, body.dark .browse {
170
170
  color: white !important;
171
171
  }
172
172
  .open-menu:hover, .browse:hover, body.dark .open-menu:hover, body.dark .browse:hover {
173
- color: royalblue !important;
173
+ color: rgba(127, 91, 243, 0.9) !important;
174
174
  }
175
175
  .open-menu, .browse {
176
176
  width: 80px;
@@ -11,6 +11,7 @@
11
11
  <link href="/filepond.min.css" rel="stylesheet" />
12
12
  <link href="/filepond-plugin-image-preview.min.css" rel="stylesheet" />
13
13
  <link href="/filepond-plugin-image-edit.min.css" rel="stylesheet" />
14
+ <link href="/urldropdown.css" rel="stylesheet" />
14
15
  <link href="/style.css" rel="stylesheet"/>
15
16
  <link href="/terminal.css" rel="stylesheet"/>
16
17
  <% if (agent === "electron") { %>
@@ -43,7 +44,7 @@ body.dark #terminal2 {
43
44
  }
44
45
  #create-button {
45
46
  width: 100%;
46
- background: royalblue !important;
47
+ background: rgba(127, 91, 243, 0.9) !important;
47
48
  font-size: 16px;
48
49
  font-weight: bold;
49
50
  border: none;
@@ -379,7 +380,7 @@ body.dark .conditional-options {
379
380
  display: flex;
380
381
  }
381
382
  #step-1 .radio-group label:hover {
382
- color: royalblue;
383
+ color: rgba(127, 91, 243, 0.9);
383
384
  }
384
385
  #step-1 .radio-group label .description {
385
386
  margin: 0;
@@ -867,8 +868,8 @@ body.dark .frame-link.selected {
867
868
  */
868
869
  }
869
870
  .loader .btn:hover {
870
- color: royalblue;
871
- border-color: royalblue;
871
+ color: rgba(127, 91, 243, 0.9);
872
+ border-color: rgba(127, 91, 243, 0.9);
872
873
  }
873
874
  .loader .btn {
874
875
  padding: 4px 8px;
@@ -1193,7 +1194,7 @@ body.dark .bubble:before {
1193
1194
  margin-bottom: 10px;
1194
1195
  }
1195
1196
  .ai-tab:hover {
1196
- color: royalblue;
1197
+ color: rgba(127, 91, 243, 0.9);
1197
1198
  }
1198
1199
  body.dark .ai-tab {
1199
1200
  color: silver;
@@ -1363,7 +1364,7 @@ aside {
1363
1364
  flex-shrink: 0;
1364
1365
  }
1365
1366
  body.dark aside .tab:hover, aside .tab:hover {
1366
- color: royalblue !important;
1367
+ color: rgba(127, 91, 243, 0.9) !important;
1367
1368
  opacity: 1;
1368
1369
  }
1369
1370
  aside .tab i {
@@ -1516,7 +1517,7 @@ body.dark .ace-editor {
1516
1517
  <script src="/filepond.min.js"></script>
1517
1518
  <script src="/fseditor.js"></script>
1518
1519
  </head>
1519
- <body class='<%=theme%>' data-platform="<%=platform%>">
1520
+ <body class='<%=theme%>' data-platform="<%=platform%>" data-agent="<%=agent%>">
1520
1521
  <div id='dragger'></div>
1521
1522
  <header class='navheader grabbable'>
1522
1523
  <h1>
@@ -1616,14 +1617,15 @@ body.dark .ace-editor {
1616
1617
  <div><h5>Download</h5></div>
1617
1618
  </div>
1618
1619
  </button>
1620
+ <!--
1619
1621
  <div class='category-label'>Create a web domain</div>
1620
- <!-- Domain category subtab -->
1621
1622
  <button type="button" class="tab-button" data-tab="dns">
1622
1623
  <div class='row'>
1623
1624
  <i class="fa-solid fa-link"></i>
1624
1625
  <div><h5>Web Domain</h5></div>
1625
1626
  </div>
1626
1627
  </button>
1628
+ -->
1627
1629
  </div>
1628
1630
 
1629
1631
  <form id="bootstrap-form">
@@ -1962,7 +1964,7 @@ body.dark .ace-editor {
1962
1964
  </div>
1963
1965
  <aside>
1964
1966
  <div class='btn-tab'>
1965
- <a href="/init" class='btn'><i class="fa-solid fa-plus"></i><div class='caption'>Create</div></a>
1967
+ <button type='button' class='btn' id='create-launcher-button'><i class="fa-solid fa-plus"></i><div class='caption'>Create</div></button>
1966
1968
  <a class='btn' id='explore' href="/?mode=explore"><i class="fa-solid fa-globe"></i><div class='caption'>Discover</div></a>
1967
1969
  </div>
1968
1970
  <a href="/" class='tab'><i class='fas fa-laptop-code'></i><div class='caption'>This machine</div></a>
@@ -2679,17 +2681,6 @@ const createTerm = async (_theme) => {
2679
2681
  const term = new Terminal(config)
2680
2682
  term.open(document.querySelector("#terminal2"))
2681
2683
  document.querySelector("#terminal-container").classList.remove("hidden")
2682
- /*
2683
- document.querySelector("#terminal-container").addEventListener("click", (e) => {
2684
- console.log("e.target", e.target)
2685
- if (e.target.querySelector("#terminal2")) {
2686
- console.log("frame")
2687
- document.querySelector("#terminal-container").classList.add("hidden")
2688
- } else {
2689
- console.log("inside terminal")
2690
- }
2691
- })
2692
- */
2693
2684
 
2694
2685
  term.attachCustomKeyEventHandler(event => {
2695
2686
  if (event.ctrlKey && event.key === 'c' && term.hasSelection()) {
@@ -2749,65 +2740,11 @@ const createTerm = async (_theme) => {
2749
2740
  }
2750
2741
 
2751
2742
  async function displayResults(config) {
2752
- // <% if (theme === "dark") { %>
2753
- // let _theme = xtermTheme.FrontEndDelight
2754
- // <% } else { %>
2755
- // let _theme = xtermTheme.Tomorrow
2756
- // <% } %>
2757
- // const theme = Object.assign({ }, _theme, {
2758
- // selectionBackground: "red",
2759
- // selectionForeground: "white"
2760
- // })
2761
- //
2762
- // let term_config = {
2763
- // scrollback: 9999999,
2764
- // fontSize: 14,
2765
- // theme,
2766
- // }
2767
- // let res = await fetch("/xterm_config").then((res) => {
2768
- // return res.json()
2769
- // })
2770
- // if (res && res.config) {
2771
- // term_config = res.config
2772
- // }
2773
- // const term = new Terminal(term_config)
2774
-
2775
-
2776
2743
  <% if (theme === "dark") { %>
2777
2744
  let term = await createTerm(xtermTheme.FrontEndDelight)
2778
2745
  <% } else { %>
2779
2746
  let term = await createTerm(xtermTheme.Tomorrow)
2780
2747
  <% } %>
2781
-
2782
- // term.open(document.querySelector("#terminal2"))
2783
- // term.attachCustomKeyEventHandler(event => {
2784
- // console.log({ event })
2785
- // if ((event.ctrlKey || event.metaKey) && event.key === 'c') {
2786
- // const selection = term.getSelection();
2787
- // if (selection) {
2788
- // navigator.clipboard.writeText(selection);
2789
- // return false;
2790
- // }
2791
- // }
2792
- // if ((event.ctrlKey || event.metaKey) && event.key === 'v') {
2793
- // navigator.clipboard.readText().then((text) => {
2794
- // console.log({ text })
2795
- // socket.run({
2796
- // //key: "\x1b[200~" + text + "\x1b[201~",
2797
- // key: text,
2798
- // id: shell_id,
2799
- // paste: true
2800
- // })
2801
- //
2802
- // })
2803
- // return false
2804
- // }
2805
- // return true;
2806
- // });
2807
- // const fitAddon = new FitAddon.FitAddon();
2808
- // term.loadAddon(fitAddon);
2809
- // fitAddon.fit();
2810
- // term.focus()
2811
2748
  const write = (text) => {
2812
2749
  if (text !== "\u0007") {
2813
2750
  term.write(text)
@@ -75,7 +75,7 @@ body {
75
75
  }
76
76
  .item .title {
77
77
  text-decoration: none;
78
- color: royalblue;
78
+ color: rgba(127, 91, 243, 0.9);
79
79
  }
80
80
  .item .col {
81
81
  padding: 10px;
@@ -102,10 +102,10 @@ body {
102
102
  margin-bottom: 10px;
103
103
  */
104
104
  overflow: auto;
105
- background: royalblue;
105
+ background: rgba(127, 91, 243, 0.9);
106
106
  color: white;
107
107
  /*
108
- border-left: 5px solid royalblue;
108
+ border-left: 5px solid rgba(127, 91, 243, 0.9);
109
109
  color: rgb(27, 28, 29);
110
110
  */
111
111
  }
@@ -107,7 +107,7 @@ body.dark .env-item label {
107
107
  color: cornflowerblue;
108
108
  }
109
109
  .env-item label {
110
- color: royalblue;
110
+ color: rgba(127, 91, 243, 0.9);
111
111
  display: block;
112
112
  margin-bottom: 5px;
113
113
  font-weight: bold;
@@ -133,7 +133,7 @@ body.dark .comment {
133
133
  padding-left: 10px;
134
134
  }
135
135
  #save {
136
- background: royalblue;
136
+ background: rgba(127, 91, 243, 0.9);
137
137
  }
138
138
  a#customize {
139
139
  text-decoration: underline;
@@ -372,8 +372,8 @@ body.dark .frame-link.selected {
372
372
  flex-shrink: 0;
373
373
  }
374
374
  .loader .btn:hover {
375
- color: royalblue;
376
- border-color: royalblue;
375
+ color: rgba(127, 91, 243, 0.9);
376
+ border-color: rgba(127, 91, 243, 0.9);
377
377
  }
378
378
  .loader .btn {
379
379
  padding: 4px 8px;
@@ -108,12 +108,12 @@ header .runner {
108
108
  margin-top: 5px;
109
109
  }
110
110
  a.badge {
111
- color: royalblue;
111
+ color: rgba(127, 91, 243, 0.9);
112
112
  text-decoration: none;
113
113
  cursor: pointer;
114
114
  }
115
115
  .badge a {
116
- color: royalblue;
116
+ color: rgba(127, 91, 243, 0.9);
117
117
  text-decoration: none;
118
118
  }
119
119
  body.dark .btn {
@@ -228,7 +228,7 @@ body.dark .open-menu, body.dark .browse {
228
228
  color: white !important;
229
229
  }
230
230
  .open-menu:hover, .browse:hover, body.dark .open-menu:hover, body.dark .browse:hover {
231
- color: royalblue !important;
231
+ color: rgba(127, 91, 243, 0.9) !important;
232
232
  }
233
233
  .open-menu, .browse {
234
234
  width: 80px;
@@ -333,7 +333,7 @@ body.dark aside .tab {
333
333
  color: white;
334
334
  }
335
335
  body.dark aside .tab:hover, aside .tab:hover {
336
- color: royalblue !important;
336
+ color: rgba(127, 91, 243, 0.9) !important;
337
337
  opacity: 1;
338
338
  }
339
339
  aside .tab {
@@ -368,7 +368,7 @@ aside .selected {
368
368
  padding: 0;
369
369
  }
370
370
  body.dark .net:hover, .net:hover {
371
- color: royalblue;
371
+ color: rgba(127, 91, 243, 0.9);
372
372
  }
373
373
  body.dark .net {
374
374
  /*
@@ -777,7 +777,7 @@ document.addEventListener('DOMContentLoaded', function() {
777
777
  </div>
778
778
  <aside>
779
779
  <div class='btn-tab'>
780
- <a href="/init" class='btn'><i class="fa-solid fa-plus"></i><div class='caption'>Create</div></a>
780
+ <button type='button' class='btn' id='create-launcher-button'><i class="fa-solid fa-plus"></i><div class='caption'>Create</div></button>
781
781
  <a class='btn' id='explore' href="/?mode=explore"><i class="fa-solid fa-globe"></i><div class='caption'>Discover</div></a>
782
782
  </div>
783
783
  <a href="/" class='tab'><i class='fas fa-laptop-code'></i><div class='caption'>This machine</div></a>