fix: refactor copy feature

This commit is contained in:
clean99 2023-11-26 14:14:08 +08:00
parent b600be8cb9
commit 3ae5cbfe19
2 changed files with 10 additions and 9 deletions

View File

@ -14,8 +14,6 @@ import {
} from "react-icons/fa"; } from "react-icons/fa";
import { Switch } from "./components/ui/switch"; import { Switch } from "./components/ui/switch";
import copy from "copy-to-clipboard";
import toast from "react-hot-toast";
import { Button } from "@/components/ui/button"; import { Button } from "@/components/ui/button";
import { Textarea } from "@/components/ui/textarea"; import { Textarea } from "@/components/ui/textarea";
import { Tabs, TabsContent, TabsList, TabsTrigger } from "./components/ui/tabs"; import { Tabs, TabsContent, TabsList, TabsTrigger } from "./components/ui/tabs";
@ -30,7 +28,8 @@ import { UrlInputSection } from "./components/UrlInputSection";
import TermsOfServiceDialog from "./components/TermsOfServiceDialog"; import TermsOfServiceDialog from "./components/TermsOfServiceDialog";
import html2canvas from "html2canvas"; import html2canvas from "html2canvas";
import { USER_CLOSE_WEB_SOCKET_CODE } from "./constants"; import { USER_CLOSE_WEB_SOCKET_CODE } from "./constants";
import { ReactCodePreview } from "./components/ReactCodePreview"; import { ReactCodeEditor } from "./components/ReactCodeEditor";
import { doCopyCode } from "./lib/utils";
function App() { function App() {
const [appState, setAppState] = useState<AppState>(AppState.INITIAL); const [appState, setAppState] = useState<AppState>(AppState.INITIAL);
@ -152,11 +151,6 @@ function App() {
setUpdateInstruction(""); setUpdateInstruction("");
} }
const doCopyCode = (code: string) => {
copy(code);
toast.success("Copied to clipboard");
};
const handleTermDialogOpenChange = (open: boolean) => { const handleTermDialogOpenChange = (open: boolean) => {
setSettings((s) => ({ setSettings((s) => ({
...s, ...s,
@ -308,7 +302,7 @@ function App() {
Code Code
</TabsTrigger> </TabsTrigger>
</TabsList> </TabsList>
<ReactCodePreview doGenerateCode={doGenerateCode} referenceImage={referenceImages[0]} /> <ReactCodeEditor doGenerateCode={doGenerateCode} referenceImage={referenceImages[0]} />
</div> </div>
<TabsContent value="desktop"> <TabsContent value="desktop">
<Preview code={generatedCode} device="desktop" /> <Preview code={generatedCode} device="desktop" />

View File

@ -1,6 +1,13 @@
import { type ClassValue, clsx } from "clsx" import { type ClassValue, clsx } from "clsx"
import { twMerge } from "tailwind-merge" import { twMerge } from "tailwind-merge"
import copy from "copy-to-clipboard";
import toast from "react-hot-toast";
export function cn(...inputs: ClassValue[]) { export function cn(...inputs: ClassValue[]) {
return twMerge(clsx(inputs)) return twMerge(clsx(inputs))
} }
export const doCopyCode = (code: string) => {
copy(code);
toast.success("Copied to clipboard");
};