page.tsx 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. "use client"
  2. import { useState } from "react";
  3. import { Button } from "@/components/ui/button";
  4. import { Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle } from "@/components/ui/card";
  5. import { Input } from "@/components/ui/input";
  6. import { Label } from "@/components/ui/label";
  7. import { Badge } from "@/components/ui/badge";
  8. import { Dialog, DialogContent, DialogDescription, DialogHeader, DialogTitle, DialogTrigger } from "@/components/ui/dialog";
  9. import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from "@/components/ui/select";
  10. import { Checkbox } from "@/components/ui/checkbox";
  11. import { Textarea } from "@/components/ui/textarea";
  12. import { Switch } from "@/components/ui/switch";
  13. import { toast } from "sonner";
  14. import { ModeToggle } from "@/components/mode-toggle";
  15. export default function Home() {
  16. const [name, setName] = useState("");
  17. const [email, setEmail] = useState("");
  18. const [message, setMessage] = useState("");
  19. const [selectedOption, setSelectedOption] = useState("");
  20. const [isChecked, setIsChecked] = useState(false);
  21. const [isSwitchOn, setIsSwitchOn] = useState(false);
  22. const handleSubmit = (e: React.FormEvent) => {
  23. e.preventDefault();
  24. toast.success("Formulario enviado exitosamente!");
  25. console.log({ name, email, message, selectedOption, isChecked, isSwitchOn });
  26. };
  27. const handleDialogOpen = () => {
  28. toast.info("Dialog abierto");
  29. };
  30. return (
  31. <div className="space-y-8">
  32. {/* Header */}
  33. <div className="flex flex-col min-h-screen justify-center items-center space-y-8">
  34. <img
  35. src="/sumire.png"
  36. alt="Sumire Yoshizawa"
  37. className="w-48 h-48 object-contain animate-bounce"
  38. />
  39. <h1 className="text-5xl font-bold tracking-tight">sumire</h1>
  40. </div>
  41. </div>
  42. );
  43. }