Refactor email system and add contact form backend

Refactored email sending to use a single HTML template with a base layout, removed plain text email templates, and updated all related backend logic. Introduced a new ContactMe model, serializer, Celery task, and API endpoints for handling contact form submissions, including email notifications. Renamed ShopConfiguration to SiteConfiguration throughout the backend for consistency. Updated frontend to remove unused components, add a new Services section, and adjust navigation and contact form integration.
This commit is contained in:
2025-12-12 01:52:41 +01:00
parent df83288591
commit 564418501c
34 changed files with 433 additions and 327 deletions

View File

@@ -1,10 +1,9 @@
import { useEffect } from "react";
import HeroCarousel from "../../components/hero/HeroCarousel";
import PortfolioGrid from "../../components/portfolio/PortfolioGrid";
import TradingGraph from "../../components/trading/TradingGraph";
import DonationShop from "../../components/donate/DonationShop";
import SkillsSection from "../../components/skills/SkillsSection";
import HostingSecuritySection from "../../components/hosting/HostingSecuritySection";
import ContactMeForm from "../../components/Forms/ContactMe/ContactMeForm";
import Services from "../../components/services/Services";
export default function Home() {
// Optional: keep spark effect for fun
@@ -33,7 +32,7 @@ export default function Home() {
return (
<main>
<HeroCarousel />
<Services />
<div className="divider" />
<PortfolioGrid />
<div className="divider" />
@@ -41,9 +40,7 @@ export default function Home() {
<div className="divider" />
<DonationShop />
<div className="divider" />
<SkillsSection />
<div className="divider" />
<HostingSecuritySection />
<ContactMeForm />
</main>
);
}

View File

@@ -1,4 +0,0 @@
import HostingSecuritySection from "../../components/hosting/HostingSecuritySection";
export default function HostingSecurityPage(){
return <HostingSecuritySection />;
}