pinokiod 7.5.19 → 7.5.21
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/kernel/bin/index.js +0 -5
- package/kernel/bin/setup.js +0 -1
- package/kernel/index.js +0 -3
- package/package.json +1 -1
- package/server/public/common.js +1 -1
- package/server/public/style.css +34 -0
- package/server/public/urldropdown.css +272 -0
- package/server/public/urldropdown.js +44 -12
- package/server/views/app.ejs +190 -146
- package/server/views/autolaunch.ejs +10 -1
- package/server/views/columns.ejs +13 -1
- package/server/views/d.ejs +54 -137
- package/server/views/index.ejs +14 -6
- package/server/views/partials/app_autolaunch_modal_helpers.ejs +4 -0
- package/server/views/partials/d_column_subtitle.ejs +10 -0
- package/server/views/partials/d_menu_column.ejs +18 -0
- package/server/views/partials/d_terminal_column.ejs +2 -11
- package/server/views/partials/d_terminal_options.ejs +1 -18
- package/server/views/partials/d_tool_tab.ejs +32 -0
- package/server/views/partials/main_sidebar.ejs +3 -0
- package/server/views/rows.ejs +13 -1
- package/system/plugin/antigravity-cli/common.js +10 -16
- package/test/antigravity-cli-plugin.test.js +26 -19
- package/test/home-autolaunch-live-ui.test.js +70 -0
- package/test/launch-requirements-browser.test.js +259 -3
- package/test/plugin-dev-iframe.test.js +67 -1
- package/test/plugin-sources.test.js +1 -1
- package/test/url-split-modal.test.js +107 -0
- package/system/plugin/crush/crush.png +0 -0
- package/system/plugin/crush/pinokio.js +0 -15
- package/system/plugin/qwen/pinokio.js +0 -34
- package/system/plugin/qwen/qwen.png +0 -0
- package/system/plugin/windsurf/pinokio.js +0 -23
- package/system/plugin/windsurf/windsurf.png +0 -0
package/server/views/app.ejs
CHANGED
|
@@ -348,6 +348,7 @@ body.dark .snapshot-comment {
|
|
|
348
348
|
padding: 0;
|
|
349
349
|
border-radius: 9px;
|
|
350
350
|
box-sizing: border-box;
|
|
351
|
+
transition: background-color 140ms cubic-bezier(0.25, 1, 0.5, 1), box-shadow 140ms cubic-bezier(0.25, 1, 0.5, 1), color 140ms cubic-bezier(0.25, 1, 0.5, 1);
|
|
351
352
|
}
|
|
352
353
|
body.dark #sidebar-toggle {
|
|
353
354
|
color: rgba(248, 250, 252, 0.92);
|
|
@@ -383,7 +384,8 @@ body.dark #sidebar-toggle[aria-expanded="true"] {
|
|
|
383
384
|
width: 4px;
|
|
384
385
|
border-radius: 1px;
|
|
385
386
|
background: currentColor;
|
|
386
|
-
|
|
387
|
+
transform-origin: left center;
|
|
388
|
+
transition: opacity 150ms cubic-bezier(0.25, 1, 0.5, 1), transform 150ms cubic-bezier(0.25, 1, 0.5, 1), background-color 150ms cubic-bezier(0.25, 1, 0.5, 1), border-color 150ms cubic-bezier(0.25, 1, 0.5, 1);
|
|
387
389
|
}
|
|
388
390
|
.sidebar-toggle-content {
|
|
389
391
|
position: absolute;
|
|
@@ -395,12 +397,18 @@ body.dark #sidebar-toggle[aria-expanded="true"] {
|
|
|
395
397
|
background: currentColor;
|
|
396
398
|
opacity: 0.32;
|
|
397
399
|
box-shadow: 0 3.8px 0 currentColor, 0 7.6px 0 currentColor;
|
|
400
|
+
transition: opacity 150ms cubic-bezier(0.25, 1, 0.5, 1), transform 150ms cubic-bezier(0.25, 1, 0.5, 1);
|
|
398
401
|
}
|
|
399
402
|
#sidebar-toggle[aria-expanded="false"] .sidebar-toggle-panel {
|
|
400
403
|
background: transparent;
|
|
401
404
|
outline: 1.5px solid currentColor;
|
|
402
405
|
outline-offset: -1px;
|
|
403
406
|
opacity: 0.35;
|
|
407
|
+
transform: translateX(-1px) scaleX(0.8);
|
|
408
|
+
}
|
|
409
|
+
#sidebar-toggle[aria-expanded="false"] .sidebar-toggle-content {
|
|
410
|
+
opacity: 0.42;
|
|
411
|
+
transform: translateX(-2px);
|
|
404
412
|
}
|
|
405
413
|
#devtab {
|
|
406
414
|
align-items: center;
|
|
@@ -1999,6 +2007,7 @@ body.dark .appcanvas_filler {
|
|
|
1999
2007
|
cursor: col-resize;
|
|
2000
2008
|
touch-action: none;
|
|
2001
2009
|
outline: none;
|
|
2010
|
+
opacity: 1;
|
|
2002
2011
|
}
|
|
2003
2012
|
/*
|
|
2004
2013
|
.appcanvas.vertical .appcanvas-resizer:hover::before {
|
|
@@ -2063,6 +2072,26 @@ body.dark .appcanvas > aside {
|
|
|
2063
2072
|
--sidebar-tab-radius: 6px;
|
|
2064
2073
|
--sidebar-tab-selected-translate: 0;
|
|
2065
2074
|
--sidebar-tab-outline: var(--pinokio-sidebar-tabbar-border);
|
|
2075
|
+
opacity: 1;
|
|
2076
|
+
transform: translateX(0);
|
|
2077
|
+
}
|
|
2078
|
+
|
|
2079
|
+
.appcanvas.vertical > aside {
|
|
2080
|
+
flex: 0 0 var(--appcanvas-sidebar-width);
|
|
2081
|
+
width: var(--appcanvas-sidebar-width);
|
|
2082
|
+
max-width: var(--appcanvas-sidebar-width);
|
|
2083
|
+
}
|
|
2084
|
+
|
|
2085
|
+
.appcanvas.sidebar-motion-ready > aside,
|
|
2086
|
+
.appcanvas.sidebar-motion-ready > aside .menu-container,
|
|
2087
|
+
.appcanvas.sidebar-motion-ready .appcanvas-resizer {
|
|
2088
|
+
transition: flex-basis 190ms cubic-bezier(0.25, 1, 0.5, 1), width 190ms cubic-bezier(0.25, 1, 0.5, 1), max-width 190ms cubic-bezier(0.25, 1, 0.5, 1), margin 190ms cubic-bezier(0.25, 1, 0.5, 1), opacity 140ms cubic-bezier(0.25, 1, 0.5, 1), transform 190ms cubic-bezier(0.25, 1, 0.5, 1);
|
|
2089
|
+
}
|
|
2090
|
+
|
|
2091
|
+
.appcanvas.sidebar-resizing > aside,
|
|
2092
|
+
.appcanvas.sidebar-resizing > aside .menu-container,
|
|
2093
|
+
.appcanvas.sidebar-resizing .appcanvas-resizer {
|
|
2094
|
+
transition: none !important;
|
|
2066
2095
|
}
|
|
2067
2096
|
|
|
2068
2097
|
.appcanvas.sidebar-collapsed > aside {
|
|
@@ -2073,6 +2102,7 @@ body.dark .appcanvas > aside {
|
|
|
2073
2102
|
opacity: 0;
|
|
2074
2103
|
pointer-events: none;
|
|
2075
2104
|
overflow: hidden;
|
|
2105
|
+
transform: translateX(-10px);
|
|
2076
2106
|
}
|
|
2077
2107
|
|
|
2078
2108
|
.appcanvas.sidebar-collapsed > aside .menu-container {
|
|
@@ -2080,7 +2110,24 @@ body.dark .appcanvas > aside {
|
|
|
2080
2110
|
}
|
|
2081
2111
|
|
|
2082
2112
|
.appcanvas.sidebar-collapsed .appcanvas-resizer {
|
|
2083
|
-
|
|
2113
|
+
flex-basis: 0;
|
|
2114
|
+
width: 0;
|
|
2115
|
+
min-width: 0;
|
|
2116
|
+
margin-left: 0;
|
|
2117
|
+
margin-right: 0;
|
|
2118
|
+
opacity: 0;
|
|
2119
|
+
pointer-events: none;
|
|
2120
|
+
}
|
|
2121
|
+
|
|
2122
|
+
@media (prefers-reduced-motion: reduce) {
|
|
2123
|
+
#sidebar-toggle,
|
|
2124
|
+
.sidebar-toggle-panel,
|
|
2125
|
+
.sidebar-toggle-content,
|
|
2126
|
+
.appcanvas.sidebar-motion-ready > aside,
|
|
2127
|
+
.appcanvas.sidebar-motion-ready > aside .menu-container,
|
|
2128
|
+
.appcanvas.sidebar-motion-ready .appcanvas-resizer {
|
|
2129
|
+
transition-duration: 0.01ms !important;
|
|
2130
|
+
}
|
|
2084
2131
|
}
|
|
2085
2132
|
|
|
2086
2133
|
/*
|
|
@@ -6634,7 +6681,7 @@ header.navheader h1 {
|
|
|
6634
6681
|
width: min(280px, calc(100vw - 40px));
|
|
6635
6682
|
max-width: 100%;
|
|
6636
6683
|
margin: 0 !important;
|
|
6637
|
-
padding: calc(12px + env(safe-area-inset-top)) 12px
|
|
6684
|
+
padding: calc(12px + env(safe-area-inset-top)) 12px 0;
|
|
6638
6685
|
box-sizing: border-box;
|
|
6639
6686
|
overflow-y: auto;
|
|
6640
6687
|
background: var(--pinokio-sidebar-tabbar-bg);
|
|
@@ -6663,18 +6710,18 @@ header.navheader h1 {
|
|
|
6663
6710
|
width: min(280px, calc(100vw - 40px));
|
|
6664
6711
|
max-width: 100%;
|
|
6665
6712
|
margin: 0 !important;
|
|
6666
|
-
padding: calc(12px + env(safe-area-inset-top)) 12px
|
|
6713
|
+
padding: calc(12px + env(safe-area-inset-top)) 12px 0;
|
|
6667
6714
|
box-sizing: border-box;
|
|
6668
6715
|
overflow-y: auto;
|
|
6669
6716
|
pointer-events: none;
|
|
6670
|
-
|
|
6671
|
-
|
|
6672
|
-
|
|
6673
|
-
|
|
6674
|
-
|
|
6675
|
-
|
|
6676
|
-
|
|
6677
|
-
|
|
6717
|
+
background: var(--pinokio-sidebar-tabbar-bg);
|
|
6718
|
+
border-right: 1px solid var(--pinokio-sidebar-separator);
|
|
6719
|
+
border-left: 0;
|
|
6720
|
+
box-shadow: none;
|
|
6721
|
+
transform: translateX(-100%);
|
|
6722
|
+
transition: transform 180ms ease;
|
|
6723
|
+
z-index: 10000020;
|
|
6724
|
+
}
|
|
6678
6725
|
body.mobile-menu-open .appcanvas.sidebar-collapsed > aside {
|
|
6679
6726
|
width: min(280px, calc(100vw - 40px));
|
|
6680
6727
|
min-width: 0;
|
|
@@ -6719,6 +6766,9 @@ header.navheader h1 {
|
|
|
6719
6766
|
}
|
|
6720
6767
|
body.dark.mobile-menu-open .appcanvas > aside .disk-usage {
|
|
6721
6768
|
color: rgba(148, 163, 184, 0.9);
|
|
6769
|
+
}
|
|
6770
|
+
body.mobile-menu-open .appcanvas > aside .menu-container {
|
|
6771
|
+
padding: 0;
|
|
6722
6772
|
}
|
|
6723
6773
|
body.mobile-menu-open .appcanvas > aside .menu-scroller {
|
|
6724
6774
|
flex-direction: column;
|
|
@@ -6726,7 +6776,7 @@ header.navheader h1 {
|
|
|
6726
6776
|
overflow-y: auto;
|
|
6727
6777
|
overflow-x: hidden;
|
|
6728
6778
|
width: 100%;
|
|
6729
|
-
padding: 0
|
|
6779
|
+
padding: 0;
|
|
6730
6780
|
gap: 8px;
|
|
6731
6781
|
box-sizing: border-box;
|
|
6732
6782
|
}
|
|
@@ -6760,78 +6810,86 @@ header.navheader h1 {
|
|
|
6760
6810
|
gap: 4px;
|
|
6761
6811
|
width: 100%;
|
|
6762
6812
|
}
|
|
6763
|
-
|
|
6764
|
-
|
|
6765
|
-
|
|
6766
|
-
|
|
6767
|
-
|
|
6768
|
-
|
|
6769
|
-
|
|
6770
|
-
padding
|
|
6771
|
-
|
|
6813
|
+
body.mobile-menu-open .appcanvas > aside .mobile-sheet-actions,
|
|
6814
|
+
body.mobile-menu-open[data-view='files'] .mobile-menu-fallback .mobile-sheet-actions {
|
|
6815
|
+
display: flex;
|
|
6816
|
+
align-items: center;
|
|
6817
|
+
gap: 6px;
|
|
6818
|
+
width: 100%;
|
|
6819
|
+
margin: 2px 0 0;
|
|
6820
|
+
padding: 4px 0 0;
|
|
6821
|
+
border-top: 1px solid var(--pinokio-sidebar-separator);
|
|
6822
|
+
box-sizing: border-box;
|
|
6772
6823
|
}
|
|
6773
6824
|
body.mobile-menu-open .appcanvas > aside .mobile-sheet-actions::-webkit-scrollbar,
|
|
6774
6825
|
body.mobile-menu-open .mobile-menu-fallback .mobile-sheet-actions::-webkit-scrollbar {
|
|
6775
6826
|
display: none;
|
|
6776
6827
|
}
|
|
6828
|
+
body.mobile-menu-open .appcanvas > aside .mobile-sheet-action-grid,
|
|
6829
|
+
body.mobile-menu-open .mobile-menu-fallback .mobile-sheet-action-grid {
|
|
6830
|
+
display: flex;
|
|
6831
|
+
align-items: center;
|
|
6832
|
+
gap: 6px;
|
|
6833
|
+
flex: 0 0 auto;
|
|
6834
|
+
width: auto;
|
|
6835
|
+
}
|
|
6777
6836
|
body.mobile-menu-open .appcanvas > aside .mobile-sheet-action,
|
|
6778
6837
|
body.mobile-menu-open .mobile-menu-fallback .mobile-sheet-action {
|
|
6779
|
-
flex: 0 0
|
|
6780
|
-
width:
|
|
6781
|
-
height:
|
|
6782
|
-
min-width:
|
|
6783
|
-
min-height:
|
|
6838
|
+
flex: 0 0 32px;
|
|
6839
|
+
width: 32px;
|
|
6840
|
+
height: 32px;
|
|
6841
|
+
min-width: 32px;
|
|
6842
|
+
min-height: 32px;
|
|
6784
6843
|
padding: 0;
|
|
6785
|
-
border-radius:
|
|
6786
|
-
border:
|
|
6787
|
-
background:
|
|
6788
|
-
color:
|
|
6789
|
-
box-shadow:
|
|
6844
|
+
border-radius: 6px;
|
|
6845
|
+
border: 0;
|
|
6846
|
+
background: transparent;
|
|
6847
|
+
color: var(--app-mobile-drawer-icon-active);
|
|
6848
|
+
box-shadow: none;
|
|
6790
6849
|
box-sizing: border-box;
|
|
6791
6850
|
text-decoration: none;
|
|
6792
6851
|
display: inline-flex;
|
|
6793
6852
|
align-items: center;
|
|
6794
6853
|
justify-content: center;
|
|
6854
|
+
gap: 0;
|
|
6855
|
+
font-size: 12px;
|
|
6856
|
+
font-weight: 500;
|
|
6857
|
+
line-height: 1.2;
|
|
6795
6858
|
}
|
|
6796
6859
|
body.dark.mobile-menu-open .appcanvas > aside .mobile-sheet-action,
|
|
6797
6860
|
body.dark.mobile-menu-open .mobile-menu-fallback .mobile-sheet-action {
|
|
6798
|
-
background:
|
|
6799
|
-
border-color:
|
|
6861
|
+
background: transparent;
|
|
6862
|
+
border-color: transparent;
|
|
6800
6863
|
color: rgba(226, 232, 240, 0.92);
|
|
6801
|
-
box-shadow:
|
|
6864
|
+
box-shadow: none;
|
|
6865
|
+
}
|
|
6866
|
+
body.mobile-menu-open .appcanvas > aside .mobile-sheet-action:hover,
|
|
6867
|
+
body.mobile-menu-open .appcanvas > aside .mobile-sheet-action:focus-visible,
|
|
6868
|
+
body.mobile-menu-open .mobile-menu-fallback .mobile-sheet-action:hover,
|
|
6869
|
+
body.mobile-menu-open .mobile-menu-fallback .mobile-sheet-action:focus-visible {
|
|
6870
|
+
background: var(--app-mobile-drawer-tab-hover);
|
|
6802
6871
|
}
|
|
6803
6872
|
body.mobile-menu-open .appcanvas > aside .mobile-sheet-action i,
|
|
6804
6873
|
body.mobile-menu-open .mobile-menu-fallback .mobile-sheet-action i {
|
|
6805
|
-
|
|
6806
|
-
|
|
6807
|
-
|
|
6808
|
-
|
|
6809
|
-
display: none;
|
|
6874
|
+
width: 15px;
|
|
6875
|
+
flex: 0 0 15px;
|
|
6876
|
+
font-size: 14px;
|
|
6877
|
+
text-align: center;
|
|
6810
6878
|
}
|
|
6811
|
-
body.mobile-menu-open .appcanvas > aside .
|
|
6812
|
-
body.mobile-menu-open .mobile-menu-fallback .mobile-sheet-action {
|
|
6813
|
-
|
|
6814
|
-
|
|
6815
|
-
|
|
6816
|
-
min-height: 40px !important;
|
|
6817
|
-
padding: 0 !important;
|
|
6818
|
-
border-radius: 12px !important;
|
|
6819
|
-
display: inline-flex;
|
|
6820
|
-
align-items: center;
|
|
6821
|
-
justify-content: center;
|
|
6822
|
-
gap: 0;
|
|
6879
|
+
body.mobile-menu-open .appcanvas > aside .mobile-sheet-action--close-pane,
|
|
6880
|
+
body.mobile-menu-open .mobile-menu-fallback .mobile-sheet-action--close-pane {
|
|
6881
|
+
border-color: transparent;
|
|
6882
|
+
background: transparent;
|
|
6883
|
+
color: #b91c1c;
|
|
6823
6884
|
}
|
|
6824
|
-
|
|
6825
|
-
|
|
6826
|
-
|
|
6827
|
-
|
|
6828
|
-
|
|
6829
|
-
overflow-x: auto;
|
|
6830
|
-
overflow-y: hidden;
|
|
6831
|
-
padding-bottom: 2px;
|
|
6885
|
+
body.dark.mobile-menu-open .appcanvas > aside .mobile-sheet-action--close-pane,
|
|
6886
|
+
body.dark.mobile-menu-open .mobile-menu-fallback .mobile-sheet-action--close-pane {
|
|
6887
|
+
border-color: transparent;
|
|
6888
|
+
background: transparent;
|
|
6889
|
+
color: #f87171;
|
|
6832
6890
|
}
|
|
6833
|
-
body.mobile-menu-open .appcanvas > aside .menu-scroller .btn:not(.btn2),
|
|
6834
|
-
body.mobile-menu-open .appcanvas > aside .menu-actions .btn:not(.btn2) {
|
|
6891
|
+
body.mobile-menu-open .appcanvas > aside .menu-scroller .btn:not(.btn2):not(.mobile-sheet-action),
|
|
6892
|
+
body.mobile-menu-open .appcanvas > aside .menu-actions .btn:not(.btn2):not(.mobile-sheet-action) {
|
|
6835
6893
|
max-width: none;
|
|
6836
6894
|
min-width: 0;
|
|
6837
6895
|
width: 100%;
|
|
@@ -6844,22 +6902,22 @@ header.navheader h1 {
|
|
|
6844
6902
|
box-shadow: none;
|
|
6845
6903
|
box-sizing: border-box;
|
|
6846
6904
|
}
|
|
6847
|
-
body.dark.mobile-menu-open .appcanvas > aside .menu-scroller .btn:not(.btn2),
|
|
6848
|
-
body.dark.mobile-menu-open .appcanvas > aside .menu-actions .btn:not(.btn2) {
|
|
6905
|
+
body.dark.mobile-menu-open .appcanvas > aside .menu-scroller .btn:not(.btn2):not(.mobile-sheet-action),
|
|
6906
|
+
body.dark.mobile-menu-open .appcanvas > aside .menu-actions .btn:not(.btn2):not(.mobile-sheet-action) {
|
|
6849
6907
|
background: transparent;
|
|
6850
6908
|
border-color: transparent;
|
|
6851
6909
|
color: var(--app-mobile-drawer-tab-muted);
|
|
6852
6910
|
box-shadow: none;
|
|
6853
6911
|
}
|
|
6854
|
-
body.mobile-menu-open .appcanvas > aside .menu-scroller .btn:not(.btn2):hover,
|
|
6855
|
-
body.mobile-menu-open .appcanvas > aside .menu-scroller .btn:not(.btn2):focus-visible,
|
|
6856
|
-
body.mobile-menu-open .appcanvas > aside .menu-actions .btn:not(.btn2):hover,
|
|
6857
|
-
body.mobile-menu-open .appcanvas > aside .menu-actions .btn:not(.btn2):focus-visible {
|
|
6912
|
+
body.mobile-menu-open .appcanvas > aside .menu-scroller .btn:not(.btn2):not(.mobile-sheet-action):hover,
|
|
6913
|
+
body.mobile-menu-open .appcanvas > aside .menu-scroller .btn:not(.btn2):not(.mobile-sheet-action):focus-visible,
|
|
6914
|
+
body.mobile-menu-open .appcanvas > aside .menu-actions .btn:not(.btn2):not(.mobile-sheet-action):hover,
|
|
6915
|
+
body.mobile-menu-open .appcanvas > aside .menu-actions .btn:not(.btn2):not(.mobile-sheet-action):focus-visible {
|
|
6858
6916
|
background: var(--app-mobile-drawer-tab-hover);
|
|
6859
6917
|
color: var(--app-mobile-drawer-tab-active-color);
|
|
6860
6918
|
}
|
|
6861
|
-
body.mobile-menu-open .appcanvas > aside .menu-scroller .btn.selected:not(.btn2),
|
|
6862
|
-
body.mobile-menu-open .appcanvas > aside .menu-actions .btn.selected:not(.btn2) {
|
|
6919
|
+
body.mobile-menu-open .appcanvas > aside .menu-scroller .btn.selected:not(.btn2):not(.mobile-sheet-action),
|
|
6920
|
+
body.mobile-menu-open .appcanvas > aside .menu-actions .btn.selected:not(.btn2):not(.mobile-sheet-action) {
|
|
6863
6921
|
background: var(--app-mobile-drawer-tab-active-bg) !important;
|
|
6864
6922
|
color: var(--app-mobile-drawer-tab-active-color);
|
|
6865
6923
|
}
|
|
@@ -7006,7 +7064,7 @@ header.navheader h1 {
|
|
|
7006
7064
|
max-width: 100%;
|
|
7007
7065
|
z-index: 10000020;
|
|
7008
7066
|
flex-direction: column;
|
|
7009
|
-
padding: calc(12px + env(safe-area-inset-top)) 12px
|
|
7067
|
+
padding: calc(12px + env(safe-area-inset-top)) 12px 0;
|
|
7010
7068
|
box-sizing: border-box;
|
|
7011
7069
|
overflow-y: auto;
|
|
7012
7070
|
background: var(--pinokio-sidebar-tabbar-bg);
|
|
@@ -7037,7 +7095,7 @@ header.navheader h1 {
|
|
|
7037
7095
|
.mobile-menu-fallback__body {
|
|
7038
7096
|
flex: 1 1 auto;
|
|
7039
7097
|
overflow-y: auto;
|
|
7040
|
-
padding: 0
|
|
7098
|
+
padding: 0;
|
|
7041
7099
|
box-sizing: border-box;
|
|
7042
7100
|
}
|
|
7043
7101
|
.mobile-menu-fallback .workspace-mode-switch {
|
|
@@ -7794,32 +7852,6 @@ body.dark .pinokio-custom-terminal-header {
|
|
|
7794
7852
|
<span>Dev</span>
|
|
7795
7853
|
</a>
|
|
7796
7854
|
</div>
|
|
7797
|
-
<div class='mobile-sheet-actions' aria-label="Workspace actions">
|
|
7798
|
-
<button type='button' id='menu-mobile-close' class='btn mobile-sheet-action' data-tippy-content="Close menu" aria-label="Close menu" title="Close menu">
|
|
7799
|
-
<i class="fa-solid fa-xmark"></i>
|
|
7800
|
-
</button>
|
|
7801
|
-
<button type='button' class='btn mobile-sheet-action' data-mobile-proxy="#refresh-page" data-mobile-close-menu="true" aria-label="Refresh" title="Refresh">
|
|
7802
|
-
<i class="fa-solid fa-rotate-right"></i>
|
|
7803
|
-
</button>
|
|
7804
|
-
<button type='button' class='btn mobile-sheet-action' data-mobile-proxy="#back" data-mobile-close-menu="true" aria-label="Back" title="Back">
|
|
7805
|
-
<i class="fa-solid fa-chevron-left"></i>
|
|
7806
|
-
</button>
|
|
7807
|
-
<button type='button' class='btn mobile-sheet-action' data-mobile-proxy="#forward" data-mobile-close-menu="true" aria-label="Forward" title="Forward">
|
|
7808
|
-
<i class="fa-solid fa-chevron-right"></i>
|
|
7809
|
-
</button>
|
|
7810
|
-
<a class='btn mobile-sheet-action' href="/columns" aria-label="2 Columns" title="2 Columns">
|
|
7811
|
-
<i class="fa-solid fa-table-columns"></i>
|
|
7812
|
-
</a>
|
|
7813
|
-
<a class='btn mobile-sheet-action' href="/rows" aria-label="2 Rows" title="2 Rows">
|
|
7814
|
-
<i class="fa-solid fa-table-columns fa-rotate-270"></i>
|
|
7815
|
-
</a>
|
|
7816
|
-
<button type='button' class='btn mobile-sheet-action' data-mobile-proxy="#new-window" data-mobile-close-menu="true" aria-label="New Window" title="New Window">
|
|
7817
|
-
<i class="fa-solid fa-plus"></i>
|
|
7818
|
-
</button>
|
|
7819
|
-
<button type='button' class='btn mobile-sheet-action mobile-close-window-action hidden' data-mobile-proxy="#close-window" data-mobile-close-menu="true" aria-label="Close Section" title="Close Section">
|
|
7820
|
-
<i class="fa-solid fa-xmark"></i>
|
|
7821
|
-
</button>
|
|
7822
|
-
</div>
|
|
7823
7855
|
<%if (type==='browse') { %>
|
|
7824
7856
|
<div class='m n system' data-type="n">
|
|
7825
7857
|
<a id='devtab' data-mode="refresh" target="<%=dev_link%>" href="<%=dev_link%>" class="btn frame-link <%=dev_initial_tab === 'files' ? '' : 'selected'%>" data-index="10">
|
|
@@ -7896,14 +7928,26 @@ body.dark .pinokio-custom-terminal-header {
|
|
|
7896
7928
|
</div>
|
|
7897
7929
|
</button>
|
|
7898
7930
|
<% } %>
|
|
7899
|
-
<a class='btn header-item mobile-drawer-home' href="/home" aria-label="Home">
|
|
7900
|
-
<div class='tab'>
|
|
7901
|
-
<i class="fa-solid fa-house menu-action-leading-icon"></i>
|
|
7902
|
-
<div class='display'>Home</div>
|
|
7903
|
-
<div class='flexible'></div>
|
|
7904
|
-
</div>
|
|
7905
|
-
</a>
|
|
7906
7931
|
</div>
|
|
7932
|
+
<div class='mobile-sheet-actions' aria-label="Navigation and pane actions">
|
|
7933
|
+
<div class='mobile-sheet-action-grid'>
|
|
7934
|
+
<a class='btn mobile-sheet-action mobile-drawer-home' href="/home" aria-label="Home" title="Home">
|
|
7935
|
+
<i class="fa-solid fa-house"></i>
|
|
7936
|
+
</a>
|
|
7937
|
+
<a class='btn mobile-sheet-action' href="/columns" aria-label="Split right" title="Split right">
|
|
7938
|
+
<i class="fa-solid fa-table-columns"></i>
|
|
7939
|
+
</a>
|
|
7940
|
+
<a class='btn mobile-sheet-action' href="/rows" aria-label="Split down" title="Split down">
|
|
7941
|
+
<i class="fa-solid fa-table-columns fa-rotate-270"></i>
|
|
7942
|
+
</a>
|
|
7943
|
+
<button type='button' class='btn mobile-sheet-action' data-mobile-proxy="#new-window" data-mobile-close-menu="true" aria-label="New window" title="New window">
|
|
7944
|
+
<i class="fa-solid fa-plus"></i>
|
|
7945
|
+
</button>
|
|
7946
|
+
<button type='button' class='btn mobile-sheet-action mobile-sheet-action--close-pane mobile-close-window-action hidden' data-mobile-proxy="#close-window" data-mobile-close-menu="true" aria-label="Close pane" title="Close pane">
|
|
7947
|
+
<i class="fa-solid fa-xmark"></i>
|
|
7948
|
+
</button>
|
|
7949
|
+
</div>
|
|
7950
|
+
</div>
|
|
7907
7951
|
<div class='menu-actions <%= type === "browse" ? "dev-menu-actions" : "" %>'>
|
|
7908
7952
|
<% if (type === 'browse') { %>
|
|
7909
7953
|
<%- include('./partials/fs_status') %>
|
|
@@ -8289,29 +8333,6 @@ body.dark .pinokio-custom-terminal-header {
|
|
|
8289
8333
|
<span>Dev</span>
|
|
8290
8334
|
</a>
|
|
8291
8335
|
</div>
|
|
8292
|
-
<div class='mobile-sheet-actions' aria-label="Workspace actions">
|
|
8293
|
-
<button type='button' class='btn mobile-sheet-action' data-mobile-proxy="#refresh-page" data-mobile-close-menu="true" aria-label="Refresh" title="Refresh">
|
|
8294
|
-
<i class="fa-solid fa-rotate-right"></i>
|
|
8295
|
-
</button>
|
|
8296
|
-
<button type='button' class='btn mobile-sheet-action' data-mobile-proxy="#back" data-mobile-close-menu="true" aria-label="Back" title="Back">
|
|
8297
|
-
<i class="fa-solid fa-chevron-left"></i>
|
|
8298
|
-
</button>
|
|
8299
|
-
<button type='button' class='btn mobile-sheet-action' data-mobile-proxy="#forward" data-mobile-close-menu="true" aria-label="Forward" title="Forward">
|
|
8300
|
-
<i class="fa-solid fa-chevron-right"></i>
|
|
8301
|
-
</button>
|
|
8302
|
-
<a class='btn mobile-sheet-action' href="/columns" aria-label="2 Columns" title="2 Columns">
|
|
8303
|
-
<i class="fa-solid fa-table-columns"></i>
|
|
8304
|
-
</a>
|
|
8305
|
-
<a class='btn mobile-sheet-action' href="/rows" aria-label="2 Rows" title="2 Rows">
|
|
8306
|
-
<i class="fa-solid fa-table-columns fa-rotate-270"></i>
|
|
8307
|
-
</a>
|
|
8308
|
-
<button type='button' class='btn mobile-sheet-action' data-mobile-proxy="#new-window" data-mobile-close-menu="true" aria-label="New Window" title="New Window">
|
|
8309
|
-
<i class="fa-solid fa-plus"></i>
|
|
8310
|
-
</button>
|
|
8311
|
-
<button type='button' class='btn mobile-sheet-action mobile-close-window-action hidden' data-mobile-proxy="#close-window" data-mobile-close-menu="true" aria-label="Close Section" title="Close Section">
|
|
8312
|
-
<i class="fa-solid fa-xmark"></i>
|
|
8313
|
-
</button>
|
|
8314
|
-
</div>
|
|
8315
8336
|
<div class='mobile-drawer-actions' aria-label="App actions">
|
|
8316
8337
|
<button type='button' class='btn header-item mobile-nav-logs' data-mobile-proxy="#fs-status .fs-logs .fs-status-btn" data-mobile-panel="logs" data-mobile-close-menu="true" aria-pressed="false" aria-label="Logs">
|
|
8317
8338
|
<div class='tab'>
|
|
@@ -8329,13 +8350,25 @@ body.dark .pinokio-custom-terminal-header {
|
|
|
8329
8350
|
</div>
|
|
8330
8351
|
</button>
|
|
8331
8352
|
<% } %>
|
|
8332
|
-
|
|
8333
|
-
|
|
8334
|
-
|
|
8335
|
-
|
|
8336
|
-
<
|
|
8337
|
-
</
|
|
8338
|
-
|
|
8353
|
+
</div>
|
|
8354
|
+
<div class='mobile-sheet-actions' aria-label="Navigation and pane actions">
|
|
8355
|
+
<div class='mobile-sheet-action-grid'>
|
|
8356
|
+
<a class='btn mobile-sheet-action mobile-drawer-home' href="/home" aria-label="Home" title="Home">
|
|
8357
|
+
<i class="fa-solid fa-house"></i>
|
|
8358
|
+
</a>
|
|
8359
|
+
<a class='btn mobile-sheet-action' href="/columns" aria-label="Split right" title="Split right">
|
|
8360
|
+
<i class="fa-solid fa-table-columns"></i>
|
|
8361
|
+
</a>
|
|
8362
|
+
<a class='btn mobile-sheet-action' href="/rows" aria-label="Split down" title="Split down">
|
|
8363
|
+
<i class="fa-solid fa-table-columns fa-rotate-270"></i>
|
|
8364
|
+
</a>
|
|
8365
|
+
<button type='button' class='btn mobile-sheet-action' data-mobile-proxy="#new-window" data-mobile-close-menu="true" aria-label="New window" title="New window">
|
|
8366
|
+
<i class="fa-solid fa-plus"></i>
|
|
8367
|
+
</button>
|
|
8368
|
+
<button type='button' class='btn mobile-sheet-action mobile-sheet-action--close-pane mobile-close-window-action hidden' data-mobile-proxy="#close-window" data-mobile-close-menu="true" aria-label="Close pane" title="Close pane">
|
|
8369
|
+
<i class="fa-solid fa-xmark"></i>
|
|
8370
|
+
</button>
|
|
8371
|
+
</div>
|
|
8339
8372
|
</div>
|
|
8340
8373
|
</div>
|
|
8341
8374
|
</div>
|
|
@@ -11150,7 +11183,7 @@ const rerenderMenuSection = (container, html) => {
|
|
|
11150
11183
|
const communityModeActive = !!(appcanvas && appcanvas.classList.contains("community-mode"))
|
|
11151
11184
|
const askAiOpen = !!(appcanvas && appcanvas.classList.contains("panel-open"))
|
|
11152
11185
|
const mobileMenuFallback = document.querySelector(".mobile-menu-fallback")
|
|
11153
|
-
const
|
|
11186
|
+
const closePaneAvailable = !!(closeWindowButton && !closeWindowButton.classList.contains("hidden"))
|
|
11154
11187
|
|
|
11155
11188
|
document.querySelectorAll(".mobile-nav-menu").forEach((button) => {
|
|
11156
11189
|
button.classList.toggle("selected", mobileMenuOpen)
|
|
@@ -11171,8 +11204,8 @@ const rerenderMenuSection = (container, html) => {
|
|
|
11171
11204
|
syncLogsSelectedState()
|
|
11172
11205
|
}
|
|
11173
11206
|
document.querySelectorAll(".mobile-close-window-action").forEach((button) => {
|
|
11174
|
-
button.classList.toggle("hidden", !
|
|
11175
|
-
button.setAttribute("aria-hidden",
|
|
11207
|
+
button.classList.toggle("hidden", !closePaneAvailable)
|
|
11208
|
+
button.setAttribute("aria-hidden", closePaneAvailable ? "false" : "true")
|
|
11176
11209
|
})
|
|
11177
11210
|
if (mobileMenuFallback) {
|
|
11178
11211
|
const showFallback = mobileMenuOpen && document.body.getAttribute("data-view") === "files"
|
|
@@ -11217,13 +11250,13 @@ const rerenderMenuSection = (container, html) => {
|
|
|
11217
11250
|
setMobileMenuOpen(!isMobileMenuOpen())
|
|
11218
11251
|
})
|
|
11219
11252
|
}
|
|
11220
|
-
|
|
11221
|
-
|
|
11222
|
-
|
|
11223
|
-
|
|
11224
|
-
|
|
11225
|
-
|
|
11226
|
-
|
|
11253
|
+
if (document.querySelector("#menu-mobile-close")) {
|
|
11254
|
+
document.querySelector("#menu-mobile-close").addEventListener("click", (e) => {
|
|
11255
|
+
e.preventDefault()
|
|
11256
|
+
setMobileMenuOpen(false, { skipRefresh: true })
|
|
11257
|
+
})
|
|
11258
|
+
}
|
|
11259
|
+
if (mobileMenuBackdrop) {
|
|
11227
11260
|
mobileMenuBackdrop.addEventListener("click", () => {
|
|
11228
11261
|
setMobileMenuOpen(false, { skipRefresh: true })
|
|
11229
11262
|
})
|
|
@@ -11904,6 +11937,7 @@ const rerenderMenuSection = (container, html) => {
|
|
|
11904
11937
|
}
|
|
11905
11938
|
|
|
11906
11939
|
const finishResizing = () => {
|
|
11940
|
+
appcanvas.classList.remove("sidebar-resizing")
|
|
11907
11941
|
if (!isResizing) {
|
|
11908
11942
|
if (document.activeElement === sidebarResizer) {
|
|
11909
11943
|
sidebarResizer.blur()
|
|
@@ -11972,6 +12006,7 @@ const rerenderMenuSection = (container, html) => {
|
|
|
11972
12006
|
}
|
|
11973
12007
|
event.preventDefault()
|
|
11974
12008
|
isResizing = true
|
|
12009
|
+
appcanvas.classList.add("sidebar-resizing")
|
|
11975
12010
|
pointerId = event.pointerId
|
|
11976
12011
|
try {
|
|
11977
12012
|
sidebarResizer.setPointerCapture(event.pointerId)
|
|
@@ -16027,6 +16062,9 @@ const rerenderMenuSection = (container, html) => {
|
|
|
16027
16062
|
initialCollapsed = window.localStorage.getItem(storageKey) === "1"
|
|
16028
16063
|
} catch (_) {}
|
|
16029
16064
|
setCollapsed(initialCollapsed, { persist: false })
|
|
16065
|
+
requestAnimationFrame(() => {
|
|
16066
|
+
appcanvas.classList.add("sidebar-motion-ready")
|
|
16067
|
+
})
|
|
16030
16068
|
|
|
16031
16069
|
toggle.addEventListener("click", (event) => {
|
|
16032
16070
|
event.preventDefault()
|
|
@@ -18616,6 +18654,12 @@ document.addEventListener("DOMContentLoaded", () => {
|
|
|
18616
18654
|
if (!candidateState) return []
|
|
18617
18655
|
return [].concat(candidateState.menu || [], candidateState.other || [])
|
|
18618
18656
|
}
|
|
18657
|
+
const eligibleDefaultScript = () => {
|
|
18658
|
+
const defaults = allCandidates().filter((candidate) => {
|
|
18659
|
+
return candidate && candidate.script && candidate.menu_default && !candidate.has_params
|
|
18660
|
+
})
|
|
18661
|
+
return defaults.length === 1 ? defaults[0].script : ""
|
|
18662
|
+
}
|
|
18619
18663
|
<%- include('partials/app_autolaunch_modal_helpers') %>
|
|
18620
18664
|
const hasLaunchRequirementConfig = () => {
|
|
18621
18665
|
return !!(
|
|
@@ -18792,7 +18836,7 @@ document.addEventListener("DOMContentLoaded", () => {
|
|
|
18792
18836
|
if (!candidateState) {
|
|
18793
18837
|
await loadCandidates()
|
|
18794
18838
|
}
|
|
18795
|
-
const script = selectedScript ||
|
|
18839
|
+
const script = selectedScript || eligibleDefaultScript()
|
|
18796
18840
|
if (!script) {
|
|
18797
18841
|
setFeedback("Choose a launch script first.", true)
|
|
18798
18842
|
return
|
|
@@ -748,6 +748,15 @@ const renderScriptSection = (title, note, candidates) => {
|
|
|
748
748
|
};
|
|
749
749
|
|
|
750
750
|
const configuredScript = (data) => data && data.current ? data.current : "";
|
|
751
|
+
const allScriptCandidates = () => candidateState
|
|
752
|
+
? [].concat(candidateState.menu || [], candidateState.other || [])
|
|
753
|
+
: [];
|
|
754
|
+
const eligibleDefaultScript = () => {
|
|
755
|
+
const defaults = allScriptCandidates().filter((candidate) => {
|
|
756
|
+
return candidate && candidate.script && candidate.menu_default && !candidate.has_params;
|
|
757
|
+
});
|
|
758
|
+
return defaults.length === 1 ? defaults[0].script : "";
|
|
759
|
+
};
|
|
751
760
|
|
|
752
761
|
<%- include('partials/autolaunch_dependency_helpers') %>
|
|
753
762
|
const bindDetailControls = () => {
|
|
@@ -950,7 +959,7 @@ const toggleAutolaunch = () => {
|
|
|
950
959
|
return;
|
|
951
960
|
}
|
|
952
961
|
const manual = detailEl.querySelector("[data-manual-script]");
|
|
953
|
-
const script = manual && manual.value.trim() ? manual.value.trim() : (selectedScript ||
|
|
962
|
+
const script = manual && manual.value.trim() ? manual.value.trim() : (selectedScript || eligibleDefaultScript());
|
|
954
963
|
if (!script) {
|
|
955
964
|
setFeedback("Choose a launch script first.", true);
|
|
956
965
|
return;
|
package/server/views/columns.ejs
CHANGED
|
@@ -309,8 +309,20 @@ body[data-agent='electron'] {
|
|
|
309
309
|
}
|
|
310
310
|
});
|
|
311
311
|
window.addEventListener('message', (event) => {
|
|
312
|
+
if (event.data && event.data.e === "layout-state-request") {
|
|
313
|
+
const closable = Array.from(document.querySelectorAll('iframe')).some((iframe) => {
|
|
314
|
+
return event.source === iframe.contentWindow;
|
|
315
|
+
});
|
|
316
|
+
if (event.source && typeof event.source.postMessage === "function") {
|
|
317
|
+
event.source.postMessage({
|
|
318
|
+
e: "layout-state",
|
|
319
|
+
closable
|
|
320
|
+
}, "*");
|
|
321
|
+
}
|
|
322
|
+
return;
|
|
323
|
+
}
|
|
312
324
|
if (event.data && event.data.e === "close") {
|
|
313
|
-
// find the frame
|
|
325
|
+
// find the frame
|
|
314
326
|
// Find which iframe sent the message
|
|
315
327
|
const col0 = document.getElementById('col0');
|
|
316
328
|
const col1 = document.getElementById('col1');
|