pinokiod 7.5.45 → 7.5.46

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 CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pinokiod",
3
- "version": "7.5.45",
3
+ "version": "7.5.46",
4
4
  "description": "",
5
5
  "main": "index.js",
6
6
  "scripts": {
@@ -70,9 +70,22 @@ body.dark .app-header-identity {
70
70
  0 1px 2px rgba(2, 6, 23, 0.35);
71
71
  color: rgba(248, 250, 252, 0.94);
72
72
  }
73
+ body.app-page > header.navheader h1 {
74
+ width: 100%;
75
+ max-width: 100%;
76
+ min-width: 0;
77
+ box-sizing: border-box;
78
+ flex-wrap: nowrap;
79
+ }
80
+ body.app-page > header.navheader h1 > .home,
81
+ body.app-page > header.navheader h1 > .btn2,
82
+ body.app-page > header.navheader h1 > .sep,
83
+ body.app-page > header.navheader h1 > .home-server-popover {
84
+ flex: 0 0 auto;
85
+ }
73
86
  .app-header-info {
74
87
  position: relative;
75
- flex: 0 1 auto;
88
+ flex: 1 1 auto;
76
89
  min-width: 0;
77
90
  display: inline-flex;
78
91
  align-items: center;
@@ -87,7 +100,8 @@ body.dark .app-header-identity {
87
100
  align-items: center;
88
101
  gap: 8px;
89
102
  min-width: 0;
90
- max-width: min(260px, 32vw);
103
+ width: 100%;
104
+ max-width: none;
91
105
  height: 22px;
92
106
  padding: 0 4px;
93
107
  margin: 0 -4px;
@@ -266,6 +280,7 @@ body.dark .app-header-identity-separator {
266
280
  body.app-page header.navheader h1 > .flexible {
267
281
  flex: 0 0 0;
268
282
  min-width: 0;
283
+ margin-left: auto;
269
284
  }
270
285
  body.app-page header.navheader .nav-labeled-action {
271
286
  width: auto;
@@ -309,9 +324,17 @@ body.app-page header.navheader .nav-labeled-action:focus-visible {
309
324
  background: var(--pinokio-sidebar-tab-active-bg);
310
325
  color: var(--pinokio-sidebar-tab-active-color);
311
326
  }
327
+ @media only screen and (max-width: 1180px) {
328
+ body.app-page header.navheader .app-header-identity-separator,
329
+ body.app-page header.navheader .resource-chip--cpu,
330
+ body.app-page header.navheader .resource-chip--ram,
331
+ body.app-page header.navheader .resource-chip--vram {
332
+ display: none !important;
333
+ }
334
+ }
312
335
  .resource-usage {
313
336
  position: relative;
314
- flex: 0 0 auto;
337
+ flex: 0 1 auto;
315
338
  min-width: 0;
316
339
  display: inline-flex;
317
340
  align-items: center;
@@ -327,6 +350,8 @@ body.app-page header.navheader .nav-labeled-action:focus-visible {
327
350
  gap: 8px;
328
351
  height: 22px;
329
352
  min-width: 0;
353
+ max-width: 100%;
354
+ overflow: hidden;
330
355
  padding: 0 7px;
331
356
  margin: 0;
332
357
  border-radius: 999px;
@@ -636,6 +636,17 @@ test("navbar URL picker is hidden without removing URL dropdown behavior", async
636
636
  assert.match(script, /showMobileModal/)
637
637
  })
638
638
 
639
+ test("app navbar stays on one line when app identity and Home Server controls are present", async () => {
640
+ const appView = await fs.readFile(path.resolve(root, "server/views/app.ejs"), "utf8")
641
+
642
+ assert.match(appView, /body\.app-page > header\.navheader h1\s*\{[\s\S]*box-sizing:\s*border-box;[\s\S]*flex-wrap:\s*nowrap;/)
643
+ assert.match(appView, /body\.app-page > header\.navheader h1 > \.home,[\s\S]*body\.app-page > header\.navheader h1 > \.home-server-popover\s*\{[\s\S]*flex:\s*0 0 auto;/)
644
+ assert.match(appView, /body\.app-page header\.navheader h1 > \.flexible\s*\{[\s\S]*flex:\s*0 0 0;[\s\S]*margin-left:\s*auto;/)
645
+ assert.match(appView, /\.app-header-identity\s*\{[\s\S]*flex:\s*1 1 auto;[\s\S]*max-width:\s*none;/)
646
+ assert.doesNotMatch(appView, /nav-action-label\s*\{[^}]*display:\s*none;/)
647
+ assert.match(appView, /@media only screen and \(max-width: 1180px\)\s*\{[\s\S]*\.resource-chip--vram[\s\S]*display:\s*none !important;/)
648
+ })
649
+
639
650
  test("home server dropdown exposes router-discovered non-Pinokio routes separately", () => {
640
651
  const server = Object.create(Server.prototype)
641
652
  const routes = server.collectHomeServerRoutes({