mirror of
https://github.com/jakejarvis/jarv.is.git
synced 2025-06-27 17:25:43 -04:00
update cloudflare turnstile
This commit is contained in:
@ -2,7 +2,7 @@
|
||||
|
||||
import { env } from "@/lib/env";
|
||||
import { useActionState, useState } from "react";
|
||||
import Turnstile from "react-turnstile";
|
||||
import { Turnstile } from "@marsidev/react-turnstile";
|
||||
import { SendIcon, Loader2Icon, CheckIcon, XIcon } from "lucide-react";
|
||||
import Link from "@/components/link";
|
||||
import Input from "@/components/ui/input";
|
||||
@ -37,9 +37,9 @@ const ContactForm = () => {
|
||||
setFormFields({ ...formFields, name: e.target.value });
|
||||
}}
|
||||
disabled={pending || formState.success}
|
||||
aria-invalid={!pending && formState.errors?.name ? "true" : undefined}
|
||||
aria-invalid={formState.errors?.name ? "true" : undefined}
|
||||
/>
|
||||
{!pending && formState.errors?.name && (
|
||||
{formState.errors?.name && (
|
||||
<span className="text-destructive text-[0.8rem] font-semibold">{formState.errors.name[0]}</span>
|
||||
)}
|
||||
</div>
|
||||
@ -55,9 +55,9 @@ const ContactForm = () => {
|
||||
setFormFields({ ...formFields, email: e.target.value });
|
||||
}}
|
||||
disabled={pending || formState.success}
|
||||
aria-invalid={!pending && formState.errors?.email ? "true" : undefined}
|
||||
aria-invalid={formState.errors?.email ? "true" : undefined}
|
||||
/>
|
||||
{!pending && formState.errors?.email && (
|
||||
{formState.errors?.email && (
|
||||
<span className="text-destructive text-[0.8rem] font-semibold">{formState.errors.email[0]}</span>
|
||||
)}
|
||||
</div>
|
||||
@ -71,10 +71,10 @@ const ContactForm = () => {
|
||||
setFormFields({ ...formFields, message: e.target.value });
|
||||
}}
|
||||
disabled={pending || formState.success}
|
||||
aria-invalid={!pending && formState.errors?.message ? "true" : undefined}
|
||||
aria-invalid={formState.errors?.message ? "true" : undefined}
|
||||
className="min-h-[6lh] resize-y"
|
||||
/>
|
||||
{!pending && formState.errors?.message && (
|
||||
{formState.errors?.message && (
|
||||
<span className="text-destructive text-[0.8rem] font-semibold">{formState.errors.message[0]}</span>
|
||||
)}
|
||||
|
||||
@ -102,8 +102,8 @@ const ContactForm = () => {
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<Turnstile sitekey={env.NEXT_PUBLIC_TURNSTILE_SITE_KEY} fixedSize />
|
||||
{!pending && formState.errors?.["cf-turnstile-response"] && (
|
||||
<Turnstile siteKey={env.NEXT_PUBLIC_TURNSTILE_SITE_KEY} />
|
||||
{formState.errors?.["cf-turnstile-response"] && (
|
||||
<span className="text-destructive text-[0.8rem] font-semibold">
|
||||
{formState.errors["cf-turnstile-response"][0]}
|
||||
</span>
|
||||
|
@ -38,7 +38,9 @@ const Page = async () => {
|
||||
Object.entries(postsByYear).forEach(([year, posts]) => {
|
||||
sections.push(
|
||||
<section className="my-8 first-of-type:mt-6 last-of-type:mb-6" key={year}>
|
||||
<h2 className="mt-0 mb-4 text-3xl font-bold md:text-4xl">{year}</h2>
|
||||
<h2 id={year} className="mt-0 mb-4 text-3xl font-bold md:text-4xl">
|
||||
{year}
|
||||
</h2>
|
||||
<ul className="space-y-4">
|
||||
{posts.map(({ slug, date, title, htmlTitle, views }) => (
|
||||
<li className="flex text-base leading-relaxed" key={slug}>
|
||||
@ -52,7 +54,7 @@ const Page = async () => {
|
||||
{views > 0 && (
|
||||
<span className="bg-muted text-muted-foreground inline-flex h-5 flex-nowrap items-center gap-1 rounded-md px-1.5 align-text-top text-xs font-semibold text-nowrap shadow select-none">
|
||||
<EyeIcon className="inline-block size-4 shrink-0" />
|
||||
<span className="inline-block leading-5">
|
||||
<span className="inline-block leading-none">
|
||||
{Intl.NumberFormat(env.NEXT_PUBLIC_SITE_LOCALE).format(views)}
|
||||
</span>
|
||||
</span>
|
||||
|
@ -21,6 +21,7 @@
|
||||
"@date-fns/tz": "^1.2.0",
|
||||
"@date-fns/utc": "^2.1.0",
|
||||
"@giscus/react": "^3.1.0",
|
||||
"@marsidev/react-turnstile": "^1.1.0",
|
||||
"@mdx-js/loader": "^3.1.0",
|
||||
"@mdx-js/react": "^3.1.0",
|
||||
"@next/bundle-analyzer": "15.4.0-canary.26",
|
||||
@ -42,7 +43,7 @@
|
||||
"feed": "^4.2.2",
|
||||
"geist": "^1.4.2",
|
||||
"html-entities": "^2.6.0",
|
||||
"lucide-react": "0.508.0",
|
||||
"lucide-react": "0.509.0",
|
||||
"next": "15.4.0-canary.26",
|
||||
"react": "19.1.0",
|
||||
"react-activity-calendar": "^2.7.11",
|
||||
@ -52,7 +53,6 @@
|
||||
"react-schemaorg": "^2.0.0",
|
||||
"react-timeago": "^8.2.0",
|
||||
"react-to-text": "^2.0.1",
|
||||
"react-turnstile": "^1.1.4",
|
||||
"react-tweet": "^3.2.2",
|
||||
"react-use": "^17.6.0",
|
||||
"rehype-mdx-code-props": "^3.0.1",
|
||||
|
38
pnpm-lock.yaml
generated
38
pnpm-lock.yaml
generated
@ -17,6 +17,9 @@ importers:
|
||||
'@giscus/react':
|
||||
specifier: ^3.1.0
|
||||
version: 3.1.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
|
||||
'@marsidev/react-turnstile':
|
||||
specifier: ^1.1.0
|
||||
version: 1.1.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
|
||||
'@mdx-js/loader':
|
||||
specifier: ^3.1.0
|
||||
version: 3.1.0(acorn@8.14.1)
|
||||
@ -81,8 +84,8 @@ importers:
|
||||
specifier: ^2.6.0
|
||||
version: 2.6.0
|
||||
lucide-react:
|
||||
specifier: 0.508.0
|
||||
version: 0.508.0(react@19.1.0)
|
||||
specifier: 0.509.0
|
||||
version: 0.509.0(react@19.1.0)
|
||||
next:
|
||||
specifier: 15.4.0-canary.26
|
||||
version: 15.4.0-canary.26(@babel/core@7.26.10)(babel-plugin-react-compiler@19.0.0-beta-af1b7da-20250417)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
|
||||
@ -110,9 +113,6 @@ importers:
|
||||
react-to-text:
|
||||
specifier: ^2.0.1
|
||||
version: 2.0.1(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
|
||||
react-turnstile:
|
||||
specifier: ^1.1.4
|
||||
version: 1.1.4(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
|
||||
react-tweet:
|
||||
specifier: ^3.2.2
|
||||
version: 3.2.2(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
|
||||
@ -638,6 +638,12 @@ packages:
|
||||
'@lit/reactive-element@2.1.0':
|
||||
resolution: {integrity: sha512-L2qyoZSQClcBmq0qajBVbhYEcG6iK0XfLn66ifLe/RfC0/ihpc+pl0Wdn8bJ8o+hj38cG0fGXRgSS20MuXn7qA==}
|
||||
|
||||
'@marsidev/react-turnstile@1.1.0':
|
||||
resolution: {integrity: sha512-X7bP9ZYutDd+E+klPYF+/BJHqEyyVkN4KKmZcNRr84zs3DcMoftlMAuoKqNSnqg0HE7NQ1844+TLFSJoztCdSA==}
|
||||
peerDependencies:
|
||||
react: ^17.0.2 || ^18.0.0 || ^19.0
|
||||
react-dom: ^17.0.2 || ^18.0.0 || ^19.0
|
||||
|
||||
'@mdx-js/loader@3.1.0':
|
||||
resolution: {integrity: sha512-xU/lwKdOyfXtQGqn3VnJjlDrmKXEvMi1mgYxVmukEUtVycIz1nh7oQ40bKTd4cA7rLStqu0740pnhGYxGoqsCg==}
|
||||
peerDependencies:
|
||||
@ -2845,8 +2851,8 @@ packages:
|
||||
lru-cache@5.1.1:
|
||||
resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==}
|
||||
|
||||
lucide-react@0.508.0:
|
||||
resolution: {integrity: sha512-gcP16PnexqtOFrTtv98kVsGzTfnbPekzZiQfByi2S89xfk7E/4uKE1USZqccIp58v42LqkO7MuwpCqshwSrJCg==}
|
||||
lucide-react@0.509.0:
|
||||
resolution: {integrity: sha512-xCJHn6Uh5qF6PGml25vveCTrHJZcqS1G1MVzWZK54ZQsOiCVJk4fwY3oyo5EXS2S+aqvTpWYIfJN+PesJ0quxg==}
|
||||
peerDependencies:
|
||||
react: ^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0
|
||||
|
||||
@ -3486,12 +3492,6 @@ packages:
|
||||
react: ^18.2.0
|
||||
react-dom: ^18.2.0
|
||||
|
||||
react-turnstile@1.1.4:
|
||||
resolution: {integrity: sha512-oluyRWADdsufCt5eMqacW4gfw8/csr6Tk+fmuaMx0PWMKP1SX1iCviLvD2D5w92eAzIYDHi/krUWGHhlfzxTpQ==}
|
||||
peerDependencies:
|
||||
react: '>= 16.13.1'
|
||||
react-dom: '>= 16.13.1'
|
||||
|
||||
react-tweet@3.2.2:
|
||||
resolution: {integrity: sha512-hIkxAVPpN2RqWoDEbo3TTnN/pDcp9/Jb6pTgiA4EbXa9S+m2vHIvvZKHR+eS0PDIsYqe+zTmANRa5k6+/iwGog==}
|
||||
peerDependencies:
|
||||
@ -4649,6 +4649,11 @@ snapshots:
|
||||
dependencies:
|
||||
'@lit-labs/ssr-dom-shim': 1.3.0
|
||||
|
||||
'@marsidev/react-turnstile@1.1.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0)':
|
||||
dependencies:
|
||||
react: 19.1.0
|
||||
react-dom: 19.1.0(react@19.1.0)
|
||||
|
||||
'@mdx-js/loader@3.1.0(acorn@8.14.1)':
|
||||
dependencies:
|
||||
'@mdx-js/mdx': 3.1.0(acorn@8.14.1)
|
||||
@ -7110,7 +7115,7 @@ snapshots:
|
||||
dependencies:
|
||||
yallist: 3.1.1
|
||||
|
||||
lucide-react@0.508.0(react@19.1.0):
|
||||
lucide-react@0.509.0(react@19.1.0):
|
||||
dependencies:
|
||||
react: 19.1.0
|
||||
|
||||
@ -7974,11 +7979,6 @@ snapshots:
|
||||
react: 19.1.0
|
||||
react-dom: 19.1.0(react@19.1.0)
|
||||
|
||||
react-turnstile@1.1.4(react-dom@19.1.0(react@19.1.0))(react@19.1.0):
|
||||
dependencies:
|
||||
react: 19.1.0
|
||||
react-dom: 19.1.0(react@19.1.0)
|
||||
|
||||
react-tweet@3.2.2(react-dom@19.1.0(react@19.1.0))(react@19.1.0):
|
||||
dependencies:
|
||||
'@swc/helpers': 0.5.17
|
||||
|
Reference in New Issue
Block a user