diff --git a/src/components/menu/buttons/button.tsx b/src/components/menu/buttons/button.tsx deleted file mode 100644 index 14a491e..0000000 --- a/src/components/menu/buttons/button.tsx +++ /dev/null @@ -1,14 +0,0 @@ -import styles from '../menu.module.css'; - -interface ButtonProps { - children: React.ReactNode; - onClick: () => void; -} - -export function Button({ children, onClick }: ButtonProps) { - return ( - - ); -} diff --git a/src/components/menu/buttons/index.ts b/src/components/menu/buttons/index.ts deleted file mode 100644 index 81f5f91..0000000 --- a/src/components/menu/buttons/index.ts +++ /dev/null @@ -1,2 +0,0 @@ -export { ShuffleButton } from './shuffle'; -export { ShareButton } from './share'; diff --git a/src/components/menu/buttons/shuffle.tsx b/src/components/menu/buttons/shuffle.tsx deleted file mode 100644 index 4e84f9e..0000000 --- a/src/components/menu/buttons/shuffle.tsx +++ /dev/null @@ -1,9 +0,0 @@ -import { useSoundStore } from '@/store'; - -import { Button } from './button'; - -export function ShuffleButton() { - const shuffle = useSoundStore(state => state.shuffle); - - return ; -} diff --git a/src/components/menu/item/index.ts b/src/components/menu/item/index.ts new file mode 100644 index 0000000..7628123 --- /dev/null +++ b/src/components/menu/item/index.ts @@ -0,0 +1 @@ +export { Item } from './item'; diff --git a/src/components/menu/item/item.module.css b/src/components/menu/item/item.module.css new file mode 100644 index 0000000..7a1fb50 --- /dev/null +++ b/src/components/menu/item/item.module.css @@ -0,0 +1,20 @@ +.item { + position: flex; + align-items: center; + width: 100%; + padding: 12px 8px; + font-size: var(--font-sm); + font-weight: 500; + color: var(--color-foreground-subtle); + cursor: pointer; + background-color: transparent; + border: 1px solid var(--color-neutral-200); + border-radius: 4px; + outline: none; + transition: 0.2s; + + &:hover { + color: var(--color-foreground); + background-color: var(--color-neutral-200); + } +} diff --git a/src/components/menu/item/item.tsx b/src/components/menu/item/item.tsx new file mode 100644 index 0000000..3c8c3f6 --- /dev/null +++ b/src/components/menu/item/item.tsx @@ -0,0 +1,14 @@ +import styles from './item.module.css'; + +interface ItemProps { + children: React.ReactNode; + onClick: () => void; +} + +export function Item({ children, onClick }: ItemProps) { + return ( + + ); +} diff --git a/src/components/menu/items/index.ts b/src/components/menu/items/index.ts new file mode 100644 index 0000000..7872105 --- /dev/null +++ b/src/components/menu/items/index.ts @@ -0,0 +1,2 @@ +export { Shuffle as ShuffleItem } from './shuffle'; +export { Share as ShareItem } from './share'; diff --git a/src/components/menu/items/share/index.ts b/src/components/menu/items/share/index.ts new file mode 100644 index 0000000..341e16b --- /dev/null +++ b/src/components/menu/items/share/index.ts @@ -0,0 +1 @@ +export { Share } from './share'; diff --git a/src/components/menu/items/share/share.module.css b/src/components/menu/items/share/share.module.css new file mode 100644 index 0000000..077d40a --- /dev/null +++ b/src/components/menu/items/share/share.module.css @@ -0,0 +1,4 @@ +.heading { + font-family: var(--font-heading); + font-weight: 700; +} diff --git a/src/components/menu/buttons/share.tsx b/src/components/menu/items/share/share.tsx similarity index 60% rename from src/components/menu/buttons/share.tsx rename to src/components/menu/items/share/share.tsx index 680ec5e..cf0f264 100644 --- a/src/components/menu/buttons/share.tsx +++ b/src/components/menu/items/share/share.tsx @@ -3,18 +3,20 @@ import { createPortal } from 'react-dom'; import { Modal } from '@/components/modal'; -import { Button } from './button'; +import { Item } from '../../item'; -export function ShareButton() { +import styles from './share.module.css'; + +export function Share() { const [isModalOpen, setIsModalOpen] = useState(false); return ( <> - + setIsModalOpen(true)}>Share Sounds {createPortal( setIsModalOpen(false)}> -

Share Sounds!

+

Share Sounds!

, document.body, )} diff --git a/src/components/menu/items/shuffle.tsx b/src/components/menu/items/shuffle.tsx new file mode 100644 index 0000000..dffd888 --- /dev/null +++ b/src/components/menu/items/shuffle.tsx @@ -0,0 +1,9 @@ +import { useSoundStore } from '@/store'; + +import { Item } from '../item'; + +export function Shuffle() { + const shuffle = useSoundStore(state => state.shuffle); + + return Shuffle Sounds; +} diff --git a/src/components/menu/menu.tsx b/src/components/menu/menu.tsx index c92c80e..9b906ff 100644 --- a/src/components/menu/menu.tsx +++ b/src/components/menu/menu.tsx @@ -14,7 +14,7 @@ import { FloatingFocusManager, } from '@floating-ui/react'; -import { ShuffleButton, ShareButton } from './buttons'; +import { ShuffleItem, ShareItem } from './items'; import { slideY, fade, mix } from '@/lib/motion'; @@ -70,8 +70,8 @@ export function Menu() { initial="hidden" variants={variants} > - - + +