pinokiod 3.50.0 → 3.52.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/3 +1 -0
- package/kernel/gitconfig_template +3 -1
- package/kernel/index.js +11 -0
- package/kernel/scripts/git/create +1 -2
- package/kernel/scripts/git/push +1 -1
- package/package.json +6 -2
- package/server/index.js +44 -16
- package/server/public/common.js +0 -4
- package/server/public/serve/directory.html +106 -0
- package/server/public/serve/icons/application_xp.png +0 -0
- package/server/public/serve/icons/application_xp_terminal.png +0 -0
- package/server/public/serve/icons/box.png +0 -0
- package/server/public/serve/icons/cd.png +0 -0
- package/server/public/serve/icons/controller.png +0 -0
- package/server/public/serve/icons/drive.png +0 -0
- package/server/public/serve/icons/film.png +0 -0
- package/server/public/serve/icons/folder.png +0 -0
- package/server/public/serve/icons/font.png +0 -0
- package/server/public/serve/icons/image.png +0 -0
- package/server/public/serve/icons/map.png +0 -0
- package/server/public/serve/icons/page.png +0 -0
- package/server/public/serve/icons/page_add.png +0 -0
- package/server/public/serve/icons/page_attach.png +0 -0
- package/server/public/serve/icons/page_code.png +0 -0
- package/server/public/serve/icons/page_copy.png +0 -0
- package/server/public/serve/icons/page_delete.png +0 -0
- package/server/public/serve/icons/page_edit.png +0 -0
- package/server/public/serve/icons/page_error.png +0 -0
- package/server/public/serve/icons/page_excel.png +0 -0
- package/server/public/serve/icons/page_find.png +0 -0
- package/server/public/serve/icons/page_gear.png +0 -0
- package/server/public/serve/icons/page_go.png +0 -0
- package/server/public/serve/icons/page_green.png +0 -0
- package/server/public/serve/icons/page_key.png +0 -0
- package/server/public/serve/icons/page_lightning.png +0 -0
- package/server/public/serve/icons/page_link.png +0 -0
- package/server/public/serve/icons/page_paintbrush.png +0 -0
- package/server/public/serve/icons/page_paste.png +0 -0
- package/server/public/serve/icons/page_red.png +0 -0
- package/server/public/serve/icons/page_refresh.png +0 -0
- package/server/public/serve/icons/page_save.png +0 -0
- package/server/public/serve/icons/page_white.png +0 -0
- package/server/public/serve/icons/page_white_acrobat.png +0 -0
- package/server/public/serve/icons/page_white_actionscript.png +0 -0
- package/server/public/serve/icons/page_white_add.png +0 -0
- package/server/public/serve/icons/page_white_c.png +0 -0
- package/server/public/serve/icons/page_white_camera.png +0 -0
- package/server/public/serve/icons/page_white_cd.png +0 -0
- package/server/public/serve/icons/page_white_code.png +0 -0
- package/server/public/serve/icons/page_white_code_red.png +0 -0
- package/server/public/serve/icons/page_white_coldfusion.png +0 -0
- package/server/public/serve/icons/page_white_compressed.png +0 -0
- package/server/public/serve/icons/page_white_copy.png +0 -0
- package/server/public/serve/icons/page_white_cplusplus.png +0 -0
- package/server/public/serve/icons/page_white_csharp.png +0 -0
- package/server/public/serve/icons/page_white_cup.png +0 -0
- package/server/public/serve/icons/page_white_database.png +0 -0
- package/server/public/serve/icons/page_white_delete.png +0 -0
- package/server/public/serve/icons/page_white_dvd.png +0 -0
- package/server/public/serve/icons/page_white_edit.png +0 -0
- package/server/public/serve/icons/page_white_error.png +0 -0
- package/server/public/serve/icons/page_white_excel.png +0 -0
- package/server/public/serve/icons/page_white_find.png +0 -0
- package/server/public/serve/icons/page_white_flash.png +0 -0
- package/server/public/serve/icons/page_white_freehand.png +0 -0
- package/server/public/serve/icons/page_white_gear.png +0 -0
- package/server/public/serve/icons/page_white_get.png +0 -0
- package/server/public/serve/icons/page_white_go.png +0 -0
- package/server/public/serve/icons/page_white_h.png +0 -0
- package/server/public/serve/icons/page_white_horizontal.png +0 -0
- package/server/public/serve/icons/page_white_key.png +0 -0
- package/server/public/serve/icons/page_white_lightning.png +0 -0
- package/server/public/serve/icons/page_white_link.png +0 -0
- package/server/public/serve/icons/page_white_magnify.png +0 -0
- package/server/public/serve/icons/page_white_medal.png +0 -0
- package/server/public/serve/icons/page_white_office.png +0 -0
- package/server/public/serve/icons/page_white_paint.png +0 -0
- package/server/public/serve/icons/page_white_paintbrush.png +0 -0
- package/server/public/serve/icons/page_white_paste.png +0 -0
- package/server/public/serve/icons/page_white_php.png +0 -0
- package/server/public/serve/icons/page_white_picture.png +0 -0
- package/server/public/serve/icons/page_white_powerpoint.png +0 -0
- package/server/public/serve/icons/page_white_put.png +0 -0
- package/server/public/serve/icons/page_white_ruby.png +0 -0
- package/server/public/serve/icons/page_white_stack.png +0 -0
- package/server/public/serve/icons/page_white_star.png +0 -0
- package/server/public/serve/icons/page_white_swoosh.png +0 -0
- package/server/public/serve/icons/page_white_text.png +0 -0
- package/server/public/serve/icons/page_white_text_width.png +0 -0
- package/server/public/serve/icons/page_white_tux.png +0 -0
- package/server/public/serve/icons/page_white_vector.png +0 -0
- package/server/public/serve/icons/page_white_visualstudio.png +0 -0
- package/server/public/serve/icons/page_white_width.png +0 -0
- package/server/public/serve/icons/page_white_word.png +0 -0
- package/server/public/serve/icons/page_white_world.png +0 -0
- package/server/public/serve/icons/page_white_wrench.png +0 -0
- package/server/public/serve/icons/page_white_zip.png +0 -0
- package/server/public/serve/icons/page_word.png +0 -0
- package/server/public/serve/icons/page_world.png +0 -0
- package/server/public/serve/style.css +308 -0
- package/server/public/style.css +41 -2
- package/server/serveIndex.js +691 -0
- package/server/views/app.ejs +310 -88
- package/server/views/columns.ejs +1 -1
- package/server/views/connect/x.ejs +1 -0
- package/server/views/connect.ejs +1 -0
- package/server/views/container.ejs +1 -0
- package/server/views/download.ejs +1 -0
- package/server/views/explore.ejs +1 -0
- package/server/views/form.ejs +1 -0
- package/server/views/frame.ejs +1 -0
- package/server/views/github.ejs +1 -0
- package/server/views/help.ejs +1 -0
- package/server/views/index.ejs +1 -0
- package/server/views/init/index.ejs +2 -1
- package/server/views/mini.ejs +1 -0
- package/server/views/net.ejs +1 -0
- package/server/views/network.ejs +115 -17
- package/server/views/prototype/index.ejs +1 -0
- package/server/views/review.ejs +1 -0
- package/server/views/rows.ejs +1 -1
- package/server/views/screenshots.ejs +1 -0
- package/server/views/settings.ejs +1 -0
- package/server/views/setup.ejs +1 -0
- package/server/views/setup_home.ejs +1 -0
- package/server/views/tools.ejs +1 -0
package/server/views/columns.ejs
CHANGED
|
@@ -191,6 +191,7 @@ pre {
|
|
|
191
191
|
<script src="/highlight-js.js"></script>
|
|
192
192
|
</head>
|
|
193
193
|
<body class='<%=theme%>' data-agent="<%=agent%>">
|
|
194
|
+
<div id='dragger'></div>
|
|
194
195
|
<header class='navheader grabbable'>
|
|
195
196
|
<h1>
|
|
196
197
|
<a class='home' href="/"><img class='icon' src="/pinokio-black.png"></a>
|
package/server/views/connect.ejs
CHANGED
|
@@ -807,6 +807,7 @@ document.addEventListener('DOMContentLoaded', function() {
|
|
|
807
807
|
</script>
|
|
808
808
|
</head>
|
|
809
809
|
<body class='<%=theme%>' data-agent="<%=agent%>">
|
|
810
|
+
<div id='dragger'></div>
|
|
810
811
|
<header class='navheader grabbable'>
|
|
811
812
|
<h1>
|
|
812
813
|
<a class='home' href="/"><img class='icon' src="/pinokio-black.png"></a>
|
package/server/views/explore.ejs
CHANGED
|
@@ -120,6 +120,7 @@ body main iframe {
|
|
|
120
120
|
<script src="/nav.js"></script>
|
|
121
121
|
</head>
|
|
122
122
|
<body class='<%=theme%>' data-agent="<%=agent%>">
|
|
123
|
+
<div id='dragger'></div>
|
|
123
124
|
<header class='navheader grabbable'>
|
|
124
125
|
<h1>
|
|
125
126
|
<a class='home' href="/"><img class='icon' src="/pinokio-black.png"></a>
|
package/server/views/form.ejs
CHANGED
package/server/views/frame.ejs
CHANGED
package/server/views/github.ejs
CHANGED
|
@@ -232,6 +232,7 @@ ol {
|
|
|
232
232
|
<script src="/opener.js"></script>
|
|
233
233
|
</head>
|
|
234
234
|
<body class='<%=theme%>' data-agent="<%=agent%>">
|
|
235
|
+
<div id='dragger'></div>
|
|
235
236
|
<header class='navheader grabbable'>
|
|
236
237
|
<h1>
|
|
237
238
|
<a class='home' href="/"><img class='icon' src="/pinokio-black.png"></a>
|
package/server/views/help.ejs
CHANGED
|
@@ -253,6 +253,7 @@ body.dark .item .tile .badge {
|
|
|
253
253
|
<script src="/report.js"></script>
|
|
254
254
|
</head>
|
|
255
255
|
<body class='<%=theme%>' data-agent="<%=agent%>">
|
|
256
|
+
<div id='dragger'></div>
|
|
256
257
|
<header class='navheader grabbable'>
|
|
257
258
|
<h1>
|
|
258
259
|
<a class='home' href="/"><img class='icon' src="/pinokio-black.png"></a>
|
package/server/views/index.ejs
CHANGED
|
@@ -401,6 +401,7 @@ body.dark aside .current.selected {
|
|
|
401
401
|
<script src="/urldropdown.js"></script>
|
|
402
402
|
</head>
|
|
403
403
|
<body class='<%=theme%>' data-agent="<%=agent%>">
|
|
404
|
+
<div id='dragger'></div>
|
|
404
405
|
<% if (error) { %>
|
|
405
406
|
<nav class='error-message'>
|
|
406
407
|
<div><%=error%></div>
|
|
@@ -1416,7 +1416,7 @@ body.dark .ace-editor {
|
|
|
1416
1416
|
@media only screen and (max-width: 600px) {
|
|
1417
1417
|
aside {
|
|
1418
1418
|
width: unset;
|
|
1419
|
-
flex-shrink:
|
|
1419
|
+
flex-shrink: 0;
|
|
1420
1420
|
}
|
|
1421
1421
|
aside {
|
|
1422
1422
|
padding: 0 10px;
|
|
@@ -1514,6 +1514,7 @@ body.dark .ace-editor {
|
|
|
1514
1514
|
<script src="/fseditor.js"></script>
|
|
1515
1515
|
</head>
|
|
1516
1516
|
<body class='<%=theme%>' data-platform="<%=platform%>">
|
|
1517
|
+
<div id='dragger'></div>
|
|
1517
1518
|
<header class='navheader grabbable'>
|
|
1518
1519
|
<h1>
|
|
1519
1520
|
<a class='home' href="/"><img class='icon' src="/pinokio-black.png"></a>
|
package/server/views/mini.ejs
CHANGED
|
@@ -753,6 +753,7 @@ body.dark .appcanvas {
|
|
|
753
753
|
<script src="/fseditor.js"></script>
|
|
754
754
|
</head>
|
|
755
755
|
<body class='<%=theme%>' data-platform="<%=platform%>" data-agent="<%=agent%>">
|
|
756
|
+
<div id='dragger'></div>
|
|
756
757
|
<header class='navheader grabbable'>
|
|
757
758
|
<h1>
|
|
758
759
|
<a class='home' href="/"><img class='icon' src="/pinokio-black.png"></a>
|
package/server/views/net.ejs
CHANGED
|
@@ -523,6 +523,7 @@ document.addEventListener('DOMContentLoaded', function() {
|
|
|
523
523
|
<script src="/fseditor.js"></script>
|
|
524
524
|
</head>
|
|
525
525
|
<body class='<%=theme%>' data-agent="<%=agent%>">
|
|
526
|
+
<div id='dragger'></div>
|
|
526
527
|
<% if (error) { %>
|
|
527
528
|
<nav class='error-message'>
|
|
528
529
|
<div><%=error%></div>
|
package/server/views/network.ejs
CHANGED
|
@@ -285,7 +285,7 @@ body.dark .config {
|
|
|
285
285
|
}
|
|
286
286
|
.config {
|
|
287
287
|
color: black;
|
|
288
|
-
padding: 30px;
|
|
288
|
+
padding: 30px 30px 0;
|
|
289
289
|
margin: 10px 0;
|
|
290
290
|
}
|
|
291
291
|
.config-header {
|
|
@@ -533,9 +533,14 @@ body.dark .net {
|
|
|
533
533
|
display: block;
|
|
534
534
|
background: none;
|
|
535
535
|
}
|
|
536
|
+
form.search {
|
|
537
|
+
padding: 20px;
|
|
538
|
+
}
|
|
539
|
+
/*
|
|
536
540
|
input[type=search] {
|
|
537
541
|
visibility: hidden;
|
|
538
542
|
}
|
|
543
|
+
*/
|
|
539
544
|
.line2 {
|
|
540
545
|
display: flex;
|
|
541
546
|
align-items: center;
|
|
@@ -673,9 +678,18 @@ body.dark .context-menu-wrapper {
|
|
|
673
678
|
text-align: left;
|
|
674
679
|
color: black;
|
|
675
680
|
}
|
|
681
|
+
.section-header2 {
|
|
682
|
+
display: flex;
|
|
683
|
+
padding: 10px;
|
|
684
|
+
background: rgba(0,0,0,0.04);
|
|
685
|
+
font-weight: bold;
|
|
686
|
+
}
|
|
687
|
+
.section-header2 .col {
|
|
688
|
+
flex-grow: 1;
|
|
689
|
+
padding-left: 10px;
|
|
690
|
+
}
|
|
676
691
|
.blank {
|
|
677
692
|
width: 50px;
|
|
678
|
-
height: 50px;
|
|
679
693
|
flex-shrink: 0;
|
|
680
694
|
}
|
|
681
695
|
body.dark .section-header {
|
|
@@ -1028,6 +1042,7 @@ document.addEventListener('DOMContentLoaded', function() {
|
|
|
1028
1042
|
</script>
|
|
1029
1043
|
</head>
|
|
1030
1044
|
<body class='<%=theme%>' data-agent="<%=agent%>">
|
|
1045
|
+
<div id='dragger'></div>
|
|
1031
1046
|
<header class='navheader grabbable'>
|
|
1032
1047
|
<h1>
|
|
1033
1048
|
<a class='home' href="/"><img class='icon' src="/pinokio-black.png"></a>
|
|
@@ -1132,26 +1147,27 @@ document.addEventListener('DOMContentLoaded', function() {
|
|
|
1132
1147
|
</div>
|
|
1133
1148
|
</div>
|
|
1134
1149
|
<div class='container'>
|
|
1150
|
+
<% if (!requirements_pending && peer_active && processes.length > 0) { %>
|
|
1151
|
+
<form class='search'>
|
|
1152
|
+
<input type='search' class="flexible" placeholder='Filter apps'>
|
|
1153
|
+
</form>
|
|
1154
|
+
<% } %>
|
|
1135
1155
|
<div class='running-apps'>
|
|
1136
|
-
|
|
1137
|
-
<
|
|
1156
|
+
<% if (!requirements_pending && peer_active && processes.length > 0) { %>
|
|
1157
|
+
<div class='section-header2'>
|
|
1138
1158
|
<div class='blank'></div>
|
|
1139
1159
|
<div class='col'>
|
|
1140
1160
|
<div class='grid-3'>
|
|
1141
|
-
<div class='
|
|
1142
|
-
|
|
1143
|
-
|
|
1144
|
-
</div>
|
|
1145
|
-
<div class='section'>
|
|
1146
|
-
<h2><i class="fa-solid fa-wifi"></i> Local network</h2><div>Use these URLs from other machines on the same local network.</div>
|
|
1147
|
-
</div>
|
|
1148
|
-
<div class='section'>
|
|
1149
|
-
<h2><i class="fa-solid fa-podcast"></i> Local HTTPS network</h2><div>Use these URLs from other pinokio peers on the same local network <a class='explain' data-type='peer'>How to start a peer</a></div>
|
|
1150
|
-
</div>
|
|
1161
|
+
<div data-tippy-content="Use these URLs on this machine"><i class='fas fa-laptop-code'></i> This machine</div>
|
|
1162
|
+
<div data-tippy-content="Use these URLs from other machines on the same local network."><i class="fa-solid fa-wifi"></i> Local network</div>
|
|
1163
|
+
<div data-tippy-content="Use these URLs from other pinokio peers on the same local network"><i class="fa-solid fa-podcast"></i> Local HTTPS network</div>
|
|
1151
1164
|
</div>
|
|
1152
1165
|
</div>
|
|
1153
|
-
</
|
|
1154
|
-
|
|
1166
|
+
</div>
|
|
1167
|
+
<% } %>
|
|
1168
|
+
<!--
|
|
1169
|
+
<a class='explain' data-type='peer'>How to start a peer</a>
|
|
1170
|
+
-->
|
|
1155
1171
|
<% if (requirements_pending || peer_active && processes.length === 0) { %>
|
|
1156
1172
|
<div class='loader'>
|
|
1157
1173
|
<i class="fa-solid fa-circle-notch fa-spin"></i>
|
|
@@ -1329,12 +1345,13 @@ if (document.querySelector("#active").checked) {
|
|
|
1329
1345
|
document.querySelector("#active").addEventListener("change", (e)=> {
|
|
1330
1346
|
console.log(e.target.checked)
|
|
1331
1347
|
if (e.target.checked) {
|
|
1348
|
+
document.querySelector("#network_name .label").innerHTML = "Network Name"
|
|
1332
1349
|
document.querySelector("#network_name").classList.remove("hidden")
|
|
1333
1350
|
document.querySelector(".network-name").classList.add("expanded")
|
|
1334
1351
|
document.querySelector("#name").classList.remove("hidden")
|
|
1335
1352
|
document.querySelector("#active-label").innerHTML = "On"
|
|
1336
1353
|
} else {
|
|
1337
|
-
document.querySelector("#network_name").
|
|
1354
|
+
document.querySelector("#network_name .label").innerHTML = "Save Settings"
|
|
1338
1355
|
document.querySelector(".network-name").classList.remove("expanded")
|
|
1339
1356
|
document.querySelector("#name").classList.add("hidden")
|
|
1340
1357
|
document.querySelector("#active-label").innerHTML = "Off"
|
|
@@ -1603,6 +1620,87 @@ setInterval(() => {
|
|
|
1603
1620
|
})
|
|
1604
1621
|
}, 2000)
|
|
1605
1622
|
<% } %>
|
|
1623
|
+
|
|
1624
|
+
let list = []
|
|
1625
|
+
document.querySelectorAll(".line").forEach((el, index) => {
|
|
1626
|
+
list.push({
|
|
1627
|
+
index: parseInt(el.getAttribute("data-index")),
|
|
1628
|
+
name: el.getAttribute("data-name"),
|
|
1629
|
+
description: el.getAttribute("data-description"),
|
|
1630
|
+
uri: el.getAttribute("data-uri")
|
|
1631
|
+
})
|
|
1632
|
+
})
|
|
1633
|
+
const search = (items, value) => {
|
|
1634
|
+
let filtered = []
|
|
1635
|
+
for(let i=0; i<items.length; i++) {
|
|
1636
|
+
let item = items[i]
|
|
1637
|
+
let re = new RegExp(value, "i")
|
|
1638
|
+
if (re.test(item.name)) {
|
|
1639
|
+
filtered.push({ item })
|
|
1640
|
+
} else if (re.test(item.description)) {
|
|
1641
|
+
filtered.push({ item })
|
|
1642
|
+
} else if (re.test(item.uri)) {
|
|
1643
|
+
filtered.push({ item })
|
|
1644
|
+
}
|
|
1645
|
+
}
|
|
1646
|
+
return filtered
|
|
1647
|
+
}
|
|
1648
|
+
let selectedIndex = -1
|
|
1649
|
+
let selectedBtnIndex = 0
|
|
1650
|
+
let filteredCount = list.length
|
|
1651
|
+
let filteredBtnsCount = 0
|
|
1652
|
+
const renderSearch = () => {
|
|
1653
|
+
let target = document.querySelector("form input[type=search]")
|
|
1654
|
+
let result
|
|
1655
|
+
if (target.value.trim().length === 0) {
|
|
1656
|
+
result = list.map((i, index) => {
|
|
1657
|
+
return { item: i }
|
|
1658
|
+
})
|
|
1659
|
+
} else {
|
|
1660
|
+
result = search(list, target.value)
|
|
1661
|
+
}
|
|
1662
|
+
let all = document.querySelectorAll(".line")
|
|
1663
|
+
for(let el of all) {
|
|
1664
|
+
el.classList.add("hidden")
|
|
1665
|
+
el.classList.remove("selected")
|
|
1666
|
+
}
|
|
1667
|
+
|
|
1668
|
+
filteredCount = result.length
|
|
1669
|
+
for(let i=0; i<result.length; i++) {
|
|
1670
|
+
let selector = result[i]
|
|
1671
|
+
//let el = document.querySelector(".line[data-name='" + selector.item.name + "']")
|
|
1672
|
+
let el = document.querySelector(".line[data-index='" + selector.item.index + "']")
|
|
1673
|
+
el.classList.remove("hidden")
|
|
1674
|
+
if (i === selectedIndex) {
|
|
1675
|
+
el.classList.add("selected")
|
|
1676
|
+
let btns = el.querySelectorAll(".btns a")
|
|
1677
|
+
filteredBtnsCount = btns.length
|
|
1678
|
+
btns.forEach((_el, j) => {
|
|
1679
|
+
if (selectedBtnIndex === j) {
|
|
1680
|
+
_el.classList.add("selected")
|
|
1681
|
+
} else {
|
|
1682
|
+
_el.classList.remove("selected")
|
|
1683
|
+
}
|
|
1684
|
+
})
|
|
1685
|
+
} else {
|
|
1686
|
+
el.classList.remove("selected")
|
|
1687
|
+
let btns = el.querySelectorAll(".btns a")
|
|
1688
|
+
btns.forEach((_el, j) => {
|
|
1689
|
+
_el.classList.remove("selected")
|
|
1690
|
+
})
|
|
1691
|
+
}
|
|
1692
|
+
}
|
|
1693
|
+
|
|
1694
|
+
}
|
|
1695
|
+
if (document.querySelector("form input[type=search]")) {
|
|
1696
|
+
renderSearch()
|
|
1697
|
+
document.querySelector("form input[type=search]").addEventListener("input", (e) => {
|
|
1698
|
+
selectedIndex = 0
|
|
1699
|
+
selectedBtnIndex = 0
|
|
1700
|
+
renderSearch()
|
|
1701
|
+
})
|
|
1702
|
+
document.querySelector("form input[type=search]").focus()
|
|
1703
|
+
}
|
|
1606
1704
|
</script>
|
|
1607
1705
|
</body>
|
|
1608
1706
|
</html>
|
|
@@ -1000,6 +1000,7 @@ body.dark .appcanvas {
|
|
|
1000
1000
|
<script src="/fseditor.js"></script>
|
|
1001
1001
|
</head>
|
|
1002
1002
|
<body class='<%=theme%>' data-platform="<%=platform%>">
|
|
1003
|
+
<div id='dragger'></div>
|
|
1003
1004
|
<header class='navheader grabbable'>
|
|
1004
1005
|
<h1>
|
|
1005
1006
|
<a class='home' href="/"><img class='icon' src="/pinokio-black.png"></a>
|
package/server/views/review.ejs
CHANGED
|
@@ -946,6 +946,7 @@ body.minimized #collapse {
|
|
|
946
946
|
<script src="/tippy-bundle.umd.min.js"></script>
|
|
947
947
|
</head>
|
|
948
948
|
<body class='<%=theme%>' data-platform="<%=platform%>" data-agent="<%=agent%>">
|
|
949
|
+
<div id='dragger'></div>
|
|
949
950
|
<header class='navheader grabbable'>
|
|
950
951
|
<h1>
|
|
951
952
|
<a class='home' href="/">
|
package/server/views/rows.ejs
CHANGED
package/server/views/setup.ejs
CHANGED
package/server/views/tools.ejs
CHANGED