diff --git a/.gitignore b/.gitignore index 8ca8bbf..73a1cc0 100644 --- a/.gitignore +++ b/.gitignore @@ -172,6 +172,7 @@ dist .output playwright-report/ test-results/ +e2e/.auth/ .DS_Store diff --git a/client/features/upload-form/components/UploadView.tsx b/client/features/upload-form/components/UploadView.tsx index 015394d..4bc92bd 100644 --- a/client/features/upload-form/components/UploadView.tsx +++ b/client/features/upload-form/components/UploadView.tsx @@ -74,6 +74,10 @@ export function UploadView({ const selectedOverflowTheme = OVERFLOW_THEME_OPTIONS.find( (option) => option.value === selectedTheme, ); + const requiresTurnstile = + import.meta.env.PROD && + import.meta.env.VITE_PUBLIC_E2E !== "1" && + !isAuthenticated; useEffect(() => { if (isPermanent) { @@ -437,7 +441,7 @@ export function UploadView({ !selectedFile || isUploading || !!uploadError || - (import.meta.env.PROD && !turnstileToken) + (requiresTurnstile && !turnstileToken) } onClick={onUpload} > diff --git a/client/routes/index.tsx b/client/routes/index.tsx index 6b42ddc..e9676b4 100644 --- a/client/routes/index.tsx +++ b/client/routes/index.tsx @@ -95,6 +95,7 @@ export const Route = createFileRoute("/")({ function Home() { const { t, i18n } = useTranslation(); + const [isHomeReady, setIsHomeReady] = useState(false); const [expirationDays, setExpirationDays] = useState(30); const [selectedTheme, setSelectedTheme] = useState("default"); const [turnstileToken, setTurnstileToken] = useState(null); @@ -110,6 +111,10 @@ function Home() { const { data: session } = authClient.useSession(); + useEffect(() => { + setIsHomeReady(true); + }, []); + useEffect(() => { setExpirationDays((prev) => { // Logged in: default to Permanent (-1) if user hasn't changed it yet. @@ -237,6 +242,12 @@ function Home() { return ( <> +