ItemSelectionProvider: promote toot expansion
state * used in Profile, TrendTimelinePanel, TimelinePanel
This commit is contained in:
		
							parent
							
								
									dafc2c47a8
								
							
						
					
					
						commit
						9499182a8d
					
				
					 5 changed files with 120 additions and 68 deletions
				
			
		|  | @ -26,11 +26,18 @@ import { useStore } from "@nanostores/solid"; | |||
| import TrendTimelinePanel from "./TrendTimelinePanel"; | ||||
| import TimelinePanel from "./TimelinePanel"; | ||||
| import { useSessions } from "../masto/clients"; | ||||
| import { | ||||
|   createSingluarItemSelection, | ||||
|   default as ItemSelectionProvider, | ||||
| } from "./toots/ItemSelectionProvider"; | ||||
| 
 | ||||
| const Home: ParentComponent = (props) => { | ||||
|   let panelList: HTMLDivElement; | ||||
|   useDocumentTitle("Timelines"); | ||||
|   const now = createTimeSource(); | ||||
|   const [, selectionState] = createSingluarItemSelection( | ||||
|     undefined as string | undefined, | ||||
|   ); | ||||
| 
 | ||||
|   const settings$ = useStore($settings); | ||||
| 
 | ||||
|  | @ -115,7 +122,6 @@ const Home: ParentComponent = (props) => { | |||
|     } | ||||
|   }; | ||||
| 
 | ||||
| 
 | ||||
|   css` | ||||
|     .tab-panel { | ||||
|       overflow: visible auto; | ||||
|  | @ -195,40 +201,42 @@ const Home: ParentComponent = (props) => { | |||
|           </AppBar> | ||||
|         } | ||||
|       > | ||||
|         <TimeSourceProvider value={now}> | ||||
|           <Show when={!!client()}> | ||||
|             <div | ||||
|               class="panel-list" | ||||
|               ref={panelList!} | ||||
|               onScroll={requestRecalculateTabIndicator} | ||||
|             > | ||||
|               <div class="tab-panel"> | ||||
|                 <div> | ||||
|                   <TimelinePanel | ||||
|                     client={client()} | ||||
|                     name="home" | ||||
|                     prefetch={prefetching()} | ||||
|                   /> | ||||
|         <ItemSelectionProvider value={selectionState}> | ||||
|           <TimeSourceProvider value={now}> | ||||
|             <Show when={!!client()}> | ||||
|               <div | ||||
|                 class="panel-list" | ||||
|                 ref={panelList!} | ||||
|                 onScroll={requestRecalculateTabIndicator} | ||||
|               > | ||||
|                 <div class="tab-panel"> | ||||
|                   <div> | ||||
|                     <TimelinePanel | ||||
|                       client={client()} | ||||
|                       name="home" | ||||
|                       prefetch={prefetching()} | ||||
|                     /> | ||||
|                   </div> | ||||
|                 </div> | ||||
|               </div> | ||||
|               <div class="tab-panel"> | ||||
|                 <div> | ||||
|                   <TrendTimelinePanel client={client()} /> | ||||
|                 <div class="tab-panel"> | ||||
|                   <div> | ||||
|                     <TrendTimelinePanel client={client()} /> | ||||
|                   </div> | ||||
|                 </div> | ||||
|               </div> | ||||
|               <div class="tab-panel"> | ||||
|                 <div> | ||||
|                   <TimelinePanel | ||||
|                     client={client()} | ||||
|                     name="public" | ||||
|                     prefetch={prefetching()} | ||||
|                   /> | ||||
|                 <div class="tab-panel"> | ||||
|                   <div> | ||||
|                     <TimelinePanel | ||||
|                       client={client()} | ||||
|                       name="public" | ||||
|                       prefetch={prefetching()} | ||||
|                     /> | ||||
|                   </div> | ||||
|                 </div> | ||||
|                 <div></div> | ||||
|               </div> | ||||
|               <div></div> | ||||
|             </div> | ||||
|           </Show> | ||||
|         </TimeSourceProvider> | ||||
|             </Show> | ||||
|           </TimeSourceProvider> | ||||
|         </ItemSelectionProvider> | ||||
|       </Scaffold> | ||||
|     </> | ||||
|   ); | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue