🚀 Complete Production Setup
✨ Features: - Analytics Dashboard with real-time metrics - Redis caching for performance optimization - Import/Export functionality for projects - Complete admin system with security - Production-ready Docker setup 🔧 Technical: - Removed Ghost CMS dependencies - Added Redis container with caching - Implemented API response caching - Enhanced admin interface with analytics - Optimized for dk0.dev domain 🛡️ Security: - Admin authentication with Basic Auth - Protected analytics endpoints - Secure environment configuration 📊 Analytics: - Performance metrics dashboard - Project statistics visualization - Real-time data with caching - Umami integration for GDPR compliance 🎯 Production Ready: - Multi-container Docker setup - Health checks for all services - Automatic restart policies - Resource limits configured - Ready for Nginx Proxy Manager
This commit is contained in:
@@ -134,6 +134,7 @@ const ToastItem = ({ toast, onRemove }: ToastProps) => {
|
||||
import { createContext, useContext, useCallback } from 'react';
|
||||
|
||||
interface ToastContextType {
|
||||
addToast: (toast: Omit<Toast, 'id'>) => void;
|
||||
showToast: (toast: Omit<Toast, 'id'>) => void;
|
||||
showSuccess: (title: string, message?: string) => void;
|
||||
showError: (title: string, message?: string) => void;
|
||||
@@ -265,6 +266,7 @@ export const ToastProvider = ({ children }: { children: React.ReactNode }) => {
|
||||
}, [addToast]);
|
||||
|
||||
const contextValue: ToastContextType = {
|
||||
addToast,
|
||||
showToast,
|
||||
showSuccess,
|
||||
showError,
|
||||
|
||||
Reference in New Issue
Block a user