@@ -486,13 +486,15 @@ impl App {
486486 . id ( "manifest-scroll" )
487487 . flex_1 ( )
488488 . min_h_0 ( )
489+ . min_w_0 ( )
489490 . overflow_y_scroll ( )
490491 . child (
491492 div ( )
492493 . p ( px ( styles:: spacing:: XL ) )
493494 . flex ( )
494495 . flex_col ( )
495496 . w_full ( )
497+ . min_w_0 ( )
496498 . child ( content) ,
497499 ) ;
498500
@@ -676,7 +678,7 @@ fn diff_section(
676678 }
677679
678680 let count = entries. len ( ) ;
679- let mut body = div ( ) . flex ( ) . flex_col ( ) ;
681+ let mut body = div ( ) . flex ( ) . flex_col ( ) . w_full ( ) ;
680682 for ( i, entry) in entries. iter ( ) . enumerate ( ) {
681683 let missing_profile = invalid_profiles. get ( & entry. name ) . cloned ( ) ;
682684 let row = entry_row ( entry, kind, accent, theme, i, missing_profile, cx) ;
@@ -686,7 +688,12 @@ fn diff_section(
686688 }
687689 body = body. child ( row) ;
688690 }
689- card. child ( div ( ) . px ( px ( styles:: spacing:: LG ) ) . child ( body) )
691+ card. child (
692+ div ( )
693+ . w_full ( )
694+ . px ( px ( styles:: spacing:: LG ) )
695+ . child ( body) ,
696+ )
690697}
691698
692699fn entry_row (
@@ -714,11 +721,15 @@ fn entry_row(
714721 let mut row = div ( )
715722 . flex ( )
716723 . flex_row ( )
724+ . w_full ( )
725+ . min_w_0 ( )
717726 . gap ( px ( styles:: spacing:: SM ) )
718727 . items_center ( )
719728 . child (
720729 div ( )
721730 . flex_1 ( )
731+ . min_w_0 ( )
732+ . overflow_hidden ( )
722733 . text_size ( px ( styles:: font_size:: BODY ) )
723734 . font_weight ( FontWeight :: MEDIUM )
724735 . child ( entry. name . clone ( ) ) ,
@@ -828,6 +839,8 @@ fn entry_row(
828839 let _ = text_muted;
829840 div ( )
830841 . id ( SharedString :: from ( format ! ( "manifest-row-{kind_prefix}-{idx}" ) ) )
842+ . w_full ( )
843+ . min_w_0 ( )
831844 . cursor_pointer ( )
832845 . on_click ( select_listener)
833846 . child ( row)
@@ -934,7 +947,7 @@ fn name_section_with_actions(
934947
935948 let warning = theme. warning ;
936949 let count = names. len ( ) ;
937- let mut body = div ( ) . flex ( ) . flex_col ( ) ;
950+ let mut body = div ( ) . flex ( ) . flex_col ( ) . w_full ( ) ;
938951 for ( i, name) in names. iter ( ) . enumerate ( ) {
939952 // Soar suffixes in_sync entries with " (local)" or similar source labels.
940953 // The manifest key is just the bare name, so strip the suffix before
@@ -960,11 +973,15 @@ fn name_section_with_actions(
960973 let mut row = div ( )
961974 . flex ( )
962975 . flex_row ( )
976+ . w_full ( )
977+ . min_w_0 ( )
963978 . items_center ( )
964979 . gap ( px ( styles:: spacing:: SM ) )
965980 . child (
966981 div ( )
967982 . flex_1 ( )
983+ . min_w_0 ( )
984+ . overflow_hidden ( )
968985 . text_size ( px ( styles:: font_size:: BODY ) )
969986 . child ( name. clone ( ) ) ,
970987 ) ;
@@ -1017,6 +1034,7 @@ fn name_section_with_actions(
10171034 } ) ;
10181035 let mut clickable = div ( )
10191036 . id ( SharedString :: from ( format ! ( "manifest-row-{id_prefix}-{i}" ) ) )
1037+ . w_full ( )
10201038 . py ( px ( styles:: spacing:: SM ) )
10211039 . cursor_pointer ( )
10221040 . on_click ( select_listener)
@@ -1026,7 +1044,12 @@ fn name_section_with_actions(
10261044 }
10271045 body = body. child ( clickable) ;
10281046 }
1029- card. child ( div ( ) . px ( px ( styles:: spacing:: LG ) ) . child ( body) )
1047+ card. child (
1048+ div ( )
1049+ . w_full ( )
1050+ . px ( px ( styles:: spacing:: LG ) )
1051+ . child ( body) ,
1052+ )
10301053}
10311054
10321055fn summary_chip ( label : & str , count : usize , color : Hsla , theme : & theme:: Theme ) -> Div {
@@ -1185,7 +1208,9 @@ fn render_manifest_detail(
11851208
11861209 div ( )
11871210 . id ( "manifest-detail" )
1211+ . flex_shrink ( )
11881212 . w ( px ( 360.0 ) )
1213+ . min_w ( px ( 220.0 ) )
11891214 . min_h_0 ( )
11901215 . border_l_1 ( )
11911216 . border_color ( border)
0 commit comments