Compare commits

..

No commits in common. "90e9bba1e0175714630f97c1a6d8319ee913b471" and "4880f695fb2185aefea7c60c61b8d541abc372ce" have entirely different histories.

2 changed files with 5 additions and 23 deletions

View file

@ -1,3 +1,5 @@
### `Dockerfile`
```dockerfile
# Multi-Stage Dockerfile for Gothic II Mod Website
FROM node:20-alpine AS builder
@ -5,7 +7,7 @@ WORKDIR /app
# Install dependencies first for better Docker layer caching
COPY package*.json ./
RUN npm install
RUN npm ci
# Copy source code and build the production bundle
COPY . .
@ -21,7 +23,7 @@ ENV PORT=3000
# Install production dependencies only
COPY package*.json ./
RUN npm install --omit=dev
RUN npm ci --only=production
# Copy built dist files and default cms data from builder
COPY --from=builder /app/dist ./dist
@ -31,3 +33,4 @@ COPY --from=builder /app/cms-data.json ./cms-data.json
EXPOSE 3000
CMD ["node", "dist/server.cjs"]
```

View file

@ -457,27 +457,6 @@ export const AdminCMSModal: React.FC<AdminCMSModalProps> = ({
/>
</div>
</div>
{/* Security & Admin PIN Section */}
<div className="bg-zinc-950/80 border border-amber-900/60 rounded-xl p-4 mt-6 space-y-3">
<h4 className="text-sm font-serif font-bold text-amber-300 flex items-center gap-2">
<KeyRound className="w-4 h-4 text-amber-400" />
CMS Passwort / Zugangs-PIN
</h4>
<p className="text-xs text-zinc-400">
Hier kannst du das Passwort ändern, das zum Freischalten dieses Modder-Portals benötigt wird.
Nach dem Klicken auf <strong className="text-amber-200">"Änderungen Live Speichern"</strong> wird das neue Passwort in <code className="text-amber-300 bg-zinc-900 px-1 py-0.5 rounded">cms-data.json</code> übernommen.
</p>
<div className="max-w-xs">
<label className="block text-xs font-mono text-amber-400 mb-1">Neues CMS Passwort</label>
<input
type="text"
value={formData.adminPin || "gothic2026"}
onChange={(e) => setFormData({ ...formData, adminPin: e.target.value })}
className="w-full bg-zinc-900 border border-amber-800/80 rounded px-3 py-2 text-sm font-mono text-amber-200 focus:border-amber-500 focus:ring-1 focus:ring-amber-500"
/>
</div>
</div>
</div>
)}