import { useEffect, useState } from 'react' import type { BackendTag } from '../../functions/BackendTypes' import { BackendFetch } from '../../functions/Backend' import { routeTo } from '../../functions/Route' import VectorIconStar from '../../vectors/star.svg' import VectorIconFeed from '../../vectors/feed.svg' import SidebarCategory from '../layout/SidebarCategory' import SidebarItemLogo from '../layout/SidebarItemLogo' import SidebarItemText from '../layout/SidebarItemText' import SidebarItemIcon from '../layout/SidebarItemIcon' import SidebarItemTag from '../layout/SidebarItemTag' import InputTags from '../inputs/Tags' export default function PaneSidebar() { const [childrenTags, setChildrenTags] = useState([... LOADING ...]) useEffect(() => { BackendFetch('/tags/popular?limit=5').then((resp) => { if (!resp.success) { console.error('Tags Unavailable:', resp) setChildrenTags([ ... ERROR ..., VIEW CONSOLE FOR DETAILS, ]) return } setChildrenTags( resp.json.map((i) => ), ) }) }, []) function onTagChange(tags: BackendTag[]) { const query = tags.map((t) => `tag=${t.id}`).join('&') routeTo(`/search?${query}`) } return ( ) }