fix: refactor copy feature
This commit is contained in:
parent
b600be8cb9
commit
3ae5cbfe19
@ -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" />
|
||||||
|
|||||||
@ -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");
|
||||||
|
};
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user