Ryadg commited on
Commit
c80db61
Β·
1 Parent(s): 8f44476

fix: library panels full width, hidden rows off-screen

Browse files
Files changed (2) hide show
  1. app.py +11 -3
  2. ui/index.html +54 -33
app.py CHANGED
@@ -59,12 +59,20 @@ body { background: #0A0F1E !important; margin: 0 !important; }
59
  box-shadow: 0 8px 32px rgba(0,0,0,0.45) !important;
60
  }
61
 
62
- /* ── Rows are collapsed but NOT display:none so Gradio attaches event handlers ── */
 
 
63
  #hidden-row-status,
64
  #hidden-row-question {
65
- height: 0 !important;
 
 
 
 
66
  min-height: 0 !important;
67
- overflow: visible !important;
 
 
68
  margin: 0 !important;
69
  padding: 0 !important;
70
  border: none !important;
 
59
  box-shadow: 0 8px 32px rgba(0,0,0,0.45) !important;
60
  }
61
 
62
+ /* ── Rows are moved off-screen but NOT display:none so Gradio attaches event
63
+ handlers; height:0 + overflow:visible let their textboxes bleed into the
64
+ page as a dark full-width bar, so park them off-viewport instead. ── */
65
  #hidden-row-status,
66
  #hidden-row-question {
67
+ position: fixed !important;
68
+ top: -9999px !important;
69
+ left: -9999px !important;
70
+ width: 1px !important;
71
+ height: 1px !important;
72
  min-height: 0 !important;
73
+ overflow: hidden !important;
74
+ opacity: 0 !important;
75
+ pointer-events: none !important;
76
  margin: 0 !important;
77
  padding: 0 !important;
78
  border: none !important;
ui/index.html CHANGED
@@ -220,7 +220,8 @@
220
  /* ── Library wings β€” full-height public-library decor on both edges ──── */
221
  .library {
222
  position: fixed; top: 0; bottom: 0; z-index: 0;
223
- width: clamp(190px, calc((100vw - 850px) / 2), 340px);
 
224
  display: flex; flex-direction: column; justify-content: space-between;
225
  gap: 12px; padding: 26px 18px 0;
226
  background:
@@ -231,7 +232,7 @@
231
  }
232
  .library-left { left: 0; border-right: 1px solid var(--border); box-shadow: 18px 0 40px -20px rgba(0,0,0,.6); }
233
  .library-right { right: 0; border-left: 1px solid var(--border); box-shadow: -18px 0 40px -20px rgba(0,0,0,.6); }
234
- @media (max-width: 1240px) { .library { display: none; } }
235
 
236
  /* bookshelf rows β€” books bottom-align on a wood plank */
237
  .lib-shelf {
@@ -239,7 +240,10 @@
239
  display: flex; align-items: flex-end; gap: 4px; padding: 0 8px;
240
  border-bottom: 7px solid #3B2D23;
241
  box-shadow: 0 9px 12px -7px rgba(0,0,0,.6);
 
242
  }
 
 
243
 
