Pointf5ive commited on
Commit
e4fc749
·
1 Parent(s): ceb8ef4

Align intake windows with dashboard mockup position and styling

Browse files
Files changed (1) hide show
  1. app.py +66 -2
app.py CHANGED
@@ -597,6 +597,50 @@ TOTEM_CSS = """
597
  border-color: rgba(224, 75, 69, 0.35);
598
  }
599
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
600
  .totem-run-btn {
601
  min-height: 34px;
602
  border-radius: 8px;
@@ -1179,6 +1223,15 @@ HEAD = """
1179
  return true;
1180
  };
1181
 
 
 
 
 
 
 
 
 
 
1182
  const bindSidebarCodexLinks = () => {
1183
  const bindings = [
1184
  { selector: '.js-open-dashboard', handler: switchToDashboardTab },
@@ -1205,14 +1258,22 @@ HEAD = """
1205
  });
1206
  };
1207
 
1208
- const observer = new MutationObserver(() => bindSidebarCodexLinks());
 
 
 
1209
  observer.observe(document.documentElement, { childList: true, subtree: true });
1210
 
1211
  if (document.readyState === 'loading') {
1212
- document.addEventListener('DOMContentLoaded', bindSidebarCodexLinks);
 
 
 
1213
  } else {
1214
  bindSidebarCodexLinks();
 
1215
  }
 
1216
  })();
1217
  </script>
1218
  """
@@ -1817,6 +1878,9 @@ def render_dashboard(state: dict) -> str:
1817
  {render_topbar(s)}
1818
  {render_hero(s)}
1819
  {render_status_row(s)}
 
 
 
1820
  {render_metric_cards(s)}
1821
  <section class="totem-lower-grid">
1822
  {render_revision_queue(s)}
 
597
  border-color: rgba(224, 75, 69, 0.35);
598
  }
599
 
600
+ .totem-intake-host {
601
+ margin: 14px 0 12px;
602
+ }
603
+
604
+ #totem-intake-mount #intake-row {
605
+ display: grid !important;
606
+ grid-template-columns: repeat(2, minmax(280px, 1fr));
607
+ gap: 14px;
608
+ margin: 0;
609
+ }
610
+
611
+ #totem-intake-mount #intake-row > .gr-column {
612
+ border: 1px solid rgba(205, 123, 255, 0.42);
613
+ border-radius: 14px;
614
+ background:
615
+ radial-gradient(600px 180px at 100% 0%, rgba(125, 68, 209, 0.24), transparent 62%),
616
+ linear-gradient(180deg, rgba(13, 22, 58, 0.95), rgba(8, 14, 40, 0.95));
617
+ box-shadow: inset 0 0 0 1px rgba(255, 216, 126, 0.12);
618
+ padding: 10px 12px 12px !important;
619
+ }
620
+
621
+ #totem-intake-mount #intake-row .gr-markdown p {
622
+ margin: 2px 0 8px !important;
623
+ color: #f8e6b7 !important;
624
+ letter-spacing: 0.02em;
625
+ }
626
+
627
+ #totem-intake-mount #intake-row .gr-file {
628
+ border: 1px dashed rgba(202, 125, 255, 0.45) !important;
629
+ border-radius: 12px !important;
630
+ background: rgba(10, 19, 52, 0.82) !important;
631
+ min-height: 102px;
632
+ }
633
+
634
+ #totem-intake-mount #intake-row button {
635
+ border-radius: 10px !important;
636
+ }
637
+
638
+ @media (max-width: 1080px) {
639
+ #totem-intake-mount #intake-row {
640
+ grid-template-columns: 1fr;
641
+ }
642
+ }
643
+
644
  .totem-run-btn {
645
  min-height: 34px;
646
  border-radius: 8px;
 
1223
  return true;
1224
  };
1225
 
1226
+ const mountIntakeRow = () => {
1227
+ const mount = document.getElementById('totem-intake-mount');
1228
+ const row = document.getElementById('intake-row');
1229
+ if (!mount || !row) return;
1230
+ if (row.parentElement !== mount) {
1231
+ mount.appendChild(row);
1232
+ }
1233
+ };
1234
+
1235
  const bindSidebarCodexLinks = () => {
1236
  const bindings = [
1237
  { selector: '.js-open-dashboard', handler: switchToDashboardTab },
 
1258
  });
1259
  };
1260
 
1261
+ const observer = new MutationObserver(() => {
1262
+ bindSidebarCodexLinks();
1263
+ mountIntakeRow();
1264
+ });
1265
  observer.observe(document.documentElement, { childList: true, subtree: true });
1266
 
1267
  if (document.readyState === 'loading') {
1268
+ document.addEventListener('DOMContentLoaded', () => {
1269
+ bindSidebarCodexLinks();
1270
+ mountIntakeRow();
1271
+ });
1272
  } else {
1273
  bindSidebarCodexLinks();
1274
+ mountIntakeRow();
1275
  }
1276
+ setInterval(mountIntakeRow, 1000);
1277
  })();
1278
  </script>
1279
  """
 
1878
  {render_topbar(s)}
1879
  {render_hero(s)}
1880
  {render_status_row(s)}
1881
+ <section class="totem-intake-host">
1882
+ <div id="totem-intake-mount"></div>
1883
+ </section>
1884
  {render_metric_cards(s)}
1885
  <section class="totem-lower-grid">
1886
  {render_revision_queue(s)}