From 85de6f0ef5218ebaa905a7fb4a1abac11a9fbd4c Mon Sep 17 00:00:00 2001 From: denshooter Date: Mon, 8 Sep 2025 08:23:22 +0200 Subject: [PATCH] fixing linting and tests errors --- app/__tests__/api/email.test.tsx | 4 +- app/__tests__/components/Header.test.tsx | 3 +- components/EmailResponder.tsx | 4 +- components/ModernAdminDashboard.tsx | 72 +----------------------- scripts/dev-minimal.js | 1 + scripts/dev-simple.js | 1 + scripts/setup-database.js | 2 +- 7 files changed, 11 insertions(+), 76 deletions(-) diff --git a/app/__tests__/api/email.test.tsx b/app/__tests__/api/email.test.tsx index 833cbbb..afc1d48 100644 --- a/app/__tests__/api/email.test.tsx +++ b/app/__tests__/api/email.test.tsx @@ -18,7 +18,7 @@ afterAll(() => { beforeEach(() => { nodemailermock.mock.reset(); - process.env.MY_EMAIL = 'test@dki.one'; + process.env.MY_EMAIL = 'test@dk0.dev'; process.env.MY_PASSWORD = 'test-password'; }); @@ -42,7 +42,7 @@ describe('POST /api/email', () => { const sentEmails = nodemailermock.mock.getSentMail(); expect(sentEmails.length).toBe(1); - expect(sentEmails[0].to).toBe('contact@dki.one'); + expect(sentEmails[0].to).toBe('contact@dk0.dev'); expect(sentEmails[0].text).toContain('Hello! This is a test message.'); }); diff --git a/app/__tests__/components/Header.test.tsx b/app/__tests__/components/Header.test.tsx index 7b7fc48..e9c1108 100644 --- a/app/__tests__/components/Header.test.tsx +++ b/app/__tests__/components/Header.test.tsx @@ -5,7 +5,8 @@ import '@testing-library/jest-dom'; describe('Header', () => { it('renders the header', () => { render(
); - expect(screen.getByText('DK')).toBeInTheDocument(); + expect(screen.getByText('dk')).toBeInTheDocument(); + expect(screen.getByText('0')).toBeInTheDocument(); const aboutButtons = screen.getAllByText('About'); expect(aboutButtons.length).toBeGreaterThan(0); diff --git a/components/EmailResponder.tsx b/components/EmailResponder.tsx index f838614..f229f00 100644 --- a/components/EmailResponder.tsx +++ b/components/EmailResponder.tsx @@ -74,7 +74,7 @@ export const EmailResponder: React.FC = ({ setToastType('error'); setShowToast(true); } - } catch (error) { + } catch { setToastMessage('❌ Fehler beim Senden der E-Mail'); setToastType('error'); setShowToast(true); @@ -144,7 +144,7 @@ export const EmailResponder: React.FC = ({ ? 'border-blue-500 bg-blue-50 shadow-lg scale-105' : 'border-gray-200 hover:border-gray-300 hover:shadow-md' }`} - onClick={() => setSelectedTemplate(key as any)} + onClick={() => setSelectedTemplate(key as keyof typeof templates)} >
diff --git a/components/ModernAdminDashboard.tsx b/components/ModernAdminDashboard.tsx index 8adeb57..5d7e55e 100644 --- a/components/ModernAdminDashboard.tsx +++ b/components/ModernAdminDashboard.tsx @@ -4,13 +4,9 @@ import React, { useState, useEffect } from 'react'; import { motion, AnimatePresence } from 'framer-motion'; import { Mail, - Users, BarChart3, - Database, Zap, Globe, - Shield, - Bell, Settings, FileText, TrendingUp, @@ -18,23 +14,9 @@ import { Plus, Edit, Trash2, - Eye, - Save, - Upload, - Bold, - Italic, - List, - Link as LinkIcon, - Image as ImageIcon, - Code, - Quote, - ChevronDown, - ChevronRight, - Palette, - Smile + Eye } from 'lucide-react'; import Link from 'next/link'; -import ReactMarkdown from 'react-markdown'; import { EmailManager } from './EmailManager'; import { AnalyticsDashboard } from './AnalyticsDashboard'; import ImportExport from './ImportExport'; @@ -81,43 +63,7 @@ interface Project { const ModernAdminDashboard: React.FC = () => { const [activeTab, setActiveTab] = useState<'overview' | 'projects' | 'emails' | 'analytics' | 'settings'>('overview'); const [projects, setProjects] = useState([]); - const [selectedProject, setSelectedProject] = useState(null); const [isLoading, setIsLoading] = useState(true); - const [showProjectEditor, setShowProjectEditor] = useState(false); - const [isPreview, setIsPreview] = useState(false); - const [markdownContent, setMarkdownContent] = useState(''); - const [formData, setFormData] = useState({ - title: '', - description: '', - content: '', - tags: '', - category: '', - featured: false, - github: '', - live: '', - published: true, - imageUrl: '', - difficulty: 'Intermediate' as 'Beginner' | 'Intermediate' | 'Advanced' | 'Expert', - timeToComplete: '', - technologies: '', - challenges: '', - lessonsLearned: '', - futureImprovements: '', - demoVideo: '', - screenshots: '', - colorScheme: 'Dark', - accessibility: true, - performance: { - lighthouse: 90, - bundleSize: '50KB', - loadTime: '1.5s' - }, - analytics: { - views: 0, - likes: 0, - shares: 0 - } - }); // Mock stats for overview const stats = { @@ -175,14 +121,6 @@ const ModernAdminDashboard: React.FC = () => { setShowProjectEditor(true); }; - const handleSave = async () => { - // Save logic here - console.log('Saving project...'); - await loadProjects(); - setShowProjectEditor(false); - setSelectedProject(null); - }; - const handleDelete = async (projectId: number) => { if (confirm('Are you sure you want to delete this project?')) { try { @@ -240,12 +178,6 @@ const ModernAdminDashboard: React.FC = () => { { id: 'settings', label: 'Settings', icon: Settings, color: 'gray' } ]; - const categories = [ - "Web Development", "Full-Stack", "Web Application", "Mobile App", - "Desktop App", "API Development", "Database Design", "DevOps", - "UI/UX Design", "Game Development", "Machine Learning", "Data Science", - "Blockchain", "IoT", "Cybersecurity" - ]; return (
@@ -290,7 +222,7 @@ const ModernAdminDashboard: React.FC = () => { return (