personal web client for Bluesky
typescript solidjs bluesky atcute

refactor: consistent end of list view

mary.my.id 5d3bad60 a76d3d91

verified
Changed files
+17 -12
src
+2 -3
src/components/composer/dialogs/language-select-dialog.tsx
··· 9 9 10 10 import Button from '../../button'; 11 11 import * as Dialog from '../../dialog'; 12 + import EndOfListView from '../../end-of-list-view'; 12 13 import CheckOutlinedIcon from '../../icons-central/check-outline'; 13 14 import SearchInput from '../../search-input'; 14 15 ··· 127 128 </For> 128 129 </div> 129 130 130 - <div class="grid h-13 shrink-0 place-items-center"> 131 - <p class="text-sm text-contrast-muted">End of list</p> 132 - </div> 131 + <EndOfListView /> 133 132 </Dialog.Body> 134 133 </Dialog.Container> 135 134 </>
+2 -3
src/components/composer/gifs/gif-search-dialog.tsx
··· 10 10 11 11 import CircularProgress from '../../circular-progress'; 12 12 import * as Dialog from '../../dialog'; 13 + import EndOfListView from '../../end-of-list-view'; 13 14 import ErrorView from '../../error-view'; 14 15 import SearchInput from '../../search-input'; 15 16 import VirtualItem from '../../virtual-item'; ··· 96 97 </Match> 97 98 98 99 <Match when> 99 - <div class="grid h-13 shrink-0 place-items-center"> 100 - <p class="text-sm text-contrast-muted">End of list</p> 101 - </div> 100 + <EndOfListView /> 102 101 </Match> 103 102 </Switch> 104 103 </Dialog.Body>
+9
src/components/end-of-list-view.tsx
··· 1 + const EndOfListView = () => { 2 + return ( 3 + <div class="grid h-13 place-items-center"> 4 + <div class="h-1 w-1 rounded-full bg-contrast-muted"></div> 5 + </div> 6 + ); 7 + }; 8 + 9 + export default EndOfListView;
+2 -3
src/components/list.tsx
··· 5 5 import { ifIntersect } from '~/lib/element-refs'; 6 6 7 7 import CircularProgress from './circular-progress'; 8 + import EndOfListView from './end-of-list-view'; 8 9 import ErrorView from './error-view'; 9 10 10 11 export interface ListProps<T> { ··· 104 105 </Match> 105 106 106 107 <Match when={props.data}> 107 - <div class="grid h-13 shrink-0 place-items-center"> 108 - <p class="text-sm text-contrast-muted">End of list</p> 109 - </div> 108 + <EndOfListView /> 110 109 </Match> 111 110 </Switch> 112 111 </div>
+2 -3
src/components/paged-list.tsx
··· 5 5 import { ifIntersect } from '~/lib/element-refs'; 6 6 7 7 import CircularProgress from './circular-progress'; 8 + import EndOfListView from './end-of-list-view'; 8 9 import ErrorView from './error-view'; 9 10 10 11 export interface PagedListProps<T> { ··· 104 105 </Match> 105 106 106 107 <Match when={props.data}> 107 - <div class="grid h-13 shrink-0 place-items-center"> 108 - <p class="text-sm text-contrast-muted">End of list</p> 109 - </div> 108 + <EndOfListView /> 110 109 </Match> 111 110 </Switch> 112 111 </div>