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}
>
-
-
+
+