diff --git a/assets/css/custom.css b/assets/css/custom.css index 83cf452..31910f4 100644 --- a/assets/css/custom.css +++ b/assets/css/custom.css @@ -1,70 +1,71 @@ - -:root { - --primary-color: #4A90E2; - --secondary-color: #50E3C2; - --background-color: #F8F9FA; - --surface-color: #FFFFFF; - --text-color: #212529; - --primary-gradient: linear-gradient(45deg, var(--primary-color), var(--secondary-color)); -} - body { - font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; - background-color: var(--background-color); - color: var(--text-color); - padding-top: 70px; + font-family: 'Poppins', sans-serif; + background-color: #F4F7F6; + color: #333333; } .navbar-brand { - font-weight: bold; -} - -.hero { - background: var(--primary-gradient); - color: white; - padding: 6rem 0; -} - -.hero h1 { - font-weight: 700; - font-size: 3.5rem; + font-weight: 600; + color: #4A90E2 !important; } .btn-primary { - background-color: var(--primary-color); - border-color: var(--primary-color); + background-color: #4A90E2; + border-color: #4A90E2; + transition: background-color 0.3s ease; } -.btn-secondary { - background-color: var(--secondary-color); - border-color: var(--secondary-color); +.btn-primary:hover { + background-color: #357ABD; + border-color: #357ABD; } -.section { - padding: 5rem 0; +.venue-card { + border: none; + border-radius: 0.5rem; + box-shadow: 0 4px 6px rgba(0,0,0,0.1); + transition: transform 0.3s ease, box-shadow 0.3s ease; } -.card { - border: none; - border-radius: 0.75rem; - box-shadow: 0 8px 24px rgba(0,0,0,0.05); - transition: transform 0.2s ease-in-out; -} - -.card:hover { +.venue-card:hover { transform: translateY(-5px); + box-shadow: 0 12px 20px rgba(0,0,0,0.15); } - - -.store-badge { - display: inline-block; - height: 50px; -} - -.avatar { - width: 96px; - height: 96px; - border-radius: 50%; +.venue-card .card-img-top { + border-top-left-radius: 0.5rem; + border-top-right-radius: 0.5rem; + aspect-ratio: 4 / 3; object-fit: cover; } + +.badge { + padding: 0.5em 0.75em; + font-weight: 400; +} + +.bg-success-light { + background-color: rgba(80, 227, 194, 0.2); + color: #008a62; +} + +.bg-danger-light { + background-color: rgba(232, 86, 86, 0.2); + color: #c52828; +} + +.bg-secondary-light { + background-color: #e9ecef; + color: #495057; +} + +.hero { + background: linear-gradient(45deg, #4A90E2, #50E3C2); + color: white; + padding: 6rem 0; + text-align: center; +} + +.hero h1 { + font-weight: 600; +} \ No newline at end of file diff --git a/db/config.php b/db/config.php index d630275..47813f5 100644 --- a/db/config.php +++ b/db/config.php @@ -15,3 +15,19 @@ function db() { } return $pdo; } + +function run_migrations() { + $pdo = db(); + $migration_files = glob(__DIR__ . '/migrations/*.sql'); + foreach ($migration_files as $file) { + try { + $sql = file_get_contents($file); + $pdo->exec($sql); + } catch (PDOException $e) { + // Log error or handle it as needed + error_log("Migration failed for file: " . basename($file) . " with error: " . $e->getMessage()); + } + } +} + +run_migrations(); diff --git a/db/migrations/001_create_venues_table.sql b/db/migrations/001_create_venues_table.sql new file mode 100644 index 0000000..eb36bb1 --- /dev/null +++ b/db/migrations/001_create_venues_table.sql @@ -0,0 +1,16 @@ +CREATE TABLE IF NOT EXISTS venues ( + id INT PRIMARY KEY AUTO_INCREMENT, + name VARCHAR(255) NOT NULL, + description TEXT, + image_url VARCHAR(255), + capacity INT, + features VARCHAR(255), + status ENUM('Available', 'Booked') DEFAULT 'Available' +); + +-- Seed data +INSERT INTO venues (name, description, image_url, capacity, features, status) VALUES +('The Grand Ballroom', 'A spacious and elegant hall perfect for large corporate events and weddings. Features high ceilings and crystal chandeliers.', 'https://picsum.photos/seed/venue-hall/800/600', 500, 'AV System,Catering,On-site Parking', 'Available'), +('The Secret Garden', 'A beautiful outdoor garden venue, ideal for romantic weddings and intimate gatherings. Surrounded by lush greenery.', 'https://picsum.photos/seed/venue-garden/800/600', 150, 'Outdoor Seating,Sound System,Pet Friendly', 'Available'), +('The Metro Loft', 'A modern, industrial loft with exposed brick and large windows, offering a unique backdrop for any event.', 'https://picsum.photos/seed/venue-loft/800/600', 200, 'Wi-Fi,Projector,Rooftop Access', 'Booked'), +('Lakeside Pavilion', 'A serene pavilion by the lake, offering stunning views and a tranquil atmosphere for retreats and special occasions.', 'https://picsum.photos/seed/venue-pavilion/800/600', 100, 'Waterfront,Kitchenette,Wheelchair Accessible', 'Available'); diff --git a/index.php b/index.php index 050c150..27b1b25 100644 --- a/index.php +++ b/index.php @@ -1,185 +1,97 @@ +
-