Compare commits

...

19 Commits

Author SHA1 Message Date
Flatlogic Bot
3f87d686c2 Revert to version a39605c 2025-09-10 14:10:14 +00:00
Flatlogic Bot
2007463b16 Revert to version 2cfe661 2025-09-10 14:05:42 +00:00
Flatlogic Bot
59337fd770 Revert to version b403eb4 2025-09-10 14:05:14 +00:00
Flatlogic Bot
ea5843c791 added 14 2025-09-10 14:04:02 +00:00
Flatlogic Bot
2cc9433a77 Revert to version 77b7702 2025-09-10 14:02:52 +00:00
Flatlogic Bot
ca3804d0d7 Revert to version b403eb4 2025-09-10 13:53:08 +00:00
Flatlogic Bot
aa65964faf added 13 2025-09-10 13:44:02 +00:00
Flatlogic Bot
c24955fa6a Revert to version ac7d77d 2025-09-10 13:31:32 +00:00
Flatlogic Bot
77b7702a0a added 11 2025-09-10 12:17:40 +00:00
Flatlogic Bot
b403eb40b9 added 10 2025-09-10 12:14:22 +00:00
Flatlogic Bot
ac7d77df72 added 9 2025-09-10 12:09:16 +00:00
Flatlogic Bot
a39605c7a9 added 8 2025-09-10 12:06:38 +00:00
Flatlogic Bot
51f5da6e06 added 7 2025-09-10 12:02:13 +00:00
Flatlogic Bot
2cfe66126d added 6 2025-09-10 12:01:35 +00:00
Flatlogic Bot
ff84b28c71 added 4 2025-09-10 11:49:32 +00:00
Flatlogic Bot
4fcff7093d ADDED 3 2025-09-10 11:33:18 +00:00
Flatlogic Bot
a94bafcb30 ADDED 2 2025-09-10 11:27:25 +00:00
Flatlogic Bot
2139aaf5bb ADDED 2025-09-10 11:24:43 +00:00
Flatlogic Bot
43dd2cc5bb UPDATED 2025-09-10 11:18:44 +00:00
3 changed files with 253 additions and 158 deletions

72
assets/css/custom.css Normal file
View File

