diff --git a/.gitignore b/.gitignore index af6fce7..38b2a63 100644 --- a/.gitignore +++ b/.gitignore @@ -22,6 +22,12 @@ dist/ *.swo *~ +# Environment +.env +.env.production +.env.local +.env.*.local + # OS .DS_Store Thumbs.db diff --git a/Dockerfile b/Dockerfile index 4440b7c..d148f2f 100644 --- a/Dockerfile +++ b/Dockerfile @@ -30,6 +30,16 @@ FROM node:22-slim AS web-builder WORKDIR /app/calcpad-web +# Build-time env vars for Vite (inlined at build time) +ARG VITE_SUPABASE_URL +ARG VITE_SUPABASE_ANON_KEY +ARG VITE_AUTH_URL +ARG VITE_COLLAB_WS_URL +ENV VITE_SUPABASE_URL=$VITE_SUPABASE_URL +ENV VITE_SUPABASE_ANON_KEY=$VITE_SUPABASE_ANON_KEY +ENV VITE_AUTH_URL=$VITE_AUTH_URL +ENV VITE_COLLAB_WS_URL=$VITE_COLLAB_WS_URL + # Install dependencies first (layer caching) COPY calcpad-web/package.json calcpad-web/package-lock.json* ./ RUN npm install diff --git a/calcpad-web/.env.example b/calcpad-web/.env.example new file mode 100644 index 0000000..b7d8599 --- /dev/null +++ b/calcpad-web/.env.example @@ -0,0 +1,3 @@ +VITE_SUPABASE_URL=https://your-project.supabase.co +VITE_SUPABASE_ANON_KEY=your-anon-key +VITE_COLLAB_WS_URL=ws://localhost:4000 diff --git a/calcpad-web/.gitignore b/calcpad-web/.gitignore index a547bf3..438657a 100644 --- a/calcpad-web/.gitignore +++ b/calcpad-web/.gitignore @@ -11,6 +11,7 @@ node_modules dist dist-ssr *.local +.env # Editor directories and files .vscode/* diff --git a/calcpad-web/index.html b/calcpad-web/index.html index 9fc8ca9..fc129b1 100644 --- a/calcpad-web/index.html +++ b/calcpad-web/index.html @@ -10,6 +10,9 @@ + + +
+ We sent a confirmation link to {email}. + Click the link to activate your account, then sign in. +
+ Your session on this device has expired. Please re-enter your password. +
{error}
+ {mode === 'signin' ? ( + <>Don't have an account?{' '} { setMode('signup'); setError(null) }}>Sign up> + ) : ( + <>Already have an account?{' '} { setMode('signin'); setError(null) }}>Sign in> + )} +
{deviceName}
Loading...
+ This setting controls how often you need to re-enter your password on this device. + Other devices are not affected. +