diff --git a/Dockerfile b/Dockerfile index 0f6b9a3..c2567fb 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,12 +1,14 @@ # Production Dockerfile with FrankenPHP FROM dunglas/frankenphp:latest-php8.3-alpine -# Install system dependencies +# Install system dependencies (except Node - Alpine's is too old for Vite 7) RUN apk add --no-cache \ - nodejs \ - npm \ git \ - mysql-client + mysql-client \ + curl + +# Install Node.js 20.19.0+ (Vite 7 requires 20.19+) +RUN curl -fsSL https://unofficial-builds.nodejs.org/download/release/v20.19.0/node-v20.19.0-linux-x64-musl.tar.xz | tar -xJ -C /usr/local --strip-components=1 # Install PHP extensions RUN install-php-extensions \ diff --git a/resources/js/components/TwoFactorRecoveryCodes.tsx b/resources/js/components/TwoFactorRecoveryCodes.tsx index 9182081..2829126 100644 --- a/resources/js/components/TwoFactorRecoveryCodes.tsx +++ b/resources/js/components/TwoFactorRecoveryCodes.tsx @@ -10,7 +10,7 @@ import { regenerateRecoveryCodes } from '@/routes/two-factor'; import { Form } from '@inertiajs/react'; import { Eye, EyeOff, LockKeyhole, RefreshCw } from 'lucide-react'; import { useCallback, useEffect, useRef, useState } from 'react'; -import AlertError from './alert-error'; +import AlertError from './AlertError'; interface TwoFactorRecoveryCodesProps { recoveryCodesList: string[]; diff --git a/resources/js/components/TwoFactorSetupModal.tsx b/resources/js/components/TwoFactorSetupModal.tsx index 7a4a5e6..52c6e49 100644 --- a/resources/js/components/TwoFactorSetupModal.tsx +++ b/resources/js/components/TwoFactorSetupModal.tsx @@ -19,7 +19,7 @@ import { Form } from '@inertiajs/react'; import { REGEXP_ONLY_DIGITS } from 'input-otp'; import { Check, Copy, ScanLine } from 'lucide-react'; import { useCallback, useEffect, useMemo, useRef, useState } from 'react'; -import AlertError from './alert-error'; +import AlertError from './AlertError'; import { Spinner } from './ui/spinner'; function GridScanIcon() {