165 lines
7.5 KiB
PHP
165 lines
7.5 KiB
PHP
<?php
|
|
session_start();
|
|
$message = null;
|
|
if ($_SERVER["REQUEST_METHOD"] === 'POST') {
|
|
require_once __DIR__ . '/mail/MailService.php';
|
|
$res = MailService::sendContactMessage(
|
|
$_POST['name'] ?? '',
|
|
$_POST['email'] ?? '',
|
|
$_POST['message'] ?? ''
|
|
);
|
|
if (!empty($res['success'])) {
|
|
$_SESSION['contact_form_status'] = 'success';
|
|
} else {
|
|
$_SESSION['contact_form_status'] = 'error';
|
|
$_SESSION['contact_form_error'] = $res['error'] ?? 'An unknown error occurred.';
|
|
}
|
|
header('Location: ' . $_SERVER['PHP_SELF'] . '#contact');
|
|
exit;
|
|
}
|
|
|
|
if (isset($_SESSION['contact_form_status'])) {
|
|
if ($_SESSION['contact_form_status'] === 'success') {
|
|
$message = '<div class="alert alert-success">Your message has been sent successfully!</div>';
|
|
} else {
|
|
$error_message = $_SESSION['contact_form_error'] ?? 'An unknown error occurred.';
|
|
$message = '<div class="alert alert-danger">Failed to send message. Please try again later. Error: ' . htmlspecialchars($error_message) . '</div>';
|
|
}
|
|
unset($_SESSION['contact_form_status']);
|
|
unset($_SESSION['contact_form_error']);
|
|
}
|
|
?>
|
|
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
<title>Ava Reed | Designer & Developer</title>
|
|
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/css/bootstrap.min.css" rel="stylesheet">
|
|
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.3/font/bootstrap-icons.min.css">
|
|
<link rel="stylesheet" href="assets/css/custom.css">
|
|
</head>
|
|
<body>
|
|
|
|
<nav class="navbar navbar-expand-lg navbar-dark fixed-top">
|
|
<div class="container">
|
|
<a class="navbar-brand" href="#">Ava Reed</a>
|
|
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarNav">
|
|
<span class="navbar-toggler-icon"></span>
|
|
</button>
|
|
<div class="collapse navbar-collapse" id="navbarNav">
|
|
<ul class="navbar-nav ms-auto">
|
|
<li class="nav-item"><a class="nav-link" href="#work">Work</a></li>
|
|
<li class="nav-item"><a class="nav-link" href="#services">Services</a></li>
|
|
<li class="nav-item"><a class="nav-link" href="#about">About</a></li>
|
|
<li class="nav-item"><a class="nav-link" href="#contact">Contact</a></li>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
</nav>
|
|
|
|
<header class="hero text-center">
|
|
<div class="container">
|
|
<h1 class="display-4">Ava Reed: Creative Designer & Developer</h1>
|
|
<p class="lead">Crafting beautiful and functional digital experiences.</p>
|
|
<a href="#contact" class="btn btn-light btn-lg">Contact Me</a>
|
|
</div>
|
|
</header>
|
|
|
|
<section id="work" class="section">
|
|
<div class="container">
|
|
<h2 class="text-center mb-5">My Work</h2>
|
|
<div class="row g-4">
|
|
<?php for ($i = 1; $i <= 6; $i++): ?>
|
|
<div class="col-md-4">
|
|
<div class="card">
|
|
<img src="https://picsum.photos/seed/work<?php echo $i; ?>/600/400" class="card-img-top" alt="Portfolio project example <?php echo $i; ?>">
|
|
<div class="card-body">
|
|
<h5 class="card-title">Project <?php echo $i; ?></h5>
|
|
<p class="card-text">A brief description of the project.</p>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<?php endfor; ?>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
|
|
<section id="services" class="section bg-light">
|
|
<div class="container">
|
|
<h2 class="text-center mb-5">Services</h2>
|
|
<div class="row text-center">
|
|
<div class="col-md-4">
|
|
<div class="mb-3"><i class="bi bi-palette fs-1 text-primary"></i></div>
|
|
<h4>Web Design</h4>
|
|
<p>Creating stunning and intuitive user interfaces.</p>
|
|
</div>
|
|
<div class="col-md-4">
|
|
<div class="mb-3"><i class="bi bi-code-slash fs-1 text-primary"></i></div>
|
|
<h4>Development</h4>
|
|
<p>Building responsive and high-performance websites.</p>
|
|
</div>
|
|
<div class="col-md-4">
|
|
<div class="mb-3"><i class="bi bi-vector-pen fs-1 text-primary"></i></div>
|
|
<h4>Branding</h4>
|
|
<p>Developing unique and memorable brand identities.</p>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
|
|
<section id="about" class="section">
|
|
<div class="container">
|
|
<div class="row align-items-center">
|
|
<div class="col-md-4 text-center">
|
|
<img src="https://picsum.photos/seed/avatar/256/256" class="img-fluid rounded-circle" alt="Ava Reed">
|
|
</div>
|
|
<div class="col-md-8">
|
|
<h2 class="mb-4">About Me</h2>
|
|
<p>I am a passionate and detail-oriented designer and developer with a love for creating beautiful and intuitive digital products. With a background in both art and computer science, I bring a unique perspective to every project.</p>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
|
|
<section id="contact" class="section bg-light">
|
|
<div class="container">
|
|
<h2 class="text-center mb-5">Get in Touch</h2>
|
|
<div class="row justify-content-center">
|
|
<div class="col-md-6">
|
|
<?php if ($message) echo $message; ?>
|
|
<form id="contactForm" method="POST" action="#contact" class="needs-validation" novalidate>
|
|
<div class="mb-3">
|
|
<label for="name" class="form-label">Name</label>
|
|
<input type="text" class="form-control" id="name" name="name" required>
|
|
<div class="invalid-feedback">Please enter your name.</div>
|
|
</div>
|
|
<div class="mb-3">
|
|
<label for="email" class="form-label">Email</label>
|
|
<input type="email" class="form-control" id="email" name="email" required>
|
|
<div class="invalid-feedback">Please enter a valid email address.</div>
|
|
</div>
|
|
<div class="mb-3">
|
|
<label for="message" class="form-label">Message</label>
|
|
<textarea class="form-control" id="message" name="message" rows="5" required></textarea>
|
|
<div class="invalid-feedback">Please enter a message.</div>
|
|
</div>
|
|
<button type="submit" class="btn btn-primary">Send Message</button>
|
|
</form>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
|
|
<footer class="text-center py-4">
|
|
<div class="container">
|
|
<a href="#" class="text-dark mx-2"><i class="bi bi-github"></i></a>
|
|
<a href="#" class="text-dark mx-2"><i class="bi bi-linkedin"></i></a>
|
|
<p class="mt-3">© <?php echo date("Y"); ?> Ava Reed. All Rights Reserved.</p>
|
|
</div>
|
|
</footer>
|
|
|
|
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/js/bootstrap.bundle.min.js"></script>
|
|
<script src="assets/js/main.js"></script>
|
|
</body>
|
|
</html>
|