import { Avatar, ButtonBase, Divider, ListItemAvatar, ListItemIcon, ListItemText, Menu, MenuItem, } from "@suid/material"; import { ErrorBoundary, Show, createSignal, createUniqueId, type ParentComponent, } from "solid-js"; import { Settings as SettingsIcon, Bookmark as BookmarkIcon, Star as LikeIcon, FeaturedPlayList as ListIcon, } from "@suid/icons-material"; import { A } from "@solidjs/router"; const ProfileMenuButton: ParentComponent<{ profile?: { displayName: string; avatar: string; username: string }; onClick?: () => void; onClose?: () => void; }> = (props) => { const menuId = createUniqueId(); const buttonId = createUniqueId(); let [anchor, setAnchor] = createSignal(null); const open = () => !!anchor(); const onClick = ( event: MouseEvent & { currentTarget: HTMLButtonElement }, ) => { setAnchor(event.currentTarget); props.onClick?.(); }; const onClose = () => { props.onClick?.(); setAnchor(null); }; return ( <> Bookmarks Likes Lists {props.children} Settings ); }; export default ProfileMenuButton;