Skip to content
Snippets Groups Projects
LinkPageForm.js 1.41 KiB
Newer Older
  • Learn to ignore specific revisions
  • import { useState } from "react";
    
    import Input from "../components/Input";
    import Button from "../components/Button";
    
    Min Dong Hyeun's avatar
    Min Dong Hyeun committed
    import { useNavigate,useLocation } from "react-router-dom";
    import axios from "axios";
    
    
    function LinkPageForm() {
        const [link, setLink] = useState("");
    
    Min Dong Hyeun's avatar
    Min Dong Hyeun committed
        const location = useLocation();
    
        const navigate = useNavigate();
    
    Min Dong Hyeun's avatar
    Min Dong Hyeun committed
        const {id} = location.state;
    
    
    
        const copyToClipboard = async (link) => {
            try {
    
    Min Dong Hyeun's avatar
    Min Dong Hyeun committed
                const textToCopy = `localhost:3000/HomeParticipate/${id}`;
    
                await navigator.clipboard.writeText(textToCopy);
                alert('클립보드에 복사되었습니다');
            } catch (err) {
                alert('클립보드 복사에 실패하였습니다');
            }
        };
    
    
    Min Dong Hyeun's avatar
    Min Dong Hyeun committed
        const handleSubmit = async(event) => {
    
            event.preventDefault();
    
    Min Dong Hyeun's avatar
    Min Dong Hyeun committed
            console.log({id});
    
    Min Dong Hyeun's avatar
    Min Dong Hyeun committed
            navigate(`/HomeParticipate/${id}`);
    
        return (
            <form onSubmit={handleSubmit}>
                <div>
                    <Input
    
    Min Dong Hyeun's avatar
    Min Dong Hyeun committed
                        value={`localhost:3000/HomeParticipate/${id}`}
    
                    />
                    <Button
                        type="button"
                        onClick={copyToClipboard}
                        text="링크 복사"
                    />
                    <Button
                        type="submit"
                        text="투표 페이지로 이동"
                    />
                </div>
            </form>
        );
    }
    
    export default LinkPageForm;