-
} />
+
+ {showToolbar && (
+
+ } />
+ } />
+ } />
+
+ )}
+
+
+
+ } />
+
+
+ } />
+
);
diff --git a/src/components/HeaderButton.tsx b/src/components/HeaderButton.tsx
deleted file mode 100644
index 05dd202..0000000
--- a/src/components/HeaderButton.tsx
+++ /dev/null
@@ -1,10 +0,0 @@
-import { ReactNode } from "react";
-
-export default function HeaderButton({ title, icon }: { title: string, icon?: ReactNode }) {
- return (
-
- );
-}
diff --git a/src/components/LineInputGroup.tsx b/src/components/LineInputGroup.tsx
new file mode 100644
index 0000000..a25a2fb
--- /dev/null
+++ b/src/components/LineInputGroup.tsx
@@ -0,0 +1,25 @@
+import { LockOpen, X } from "lucide-react";
+import LineInput from "./ui/LineInput";
+import IconButton from "./ui/IconButton";
+import { ChangeEvent } from "react";
+
+export default function LineInputGroup({
+ size = 4,
+ onChange,
+}: {
+ size: number;
+ onChange: (e: ChangeEvent) => void;
+}) {
+ return (
+
+
+
+ {[...Array(size)].map((_, i) => )}
+
+
+ } />
+ } />
+
+
+ );
+}
diff --git a/src/components/Lyrics.tsx b/src/components/Lyrics.tsx
deleted file mode 100644
index 9295474..0000000
--- a/src/components/Lyrics.tsx
+++ /dev/null
@@ -1,17 +0,0 @@
-"use client";
-
-import { ChangeEvent } from "react";
-import Input from "./Input";
-
-export default function Lyrics() {
- const onChange = (e: ChangeEvent
) => {
- // TODO
- }
-
- return (
-
-
Song #1
- {[...Array(4)].map((_, i) => )}
-
- );
-}
diff --git a/src/components/ui/HeaderButton.tsx b/src/components/ui/HeaderButton.tsx
new file mode 100644
index 0000000..59c6d83
--- /dev/null
+++ b/src/components/ui/HeaderButton.tsx
@@ -0,0 +1,10 @@
+import { ReactNode } from "react";
+
+export default function HeaderButton({ title, icon, className }: { title: string, icon?: ReactNode, className?: string }) {
+ return (
+
+ );
+}
diff --git a/src/components/ui/IconButton.tsx b/src/components/ui/IconButton.tsx
new file mode 100644
index 0000000..dabb1c3
--- /dev/null
+++ b/src/components/ui/IconButton.tsx
@@ -0,0 +1,9 @@
+import { ReactNode } from "react";
+
+export default function IconButton({ icon }: { icon: ReactNode }) {
+ return (
+
+ );
+}
diff --git a/src/components/Input.tsx b/src/components/ui/LineInput.tsx
similarity index 75%
rename from src/components/Input.tsx
rename to src/components/ui/LineInput.tsx
index e4d6c1e..f3e0dd7 100644
--- a/src/components/Input.tsx
+++ b/src/components/ui/LineInput.tsx
@@ -1,6 +1,6 @@
import { InputHTMLAttributes } from "react";
-export default function Input(props: InputHTMLAttributes) {
+export default function LineInput(props: InputHTMLAttributes) {
return (
);