# Stage 1: Build
FROM node:20-alpine AS builder

WORKDIR /build

# ARG NPM_REGISTRY=https://mirror-npm.runflare.com

# Vite embeds these at build time
ARG VITE_BASE_URL=https://dmenu-api.danakcorp.com
ARG VITE_SOCKET_URL=https://dmenu-api.danakcorp.com
ARG VITE_TOKEN_NAME=dmnu_a_t
ARG VITE_REFRESH_TOKEN_NAME=dmnu-a-rt

ENV VITE_BASE_URL=$VITE_BASE_URL \
    VITE_SOCKET_URL=$VITE_SOCKET_URL \
    VITE_TOKEN_NAME=$VITE_TOKEN_NAME \
    VITE_REFRESH_TOKEN_NAME=$VITE_REFRESH_TOKEN_NAME

COPY package*.json ./

RUN npm ci --registry="${NPM_REGISTRY}"

COPY . .

RUN npm run build

# Stage 2: Serve with Nginx
FROM nginx:alpine

COPY --from=builder /build/dist /usr/share/nginx/html
COPY nginx.conf /etc/nginx/conf.d/default.conf

EXPOSE 80

CMD ["nginx", "-g", "daemon off;"]