@ -0,0 +1,72 @@
@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;700&family=Poppins:wght@600&display=swap');
:root {
--primary-color: #3E86F8;
--secondary-color: #FF6B6B;
--background-color: #F8F9FA;
--surface-color: #FFFFFF;
--text-color: #212529;
--heading-font: 'Poppins', sans-serif;
--body-font: 'Open Sans', sans-serif;
--border-radius: 0.5rem;
}
body {
font-family: var(--body-font);
color: var(--text-color);
background-color: var(--background-color);
}
h1, h2, h3, h4, h5, h6 {
font-family: var(--heading-font);
}
.btn-primary {
background-color: var(--primary-color);
border-color: var(--primary-color);
border-radius: var(--border-radius);
padding: 0.75rem 1.5rem;
}
.btn-primary:hover {
background-color: #2a75e8;
border-color: #2a75e8;
}
.btn-secondary {
background-color: var(--secondary-color);
border-color: var(--secondary-color);
border-radius: var(--border-radius);
padding: 0.75rem 1.5rem;
}
.btn-secondary:hover {
background-color: #fa5252;
border-color: #fa5252;
}
.navbar-sticky {
transition: all 0.3s ease-in-out;
}
.navbar-scrolled {
background-color: var(--surface-color);
box-shadow: 0 2px 10px rgba(0,0,0,0.1);
}
.hero {
background: linear-gradient(45deg, #3E86F8, #5C9DFF);
color: white;
padding: 6rem 0;
}
.section {
padding: 4rem 0;
}
.card {
border: none;
border-radius: var(--border-radius);
box-shadow: 0 4px 12px rgba(0,0,0,0.08);
}

23
assets/js/main.js Normal file
View File

@ -0,0 +1,23 @@
document.addEventListener('DOMContentLoaded', function () {
const navbar = document.querySelector('.navbar-sticky');
if (navbar) {
window.addEventListener('scroll', () => {
if (window.scrollY > 50) {
navbar.classList.add('navbar-scrolled');
} else {
navbar.classList.remove('navbar-scrolled');
}
});
}
// Smooth scroll for anchor links
document.querySelectorAll('a[href^="#"]').forEach(anchor => {
anchor.addEventListener('click', function (e) {
e.preventDefault();
document.querySelector(this.getAttribute('href')).scrollIntoView({
behavior: 'smooth'
});
});
});
});

316
index.php
View File

@ -1,176 +1,181 @@
<?php
$message_sent = null;
if ($_SERVER["REQUEST_METHOD"] == "POST" && isset($_POST['contact_form'])) {
require_once __DIR__ . '/mail/MailService.php';
$name = filter_var($_POST['name'] ?? '', FILTER_SANITIZE_STRING);
$email = filter_var($_POST['email'] ?? '', FILTER_SANITIZE_EMAIL);
$message = filter_var($_POST['message'] ?? '', FILTER_SANITIZE_STRING);
if (!empty($name) && !empty($email) && !empty($message) && filter_var($email, FILTER_VALIDATE_EMAIL)) {
// The recipient is determined by MailService, using MAIL_TO from .env
$res = MailService::sendContactMessage($name, $email, $message, null, 'Contact Form Submission');
if (!empty($res['success'])) {
$message_sent = true;
} else {
$message_sent = false;
}
} else {
$message_sent = false;
}
}
?>
<!DOCTYPE html> <!DOCTYPE html>
<html lang="en"> <html lang="en">
<head> <head>
<meta charset="UTF-8"> <meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Ava Reed | Designer & Developer</title> <title>Event Management Platform</title>
<!-- Bootstrap 5 CDN -->
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/css/bootstrap.min.css" rel="stylesheet"> <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">
<!-- Custom CSS -->
<link rel="stylesheet" href="assets/css/custom.css?v=<?php echo time(); ?>"> <link rel="stylesheet" href="assets/css/custom.css?v=<?php echo time(); ?>">
</head> </head>
<body> <body>
<!-- Navbar --> <!-- Navbar -->
<nav class="navbar navbar-expand-lg navbar-light bg-transparent fixed-top"> <nav class="navbar navbar-expand-lg navbar-light bg-transparent navbar-sticky fixed-top">
<div class="container"> <div class="container">
<a class="navbar-brand fw-bold" href="#">Ava Reed</a> <a class="navbar-brand" href="#">🎉 EventFlow</a>
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarNav" aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation"> <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarNav" aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span> <span class="navbar-toggler-icon"></span>
</button> </button>
<div class="collapse navbar-collapse" id="navbarNav"> <div class="collapse navbar-collapse" id="navbarNav">
<ul class="navbar-nav ms-auto"> <ul class="navbar-nav ms-auto">
<li class="nav-item"><a class="nav-link" href="#work">Work</a></li> <li class="nav-item">
<li class="nav-item"><a class="nav-link" href="#services">Services</a></li> <a class="nav-link" href="#features">Features</a>
<li class="nav-item"><a class="nav-link" href="#about">About</a></li> </li>
<li class="nav-item"><a class="nav-link" href="#testimonials">Testimonials</a></li> <li class="nav-item">
<li class="nav-item"><a class="nav-link" href="#contact">Contact</a></li> <a class="nav-link" href="#faq">FAQ</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#contact">Contact</a>
</li>
</ul> </ul>
<a href="#" class="btn btn-primary ms-lg-3">Sign Up</a>
</div> </div>
</div> </div>
</nav> </nav>
<!-- Hero Section --> <!-- Hero Section -->
<header class="vh-100 d-flex align-items-center text-center text-white" style="background: url('https://picsum.photos/seed/ava-hero/1600/900') no-repeat center center; background-size: cover;"> <header class="hero text-center">
<div class="container" style="background-color: rgba(0,0,0,0.5); padding: 2rem; border-radius: 1rem;"> <div class="container">
<h1 class="display-4 fw-bold">Design & Development by Ava Reed.</h1> <h1 class="display-4 fw-bold">UPDATED</h1>
<p class="lead my-4">Crafting elegant and effective digital solutions.</p> <p class="lead">ADDED</p>
<a href="#work" class="btn btn-primary btn-lg mx-2">View My Work</a> <p class="lead">ADDED 2</p>
<a href="#contact" class="btn btn-outline-light btn-lg mx-2">Contact Me</a> <p class="lead">ADDED 3</p>
<p class="lead">ADDED 4</p>
<p class="lead">ADDED 5</p>
<p class="lead">ADDED 6</p>
<p class="lead">ADDED 7</p>
<p class="lead">ADDED 8</p>
<p class="lead my-4">Your all-in-one solution for planning, managing, and executing flawless events. From small gatherings to large corporate affairs, we've got you covered.</p>
<a href="#contact" class="btn btn-light btn-lg">Get Started for Free</a>
<a href="#features" class="btn btn-outline-light btn-lg">Learn More</a>
</div> </div>
</header> </header>
<!-- Work Gallery --> <!-- Features Section -->
<section id="work" class="section"> <section id="features" class="section">
<div class="container"> <div class="container text-center">
<h2 class="text-center mb-5">My Work</h2> <h2 class="mb-5">Everything you need, all in one place</h2>
<div class="text-center mb-4"> <div class="row">
<button type="button" class="btn btn-outline-primary active" data-filter="all">All</button> <div class="col-md-4 mb-4">
<button type="button" class="btn btn-outline-primary" data-filter="web">Web Development</button> <div class="card p-4 h-100">
<button type="button" class="btn btn-outline-primary" data-filter="uiux">UI/UX Design</button> <i data-feather="map-pin" class="mb-3" style="width: 48px; height: 48px; color: var(--primary-color);"></i>
<button type="button" class="btn btn-outline-primary" data-filter="branding">Brand Identity</button> <h4>Venue Management</h4>
</div> <p>Keep an eye on all available event spaces, including their size, special features, and availability.</p>
<div class="row g-4 portfolio-container">
<?php
$projects = [
['category' => 'web', 'title' => 'Corporate Website Redesign'],
['category' => 'uiux', 'title' => 'Mobile App UI/UX'],
['category' => 'branding', 'title' => 'Startup Branding'],
['category' => 'uiux', 'title' => 'E-commerce Platform Design'],
['category' => 'web', 'title' => 'Portfolio Website'],
['category' => 'branding', 'title' => 'Logo & Identity Pack'],
];
$i = 1;
foreach ($projects as $project): ?>
<div class="col-md-6 col-lg-4 portfolio-item" data-category="<?php echo $project['category']; ?>">
<div class="card">
<img src="https://picsum.photos/seed/ava-work-<?php echo $i; ?>/600/400" class="card-img-top" alt="A sample of Ava Reed's design and development work.">
<div class="card-body">
<h5 class="card-title"><?php echo $project['title']; ?></h5>
<p class="card-text">A brief description of the project, its goals, and the technologies used.</p>
</div>
</div> </div>
</div> </div>
<?php $i++; endforeach; ?> <div class="col-md-4 mb-4">
</div> <div class="card p-4 h-100">
</div> <i data-feather="users" class="mb-3" style="width: 48px; height: 48px; color: var(--primary-color);"></i>
</section> <h4>Vendor Coordination</h4>
<p>Organize your list of go-to caterers, decorators, and entertainers with their contact info and ratings.</p>
<!-- Services -->
<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="card p-4 mb-4">
<i class="bi bi-palette-fill fs-1 text-primary mb-3"></i>
<h4>UI/UX Design</h4>
<p>Creating intuitive and beautiful user interfaces that provide a seamless user experience.</p>
</div> </div>
</div> </div>
<div class="col-md-4"> <div class="col-md-4 mb-4">
<div class="card p-4 mb-4"> <div class="card p-4 h-100">
<i class="bi bi-code-slash fs-1 text-primary mb-3"></i> <i data-feather="calendar" class="mb-3" style="width: 48px; height: 48px; color: var(--primary-color);"></i>
<h4>Web Development</h4> <h4>Guest & Schedule Tracking</h4>
<p>Building responsive, high-performance websites from the ground up.</p> <p>Plan every minute of your event and keep track of who's coming, who's not, and their preferences.</p>
</div>
</div>
<div class="col-md-4">
<div class="card p-4 mb-4">
<i class="bi bi-vector-pen fs-1 text-primary mb-3"></i>
<h4>Brand Identity</h4>
<p>Developing strong and memorable brand identities that tell a story.</p>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
</section> </section>
<!-- About --> <!-- Value Section 1 -->
<section id="about" class="section"> <section class="section bg-white">
<div class="container"> <div class="container">
<div class="row align-items-center"> <div class="row align-items-center">
<div class="col-md-4 text-center"> <div class="col-md-6">
<img src="https://picsum.photos/seed/ava-avatar/256/256" class="img-fluid rounded-circle mb-4" alt="A portrait of Ava Reed."> <img src="https://picsum.photos/seed/event-dashboard/800/600" class="img-fluid rounded" alt="A clean and intuitive dashboard for event management.">
</div> </div>
<div class="col-md-8"> <div class="col-md-6 ps-md-5 mt-4 mt-md-0">
<h2 class="mb-4">About Me</h2> <h2>All Your Tools in One Place</h2>
<p class="lead">I'm Ava Reed, a passionate and creative designer and developer with a knack for building things that are both beautiful and functional. With over 5 years of experience, I help clients bring their ideas to life.</p> <p class="lead">Stop juggling between spreadsheets, emails, and calendars. Our intuitive dashboard brings all your event management tools into a single, streamlined interface.</p>
<p>My approach is collaborative and user-centric, focusing on creating digital experiences that not only look good but also solve real-world problems and are a joy to use.</p> <a href="#" class="btn btn-outline-primary">Explore the Dashboard</a>
</div> </div>
</div> </div>
</div> </div>
</section> </section>
<!-- Testimonials --> <!-- Value Section 2 -->
<section id="testimonials" class="section bg-light"> <section class="section">
<div class="container"> <div class="container">
<h2 class="text-center mb-5">What My Clients Say</h2> <div class="row align-items-center">
<div class="row g-4"> <div class="col-md-6 pe-md-5 order-md-2">
<div class="col-lg-4"> <img src="https://picsum.photos/seed/event-budget/800/600" class="img-fluid rounded" alt="A person reviewing a budget on a tablet, showcasing financial control.">
<div class="card h-100"> </div>
<div class="card-body text-center"> <div class="col-md-6 mt-4 mt-md-0 order-md-1">
<img src="https://picsum.photos/seed/client-1/100/100" class="rounded-circle mb-3" alt="Client 1"> <h2>Stay on Budget, Effortlessly</h2>
<p class="card-text fst-italic">"Ava is a true professional. The final product exceeded all our expectations. Her attention to detail is second to none."</p> <p class="lead">Manage all your event-related finances, from initial deposits to final payments. Track expenses, monitor cash flow, and ensure your event stays profitable without the headache.</p>
<footer class="blockquote-footer mt-3">John Doe, CEO of ExampleCorp</footer> <a href="#" class="btn btn-outline-primary">Learn about Financials</a>
</div>
</div>
</div>
</section>
<!-- Hero Image Section -->
<section class="section p-0">
<div class="container-fluid p-0">
<img src="https://picsum.photos/seed/event-hero/1600/900" class="img-fluid" alt="A vibrant and modern event setup, illustrating the platform's capability to manage beautiful events.">
</div>
</section>
<!-- FAQ Section -->
<section id="faq" class="section">
<div class="container">
<h2 class="text-center mb-5">Frequently Asked Questions</h2>
<div class="accordion" id="faqAccordion">
<div class="accordion-item">
<h2 class="accordion-header" id="headingOne">
<button class="accordion-button" type="button" data-bs-toggle="collapse" data-bs-target="#collapseOne" aria-expanded="true" aria-controls="collapseOne">
Is this suitable for small, private events?
</button>
</h2>
<div id="collapseOne" class="accordion-collapse collapse show" aria-labelledby="headingOne" data-bs-parent="#faqAccordion">
<div class="accordion-body">
Absolutely! Our platform is designed to be scalable. Whether you're planning a small birthday party or a large wedding, our tools will help you stay organized.
</div> </div>
</div> </div>
</div> </div>
<div class="col-lg-4"> <div class="accordion-item">
<div class="card h-100"> <h2 class="accordion-header" id="headingTwo">
<div class="card-body text-center"> <button class="accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#collapseTwo" aria-expanded="false" aria-controls="collapseTwo">
<img src="https://picsum.photos/seed/client-2/100/100" class="rounded-circle mb-3" alt="Client 2"> Can I manage multiple events at once?
<p class="card-text fst-italic">"Working with Ava was a fantastic experience. She is not only a talented developer but also a great communicator."</p> </button>
<footer class="blockquote-footer mt-3">Jane Smith, Marketing Director at Creative Inc.</footer> </h2>
<div id="collapseTwo" class="accordion-collapse collapse" aria-labelledby="headingTwo" data-bs-parent="#faqAccordion">
<div class="accordion-body">
Yes, our dashboard allows you to manage multiple events simultaneously. You can switch between events with a single click.
</div> </div>
</div> </div>
</div> </div>
<div class="col-lg-4"> <div class="accordion-item">
<div class="card h-100"> <h2 class="accordion-header" id="headingThree">
<div class="card-body text-center"> <button class="accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#collapseThree" aria-expanded="false" aria-controls="collapseThree">
<img src="https://picsum.photos/seed/client-3/100/100" class="rounded-circle mb-3" alt="Client 3"> What kind of support do you offer?
<p class="card-text fst-italic">"The website Ava built for us is both beautiful and highly functional. We've seen a significant increase in user engagement."</p> </button>
<footer class="blockquote-footer mt-3">Sam Wilson, Founder of TechStart</footer> </h2>
<div id="collapseThree" class="accordion-collapse collapse" aria-labelledby="headingThree" data-bs-parent="#faqAccordion">
<div class="accordion-body">
We offer 24/7 email support and have an extensive knowledge base to help you get started. Premium plans include dedicated phone support.
</div>
</div>
</div>
<div class="accordion-item">
<h2 class="accordion-header" id="headingFour">
<button class="accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#collapseFour" aria-expanded="false" aria-controls="collapseFour">
Is there a free trial?
</button>
</h2>
<div id="collapseFour" class="accordion-collapse collapse" aria-labelledby="headingFour" data-bs-parent="#faqAccordion">
<div class="accordion-body">
Yes, we offer a 14-day free trial with no credit card required. You can explore all the features and see if it's the right fit for you.
</div> </div>
</div> </div>
</div> </div>
@ -178,39 +183,24 @@ if ($_SERVER["REQUEST_METHOD"] == "POST" && isset($_POST['contact_form'])) {
</div> </div>
</section> </section>
<!-- Contact Form --> <!-- Contact Section -->
<section id="contact" class="section bg-light"> <section id="contact" class="section bg-white">
<div class="container"> <div class="container">
<h2 class="text-center mb-5">Get In Touch</h2> <div class="row">
<div class="row justify-content-center"> <div class="col-lg-8 mx-auto text-center">
<div class="col-lg-8"> <h2>Get in Touch</h2>
<form action="index.php#contact" method="POST" class="needs-validation" novalidate> <p class="lead mb-5">Have questions? We'd love to hear from you. Send us a message and we'll get back to you as soon as possible.</p>
<input type="hidden" name="contact_form" value="1"> <form>
<div class="row">
<?php if ($message_sent === true): ?> <div class="col-md-6 mb-3">
<div class="alert alert-success" role="alert"> <input type="text" class="form-control" placeholder="Your Name" required>
Thank you! Your message has been sent successfully.
</div> </div>
<?php elseif ($message_sent === false): ?> <div class="col-md-6 mb-3">
<div class="alert alert-danger" role="alert"> <input type="email" class="form-control" placeholder="Your Email" required>
Sorry, there was an error sending your message. Please try again later.
</div> </div>
<?php endif; ?>
<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>
<div class="mb-3"> <div class="mb-3">
<label for="email" class="form-label">Email</label> <textarea class="form-control" rows="5" placeholder="Your Message" required></textarea>
<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 your message.</div>
</div> </div>
<button type="submit" class="btn btn-primary btn-lg">Send Message</button> <button type="submit" class="btn btn-primary btn-lg">Send Message</button>
</form> </form>
@ -220,18 +210,28 @@ if ($_SERVER["REQUEST_METHOD"] == "POST" && isset($_POST['contact_form'])) {
</section> </section>
<!-- Footer --> <!-- Footer -->
<footer class="py-5 bg-dark text-white text-center"> <footer class="py-5 bg-dark text-white">
<div class="container"> <div class="container text-center">
<div class="mb-3"> <p class="mb-1">&copy; 2025 EventFlow. All Rights Reserved.</p>
<a href="#" class="text-white mx-2"><i class="bi bi-linkedin fs-4"></i></a> <ul class="list-inline">
<a href="#" class="text-white mx-2"><i class="bi bi-github fs-4"></i></a> <li class="list-inline-item"><a href="#" class="text-white">Privacy Policy</a></li>
<a href="#" class="text-white mx-2"><i class="bi bi-dribbble fs-4"></i></a> <li class="list-inline-item"><a href="#" class="text-white">Terms of Service</a></li>
</div> <li class="list-inline-item"><a href="#" class="text-white">Contact</a></li>
<p class="mb-0">&copy; <?php echo date("Y"); ?> Ava Reed. All Rights Reserved.</p> </ul>
</div> </div>
</footer> </footer>
<!-- Bootstrap 5 JS Bundle -->
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/js/bootstrap.bundle.min.js"></script> <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/js/bootstrap.bundle.min.js"></script>
<!-- Feather Icons -->
<script src="https://cdn.jsdelivr.net/npm/feather-icons/dist/feather.min.js"></script>
<script>
feather.replace()
</script>
<!-- Custom JS -->
<script src="assets/js/main.js?v=<?php echo time(); ?>"></script> <script src="assets/js/main.js?v=<?php echo time(); ?>"></script>
</body> </body>
</html> </html>