244
  .bk {
245
  display: block; flex-shrink: 0;
@@ -878,27 +882,35 @@
878
  <!-- ── Library wings β€” full-height decor flanking the app (decorative) ──── -->
879
  <div class="library library-left" aria-hidden="true">
880
  <div class="lib-shelf">
881
- <i class="bk b1" style="--h:48px"></i><i class="bk b4 slim" style="--h:34px"></i>
882
- <i class="bk b6" style="--h:52px"></i><i class="bk b5" style="--h:30px"></i>
883
- <i class="bk b3 wide" style="--h:44px"></i><i class="bk b2 lean" style="--h:38px"></i>
884
- <i class="bk b8" style="--h:54px"></i><i class="bk b7 slim" style="--h:36px"></i>
885
- <i class="bk b1" style="--h:46px"></i><i class="bk b4" style="--h:32px"></i>
886
- <i class="bk b5 slim" style="--h:42px"></i>
 
 
887
  </div>
888
- <div class="lib-shelf" style="justify-content:flex-end">
889
- <i class="bk b3" style="--h:42px"></i><i class="bk b2 wide" style="--h:50px"></i>
890
- <i class="bk b5 lean" style="--h:32px"></i><i class="bk b6" style="--h:46px"></i>
891
- <i class="bk b4 slim" style="--h:36px"></i><i class="bk b1" style="--h:52px"></i>
892
- <i class="bk b7" style="--h:38px"></i>
 
 
 
893
  <div class="mini-bot bot-reader"><div class="mini-head"><span class="mini-eye"></span><span class="mini-eye"></span></div><div class="mini-body"></div></div>
894
  </div>
895
  <div class="lib-aisle"><div class="aisle-end"></div><span class="aisle-bot"></span></div>
896
  <div class="lib-tall">
897
- <div class="lib-shelf">
898
- <i class="bk b8" style="--h:50px"></i><i class="bk b1 slim" style="--h:34px"></i>
899
- <i class="bk b5" style="--h:42px"></i><i class="bk b3 lean" style="--h:36px"></i>
900
- <i class="bk b2" style="--h:52px"></i><i class="bk b7 slim" style="--h:30px"></i>
901
- <i class="bk b6 wide" style="--h:44px"></i>
 
 
 
902
  </div>
903
  <div class="lib-ladder"></div>
904
  <div class="mini-bot bot-climber"><div class="mini-head"><span class="mini-eye"></span><span class="mini-eye"></span></div><div class="mini-body"></div></div>
@@ -914,26 +926,36 @@
914
  </div>
915
 
916
  <div class="library library-right" aria-hidden="true">
917
- <div class="lib-shelf">
918
- <i class="bk b2" style="--h:46px"></i><i class="bk b3 wide" style="--h:52px"></i>
919
- <i class="bk b5 lean" style="--h:32px"></i><i class="bk b6" style="--h:40px"></i>
920
- <i class="bk b1 slim" style="--h:48px"></i><i class="bk b4" style="--h:34px"></i>
921
- <i class="bk b8" style="--h:44px"></i>
 
 
 
922
  <div class="mini-bot bot-sleeper"><div class="mini-head"><span class="mini-eye"></span><span class="mini-eye"></span></div><div class="mini-body"></div><span class="zz">z</span><span class="zz">z</span><span class="zz">z</span></div>
923
  </div>
924
- <div class="lib-shelf">
925
- <i class="bk b7" style="--h:38px"></i><i class="bk b1 wide" style="--h:50px"></i>
926
- <i class="bk b4 slim" style="--h:30px"></i><i class="bk b8 lean" style="--h:40px"></i>
927
- <i class="bk b5" style="--h:52px"></i><i class="bk b2 slim" style="--h:34px"></i>
928
- <i class="bk b3" style="--h:44px"></i><i class="bk b6" style="--h:36px"></i>
 
 
 
929
  <div class="lib-plant"></div>
930
  </div>
931
  <div class="lib-aisle"><div class="aisle-end"></div><span class="aisle-bot" style="animation-delay:-4s"></span></div>
932
  <div class="lib-tall">
933
- <div class="lib-shelf" style="justify-content:flex-end">
934
- <i class="bk b6" style="--h:44px"></i><i class="bk b4 slim" style="--h:30px"></i>
935
- <i class="bk b1" style="--h:52px"></i><i class="bk b5 lean" style="--h:36px"></i>
936
- <i class="bk b3 wide" style="--h:42px"></i><i class="bk b2" style="--h:34px"></i>
 
 
 
 
937
  </div>
938
  <div class="mini-bot bot-fetcher"><div class="mini-head"><span class="mini-eye"></span><span class="mini-eye"></span></div><div class="mini-body"></div></div>
939
  </div>
@@ -950,7 +972,6 @@
950
  </div>
951
  </div>
952
 
953
-
954
  <div id="app">
955
  <!-- Hero β€” cinematic amphitheater with AI professor -->
956
  <header class="hero">
 
220
  /* ── Library wings β€” full-height public-library decor on both edges ──── */
221
  .library {
222
  position: fixed; top: 0; bottom: 0; z-index: 0;
223
+ /* stretch right up to the 760px centre column (20px breathing room) */
224
+ width: max(190px, calc((100vw - 800px) / 2));
225
  display: flex; flex-direction: column; justify-content: space-between;
226
  gap: 12px; padding: 26px 18px 0;
227
  background:
 
232
  }
233
  .library-left { left: 0; border-right: 1px solid var(--border); box-shadow: 18px 0 40px -20px rgba(0,0,0,.6); }
234
  .library-right { right: 0; border-left: 1px solid var(--border); box-shadow: -18px 0 40px -20px rgba(0,0,0,.6); }
235
+ @media (max-width: 1180px) { .library { display: none; } }
236
 
237
  /* bookshelf rows β€” books bottom-align on a wood plank */
238
  .lib-shelf {
 
240
  display: flex; align-items: flex-end; gap: 4px; padding: 0 8px;
241
  border-bottom: 7px solid #3B2D23;
242
  box-shadow: 0 9px 12px -7px rgba(0,0,0,.6);
243
+ overflow: hidden; /* shelves are over-filled; surplus books clip at the edge */
244
  }
245
+ .lib-shelf.pad-l { padding-left: 64px; } /* room for a robot on the left */
246
+ .lib-shelf.pad-r { padding-right: 64px; } /* room for a robot / ladder on the right */
247
 
248
  .bk {
249
  display: block; flex-shrink: 0;
 
882
  <!-- ── Library wings β€” full-height decor flanking the app (decorative) ──── -->
883
  <div class="library library-left" aria-hidden="true">
884
  <div class="lib-shelf">
885
+ <i class="bk b2" style="--h:36px"></i><i class="bk b3" style="--h:50px"></i><i class="bk b1 slim" style="--h:56px"></i><i class="bk b6" style="--h:40px"></i>
886
+ <i class="bk b1 lean" style="--h:34px"></i><i class="bk b6" style="--h:34px"></i><i class="bk b7 slim" style="--h:44px"></i><i class="bk b4" style="--h:46px"></i>
887
+ <i class="bk b3 slim" style="--h:28px"></i><i class="bk b8 slim lean" style="--h:50px"></i><i class="bk b3" style="--h:52px"></i><i class="bk b4" style="--h:40px"></i>
888
+ <i class="bk b1" style="--h:38px"></i><i class="bk b6" style="--h:28px"></i><i class="bk b7" style="--h:30px"></i><i class="bk b4" style="--h:36px"></i>
889
+ <i class="bk b8 slim" style="--h:56px"></i><i class="bk b7" style="--h:34px"></i><i class="bk b6" style="--h:48px"></i><i class="bk b2 slim" style="--h:30px"></i>
890
+ <i class="bk b8" style="--h:36px"></i><i class="bk b4 slim" style="--h:38px"></i><i class="bk b2" style="--h:34px"></i><i class="bk b7" style="--h:56px"></i>
891
+ <i class="bk b6 slim" style="--h:46px"></i><i class="bk b5 slim" style="--h:32px"></i><i class="bk b4" style="--h:56px"></i><i class="bk b7 slim" style="--h:34px"></i>
892
+ <i class="bk b6" style="--h:52px"></i><i class="bk b8 lean" style="--h:54px"></i>
893
  </div>
894
+ <div class="lib-shelf pad-l">
895
+ <i class="bk b6" style="--h:30px"></i><i class="bk b2 wide" style="--h:46px"></i><i class="bk b7" style="--h:48px"></i><i class="bk b4" style="--h:56px"></i>
896
+ <i class="bk b7 lean" style="--h:36px"></i><i class="bk b6" style="--h:36px"></i><i class="bk b7" style="--h:56px"></i><i class="bk b5" style="--h:34px"></i>
897
+ <i class="bk b2" style="--h:30px"></i><i class="bk b8 lean" style="--h:30px"></i><i class="bk b2 slim" style="--h:40px"></i><i class="bk b6" style="--h:40px"></i>
898
+ <i class="bk b5 wide" style="--h:44px"></i><i class="bk b3 wide" style="--h:54px"></i><i class="bk b1 slim" style="--h:30px"></i><i class="bk b6 slim" style="--h:52px"></i>
899
+ <i class="bk b7" style="--h:36px"></i><i class="bk b4" style="--h:28px"></i><i class="bk b7 wide" style="--h:36px"></i><i class="bk b5 slim" style="--h:44px"></i>
900
+ <i class="bk b8 slim" style="--h:54px"></i><i class="bk b6" style="--h:34px"></i><i class="bk b2" style="--h:32px"></i><i class="bk b6 wide" style="--h:56px"></i>
901
+ <i class="bk b5 wide lean" style="--h:46px"></i><i class="bk b1" style="--h:38px"></i><i class="bk b8 slim" style="--h:34px"></i><i class="bk b1" style="--h:46px"></i>
902
  <div class="mini-bot bot-reader"><div class="mini-head"><span class="mini-eye"></span><span class="mini-eye"></span></div><div class="mini-body"></div></div>
903
  </div>
904
  <div class="lib-aisle"><div class="aisle-end"></div><span class="aisle-bot"></span></div>
905
  <div class="lib-tall">
906
+ <div class="lib-shelf pad-r">
907
+ <i class="bk b2" style="--h:42px"></i><i class="bk b8" style="--h:52px"></i><i class="bk b5 slim" style="--h:32px"></i><i class="bk b7" style="--h:44px"></i>
908
+ <i class="bk b2" style="--h:54px"></i><i class="bk b3 wide" style="--h:52px"></i><i class="bk b7 slim" style="--h:50px"></i><i class="bk b3" style="--h:48px"></i>
909
+ <i class="bk b7" style="--h:56px"></i><i class="bk b5 lean" style="--h:34px"></i><i class="bk b3" style="--h:44px"></i><i class="bk b2" style="--h:28px"></i>
910
+ <i class="bk b1 slim" style="--h:28px"></i><i class="bk b3" style="--h:28px"></i><i class="bk b8 lean" style="--h:44px"></i><i class="bk b6" style="--h:44px"></i>
911
+ <i class="bk b2 slim" style="--h:56px"></i><i class="bk b6" style="--h:34px"></i><i class="bk b8" style="--h:40px"></i><i class="bk b2 lean" style="--h:48px"></i>
912
+ <i class="bk b5" style="--h:54px"></i><i class="bk b7" style="--h:48px"></i><i class="bk b6" style="--h:40px"></i><i class="bk b7" style="--h:54px"></i>
913
+ <i class="bk b1 lean" style="--h:34px"></i><i class="bk b3" style="--h:36px"></i><i class="bk b5" style="--h:56px"></i><i class="bk b1" style="--h:54px"></i>
914
  </div>
915
  <div class="lib-ladder"></div>
916
  <div class="mini-bot bot-climber"><div class="mini-head"><span class="mini-eye"></span><span class="mini-eye"></span></div><div class="mini-body"></div></div>
 
926
  </div>
927
 
928
  <div class="library library-right" aria-hidden="true">
929
+ <div class="lib-shelf pad-r">
930
+ <i class="bk b2" style="--h:44px"></i><i class="bk b8" style="--h:30px"></i><i class="bk b7 slim" style="--h:32px"></i><i class="bk b4" style="--h:34px"></i>
931
+ <i class="bk b8 lean" style="--h:28px"></i><i class="bk b1 wide" style="--h:36px"></i><i class="bk b8 slim" style="--h:36px"></i><i class="bk b4 slim" style="--h:50px"></i>
932
+ <i class="bk b8" style="--h:50px"></i><i class="bk b4 lean" style="--h:36px"></i><i class="bk b1" style="--h:44px"></i><i class="bk b2 slim" style="--h:28px"></i>
933
+ <i class="bk b1" style="--h:44px"></i><i class="bk b8" style="--h:28px"></i><i class="bk b5 lean" style="--h:32px"></i><i class="bk b1 slim" style="--h:34px"></i>
934
+ <i class="bk b5" style="--h:56px"></i><i class="bk b6" style="--h:46px"></i><i class="bk b1 slim" style="--h:40px"></i><i class="bk b7 lean" style="--h:44px"></i>
935
+ <i class="bk b3" style="--h:50px"></i><i class="bk b4" style="--h:40px"></i><i class="bk b2 slim" style="--h:36px"></i><i class="bk b5" style="--h:52px"></i>
936
+ <i class="bk b1" style="--h:46px"></i><i class="bk b2" style="--h:34px"></i><i class="bk b6" style="--h:56px"></i><i class="bk b3 wide" style="--h:56px"></i>
937
  <div class="mini-bot bot-sleeper"><div class="mini-head"><span class="mini-eye"></span><span class="mini-eye"></span></div><div class="mini-body"></div><span class="zz">z</span><span class="zz">z</span><span class="zz">z</span></div>
938
  </div>
939
+ <div class="lib-shelf" style="padding-right:46px">
940
+ <i class="bk b4" style="--h:32px"></i><i class="bk b5 slim" style="--h:50px"></i><i class="bk b3 slim" style="--h:52px"></i><i class="bk b7" style="--h:48px"></i>
941
+ <i class="bk b8" style="--h:56px"></i><i class="bk b2" style="--h:56px"></i><i class="bk b1 slim" style="--h:32px"></i><i class="bk b4" style="--h:34px"></i>
942
+ <i class="bk b7" style="--h:48px"></i><i class="bk b6 wide lean" style="--h:44px"></i><i class="bk b8" style="--h:48px"></i><i class="bk b4 slim" style="--h:28px"></i>
943
+ <i class="bk b1" style="--h:32px"></i><i class="bk b7 wide" style="--h:32px"></i><i class="bk b6 lean" style="--h:50px"></i><i class="bk b1" style="--h:56px"></i>
944
+ <i class="bk b7 wide" style="--h:44px"></i><i class="bk b1 slim" style="--h:46px"></i><i class="bk b6" style="--h:32px"></i><i class="bk b1" style="--h:56px"></i>
945
+ <i class="bk b8" style="--h:38px"></i><i class="bk b2 slim" style="--h:48px"></i><i class="bk b1" style="--h:44px"></i><i class="bk b8" style="--h:46px"></i>
946
+ <i class="bk b6 lean" style="--h:56px"></i><i class="bk b2 wide" style="--h:52px"></i><i class="bk b3 wide" style="--h:28px"></i><i class="bk b2 slim" style="--h:38px"></i>
947
  <div class="lib-plant"></div>
948
  </div>
949
  <div class="lib-aisle"><div class="aisle-end"></div><span class="aisle-bot" style="animation-delay:-4s"></span></div>
950
  <div class="lib-tall">
951
+ <div class="lib-shelf pad-l" style="justify-content:flex-end">
952
+ <i class="bk b7 slim" style="--h:54px"></i><i class="bk b6 slim" style="--h:36px"></i><i class="bk b2 slim" style="--h:30px"></i><i class="bk b5 wide" style="--h:54px"></i>
953
+ <i class="bk b4" style="--h:54px"></i><i class="bk b3" style="--h:52px"></i><i class="bk b8" style="--h:28px"></i><i class="bk b6" style="--h:38px"></i>
954
+ <i class="bk b3 wide" style="--h:52px"></i><i class="bk b4 lean" style="--h:44px"></i><i class="bk b8" style="--h:28px"></i><i class="bk b1 wide" style="--h:36px"></i>
955
+ <i class="bk b3" style="--h:36px"></i><i class="bk b1" style="--h:40px"></i><i class="bk b4 slim lean" style="--h:38px"></i><i class="bk b6" style="--h:56px"></i>
956
+ <i class="bk b5" style="--h:28px"></i><i class="bk b7" style="--h:44px"></i><i class="bk b8" style="--h:50px"></i><i class="bk b6 slim lean" style="--h:34px"></i>
957
+ <i class="bk b1 wide" style="--h:56px"></i><i class="bk b4 slim" style="--h:48px"></i><i class="bk b8" style="--h:56px"></i><i class="bk b3" style="--h:48px"></i>
958
+ <i class="bk b5 lean" style="--h:50px"></i><i class="bk b2" style="--h:48px"></i><i class="bk b5 slim" style="--h:56px"></i><i class="bk b2 slim" style="--h:36px"></i>
959
  </div>
960
  <div class="mini-bot bot-fetcher"><div class="mini-head"><span class="mini-eye"></span><span class="mini-eye"></span></div><div class="mini-body"></div></div>
961
  </div>
 
972
  </div>
973
  </div>
974
 
 
975
  <div id="app">
976
  <!-- Hero β€” cinematic amphitheater with AI professor -->
977
  <header class="hero">