From 6ff85963016ceabe36e0d903178a3533326047d8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cyril=20=C5=A0ebek?= Date: Sun, 7 Jul 2024 13:14:49 +0200 Subject: [PATCH] Removed contact form - Removed contact form - Added contact via email button - Reordered floating contact buttons --- package.json | 7 -- pnpm-lock.yaml | 186 ----------------------------- src/components/About.astro | 2 +- src/components/ContactForm.tsx | 156 ------------------------ src/components/FloatingLinks.astro | 5 +- src/components/Hero.astro | 33 +++-- src/components/ui/dialog.jsx | 94 --------------- src/components/ui/form.jsx | 133 --------------------- src/i18n/cs.js | 29 +---- src/i18n/de.js | 25 +--- src/i18n/en.js | 25 +--- src/i18n/fr.js | 25 +--- src/lib/icons.js | 3 +- src/pages/[lang]/blog/index.astro | 2 +- src/pages/api.js | 64 ---------- 15 files changed, 43 insertions(+), 746 deletions(-) delete mode 100644 src/components/ContactForm.tsx delete mode 100644 src/components/ui/dialog.jsx delete mode 100644 src/components/ui/form.jsx delete mode 100644 src/pages/api.js diff --git a/package.json b/package.json index 7c039ec..ee98222 100644 --- a/package.json +++ b/package.json @@ -16,10 +16,6 @@ "@astrojs/rss": "^4.0.7", "@astrojs/sitemap": "^3.1.6", "@astrojs/tailwind": "^5.1.0", - "@hookform/resolvers": "^3.6.0", - "@infisical/sdk": "^2.2.3", - "@paralleldrive/cuid2": "^2.2.2", - "@radix-ui/react-dialog": "^1.0.5", "@radix-ui/react-dropdown-menu": "^2.0.6", "@radix-ui/react-label": "^2.0.2", "@radix-ui/react-scroll-area": "^1.0.5", @@ -27,7 +23,6 @@ "@radix-ui/react-slot": "^1.0.2", "@radix-ui/react-tabs": "^1.0.4", "@radix-ui/react-tooltip": "^1.1.2", - "@types/nodemailer": "^6.4.15", "@types/react": "^18.2.74", "@types/react-dom": "^18.2.24", "astro": "^4.11.5", @@ -36,10 +31,8 @@ "cmdk": "^1.0.0", "embla-carousel-react": "^8.0.2", "lucide-react": "^0.365.0", - "nodemailer": "^6.9.13", "react": "^18.2.0", "react-dom": "^18.2.0", - "react-hook-form": "^7.51.5", "rehype-pretty-code": "^0.13.2", "rehype-slug": "^6.0.0", "tailwind-merge": "^2.2.2", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 991cc5f..59ccfea 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -23,18 +23,6 @@ dependencies: '@astrojs/tailwind': specifier: ^5.1.0 version: 5.1.0(astro@4.11.5)(tailwindcss@3.4.1) - '@hookform/resolvers': - specifier: ^3.6.0 - version: 3.6.0(react-hook-form@7.51.5) - '@infisical/sdk': - specifier: ^2.2.3 - version: 2.2.3 - '@paralleldrive/cuid2': - specifier: ^2.2.2 - version: 2.2.2 - '@radix-ui/react-dialog': - specifier: ^1.0.5 - version: 1.0.5(@types/react-dom@18.2.24)(@types/react@18.2.74)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-dropdown-menu': specifier: ^2.0.6 version: 2.0.6(@types/react-dom@18.2.24)(@types/react@18.2.74)(react-dom@18.2.0)(react@18.2.0) @@ -56,9 +44,6 @@ dependencies: '@radix-ui/react-tooltip': specifier: ^1.1.2 version: 1.1.2(@types/react-dom@18.2.24)(@types/react@18.2.74)(react-dom@18.2.0)(react@18.2.0) - '@types/nodemailer': - specifier: ^6.4.15 - version: 6.4.15 '@types/react': specifier: ^18.2.74 version: 18.2.74 @@ -83,18 +68,12 @@ dependencies: lucide-react: specifier: ^0.365.0 version: 0.365.0(react@18.2.0) - nodemailer: - specifier: ^6.9.13 - version: 6.9.13 react: specifier: ^18.2.0 version: 18.2.0 react-dom: specifier: ^18.2.0 version: 18.2.0(react@18.2.0) - react-hook-form: - specifier: ^7.51.5 - version: 7.51.5(react@18.2.0) rehype-pretty-code: specifier: ^0.13.2 version: 0.13.2(shiki@1.10.1) @@ -786,14 +765,6 @@ packages: resolution: {integrity: sha512-9TANp6GPoMtYzQdt54kfAyMmz1+osLlXdg2ENroU7zzrtflTLrrC/lgrIfaSe+Wu0b89GKccT7vxXA0MoAIO+Q==} dev: false - /@hookform/resolvers@3.6.0(react-hook-form@7.51.5): - resolution: {integrity: sha512-UBcpyOX3+RR+dNnqBd0lchXpoL8p4xC21XP8H6Meb8uve5Br1GCnmg0PcBoKKqPKgGu9GHQ/oygcmPrQhetwqw==} - peerDependencies: - react-hook-form: ^7.0.0 - dependencies: - react-hook-form: 7.51.5(react@18.2.0) - dev: false - /@img/sharp-darwin-arm64@0.33.4: resolution: {integrity: sha512-p0suNqXufJs9t3RqLBO6vvrgr5OhgbWp76s5gTRvdmxmuv9E1rcaqGUsl3l4mKVmXPkTkTErXediAui4x+8PSA==} engines: {glibc: '>=2.26', node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'} @@ -982,132 +953,6 @@ packages: dev: false optional: true - /@infisical/sdk-android-arm-eabi@2.2.3: - resolution: {integrity: sha512-eDkrjgQ1CD1UaAIbRLv4clMy4iwiprH8uMnC31d8ABdlNyvYPiC3zgy+XPuxVefnCVT2NrqM5UsPKDAIdMeOag==} - engines: {node: '>= 10'} - cpu: [arm] - os: [android] - requiresBuild: true - dev: false - optional: true - - /@infisical/sdk-android-arm64@2.2.3: - resolution: {integrity: sha512-9EAKO+MgcHyODDobGi3iwG5n207rH2PQ0XPaC6VSZp90oN5unSTmNWK7qbElbTSf+MwrsyOJT87QTXicatzCBw==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [android] - requiresBuild: true - dev: false - optional: true - - /@infisical/sdk-darwin-arm64@2.2.3: - resolution: {integrity: sha512-58qQA3hI9SUcRJQghiNQjt92HiWIRX1NVkWZsNN9HX6j5YaHC9hhUmJ7RopI768Bsh5jxwmyeEn9CXzFxIUA8Q==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [darwin] - requiresBuild: true - dev: false - optional: true - - /@infisical/sdk-darwin-x64@2.2.3: - resolution: {integrity: sha512-AyIBGJH/EcsJrpMDgQPL4lmDAqGywn2MKB0dsOnBBwJHLdxvzra4IA9ZQHockI7kSUKu5kSA5YTk6seZ5f/BIg==} - engines: {node: '>= 10'} - cpu: [x64] - os: [darwin] - requiresBuild: true - dev: false - optional: true - - /@infisical/sdk-linux-arm-gnueabihf@2.2.3: - resolution: {integrity: sha512-sFGhXqckuVUPmqnFuZbX/NFlxpdAu/IHzGQKbPYsGjPnqxC+ZkCBvuyj1IpVIElL/j09pLVbMMWZv1vf+aaHmQ==} - engines: {node: '>= 10'} - cpu: [arm] - os: [linux] - requiresBuild: true - dev: false - optional: true - - /@infisical/sdk-linux-arm64-gnu@2.2.3: - resolution: {integrity: sha512-ppXvRBVINN7DSMLIaM3syUkYXvDVsrO0OzVgQ9ti9yYcBPOJlzrIU2H/yiXXv/m8U58jCja275i5K5y1VdjuPw==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [linux] - requiresBuild: true - dev: false - optional: true - - /@infisical/sdk-linux-arm64-musl@2.2.3: - resolution: {integrity: sha512-/JouatsZb7KAbks682tHIRH5wMpGOoVCTBJjXNcnhV33bOxlyJ9G/UimgCYBpT9WuVhkRJKNXEQQdh7rsCsShA==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [linux] - requiresBuild: true - dev: false - optional: true - - /@infisical/sdk-linux-x64-gnu@2.2.3: - resolution: {integrity: sha512-YH3DrvDfjmArKLrvhV+2mqoE5mY3l9cwXivqtNlcPftH5TW1MQvVq9lJEb8wIEkCNNiFYyJ2Xf8tJQDkervlYQ==} - engines: {node: '>= 10'} - cpu: [x64] - os: [linux] - requiresBuild: true - dev: false - optional: true - - /@infisical/sdk-linux-x64-musl@2.2.3: - resolution: {integrity: sha512-h0+14vwyigRi8aR/BfJ8LFZOJJOUa1p7fsyVUVWuTLsaDyo5l/HW4q+C3wYX2N9Jb3NyUev4lvu19WCs8W12iQ==} - engines: {node: '>= 10'} - cpu: [x64] - os: [linux] - requiresBuild: true - dev: false - optional: true - - /@infisical/sdk-win32-arm64-msvc@2.2.3: - resolution: {integrity: sha512-o07IXCl66/6WYDtIdPef7KeQX9aJsdmJJCMYu6K7ez9EV+nNJR7nmuhe6jdlK16kVdyfJB5lXuefCe+hWVx+HA==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [win32] - requiresBuild: true - dev: false - optional: true - - /@infisical/sdk-win32-ia32-msvc@2.2.3: - resolution: {integrity: sha512-CXQK5N7YQ3RBVbKwx5HBGNM8LwV7/+hzN9py7C1Upv07XK0bmC6NvVrZVoYwSMDBIN3lCAy/cWASsNH+9Ve5uw==} - engines: {node: '>= 10'} - cpu: [ia32] - os: [win32] - requiresBuild: true - dev: false - optional: true - - /@infisical/sdk-win32-x64-msvc@2.2.3: - resolution: {integrity: sha512-hBmKiKNQ3CK6I3Z1s+1Ix8kM2/ML5BiTRmM6EOP6iQBULMf1AmCoGzh6uO4l7gytcvixtC8Jp21+37rKjm4MLA==} - engines: {node: '>= 10'} - cpu: [x64] - os: [win32] - requiresBuild: true - dev: false - optional: true - - /@infisical/sdk@2.2.3: - resolution: {integrity: sha512-UvJjOD0b3O4obdtEYh+++Pv7Jfj5qb0QMzEZrADDLQJH0bDswRgLCaCiZtvzkV6WJPw8EKM5CFyBuZOgvDLESQ==} - engines: {node: '>= 10'} - optionalDependencies: - '@infisical/sdk-android-arm-eabi': 2.2.3 - '@infisical/sdk-android-arm64': 2.2.3 - '@infisical/sdk-darwin-arm64': 2.2.3 - '@infisical/sdk-darwin-x64': 2.2.3 - '@infisical/sdk-linux-arm-gnueabihf': 2.2.3 - '@infisical/sdk-linux-arm64-gnu': 2.2.3 - '@infisical/sdk-linux-arm64-musl': 2.2.3 - '@infisical/sdk-linux-x64-gnu': 2.2.3 - '@infisical/sdk-linux-x64-musl': 2.2.3 - '@infisical/sdk-win32-arm64-msvc': 2.2.3 - '@infisical/sdk-win32-ia32-msvc': 2.2.3 - '@infisical/sdk-win32-x64-msvc': 2.2.3 - dev: false - /@isaacs/cliui@8.0.2: resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} engines: {node: '>=12'} @@ -1174,11 +1019,6 @@ packages: - supports-color dev: false - /@noble/hashes@1.4.0: - resolution: {integrity: sha512-V1JJ1WTRUqHHrOSh597hURcMqVKVGL/ea3kv0gSnEdsEZ0/+VyPghM1lMNGc00z7CIQorSvbKpuJkxvuHbvdbg==} - engines: {node: '>= 16'} - dev: false - /@nodelib/fs.scandir@2.1.5: resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} engines: {node: '>= 8'} @@ -1197,12 +1037,6 @@ packages: '@nodelib/fs.scandir': 2.1.5 fastq: 1.17.1 - /@paralleldrive/cuid2@2.2.2: - resolution: {integrity: sha512-ZOBkgDwEdoYVlSeRbYYXs0S9MejQofiVYoTbKzy/6GQa39/q5tQU2IX46+shYnUkpEl3wc+J6wRlar7r2EK2xA==} - dependencies: - '@noble/hashes': 1.4.0 - dev: false - /@pkgjs/parseargs@0.11.0: resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} engines: {node: '>=14'} @@ -2350,12 +2184,6 @@ packages: resolution: {integrity: sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==} dev: false - /@types/nodemailer@6.4.15: - resolution: {integrity: sha512-0EBJxawVNjPkng1zm2vopRctuWVCxk34JcIlRuXSf54habUWdz1FB7wHDqOqvDa8Mtpt0Q3LTXQkAs2LNyK5jQ==} - dependencies: - '@types/node': 17.0.45 - dev: false - /@types/prop-types@15.7.12: resolution: {integrity: sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q==} dev: false @@ -4389,11 +4217,6 @@ packages: resolution: {integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==} dev: false - /nodemailer@6.9.13: - resolution: {integrity: sha512-7o38Yogx6krdoBf3jCAqnIN4oSQFx+fMa0I7dK1D+me9kBxx12D+/33wSb+fhOCtIxvYJ+4x4IMEhmhCKfAiOA==} - engines: {node: '>=6.0.0'} - dev: false - /normalize-path@3.0.0: resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} engines: {node: '>=0.10.0'} @@ -4733,15 +4556,6 @@ packages: scheduler: 0.23.0 dev: false - /react-hook-form@7.51.5(react@18.2.0): - resolution: {integrity: sha512-J2ILT5gWx1XUIJRETiA7M19iXHlG74+6O3KApzvqB/w8S5NQR7AbU8HVZrMALdmDgWpRPYiZJl0zx8Z4L2mP6Q==} - engines: {node: '>=12.22.0'} - peerDependencies: - react: ^16.8.0 || ^17 || ^18 - dependencies: - react: 18.2.0 - dev: false - /react-refresh@0.14.2: resolution: {integrity: sha512-jCvmsr+1IUSMUyzOkRcvnVbX3ZYC6g9TDrDbFuFmRDq7PD4yaGbLKNQL6k2jnArV8hjYxh7hVhAZB6s9HDGpZA==} engines: {node: '>=0.10.0'} diff --git a/src/components/About.astro b/src/components/About.astro index 98b63d7..689aad7 100644 --- a/src/components/About.astro +++ b/src/components/About.astro @@ -8,7 +8,7 @@ const t = useTranslations(getLangFromUrl(Astro.url)); --- -
+
{ [0,1,2].map(i => diff --git a/src/components/ContactForm.tsx b/src/components/ContactForm.tsx deleted file mode 100644 index 1d3f414..0000000 --- a/src/components/ContactForm.tsx +++ /dev/null @@ -1,156 +0,0 @@ -"use client"; - -import { useTranslations } from "../i18n/utils"; -import { Button } from "./ui/button"; -import { - Dialog, - DialogContent, - DialogDescription, - DialogFooter, - DialogHeader, - DialogTitle, - DialogTrigger, -} from "./ui/dialog"; -import { - Form, - FormControl, - FormDescription, - FormField, - FormItem, - FormLabel, - FormMessage, -} from "./ui/form"; -import { Input } from "./ui/input"; -import { z } from "astro/zod"; -import { zodResolver } from "@hookform/resolvers/zod"; -import { useForm } from "react-hook-form"; -import { Textarea } from "./ui/textarea" - - -const formSchema = z.object({ - username: z.string().min(2), - email: z.string().email(), - message: z.string(), -}); - -export function ContactForm({ currentLocale }) { - const t = useTranslations(currentLocale); - - const form = useForm>({ - resolver: zodResolver(formSchema), - defaultValues: { - username: "", - email: "", - message: "", - /*datetime: "2020-01-01T00:00:00Z",*/ - }, - }); - - async function onSubmit(values: z.infer) { - const formData = new FormData(); - - for (const value of Object.keys(values)) { - formData.append(value, values[value]) - } - console.log(formData) - - const response = await fetch("/api", { - method: "POST", - body: formData - }); - - const data = await response.json(); - console.log(data.message) - } - - return ( - - - - - - -

{t("contact").title}

- {t("contact").description} -
- -
- - ( - - {t("contact").name} - - - - - {t("contact").nameDescription} - - - - )} - /> - - ( - - {t("contact").email} - - - - - {t("contact").emailDescription} - - - - )} - /> - - ( - - {t("contact").message} - -