import * as React from 'react'; import groupBy from 'lodash.groupby'; import { useLocation, useSearch } from 'wouter'; import { Button } from '../preshape/Button/Button.js'; import { Buttons } from '../preshape/Button/Buttons.js'; import { Text } from '../preshape/Text/Text.js'; import { Box } from '../preshape/box/box.js'; import { Grid } from '../preshape/Grid/Grid.js'; import { configurations } from './configurations.js'; import { LibraryEntry } from './library-entry.js'; import { updSearchParams } from '../utils/upd-search-params.js'; function Library() { const [group, setGroup] = React.useState<'vertices' | 'wallpaper'>('vertices'); const groupedConfigurations = groupBy(configurations, group); const searchParamsStr = useSearch(); const [location,setLocation] = useLocation(); if (groupedConfigurations['']) { const group = groupedConfigurations['']; delete groupedConfigurations['']; groupedConfigurations[''] = group; } function handleSelect(configuration: string) { const searchParamsStr_ = updSearchParams(searchParamsStr, { configuration }); setLocation(`/?${searchParamsStr_}`); }; return ( Tiling Library {Object .entries(groupedConfigurations) .map(([groupKey, configurations]) => ( { groupKey || 'No Defined Wallpaper Group' } {configurations.map((config, index) => ( ))} ))} ); } export { Library }