diff --git a/app/layout.tsx b/app/layout.tsx index e782031..989f034 100644 --- a/app/layout.tsx +++ b/app/layout.tsx @@ -69,8 +69,9 @@ export default function RootLayout({ buttonVariants({ variant: "outline", size: "icon", - className: "rounded-full w-10 h-10 overflow-hidden sm:block hidden", - }) + className: + "rounded-full w-10 h-10 overflow-hidden sm:block hidden", + }), )} > diff --git a/app/page.tsx b/app/page.tsx index e43a363..eb25a1f 100644 --- a/app/page.tsx +++ b/app/page.tsx @@ -27,7 +27,7 @@ export default function Home() { const [error, setError] = React.useState(null); const [commitChanges, setcommitChanges] = React.useState(null); const [commitMessages, setcommitMessages] = React.useState( - null + null, ); const { toast } = useToast(); @@ -62,7 +62,7 @@ export default function Home() { toastVariants({ variant: "destructive", className: "w-fit m-0 p-2 text-xs hover:bg-[#815305]/35", - }) + }), )} onClick={() => handelSubmit({ suggestion })} > @@ -86,7 +86,7 @@ export default function Home() { const submitForm = ( e: React.FormEvent, - message: string | null + message: string | null, ): void => { e.preventDefault(); handelSubmit({ suggestion: message || "" }); @@ -115,6 +115,7 @@ export default function Home() { ) : (
@@ -153,7 +154,7 @@ export default function Home() { disabled={isLoading} > {isLoading && } - Generate + Generate
diff --git a/components/emptyScreen.tsx b/components/emptyScreen.tsx index bc46eb6..874252b 100644 --- a/components/emptyScreen.tsx +++ b/components/emptyScreen.tsx @@ -43,15 +43,17 @@ const EmptyScreen = ({ {randomMessage}
- {randomSuggestions.slice(0, suggestionCount).map((suggestion, index) => ( - onSubmit({ suggestion })} - > -

{suggestion}

-
- ))} + {randomSuggestions + .slice(0, suggestionCount) + .map((suggestion, index) => ( + onSubmit({ suggestion })} + > +

{suggestion}

+
+ ))}
diff --git a/components/listSuggestion.tsx b/components/listSuggestion.tsx index 61fd26a..2b21604 100644 --- a/components/listSuggestion.tsx +++ b/components/listSuggestion.tsx @@ -1,16 +1,89 @@ -import React from "react"; +import React, { useEffect, useState } from "react"; import MarkdownReader from "./md-components"; +import { CheckIcon, Cross1Icon, Pencil1Icon } from "@radix-ui/react-icons"; +import { Button } from "./ui/button"; +import { Input } from "./ui/input"; const ListSuggestion = ({ suggestions, commitChanges, + submitForm, }: { suggestions: string; commitChanges: string; + submitForm: ( + e: React.FormEvent, + message: string | null, + ) => void; }) => { + const [isEditMode, setIsEditMode] = useState(false); + const [updatedMessage, setUpdatedMessage] = useState(commitChanges); + + useEffect(() => { + setIsEditMode(false); + }, [commitChanges, suggestions]); + + const toggelEditMode = () => { + setIsEditMode((pre) => !pre); + }; + return ( -
-

{commitChanges}

+
+ {isEditMode ? ( +
submitForm(e, updatedMessage)} + className="flex gap-2 w-full items-center justify-between " + > + { + setUpdatedMessage(e.target.value); + }} + autoFocus + required + > + + +
+ ) : ( +
+

{commitChanges}

+ +
+ )}
); diff --git a/components/md-components.tsx b/components/md-components.tsx index 0cba319..771b2ac 100644 --- a/components/md-components.tsx +++ b/components/md-components.tsx @@ -22,7 +22,7 @@ const components = {

@@ -31,7 +31,7 @@ const components = {

@@ -40,7 +40,7 @@ const components = {

@@ -49,7 +49,7 @@ const components = {

@@ -58,7 +58,7 @@ const components = {

@@ -67,7 +67,7 @@ const components = {
@@ -125,7 +125,7 @@ const components = { @@ -134,7 +134,7 @@ const components = { @@ -163,7 +163,7 @@ const components = {
@@ -214,7 +214,7 @@ const components = {
       
diff --git a/components/md/copy-button.tsx b/components/md/copy-button.tsx
index 61c7b77..756f0b7 100644
--- a/components/md/copy-button.tsx
+++ b/components/md/copy-button.tsx
@@ -39,10 +39,7 @@ export function CopyButton({