* update

* cleanup

* fixing linting and tests errors

* Refactor API Parameter Handling and Update Email Transport

 Updated API Route Parameters:
- Changed parameter type from `{ id: string }` to `Promise<{ id: string }>` in PUT and DELETE methods for better async handling.

 Fixed Email Transport Creation:
- Updated `nodemailer.createTransporter` to `nodemailer.createTransport` for correct transport configuration.

 Refactored AnalyticsDashboard Component:
- Changed export from default to named export for better modularity.

 Enhanced Email Responder Toast:
- Updated toast structure to include additional properties for better user feedback.

🎯 Overall Improvements:
- Improved async handling in API routes.
- Ensured correct usage of nodemailer.
- Enhanced component exports and user notifications.
This commit is contained in:
denshooter
2025-09-08 08:36:16 +02:00
committed by GitHub
parent 7e603c7c54
commit a842cb04f3
36 changed files with 2591 additions and 2830 deletions

View File

@@ -2,7 +2,7 @@
import { useState, useEffect } from 'react';
import { motion } from 'framer-motion';
import { Mail, Phone, MapPin, Send, Github, Linkedin, Twitter } from 'lucide-react';
import { Mail, Phone, MapPin, Send } from 'lucide-react';
import { useToast } from '@/components/Toast';
const Contact = () => {
@@ -66,28 +66,22 @@ const Contact = () => {
{
icon: Mail,
title: 'Email',
value: 'contact@dki.one',
href: 'mailto:contact@dki.one'
value: 'contact@dk0.dev',
href: 'mailto:contact@dk0.dev'
},
{
icon: Phone,
title: 'Phone',
value: '+49 123 456 789',
href: 'tel:+49123456789'
value: '+49 176 12669990',
href: 'tel:+4917612669990'
},
{
icon: MapPin,
title: 'Location',
value: 'Osnabrück, Germany',
href: '#'
}
];
const socialLinks = [
{ icon: Github, href: 'https://github.com/Denshooter', label: 'GitHub' },
{ icon: Linkedin, href: 'https://linkedin.com/in/dkonkol', label: 'LinkedIn' },
{ icon: Twitter, href: 'https://twitter.com/dkonkol', label: 'Twitter' }
];
if (!mounted) {
return null;
@@ -155,25 +149,6 @@ const Contact = () => {
))}
</div>
{/* Social Links */}
<div>
<h4 className="text-lg font-semibold text-white mb-4">Follow Me</h4>
<div className="flex space-x-4">
{socialLinks.map((social) => (
<motion.a
key={social.label}
href={social.href}
target="_blank"
rel="noopener noreferrer"
whileHover={{ scale: 1.1, y: -2 }}
whileTap={{ scale: 0.95 }}
className="p-3 bg-gray-800/50 hover:bg-gray-700/50 rounded-lg text-gray-300 hover:text-white transition-colors"
>
<social.icon size={20} />
</motion.a>
))}
</div>
</div>
</motion.div>
{/* Contact Form */}