Converting pages to templates
This commit is contained in:
		
							
								
								
									
										86
									
								
								about.html
									
									
									
									
									
								
							
							
						
						
									
										86
									
								
								about.html
									
									
									
									
									
								
							@ -1,86 +0,0 @@
 | 
				
			|||||||
<!DOCTYPE html>
 | 
					 | 
				
			||||||
<html lang="en">
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
<head>
 | 
					 | 
				
			||||||
    <meta charset="UTF-8">
 | 
					 | 
				
			||||||
    <meta name="viewport" content="width=device-width, initial-scale=1">
 | 
					 | 
				
			||||||
    <title>About</title>
 | 
					 | 
				
			||||||
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet"
 | 
					 | 
				
			||||||
        integrity="sha384-QWTKZyjpPEjISv5WaRU9OFeRpok6YctnYmDr5pNlyT2bRjXh0JMhjY6hW+ALEwIH" crossorigin="anonymous">
 | 
					 | 
				
			||||||
    <link href="static/css/style.css" rel="stylesheet">
 | 
					 | 
				
			||||||
</head>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
<body>
 | 
					 | 
				
			||||||
    <nav class="navbar navbar-expand-lg bg-body-tertiary" data-bs-theme="dark">
 | 
					 | 
				
			||||||
        <div class="container-fluid">
 | 
					 | 
				
			||||||
            <a class="navbar-brand" href="#">Navbar</a>
 | 
					 | 
				
			||||||
            <button class="navbar-toggler" type="button" data-bs-toggle="collapse"
 | 
					 | 
				
			||||||
                data-bs-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false"
 | 
					 | 
				
			||||||
                aria-label="Toggle navigation">
 | 
					 | 
				
			||||||
                <span class="navbar-toggler-icon"></span>
 | 
					 | 
				
			||||||
            </button>
 | 
					 | 
				
			||||||
            <div class="collapse navbar-collapse" id="navbarSupportedContent">
 | 
					 | 
				
			||||||
                <ul class="navbar-nav me-auto mb-2 mb-lg-0">
 | 
					 | 
				
			||||||
                    <li class="nav-item">
 | 
					 | 
				
			||||||
                        <a class="nav-link active" aria-current="page" href="index.html">Home</a>
 | 
					 | 
				
			||||||
                    </li>
 | 
					 | 
				
			||||||
                    <li class="nav-item">
 | 
					 | 
				
			||||||
                        <a class="nav-link" href="about.html">About</a>
 | 
					 | 
				
			||||||
                    </li>
 | 
					 | 
				
			||||||
                    <li class="nav-item dropdown">
 | 
					 | 
				
			||||||
                        <a class="nav-link dropdown-toggle" href="#" role="button" data-bs-toggle="dropdown"
 | 
					 | 
				
			||||||
                            aria-expanded="false">
 | 
					 | 
				
			||||||
                            Rooms
 | 
					 | 
				
			||||||
                        </a>
 | 
					 | 
				
			||||||
                        <ul class="dropdown-menu">
 | 
					 | 
				
			||||||
                            <li><a class="dropdown-item" href="generals.html">General's Quarters</a></li>
 | 
					 | 
				
			||||||
                            <li><a class="dropdown-item" href="majors.html">Major's Suite</a></li>
 | 
					 | 
				
			||||||
                        </ul>
 | 
					 | 
				
			||||||
                    </li>
 | 
					 | 
				
			||||||
                    <li class="nav-item">
 | 
					 | 
				
			||||||
                        <a class="nav-link" href="reservation.html">Book Now</a>
 | 
					 | 
				
			||||||
                    </li>
 | 
					 | 
				
			||||||
                    <li class="nav-item">
 | 
					 | 
				
			||||||
                        <a class="nav-link" href="contact.html">Contact</a>
 | 
					 | 
				
			||||||
                    </li>
 | 
					 | 
				
			||||||
                </ul>
 | 
					 | 
				
			||||||
            </div>
 | 
					 | 
				
			||||||
        </div>
 | 
					 | 
				
			||||||
    </nav>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    <div class="container">
 | 
					 | 
				
			||||||
        <div class="row">
 | 
					 | 
				
			||||||
            <div class="col">
 | 
					 | 
				
			||||||
                <h1 class="text-center mt-3">About</h1>
 | 
					 | 
				
			||||||
                <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent sed convallis urna, vitae congue
 | 
					 | 
				
			||||||
                    odio. Sed pulvinar diam a odio tristique, nec porta eros suscipit. Sed lacinia ut nisl ultrices
 | 
					 | 
				
			||||||
                    condimentum. Vivamus imperdiet sapien sit amet mauris ornare accumsan. Proin varius imperdiet
 | 
					 | 
				
			||||||
                    gravida. Suspendisse posuere velit leo, sit amet egestas quam porta quis. Duis in nulla eu quam
 | 
					 | 
				
			||||||
                    iaculis iaculis. Etiam commodo gravida venenatis. Phasellus in vehicula est, aliquam condimentum
 | 
					 | 
				
			||||||
                    nisi. In id ligula lacinia, varius leo vel, tincidunt libero. Nullam cursus vel lectus at consequat.
 | 
					 | 
				
			||||||
                    Quisque malesuada efficitur sem et sollicitudin. Donec eget tincidunt arcu. Quisque ut posuere ex.
 | 
					 | 
				
			||||||
                </p>
 | 
					 | 
				
			||||||
            </div>
 | 
					 | 
				
			||||||
        </div>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        <div class="row">
 | 
					 | 
				
			||||||
            <footer class="py-3 my-4">
 | 
					 | 
				
			||||||
                <ul class="nav justify-content-center border-bottom pb-3 mb-3">
 | 
					 | 
				
			||||||
                    <li class="nav-item"><a href="#" class="nav-link px-2 text-body-secondary">Home</a></li>
 | 
					 | 
				
			||||||
                    <li class="nav-item"><a href="#" class="nav-link px-2 text-body-secondary">Features</a></li>
 | 
					 | 
				
			||||||
                    <li class="nav-item"><a href="#" class="nav-link px-2 text-body-secondary">Pricing</a></li>
 | 
					 | 
				
			||||||
                    <li class="nav-item"><a href="#" class="nav-link px-2 text-body-secondary">FAQs</a></li>
 | 
					 | 
				
			||||||
                    <li class="nav-item"><a href="#" class="nav-link px-2 text-body-secondary">About</a></li>
 | 
					 | 
				
			||||||
                </ul>
 | 
					 | 
				
			||||||
                <p class="text-center text-body-secondary">© 2024 Company, Inc</p>
 | 
					 | 
				
			||||||
            </footer>
 | 
					 | 
				
			||||||
        </div>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    </div>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js"
 | 
					 | 
				
			||||||
        integrity="sha384-YvpcrYf0tY3lHB60NNkmXc5s9fDVZLESaAA55NDzOxhy9GkcIdslK1eN7N6jIeHz"
 | 
					 | 
				
			||||||
        crossorigin="anonymous"></script>
 | 
					 | 
				
			||||||
</body>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
</html>
 | 
					 | 
				
			||||||
@ -34,7 +34,7 @@ func main() {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
	tc, err := render.CreateTemplateCache()
 | 
						tc, err := render.CreateTemplateCache()
 | 
				
			||||||
	if err != nil {
 | 
						if err != nil {
 | 
				
			||||||
		log.Fatal("cannot create template cache")
 | 
							log.Fatalf("cannot create template cache: %s", err)
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	app.TemplateCahce = tc
 | 
						app.TemplateCahce = tc
 | 
				
			||||||
	app.UseCache = false
 | 
						app.UseCache = false
 | 
				
			||||||
 | 
				
			|||||||
@ -19,6 +19,11 @@ func routes(app *config.AppConfig) http.Handler {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
	mux.Get("/", handlers.Repo.Home)
 | 
						mux.Get("/", handlers.Repo.Home)
 | 
				
			||||||
	mux.Get("/about", handlers.Repo.About)
 | 
						mux.Get("/about", handlers.Repo.About)
 | 
				
			||||||
 | 
						mux.Get("/contact", handlers.Repo.Contact)
 | 
				
			||||||
 | 
						mux.Get("/generals-quarters", handlers.Repo.Generals)
 | 
				
			||||||
 | 
						mux.Get("/majors-suite", handlers.Repo.Majors)
 | 
				
			||||||
 | 
						mux.Get("/reservation", handlers.Repo.Reservation)
 | 
				
			||||||
 | 
						mux.Get("/make-reservation", handlers.Repo.MakeReservation)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	fileServer := http.FileServer(http.Dir("./static/"))
 | 
						fileServer := http.FileServer(http.Dir("./static/"))
 | 
				
			||||||
	mux.Handle("/static/*", http.StripPrefix("/static", fileServer))
 | 
						mux.Handle("/static/*", http.StripPrefix("/static", fileServer))
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										86
									
								
								contact.html
									
									
									
									
									
								
							
							
						
						
									
										86
									
								
								contact.html
									
									
									
									
									
								
							@ -1,86 +0,0 @@
 | 
				
			|||||||
<!DOCTYPE html>
 | 
					 | 
				
			||||||
<html lang="en">
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
<head>
 | 
					 | 
				
			||||||
    <meta charset="UTF-8">
 | 
					 | 
				
			||||||
    <meta name="viewport" content="width=device-width, initial-scale=1">
 | 
					 | 
				
			||||||
    <title>Contact</title>
 | 
					 | 
				
			||||||
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet"
 | 
					 | 
				
			||||||
        integrity="sha384-QWTKZyjpPEjISv5WaRU9OFeRpok6YctnYmDr5pNlyT2bRjXh0JMhjY6hW+ALEwIH" crossorigin="anonymous">
 | 
					 | 
				
			||||||
    <link href="static/css/style.css" rel="stylesheet">
 | 
					 | 
				
			||||||
</head>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
<body>
 | 
					 | 
				
			||||||
    <nav class="navbar navbar-expand-lg bg-body-tertiary" data-bs-theme="dark">
 | 
					 | 
				
			||||||
        <div class="container-fluid">
 | 
					 | 
				
			||||||
            <a class="navbar-brand" href="#">Navbar</a>
 | 
					 | 
				
			||||||
            <button class="navbar-toggler" type="button" data-bs-toggle="collapse"
 | 
					 | 
				
			||||||
                data-bs-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false"
 | 
					 | 
				
			||||||
                aria-label="Toggle navigation">
 | 
					 | 
				
			||||||
                <span class="navbar-toggler-icon"></span>
 | 
					 | 
				
			||||||
            </button>
 | 
					 | 
				
			||||||
            <div class="collapse navbar-collapse" id="navbarSupportedContent">
 | 
					 | 
				
			||||||
                <ul class="navbar-nav me-auto mb-2 mb-lg-0">
 | 
					 | 
				
			||||||
                    <li class="nav-item">
 | 
					 | 
				
			||||||
                        <a class="nav-link active" aria-current="page" href="index.html">Home</a>
 | 
					 | 
				
			||||||
                    </li>
 | 
					 | 
				
			||||||
                    <li class="nav-item">
 | 
					 | 
				
			||||||
                        <a class="nav-link" href="about.html">About</a>
 | 
					 | 
				
			||||||
                    </li>
 | 
					 | 
				
			||||||
                    <li class="nav-item dropdown">
 | 
					 | 
				
			||||||
                        <a class="nav-link dropdown-toggle" href="#" role="button" data-bs-toggle="dropdown"
 | 
					 | 
				
			||||||
                            aria-expanded="false">
 | 
					 | 
				
			||||||
                            Rooms
 | 
					 | 
				
			||||||
                        </a>
 | 
					 | 
				
			||||||
                        <ul class="dropdown-menu">
 | 
					 | 
				
			||||||
                            <li><a class="dropdown-item" href="generals.html">General's Quarters</a></li>
 | 
					 | 
				
			||||||
                            <li><a class="dropdown-item" href="majors.html">Major's Suite</a></li>
 | 
					 | 
				
			||||||
                        </ul>
 | 
					 | 
				
			||||||
                    </li>
 | 
					 | 
				
			||||||
                    <li class="nav-item">
 | 
					 | 
				
			||||||
                        <a class="nav-link" href="reservation.html">Book Now</a>
 | 
					 | 
				
			||||||
                    </li>
 | 
					 | 
				
			||||||
                    <li class="nav-item">
 | 
					 | 
				
			||||||
                        <a class="nav-link" href="contact.html">Contact</a>
 | 
					 | 
				
			||||||
                    </li>
 | 
					 | 
				
			||||||
                </ul>
 | 
					 | 
				
			||||||
            </div>
 | 
					 | 
				
			||||||
        </div>
 | 
					 | 
				
			||||||
    </nav>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    <div class="container">
 | 
					 | 
				
			||||||
        <div class="row">
 | 
					 | 
				
			||||||
            <div class="col">
 | 
					 | 
				
			||||||
                <h1 class="text-center mt-3">Contact</h1>
 | 
					 | 
				
			||||||
                <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent sed convallis urna, vitae congue
 | 
					 | 
				
			||||||
                    odio. Sed pulvinar diam a odio tristique, nec porta eros suscipit. Sed lacinia ut nisl ultrices
 | 
					 | 
				
			||||||
                    condimentum. Vivamus imperdiet sapien sit amet mauris ornare accumsan. Proin varius imperdiet
 | 
					 | 
				
			||||||
                    gravida. Suspendisse posuere velit leo, sit amet egestas quam porta quis. Duis in nulla eu quam
 | 
					 | 
				
			||||||
                    iaculis iaculis. Etiam commodo gravida venenatis. Phasellus in vehicula est, aliquam condimentum
 | 
					 | 
				
			||||||
                    nisi. In id ligula lacinia, varius leo vel, tincidunt libero. Nullam cursus vel lectus at consequat.
 | 
					 | 
				
			||||||
                    Quisque malesuada efficitur sem et sollicitudin. Donec eget tincidunt arcu. Quisque ut posuere ex.
 | 
					 | 
				
			||||||
                </p>
 | 
					 | 
				
			||||||
            </div>
 | 
					 | 
				
			||||||
        </div>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        <div class="row">
 | 
					 | 
				
			||||||
            <footer class="py-3 my-4">
 | 
					 | 
				
			||||||
                <ul class="nav justify-content-center border-bottom pb-3 mb-3">
 | 
					 | 
				
			||||||
                    <li class="nav-item"><a href="#" class="nav-link px-2 text-body-secondary">Home</a></li>
 | 
					 | 
				
			||||||
                    <li class="nav-item"><a href="#" class="nav-link px-2 text-body-secondary">Features</a></li>
 | 
					 | 
				
			||||||
                    <li class="nav-item"><a href="#" class="nav-link px-2 text-body-secondary">Pricing</a></li>
 | 
					 | 
				
			||||||
                    <li class="nav-item"><a href="#" class="nav-link px-2 text-body-secondary">FAQs</a></li>
 | 
					 | 
				
			||||||
                    <li class="nav-item"><a href="#" class="nav-link px-2 text-body-secondary">About</a></li>
 | 
					 | 
				
			||||||
                </ul>
 | 
					 | 
				
			||||||
                <p class="text-center text-body-secondary">© 2024 Company, Inc</p>
 | 
					 | 
				
			||||||
            </footer>
 | 
					 | 
				
			||||||
        </div>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    </div>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js"
 | 
					 | 
				
			||||||
        integrity="sha384-YvpcrYf0tY3lHB60NNkmXc5s9fDVZLESaAA55NDzOxhy9GkcIdslK1eN7N6jIeHz"
 | 
					 | 
				
			||||||
        crossorigin="anonymous"></script>
 | 
					 | 
				
			||||||
</body>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
</html>
 | 
					 | 
				
			||||||
@ -1,99 +0,0 @@
 | 
				
			|||||||
<!DOCTYPE html>
 | 
					 | 
				
			||||||
<html lang="en">
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
<head>
 | 
					 | 
				
			||||||
    <meta charset="UTF-8">
 | 
					 | 
				
			||||||
    <meta name="viewport" content="width=device-width, initial-scale=1">
 | 
					 | 
				
			||||||
    <title>General's Quarters</title>
 | 
					 | 
				
			||||||
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet"
 | 
					 | 
				
			||||||
        integrity="sha384-QWTKZyjpPEjISv5WaRU9OFeRpok6YctnYmDr5pNlyT2bRjXh0JMhjY6hW+ALEwIH" crossorigin="anonymous">
 | 
					 | 
				
			||||||
    <link href="static/css/style.css" rel="stylesheet">
 | 
					 | 
				
			||||||
</head>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
<body>
 | 
					 | 
				
			||||||
    <nav class="navbar navbar-expand-lg bg-body-tertiary" data-bs-theme="dark">
 | 
					 | 
				
			||||||
        <div class="container-fluid">
 | 
					 | 
				
			||||||
            <a class="navbar-brand" href="#">Navbar</a>
 | 
					 | 
				
			||||||
            <button class="navbar-toggler" type="button" data-bs-toggle="collapse"
 | 
					 | 
				
			||||||
                data-bs-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false"
 | 
					 | 
				
			||||||
                aria-label="Toggle navigation">
 | 
					 | 
				
			||||||
                <span class="navbar-toggler-icon"></span>
 | 
					 | 
				
			||||||
            </button>
 | 
					 | 
				
			||||||
            <div class="collapse navbar-collapse" id="navbarSupportedContent">
 | 
					 | 
				
			||||||
                <ul class="navbar-nav me-auto mb-2 mb-lg-0">
 | 
					 | 
				
			||||||
                    <li class="nav-item">
 | 
					 | 
				
			||||||
                        <a class="nav-link active" aria-current="page" href="index.html">Home</a>
 | 
					 | 
				
			||||||
                    </li>
 | 
					 | 
				
			||||||
                    <li class="nav-item">
 | 
					 | 
				
			||||||
                        <a class="nav-link" href="about.html">About</a>
 | 
					 | 
				
			||||||
                    </li>
 | 
					 | 
				
			||||||
                    <li class="nav-item dropdown">
 | 
					 | 
				
			||||||
                        <a class="nav-link dropdown-toggle" href="#" role="button" data-bs-toggle="dropdown"
 | 
					 | 
				
			||||||
                            aria-expanded="false">
 | 
					 | 
				
			||||||
                            Rooms
 | 
					 | 
				
			||||||
                        </a>
 | 
					 | 
				
			||||||
                        <ul class="dropdown-menu">
 | 
					 | 
				
			||||||
                            <li><a class="dropdown-item" href="generals.html">General's Quarters</a></li>
 | 
					 | 
				
			||||||
                            <li><a class="dropdown-item" href="majors.html">Major's Suite</a></li>
 | 
					 | 
				
			||||||
                        </ul>
 | 
					 | 
				
			||||||
                    </li>
 | 
					 | 
				
			||||||
                    <li class="nav-item">
 | 
					 | 
				
			||||||
                        <a class="nav-link" href="reservation.html">Book Now</a>
 | 
					 | 
				
			||||||
                    </li>
 | 
					 | 
				
			||||||
                    <li class="nav-item">
 | 
					 | 
				
			||||||
                        <a class="nav-link" href="contact.html">Contact</a>
 | 
					 | 
				
			||||||
                    </li>
 | 
					 | 
				
			||||||
                </ul>
 | 
					 | 
				
			||||||
            </div>
 | 
					 | 
				
			||||||
        </div>
 | 
					 | 
				
			||||||
    </nav>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    <div class="container">
 | 
					 | 
				
			||||||
        <div class="row">
 | 
					 | 
				
			||||||
            <div class="col">
 | 
					 | 
				
			||||||
                <img src="static/images/generals-quarters.png"
 | 
					 | 
				
			||||||
                    class="img-fluid mx-auto d-block img-thumbnail room-image" alt="room page">
 | 
					 | 
				
			||||||
            </div>
 | 
					 | 
				
			||||||
        </div>
 | 
					 | 
				
			||||||
        <div class="row">
 | 
					 | 
				
			||||||
            <div class="col">
 | 
					 | 
				
			||||||
                <h1 class="text-center mt-3">General's Quarters</h1>
 | 
					 | 
				
			||||||
                <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent sed convallis urna, vitae congue
 | 
					 | 
				
			||||||
                    odio. Sed pulvinar diam a odio tristique, nec porta eros suscipit. Sed lacinia ut nisl ultrices
 | 
					 | 
				
			||||||
                    condimentum. Vivamus imperdiet sapien sit amet mauris ornare accumsan. Proin varius imperdiet
 | 
					 | 
				
			||||||
                    gravida. Suspendisse posuere velit leo, sit amet egestas quam porta quis. Duis in nulla eu quam
 | 
					 | 
				
			||||||
                    iaculis iaculis. Etiam commodo gravida venenatis. Phasellus in vehicula est, aliquam condimentum
 | 
					 | 
				
			||||||
                    nisi. In id ligula lacinia, varius leo vel, tincidunt libero. Nullam cursus vel lectus at consequat.
 | 
					 | 
				
			||||||
                    Quisque malesuada efficitur sem et sollicitudin. Donec eget tincidunt arcu. Quisque ut posuere ex.
 | 
					 | 
				
			||||||
                </p>
 | 
					 | 
				
			||||||
            </div>
 | 
					 | 
				
			||||||
        </div>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        <div class="row">
 | 
					 | 
				
			||||||
            <div class="d-flex justify-content-center py-3">
 | 
					 | 
				
			||||||
                <a href="/make-reservation-gq" class="btn btn-success">Check Availability</a>
 | 
					 | 
				
			||||||
            </div>
 | 
					 | 
				
			||||||
        </div>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        <div class="row">
 | 
					 | 
				
			||||||
            <footer class="py-3 my-4">
 | 
					 | 
				
			||||||
                <ul class="nav justify-content-center border-bottom pb-3 mb-3">
 | 
					 | 
				
			||||||
                    <li class="nav-item"><a href="#" class="nav-link px-2 text-body-secondary">Home</a></li>
 | 
					 | 
				
			||||||
                    <li class="nav-item"><a href="#" class="nav-link px-2 text-body-secondary">Features</a></li>
 | 
					 | 
				
			||||||
                    <li class="nav-item"><a href="#" class="nav-link px-2 text-body-secondary">Pricing</a></li>
 | 
					 | 
				
			||||||
                    <li class="nav-item"><a href="#" class="nav-link px-2 text-body-secondary">FAQs</a></li>
 | 
					 | 
				
			||||||
                    <li class="nav-item"><a href="#" class="nav-link px-2 text-body-secondary">About</a></li>
 | 
					 | 
				
			||||||
                </ul>
 | 
					 | 
				
			||||||
                <p class="text-center text-body-secondary">© 2024 Company, Inc</p>
 | 
					 | 
				
			||||||
            </footer>
 | 
					 | 
				
			||||||
        </div>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    </div>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js"
 | 
					 | 
				
			||||||
        integrity="sha384-YvpcrYf0tY3lHB60NNkmXc5s9fDVZLESaAA55NDzOxhy9GkcIdslK1eN7N6jIeHz"
 | 
					 | 
				
			||||||
        crossorigin="anonymous"></script>
 | 
					 | 
				
			||||||
</body>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
</html>
 | 
					 | 
				
			||||||
							
								
								
									
										132
									
								
								index.html
									
									
									
									
									
								
							
							
						
						
									
										132
									
								
								index.html
									
									
									
									
									
								
							@ -1,132 +0,0 @@
 | 
				
			|||||||
<!DOCTYPE html>
 | 
					 | 
				
			||||||
<html lang="en">
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
<head>
 | 
					 | 
				
			||||||
    <meta charset="UTF-8">
 | 
					 | 
				
			||||||
    <meta name="viewport" content="width=device-width, initial-scale=1">
 | 
					 | 
				
			||||||
    <title>My hotel project</title>
 | 
					 | 
				
			||||||
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet"
 | 
					 | 
				
			||||||
        integrity="sha384-QWTKZyjpPEjISv5WaRU9OFeRpok6YctnYmDr5pNlyT2bRjXh0JMhjY6hW+ALEwIH" crossorigin="anonymous">
 | 
					 | 
				
			||||||
    <link href="static/css/style.css" rel="stylesheet">
 | 
					 | 
				
			||||||
</head>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
<body>
 | 
					 | 
				
			||||||
    <nav class="navbar navbar-expand-lg bg-body-tertiary" data-bs-theme="dark">
 | 
					 | 
				
			||||||
        <div class="container-fluid">
 | 
					 | 
				
			||||||
            <a class="navbar-brand" href="#">Navbar</a>
 | 
					 | 
				
			||||||
            <button class="navbar-toggler" type="button" data-bs-toggle="collapse"
 | 
					 | 
				
			||||||
                data-bs-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false"
 | 
					 | 
				
			||||||
                aria-label="Toggle navigation">
 | 
					 | 
				
			||||||
                <span class="navbar-toggler-icon"></span>
 | 
					 | 
				
			||||||
            </button>
 | 
					 | 
				
			||||||
            <div class="collapse navbar-collapse" id="navbarSupportedContent">
 | 
					 | 
				
			||||||
                <ul class="navbar-nav me-auto mb-2 mb-lg-0">
 | 
					 | 
				
			||||||
                    <li class="nav-item">
 | 
					 | 
				
			||||||
                        <a class="nav-link active" aria-current="page" href="index.html">Home</a>
 | 
					 | 
				
			||||||
                    </li>
 | 
					 | 
				
			||||||
                    <li class="nav-item">
 | 
					 | 
				
			||||||
                        <a class="nav-link" href="about.html">About</a>
 | 
					 | 
				
			||||||
                    </li>
 | 
					 | 
				
			||||||
                    <li class="nav-item dropdown">
 | 
					 | 
				
			||||||
                        <a class="nav-link dropdown-toggle" href="#" role="button" data-bs-toggle="dropdown"
 | 
					 | 
				
			||||||
                            aria-expanded="false">
 | 
					 | 
				
			||||||
                            Rooms
 | 
					 | 
				
			||||||
                        </a>
 | 
					 | 
				
			||||||
                        <ul class="dropdown-menu">
 | 
					 | 
				
			||||||
                            <li><a class="dropdown-item" href="generals.html">General's Quarters</a></li>
 | 
					 | 
				
			||||||
                            <li><a class="dropdown-item" href="majors.html">Major's Suite</a></li>
 | 
					 | 
				
			||||||
                        </ul>
 | 
					 | 
				
			||||||
                    </li>
 | 
					 | 
				
			||||||
                    <li class="nav-item">
 | 
					 | 
				
			||||||
                        <a class="nav-link" href="reservation.html">Book Now</a>
 | 
					 | 
				
			||||||
                    </li>
 | 
					 | 
				
			||||||
                    <li class="nav-item">
 | 
					 | 
				
			||||||
                        <a class="nav-link" href="contact.html">Contact</a>
 | 
					 | 
				
			||||||
                    </li>
 | 
					 | 
				
			||||||
                </ul>
 | 
					 | 
				
			||||||
            </div>
 | 
					 | 
				
			||||||
        </div>
 | 
					 | 
				
			||||||
    </nav>
 | 
					 | 
				
			||||||
    <div id="hotelcarousel" class="carousel slide carousel-fade">
 | 
					 | 
				
			||||||
        <div class="carousel-indicators">
 | 
					 | 
				
			||||||
            <button type="button" data-bs-target="#hotelcarousel" data-bs-slide-to="0" class="active"
 | 
					 | 
				
			||||||
                aria-current="true" aria-label="Slide 1"></button>
 | 
					 | 
				
			||||||
            <button type="button" data-bs-target="#hotelcarousel" data-bs-slide-to="1" aria-label="Slide 2"></button>
 | 
					 | 
				
			||||||
            <button type="button" data-bs-target="#hotelcarousel" data-bs-slide-to="2" aria-label="Slide 3"></button>
 | 
					 | 
				
			||||||
        </div>
 | 
					 | 
				
			||||||
        <div class="carousel-inner">
 | 
					 | 
				
			||||||
            <div class="carousel-item active">
 | 
					 | 
				
			||||||
                <img src="static/images/woman-laptop.png" d-block w-100" alt="Woman with a laptop">
 | 
					 | 
				
			||||||
                <div class="carousel-caption d-none d-md-block">
 | 
					 | 
				
			||||||
                    <h5>First slide label</h5>
 | 
					 | 
				
			||||||
                    <p>Some representative placeholder content for the first slide.</p>
 | 
					 | 
				
			||||||
                </div>
 | 
					 | 
				
			||||||
            </div>
 | 
					 | 
				
			||||||
            <div class="carousel-item">
 | 
					 | 
				
			||||||
                <img src="static/images/tray.png" d-block w-100" alt="Tray with a coffee">
 | 
					 | 
				
			||||||
                <div class="carousel-caption d-none d-md-block">
 | 
					 | 
				
			||||||
                    <h5>Second slide label</h5>
 | 
					 | 
				
			||||||
                    <p>Some representative placeholder content for the first slide.</p>
 | 
					 | 
				
			||||||
                </div>
 | 
					 | 
				
			||||||
            </div>
 | 
					 | 
				
			||||||
            <div class="carousel-item">
 | 
					 | 
				
			||||||
                <img src="static/images/outside.png" d-block w-100" alt="Outside">
 | 
					 | 
				
			||||||
                <div class="carousel-caption d-none d-md-block">
 | 
					 | 
				
			||||||
                    <h5>Third slide label</h5>
 | 
					 | 
				
			||||||
                    <p>Some representative placeholder content for the first slide.</p>
 | 
					 | 
				
			||||||
                </div>
 | 
					 | 
				
			||||||
            </div>
 | 
					 | 
				
			||||||
        </div>
 | 
					 | 
				
			||||||
        <button class="carousel-control-prev" type="button" data-bs-target="#hotelcarousel" data-bs-slide="prev">
 | 
					 | 
				
			||||||
            <span class="carousel-control-prev-icon" aria-hidden="true"></span>
 | 
					 | 
				
			||||||
            <span class="visually-hidden">Previous</span>
 | 
					 | 
				
			||||||
        </button>
 | 
					 | 
				
			||||||
        <button class="carousel-control-next" type="button" data-bs-target="#hotelcarousel" data-bs-slide="next">
 | 
					 | 
				
			||||||
            <span class="carousel-control-next-icon" aria-hidden="true"></span>
 | 
					 | 
				
			||||||
            <span class="visually-hidden">Next</span>
 | 
					 | 
				
			||||||
        </button>
 | 
					 | 
				
			||||||
    </div>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    <div class="container">
 | 
					 | 
				
			||||||
        <div class="row">
 | 
					 | 
				
			||||||
            <div class="col">
 | 
					 | 
				
			||||||
                <h1 class="text-center mt-3">Hello, world!</h1>
 | 
					 | 
				
			||||||
                <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent sed convallis urna, vitae congue
 | 
					 | 
				
			||||||
                    odio. Sed pulvinar diam a odio tristique, nec porta eros suscipit. Sed lacinia ut nisl ultrices
 | 
					 | 
				
			||||||
                    condimentum. Vivamus imperdiet sapien sit amet mauris ornare accumsan. Proin varius imperdiet
 | 
					 | 
				
			||||||
                    gravida. Suspendisse posuere velit leo, sit amet egestas quam porta quis. Duis in nulla eu quam
 | 
					 | 
				
			||||||
                    iaculis iaculis. Etiam commodo gravida venenatis. Phasellus in vehicula est, aliquam condimentum
 | 
					 | 
				
			||||||
                    nisi. In id ligula lacinia, varius leo vel, tincidunt libero. Nullam cursus vel lectus at consequat.
 | 
					 | 
				
			||||||
                    Quisque malesuada efficitur sem et sollicitudin. Donec eget tincidunt arcu. Quisque ut posuere ex.
 | 
					 | 
				
			||||||
                </p>
 | 
					 | 
				
			||||||
            </div>
 | 
					 | 
				
			||||||
        </div>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        <div class="row">
 | 
					 | 
				
			||||||
            <div class="d-flex justify-content-center py-3">
 | 
					 | 
				
			||||||
                <a href="/make-reservation" class="btn btn-success">Book Now</a>
 | 
					 | 
				
			||||||
            </div>
 | 
					 | 
				
			||||||
        </div>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        <div class="row">
 | 
					 | 
				
			||||||
            <footer class="py-3 my-4">
 | 
					 | 
				
			||||||
                <ul class="nav justify-content-center border-bottom pb-3 mb-3">
 | 
					 | 
				
			||||||
                    <li class="nav-item"><a href="#" class="nav-link px-2 text-body-secondary">Home</a></li>
 | 
					 | 
				
			||||||
                    <li class="nav-item"><a href="#" class="nav-link px-2 text-body-secondary">Features</a></li>
 | 
					 | 
				
			||||||
                    <li class="nav-item"><a href="#" class="nav-link px-2 text-body-secondary">Pricing</a></li>
 | 
					 | 
				
			||||||
                    <li class="nav-item"><a href="#" class="nav-link px-2 text-body-secondary">FAQs</a></li>
 | 
					 | 
				
			||||||
                    <li class="nav-item"><a href="#" class="nav-link px-2 text-body-secondary">About</a></li>
 | 
					 | 
				
			||||||
                </ul>
 | 
					 | 
				
			||||||
                <p class="text-center text-body-secondary">© 2024 Company, Inc</p>
 | 
					 | 
				
			||||||
            </footer>
 | 
					 | 
				
			||||||
        </div>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    </div>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js"
 | 
					 | 
				
			||||||
        integrity="sha384-YvpcrYf0tY3lHB60NNkmXc5s9fDVZLESaAA55NDzOxhy9GkcIdslK1eN7N6jIeHz"
 | 
					 | 
				
			||||||
        crossorigin="anonymous"></script>
 | 
					 | 
				
			||||||
</body>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
</html>
 | 
					 | 
				
			||||||
							
								
								
									
										99
									
								
								majors.html
									
									
									
									
									
								
							
							
						
						
									
										99
									
								
								majors.html
									
									
									
									
									
								
							@ -1,99 +0,0 @@
 | 
				
			|||||||
<!DOCTYPE html>
 | 
					 | 
				
			||||||
<html lang="en">
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
<head>
 | 
					 | 
				
			||||||
    <meta charset="UTF-8">
 | 
					 | 
				
			||||||
    <meta name="viewport" content="width=device-width, initial-scale=1">
 | 
					 | 
				
			||||||
    <title>Major's Suite</title>
 | 
					 | 
				
			||||||
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet"
 | 
					 | 
				
			||||||
        integrity="sha384-QWTKZyjpPEjISv5WaRU9OFeRpok6YctnYmDr5pNlyT2bRjXh0JMhjY6hW+ALEwIH" crossorigin="anonymous">
 | 
					 | 
				
			||||||
    <link href="static/css/style.css" rel="stylesheet">
 | 
					 | 
				
			||||||
</head>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
<body>
 | 
					 | 
				
			||||||
    <nav class="navbar navbar-expand-lg bg-body-tertiary" data-bs-theme="dark">
 | 
					 | 
				
			||||||
        <div class="container-fluid">
 | 
					 | 
				
			||||||
            <a class="navbar-brand" href="#">Navbar</a>
 | 
					 | 
				
			||||||
            <button class="navbar-toggler" type="button" data-bs-toggle="collapse"
 | 
					 | 
				
			||||||
                data-bs-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false"
 | 
					 | 
				
			||||||
                aria-label="Toggle navigation">
 | 
					 | 
				
			||||||
                <span class="navbar-toggler-icon"></span>
 | 
					 | 
				
			||||||
            </button>
 | 
					 | 
				
			||||||
            <div class="collapse navbar-collapse" id="navbarSupportedContent">
 | 
					 | 
				
			||||||
                <ul class="navbar-nav me-auto mb-2 mb-lg-0">
 | 
					 | 
				
			||||||
                    <li class="nav-item">
 | 
					 | 
				
			||||||
                        <a class="nav-link active" aria-current="page" href="index.html">Home</a>
 | 
					 | 
				
			||||||
                    </li>
 | 
					 | 
				
			||||||
                    <li class="nav-item">
 | 
					 | 
				
			||||||
                        <a class="nav-link" href="about.html">About</a>
 | 
					 | 
				
			||||||
                    </li>
 | 
					 | 
				
			||||||
                    <li class="nav-item dropdown">
 | 
					 | 
				
			||||||
                        <a class="nav-link dropdown-toggle" href="#" role="button" data-bs-toggle="dropdown"
 | 
					 | 
				
			||||||
                            aria-expanded="false">
 | 
					 | 
				
			||||||
                            Rooms
 | 
					 | 
				
			||||||
                        </a>
 | 
					 | 
				
			||||||
                        <ul class="dropdown-menu">
 | 
					 | 
				
			||||||
                            <li><a class="dropdown-item" href="generals.html">General's Quarters</a></li>
 | 
					 | 
				
			||||||
                            <li><a class="dropdown-item" href="majors.html">Major's Suite</a></li>
 | 
					 | 
				
			||||||
                        </ul>
 | 
					 | 
				
			||||||
                    </li>
 | 
					 | 
				
			||||||
                    <li class="nav-item">
 | 
					 | 
				
			||||||
                        <a class="nav-link" href="reservation.html">Book Now</a>
 | 
					 | 
				
			||||||
                    </li>
 | 
					 | 
				
			||||||
                    <li class="nav-item">
 | 
					 | 
				
			||||||
                        <a class="nav-link" href="contact.html">Contact</a>
 | 
					 | 
				
			||||||
                    </li>
 | 
					 | 
				
			||||||
                </ul>
 | 
					 | 
				
			||||||
            </div>
 | 
					 | 
				
			||||||
        </div>
 | 
					 | 
				
			||||||
    </nav>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    <div class="container">
 | 
					 | 
				
			||||||
        <div class="row">
 | 
					 | 
				
			||||||
            <div class="col">
 | 
					 | 
				
			||||||
                <img src="static/images/marjors-suite.png" class="img-fluid mx-auto d-block img-thumbnail room-image"
 | 
					 | 
				
			||||||
                    alt="room page">
 | 
					 | 
				
			||||||
            </div>
 | 
					 | 
				
			||||||
        </div>
 | 
					 | 
				
			||||||
        <div class="row">
 | 
					 | 
				
			||||||
            <div class="col">
 | 
					 | 
				
			||||||
                <h1 class="text-center mt-3">Major's Suite</h1>
 | 
					 | 
				
			||||||
                <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent sed convallis urna, vitae congue
 | 
					 | 
				
			||||||
                    odio. Sed pulvinar diam a odio tristique, nec porta eros suscipit. Sed lacinia ut nisl ultrices
 | 
					 | 
				
			||||||
                    condimentum. Vivamus imperdiet sapien sit amet mauris ornare accumsan. Proin varius imperdiet
 | 
					 | 
				
			||||||
                    gravida. Suspendisse posuere velit leo, sit amet egestas quam porta quis. Duis in nulla eu quam
 | 
					 | 
				
			||||||
                    iaculis iaculis. Etiam commodo gravida venenatis. Phasellus in vehicula est, aliquam condimentum
 | 
					 | 
				
			||||||
                    nisi. In id ligula lacinia, varius leo vel, tincidunt libero. Nullam cursus vel lectus at consequat.
 | 
					 | 
				
			||||||
                    Quisque malesuada efficitur sem et sollicitudin. Donec eget tincidunt arcu. Quisque ut posuere ex.
 | 
					 | 
				
			||||||
                </p>
 | 
					 | 
				
			||||||
            </div>
 | 
					 | 
				
			||||||
        </div>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        <div class="row">
 | 
					 | 
				
			||||||
            <div class="d-flex justify-content-center py-3">
 | 
					 | 
				
			||||||
                <a href="/make-reservation-gq" class="btn btn-success">Check Availability</a>
 | 
					 | 
				
			||||||
            </div>
 | 
					 | 
				
			||||||
        </div>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        <div class="row">
 | 
					 | 
				
			||||||
            <footer class="py-3 my-4">
 | 
					 | 
				
			||||||
                <ul class="nav justify-content-center border-bottom pb-3 mb-3">
 | 
					 | 
				
			||||||
                    <li class="nav-item"><a href="#" class="nav-link px-2 text-body-secondary">Home</a></li>
 | 
					 | 
				
			||||||
                    <li class="nav-item"><a href="#" class="nav-link px-2 text-body-secondary">Features</a></li>
 | 
					 | 
				
			||||||
                    <li class="nav-item"><a href="#" class="nav-link px-2 text-body-secondary">Pricing</a></li>
 | 
					 | 
				
			||||||
                    <li class="nav-item"><a href="#" class="nav-link px-2 text-body-secondary">FAQs</a></li>
 | 
					 | 
				
			||||||
                    <li class="nav-item"><a href="#" class="nav-link px-2 text-body-secondary">About</a></li>
 | 
					 | 
				
			||||||
                </ul>
 | 
					 | 
				
			||||||
                <p class="text-center text-body-secondary">© 2024 Company, Inc</p>
 | 
					 | 
				
			||||||
            </footer>
 | 
					 | 
				
			||||||
        </div>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    </div>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js"
 | 
					 | 
				
			||||||
        integrity="sha384-YvpcrYf0tY3lHB60NNkmXc5s9fDVZLESaAA55NDzOxhy9GkcIdslK1eN7N6jIeHz"
 | 
					 | 
				
			||||||
        crossorigin="anonymous"></script>
 | 
					 | 
				
			||||||
</body>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
</html>
 | 
					 | 
				
			||||||
@ -1,103 +0,0 @@
 | 
				
			|||||||
<!DOCTYPE html>
 | 
					 | 
				
			||||||
<html lang="en">
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
<head>
 | 
					 | 
				
			||||||
    <meta charset="UTF-8">
 | 
					 | 
				
			||||||
    <meta name="viewport" content="width=device-width, initial-scale=1">
 | 
					 | 
				
			||||||
    <title>Contact</title>
 | 
					 | 
				
			||||||
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet"
 | 
					 | 
				
			||||||
        integrity="sha384-QWTKZyjpPEjISv5WaRU9OFeRpok6YctnYmDr5pNlyT2bRjXh0JMhjY6hW+ALEwIH" crossorigin="anonymous">
 | 
					 | 
				
			||||||
    <link href="static/css/style.css" rel="stylesheet">
 | 
					 | 
				
			||||||
</head>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
<body>
 | 
					 | 
				
			||||||
    <nav class="navbar navbar-expand-lg bg-body-tertiary" data-bs-theme="dark">
 | 
					 | 
				
			||||||
        <div class="container-fluid">
 | 
					 | 
				
			||||||
            <a class="navbar-brand" href="#">Navbar</a>
 | 
					 | 
				
			||||||
            <button class="navbar-toggler" type="button" data-bs-toggle="collapse"
 | 
					 | 
				
			||||||
                data-bs-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false"
 | 
					 | 
				
			||||||
                aria-label="Toggle navigation">
 | 
					 | 
				
			||||||
                <span class="navbar-toggler-icon"></span>
 | 
					 | 
				
			||||||
            </button>
 | 
					 | 
				
			||||||
            <div class="collapse navbar-collapse" id="navbarSupportedContent">
 | 
					 | 
				
			||||||
                <ul class="navbar-nav me-auto mb-2 mb-lg-0">
 | 
					 | 
				
			||||||
                    <li class="nav-item">
 | 
					 | 
				
			||||||
                        <a class="nav-link active" aria-current="page" href="index.html">Home</a>
 | 
					 | 
				
			||||||
                    </li>
 | 
					 | 
				
			||||||
                    <li class="nav-item">
 | 
					 | 
				
			||||||
                        <a class="nav-link" href="about.html">About</a>
 | 
					 | 
				
			||||||
                    </li>
 | 
					 | 
				
			||||||
                    <li class="nav-item dropdown">
 | 
					 | 
				
			||||||
                        <a class="nav-link dropdown-toggle" href="#" role="button" data-bs-toggle="dropdown"
 | 
					 | 
				
			||||||
                            aria-expanded="false">
 | 
					 | 
				
			||||||
                            Rooms
 | 
					 | 
				
			||||||
                        </a>
 | 
					 | 
				
			||||||
                        <ul class="dropdown-menu">
 | 
					 | 
				
			||||||
                            <li><a class="dropdown-item" href="generals.html">General's Quarters</a></li>
 | 
					 | 
				
			||||||
                            <li><a class="dropdown-item" href="majors.html">Major's Suite</a></li>
 | 
					 | 
				
			||||||
                        </ul>
 | 
					 | 
				
			||||||
                    </li>
 | 
					 | 
				
			||||||
                    <li class="nav-item">
 | 
					 | 
				
			||||||
                        <a class="nav-link" href="reservation.html">Book Now</a>
 | 
					 | 
				
			||||||
                    </li>
 | 
					 | 
				
			||||||
                    <li class="nav-item">
 | 
					 | 
				
			||||||
                        <a class="nav-link" href="contact.html">Contact</a>
 | 
					 | 
				
			||||||
                    </li>
 | 
					 | 
				
			||||||
                </ul>
 | 
					 | 
				
			||||||
            </div>
 | 
					 | 
				
			||||||
        </div>
 | 
					 | 
				
			||||||
    </nav>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    <div class="container">
 | 
					 | 
				
			||||||
        <div class="row">
 | 
					 | 
				
			||||||
            <div class="col">
 | 
					 | 
				
			||||||
                <h1 class="text-center mt-3">Make reservation</h1>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
                <form method="post" action="" class="needs-validation" novalidate>
 | 
					 | 
				
			||||||
                    <div class="form-group mt-5">
 | 
					 | 
				
			||||||
                        <label for="first_name">First name:</label>
 | 
					 | 
				
			||||||
                        <input type="text" name="first_name" id="first_name" class="form-control" required
 | 
					 | 
				
			||||||
                            autocomplete="off">
 | 
					 | 
				
			||||||
                    </div>
 | 
					 | 
				
			||||||
                    <div class="form-group mt-5">
 | 
					 | 
				
			||||||
                        <label for="last_name">Last name:</label>
 | 
					 | 
				
			||||||
                        <input type="text" name="last_name" id="last_name" class="form-control" required
 | 
					 | 
				
			||||||
                            autocomplete="off">
 | 
					 | 
				
			||||||
                    </div>
 | 
					 | 
				
			||||||
                    <div class="form-group mt-5">
 | 
					 | 
				
			||||||
                        <label for="email">Email:</label>
 | 
					 | 
				
			||||||
                        <input type="email" name="email" id="email" class="form-control" required autocomplete="off">
 | 
					 | 
				
			||||||
                    </div>
 | 
					 | 
				
			||||||
                    <div class="form-group mt-5">
 | 
					 | 
				
			||||||
                        <label for="phone">Phone number:</label>
 | 
					 | 
				
			||||||
                        <input type="text" name="phone" id="phone" class="form-control" required autocomplete="off">
 | 
					 | 
				
			||||||
                    </div>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
                    <hr>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
                    <input type="submit" class="btn btn-primary" value="Make Reservation">
 | 
					 | 
				
			||||||
                </form>
 | 
					 | 
				
			||||||
            </div>
 | 
					 | 
				
			||||||
        </div>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        <div class="row">
 | 
					 | 
				
			||||||
            <footer class="py-3 my-4">
 | 
					 | 
				
			||||||
                <ul class="nav justify-content-center border-bottom pb-3 mb-3">
 | 
					 | 
				
			||||||
                    <li class="nav-item"><a href="#" class="nav-link px-2 text-body-secondary">Home</a></li>
 | 
					 | 
				
			||||||
                    <li class="nav-item"><a href="#" class="nav-link px-2 text-body-secondary">Features</a></li>
 | 
					 | 
				
			||||||
                    <li class="nav-item"><a href="#" class="nav-link px-2 text-body-secondary">Pricing</a></li>
 | 
					 | 
				
			||||||
                    <li class="nav-item"><a href="#" class="nav-link px-2 text-body-secondary">FAQs</a></li>
 | 
					 | 
				
			||||||
                    <li class="nav-item"><a href="#" class="nav-link px-2 text-body-secondary">About</a></li>
 | 
					 | 
				
			||||||
                </ul>
 | 
					 | 
				
			||||||
                <p class="text-center text-body-secondary">© 2024 Company, Inc</p>
 | 
					 | 
				
			||||||
            </footer>
 | 
					 | 
				
			||||||
        </div>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    </div>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js"
 | 
					 | 
				
			||||||
        integrity="sha384-YvpcrYf0tY3lHB60NNkmXc5s9fDVZLESaAA55NDzOxhy9GkcIdslK1eN7N6jIeHz"
 | 
					 | 
				
			||||||
        crossorigin="anonymous"></script>
 | 
					 | 
				
			||||||
</body>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
</html>
 | 
					 | 
				
			||||||
@ -27,7 +27,7 @@ func NewHandlers(r *Repository) {
 | 
				
			|||||||
	Repo = r
 | 
						Repo = r
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// Home is the about page handler
 | 
					// Home is the home page handler
 | 
				
			||||||
func (m *Repository) Home(w http.ResponseWriter, r *http.Request) {
 | 
					func (m *Repository) Home(w http.ResponseWriter, r *http.Request) {
 | 
				
			||||||
	remoteIP := r.RemoteAddr
 | 
						remoteIP := r.RemoteAddr
 | 
				
			||||||
	m.App.Session.Put(r.Context(), "remote_ip", remoteIP)
 | 
						m.App.Session.Put(r.Context(), "remote_ip", remoteIP)
 | 
				
			||||||
@ -47,3 +47,28 @@ func (m *Repository) About(w http.ResponseWriter, r *http.Request) {
 | 
				
			|||||||
	// send the data to the template
 | 
						// send the data to the template
 | 
				
			||||||
	render.RenderTemplate(w, "about.page.tmpl", &models.TemplateData{StringMap: stringMap})
 | 
						render.RenderTemplate(w, "about.page.tmpl", &models.TemplateData{StringMap: stringMap})
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// Contact is the contact page handler
 | 
				
			||||||
 | 
					func (m *Repository) Contact(w http.ResponseWriter, r *http.Request) {
 | 
				
			||||||
 | 
						render.RenderTemplate(w, "contact.page.tmpl", &models.TemplateData{})
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// Generals is the General's Quarters page handler
 | 
				
			||||||
 | 
					func (m *Repository) Generals(w http.ResponseWriter, r *http.Request) {
 | 
				
			||||||
 | 
						render.RenderTemplate(w, "generals.page.tmpl", &models.TemplateData{})
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// Majors is the Major's Suite page handler
 | 
				
			||||||
 | 
					func (m *Repository) Majors(w http.ResponseWriter, r *http.Request) {
 | 
				
			||||||
 | 
						render.RenderTemplate(w, "majors.page.tmpl", &models.TemplateData{})
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// MakeReservation is the make reservation page handler
 | 
				
			||||||
 | 
					func (m *Repository) MakeReservation(w http.ResponseWriter, r *http.Request) {
 | 
				
			||||||
 | 
						render.RenderTemplate(w, "make-reservation.page.tmpl", &models.TemplateData{})
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// MakeReservation is the make reservation page handler
 | 
				
			||||||
 | 
					func (m *Repository) Reservation(w http.ResponseWriter, r *http.Request) {
 | 
				
			||||||
 | 
						render.RenderTemplate(w, "reservation.page.tmpl", &models.TemplateData{})
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										280
									
								
								reservation.html
									
									
									
									
									
								
							
							
						
						
									
										280
									
								
								reservation.html
									
									
									
									
									
								
							@ -1,280 +0,0 @@
 | 
				
			|||||||
<!DOCTYPE html>
 | 
					 | 
				
			||||||
<html lang="en">
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
<head>
 | 
					 | 
				
			||||||
    <meta charset="UTF-8">
 | 
					 | 
				
			||||||
    <meta name="viewport" content="width=device-width, initial-scale=1">
 | 
					 | 
				
			||||||
    <title>Reservation</title>
 | 
					 | 
				
			||||||
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet"
 | 
					 | 
				
			||||||
        integrity="sha384-QWTKZyjpPEjISv5WaRU9OFeRpok6YctnYmDr5pNlyT2bRjXh0JMhjY6hW+ALEwIH" crossorigin="anonymous">
 | 
					 | 
				
			||||||
    <link rel="stylesheet"
 | 
					 | 
				
			||||||
        href="https://cdn.jsdelivr.net/npm/vanillajs-datepicker@1.3.4/dist/css/datepicker-bulma.min.css">
 | 
					 | 
				
			||||||
    <link rel="stylesheet" type="text/css" href="https://unpkg.com/notie/dist/notie.min.css">
 | 
					 | 
				
			||||||
    <link href="static/css/style.css" rel="stylesheet">
 | 
					 | 
				
			||||||
</head>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
<body>
 | 
					 | 
				
			||||||
    <nav class="navbar navbar-expand-lg bg-body-tertiary" data-bs-theme="dark">
 | 
					 | 
				
			||||||
        <div class="container-fluid">
 | 
					 | 
				
			||||||
            <a class="navbar-brand" href="#">Navbar</a>
 | 
					 | 
				
			||||||
            <button class="navbar-toggler" type="button" data-bs-toggle="collapse"
 | 
					 | 
				
			||||||
                data-bs-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false"
 | 
					 | 
				
			||||||
                aria-label="Toggle navigation">
 | 
					 | 
				
			||||||
                <span class="navbar-toggler-icon"></span>
 | 
					 | 
				
			||||||
            </button>
 | 
					 | 
				
			||||||
            <div class="collapse navbar-collapse" id="navbarSupportedContent">
 | 
					 | 
				
			||||||
                <ul class="navbar-nav me-auto mb-2 mb-lg-0">
 | 
					 | 
				
			||||||
                    <li class="nav-item">
 | 
					 | 
				
			||||||
                        <a class="nav-link active" aria-current="page" href="index.html">Home</a>
 | 
					 | 
				
			||||||
                    </li>
 | 
					 | 
				
			||||||
                    <li class="nav-item">
 | 
					 | 
				
			||||||
                        <a class="nav-link" href="about.html">About</a>
 | 
					 | 
				
			||||||
                    </li>
 | 
					 | 
				
			||||||
                    <li class="nav-item dropdown">
 | 
					 | 
				
			||||||
                        <a class="nav-link dropdown-toggle" href="#" role="button" data-bs-toggle="dropdown"
 | 
					 | 
				
			||||||
                            aria-expanded="false">
 | 
					 | 
				
			||||||
                            Rooms
 | 
					 | 
				
			||||||
                        </a>
 | 
					 | 
				
			||||||
                        <ul class="dropdown-menu">
 | 
					 | 
				
			||||||
                            <li><a class="dropdown-item" href="generals.html">General's Quarters</a></li>
 | 
					 | 
				
			||||||
                            <li><a class="dropdown-item" href="majors.html">Major's Suite</a></li>
 | 
					 | 
				
			||||||
                        </ul>
 | 
					 | 
				
			||||||
                    </li>
 | 
					 | 
				
			||||||
                    <li class="nav-item">
 | 
					 | 
				
			||||||
                        <a class="nav-link" href="reservation.html">Book Now</a>
 | 
					 | 
				
			||||||
                    </li>
 | 
					 | 
				
			||||||
                    <li class="nav-item">
 | 
					 | 
				
			||||||
                        <a class="nav-link" href="contact.html">Contact</a>
 | 
					 | 
				
			||||||
                    </li>
 | 
					 | 
				
			||||||
                </ul>
 | 
					 | 
				
			||||||
            </div>
 | 
					 | 
				
			||||||
        </div>
 | 
					 | 
				
			||||||
    </nav>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    <div class="container">
 | 
					 | 
				
			||||||
        <div class="row">
 | 
					 | 
				
			||||||
            <div class="col-md-3">
 | 
					 | 
				
			||||||
            </div>
 | 
					 | 
				
			||||||
            <div class="col-md-6">
 | 
					 | 
				
			||||||
                <h1 class="text-center mt-5">Search for Availability</h1>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
                <form action="reservation.html" method="get" novalidate class="needs-validation">
 | 
					 | 
				
			||||||
                    <div id="reservation-dates" class="row">
 | 
					 | 
				
			||||||
                        <div class="col mb-3">
 | 
					 | 
				
			||||||
                            <input required type="text" class="form-control" name="start" placeholder="Arrival">
 | 
					 | 
				
			||||||
                        </div>
 | 
					 | 
				
			||||||
                        <div class="col mb-3">
 | 
					 | 
				
			||||||
                            <input required type="text" class="form-control" name="end" placeholder="Departure">
 | 
					 | 
				
			||||||
                        </div>
 | 
					 | 
				
			||||||
                    </div>
 | 
					 | 
				
			||||||
                    <div class="mb-3">
 | 
					 | 
				
			||||||
                        <button type="submit" class="btn btn-primary mb-3">Search Availability</button>
 | 
					 | 
				
			||||||
                    </div>
 | 
					 | 
				
			||||||
                </form>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            </div>
 | 
					 | 
				
			||||||
        </div>
 | 
					 | 
				
			||||||
    </div>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    <div class="row">
 | 
					 | 
				
			||||||
        <div class="col">
 | 
					 | 
				
			||||||
            <button id="dummy" class="btn btn-secondary mb-3">Dummy</button>
 | 
					 | 
				
			||||||
        </div>
 | 
					 | 
				
			||||||
    </div>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    <div class="row">
 | 
					 | 
				
			||||||
        <footer class="py-3 my-4">
 | 
					 | 
				
			||||||
            <ul class="nav justify-content-center border-bottom pb-3 mb-3">
 | 
					 | 
				
			||||||
                <li class="nav-item"><a href="#" class="nav-link px-2 text-body-secondary">Home</a></li>
 | 
					 | 
				
			||||||
                <li class="nav-item"><a href="#" class="nav-link px-2 text-body-secondary">Features</a></li>
 | 
					 | 
				
			||||||
                <li class="nav-item"><a href="#" class="nav-link px-2 text-body-secondary">Pricing</a></li>
 | 
					 | 
				
			||||||
                <li class="nav-item"><a href="#" class="nav-link px-2 text-body-secondary">FAQs</a></li>
 | 
					 | 
				
			||||||
                <li class="nav-item"><a href="#" class="nav-link px-2 text-body-secondary">About</a></li>
 | 
					 | 
				
			||||||
            </ul>
 | 
					 | 
				
			||||||
            <p class="text-center text-body-secondary">© 2024 Company, Inc</p>
 | 
					 | 
				
			||||||
        </footer>
 | 
					 | 
				
			||||||
    </div>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js"
 | 
					 | 
				
			||||||
        integrity="sha384-YvpcrYf0tY3lHB60NNkmXc5s9fDVZLESaAA55NDzOxhy9GkcIdslK1eN7N6jIeHz"
 | 
					 | 
				
			||||||
        crossorigin="anonymous"></script>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    <script src="https://cdn.jsdelivr.net/npm/vanillajs-datepicker@1.3.4/dist/js/datepicker-full.min.js"></script>
 | 
					 | 
				
			||||||
    <script src="https://unpkg.com/notie"></script>
 | 
					 | 
				
			||||||
    <script src="https://cdn.jsdelivr.net/npm/sweetalert2@11"></script>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    <script>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        (() => {
 | 
					 | 
				
			||||||
            'use strict'
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            // Fetch all the forms we want to apply custom Bootstrap validation styles to
 | 
					 | 
				
			||||||
            const forms = document.querySelectorAll('.needs-validation')
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            // Loop over them and prevent submission
 | 
					 | 
				
			||||||
            Array.from(forms).forEach(form => {
 | 
					 | 
				
			||||||
                form.addEventListener('submit', event => {
 | 
					 | 
				
			||||||
                    if (!form.checkValidity()) {
 | 
					 | 
				
			||||||
                        event.preventDefault()
 | 
					 | 
				
			||||||
                        event.stopPropagation()
 | 
					 | 
				
			||||||
                    }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
                    form.classList.add('was-validated')
 | 
					 | 
				
			||||||
                }, false)
 | 
					 | 
				
			||||||
            })
 | 
					 | 
				
			||||||
        })()
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        // vanillajs-datepicker
 | 
					 | 
				
			||||||
        const elem = document.getElementById('reservation-dates');
 | 
					 | 
				
			||||||
        const rangepicker = new DateRangePicker(elem, {
 | 
					 | 
				
			||||||
            "format": "yyyy-mm-dd",
 | 
					 | 
				
			||||||
        });
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        // notie
 | 
					 | 
				
			||||||
        function notify(msg, msgType) {
 | 
					 | 
				
			||||||
            notie.alert({
 | 
					 | 
				
			||||||
                type: msgType,
 | 
					 | 
				
			||||||
                text: msg,
 | 
					 | 
				
			||||||
            });
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        // sweetalert2
 | 
					 | 
				
			||||||
        function notifyModal(title, text, icon, confirmButtonText) {
 | 
					 | 
				
			||||||
            Swal.fire({
 | 
					 | 
				
			||||||
                title: title,
 | 
					 | 
				
			||||||
                text: text,
 | 
					 | 
				
			||||||
                icon: icon,
 | 
					 | 
				
			||||||
                confirmButtonText: confirmButtonText
 | 
					 | 
				
			||||||
            })
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        // Prompt is out Javascript module for all alerts, notifications, and custom popup dialogs
 | 
					 | 
				
			||||||
        function Prompt() {
 | 
					 | 
				
			||||||
            let toast = function (c) {
 | 
					 | 
				
			||||||
                const {
 | 
					 | 
				
			||||||
                    msg = "",
 | 
					 | 
				
			||||||
                    icon = "success",
 | 
					 | 
				
			||||||
                    position = "top-end",
 | 
					 | 
				
			||||||
                } = c
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
                const Toast = Swal.mixin({
 | 
					 | 
				
			||||||
                    toast: true,
 | 
					 | 
				
			||||||
                    title: msg,
 | 
					 | 
				
			||||||
                    position: position,
 | 
					 | 
				
			||||||
                    icon: icon,
 | 
					 | 
				
			||||||
                    showConfirmButton: false,
 | 
					 | 
				
			||||||
                    timer: 3000,
 | 
					 | 
				
			||||||
                    timerProgressBar: true,
 | 
					 | 
				
			||||||
                    didOpen: (toast) => {
 | 
					 | 
				
			||||||
                        toast.addEventListener('mouseenter', Swal.stopTimer)
 | 
					 | 
				
			||||||
                        toast.addEventListener('mouseleave', Swal.resumeTimer)
 | 
					 | 
				
			||||||
                    }
 | 
					 | 
				
			||||||
                })
 | 
					 | 
				
			||||||
                Toast.fire({})
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            let success = function (c) {
 | 
					 | 
				
			||||||
                const {
 | 
					 | 
				
			||||||
                    msg = "",
 | 
					 | 
				
			||||||
                    title = "",
 | 
					 | 
				
			||||||
                    footer = "",
 | 
					 | 
				
			||||||
                } = c
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
                Swal.fire({
 | 
					 | 
				
			||||||
                    icon: 'success',
 | 
					 | 
				
			||||||
                    title: title,
 | 
					 | 
				
			||||||
                    text: msg,
 | 
					 | 
				
			||||||
                    footer: footer,
 | 
					 | 
				
			||||||
                })
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            let error = function (c) {
 | 
					 | 
				
			||||||
                const {
 | 
					 | 
				
			||||||
                    msg = "",
 | 
					 | 
				
			||||||
                    title = "",
 | 
					 | 
				
			||||||
                    footer = "",
 | 
					 | 
				
			||||||
                } = c
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
                Swal.fire({
 | 
					 | 
				
			||||||
                    icon: 'error',
 | 
					 | 
				
			||||||
                    title: title,
 | 
					 | 
				
			||||||
                    text: msg,
 | 
					 | 
				
			||||||
                    footer: footer,
 | 
					 | 
				
			||||||
                })
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            async function custom(c) {
 | 
					 | 
				
			||||||
                const {
 | 
					 | 
				
			||||||
                    msg = "",
 | 
					 | 
				
			||||||
                    title = "",
 | 
					 | 
				
			||||||
                } = c;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
                const {value: formValues} = await Swal.fire({
 | 
					 | 
				
			||||||
                    title: title,
 | 
					 | 
				
			||||||
                    html: msg,
 | 
					 | 
				
			||||||
                    backdrop: false,
 | 
					 | 
				
			||||||
                    focusConfirm: false,
 | 
					 | 
				
			||||||
                    showCancelButton: true,
 | 
					 | 
				
			||||||
                    willOpen: () => {
 | 
					 | 
				
			||||||
                        console.log("test")
 | 
					 | 
				
			||||||
                        const elem = document.getElementById('reservation-dates-modal')
 | 
					 | 
				
			||||||
                        const rp = new DateRangePicker(elem, {
 | 
					 | 
				
			||||||
                            "format": "yyyy-mm-dd",
 | 
					 | 
				
			||||||
                            showOnFocus: true,
 | 
					 | 
				
			||||||
                        });
 | 
					 | 
				
			||||||
                    },
 | 
					 | 
				
			||||||
                    didOpen: () => {
 | 
					 | 
				
			||||||
                        return [
 | 
					 | 
				
			||||||
                            document.getElementById('start').removeAttribute("disabled"),
 | 
					 | 
				
			||||||
                            document.getElementById('end').removeAttribute("disabled"),
 | 
					 | 
				
			||||||
                        ]
 | 
					 | 
				
			||||||
                    },
 | 
					 | 
				
			||||||
                    preConfirm: () => {
 | 
					 | 
				
			||||||
                        return [
 | 
					 | 
				
			||||||
                            document.getElementById('start').value,
 | 
					 | 
				
			||||||
                            document.getElementById('end').value,
 | 
					 | 
				
			||||||
                        ]
 | 
					 | 
				
			||||||
                    },
 | 
					 | 
				
			||||||
                })
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
                if (formValues) {
 | 
					 | 
				
			||||||
                    Swal.fire(JSON.stringify(formValues))
 | 
					 | 
				
			||||||
                }
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            return {
 | 
					 | 
				
			||||||
                toast: toast,
 | 
					 | 
				
			||||||
                success: success,
 | 
					 | 
				
			||||||
                error: error,
 | 
					 | 
				
			||||||
                custom: custom,
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        document.getElementById("dummy").addEventListener('click', () => {
 | 
					 | 
				
			||||||
            notify("This is a message", "success");
 | 
					 | 
				
			||||||
            // notifyModal("title", "text", "success", "confirm");
 | 
					 | 
				
			||||||
            // Prompt().toast({msg: "Prompt Test"})
 | 
					 | 
				
			||||||
            Prompt().success({msg: "Success!"})
 | 
					 | 
				
			||||||
            // Prompt().error({msg: "Ooops"})
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            let html = `
 | 
					 | 
				
			||||||
                <form action="reservation.html" method="get" novalidate class="needs-validation">
 | 
					 | 
				
			||||||
                    <div id="reservation-dates-modal" class="row">
 | 
					 | 
				
			||||||
                        <div class="col mb-3">
 | 
					 | 
				
			||||||
                            <input disabled required type="text" class="form-control" name="start" id="start" placeholder="Arrival">
 | 
					 | 
				
			||||||
                        </div>
 | 
					 | 
				
			||||||
                        <div class="col mb-3">
 | 
					 | 
				
			||||||
                            <input disabled required type="text" class="form-control" name="end" id="end" placeholder="Departure">
 | 
					 | 
				
			||||||
                        </div>
 | 
					 | 
				
			||||||
                    </div>
 | 
					 | 
				
			||||||
                </form>
 | 
					 | 
				
			||||||
            `;
 | 
					 | 
				
			||||||
            Prompt().custom({title: "Choose your dates", msg: html})
 | 
					 | 
				
			||||||
        });
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    </script>
 | 
					 | 
				
			||||||
</body>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
</html>
 | 
					 | 
				
			||||||
@ -4,16 +4,13 @@
 | 
				
			|||||||
    <div class="row">
 | 
					    <div class="row">
 | 
				
			||||||
        <div class="col">
 | 
					        <div class="col">
 | 
				
			||||||
            <h1>This is the about page</h1>
 | 
					            <h1>This is the about page</h1>
 | 
				
			||||||
            <p>This is the content</p>
 | 
					            <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent sed convallis urna, vitae congue
 | 
				
			||||||
 | 
					                odio. Sed pulvinar diam a odio tristique, nec porta eros suscipit. Sed lacinia ut nisl ultrices
 | 
				
			||||||
            <p>This came from the template: {{index .StringMap "test"}}</p>
 | 
					                condimentum. Vivamus imperdiet sapien sit amet mauris ornare accumsan. Proin varius imperdiet
 | 
				
			||||||
 | 
					                gravida. Suspendisse posuere velit leo, sit amet egestas quam porta quis. Duis in nulla eu quam
 | 
				
			||||||
            <p>
 | 
					                iaculis iaculis. Etiam commodo gravida venenatis. Phasellus in vehicula est, aliquam condimentum
 | 
				
			||||||
                {{if ne (index .StringMap "remote_ip") ""}}
 | 
					                nisi. In id ligula lacinia, varius leo vel, tincidunt libero. Nullam cursus vel lectus at consequat.
 | 
				
			||||||
                Your remote IP address is {{index .StringMap "remote_ip"}}
 | 
					                Quisque malesuada efficitur sem et sollicitudin. Donec eget tincidunt arcu. Quisque ut posuere ex.
 | 
				
			||||||
                {{else}}
 | 
					 | 
				
			||||||
                I don't know your ip address yet. Visit the <a href="/"></a> so I can set it.
 | 
					 | 
				
			||||||
                {{end}}
 | 
					 | 
				
			||||||
            </p>
 | 
					            </p>
 | 
				
			||||||
        </div>
 | 
					        </div>
 | 
				
			||||||
    </div>
 | 
					    </div>
 | 
				
			||||||
 | 
				
			|||||||
@ -5,17 +5,242 @@
 | 
				
			|||||||
<head>
 | 
					<head>
 | 
				
			||||||
    <meta charset="UTF-8">
 | 
					    <meta charset="UTF-8">
 | 
				
			||||||
    <meta name="viewport" content="width=device-width, initial-scale=1">
 | 
					    <meta name="viewport" content="width=device-width, initial-scale=1">
 | 
				
			||||||
    <title>About page</title>
 | 
					    <title>Title</title>
 | 
				
			||||||
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet"
 | 
					    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet"
 | 
				
			||||||
        integrity="sha384-QWTKZyjpPEjISv5WaRU9OFeRpok6YctnYmDr5pNlyT2bRjXh0JMhjY6hW+ALEwIH" crossorigin="anonymous">
 | 
					        integrity="sha384-QWTKZyjpPEjISv5WaRU9OFeRpok6YctnYmDr5pNlyT2bRjXh0JMhjY6hW+ALEwIH" crossorigin="anonymous">
 | 
				
			||||||
 | 
					    <link rel="stylesheet"
 | 
				
			||||||
 | 
					        href="https://cdn.jsdelivr.net/npm/vanillajs-datepicker@1.3.4/dist/css/datepicker-bulma.min.css">
 | 
				
			||||||
 | 
					    <link rel="stylesheet" type="text/css" href="https://unpkg.com/notie/dist/notie.min.css">
 | 
				
			||||||
 | 
					    <link href="/static/css/style.css" rel="stylesheet">
 | 
				
			||||||
    {{block "css" .}}
 | 
					    {{block "css" .}}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    {{end}}
 | 
					    {{end}}
 | 
				
			||||||
</head>
 | 
					</head>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<body>
 | 
				
			||||||
 | 
					    <nav class="navbar navbar-expand-lg bg-body-tertiary" data-bs-theme="dark">
 | 
				
			||||||
 | 
					        <div class="container-fluid">
 | 
				
			||||||
 | 
					            <a class="navbar-brand" href="#">Navbar</a>
 | 
				
			||||||
 | 
					            <button class="navbar-toggler" type="button" data-bs-toggle="collapse"
 | 
				
			||||||
 | 
					                data-bs-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false"
 | 
				
			||||||
 | 
					                aria-label="Toggle navigation">
 | 
				
			||||||
 | 
					                <span class="navbar-toggler-icon"></span>
 | 
				
			||||||
 | 
					            </button>
 | 
				
			||||||
 | 
					            <div class="collapse navbar-collapse" id="navbarSupportedContent">
 | 
				
			||||||
 | 
					                <ul class="navbar-nav me-auto mb-2 mb-lg-0">
 | 
				
			||||||
 | 
					                    <li class="nav-item">
 | 
				
			||||||
 | 
					                        <a class="nav-link active" aria-current="page" href="/">Home</a>
 | 
				
			||||||
 | 
					                    </li>
 | 
				
			||||||
 | 
					                    <li class="nav-item">
 | 
				
			||||||
 | 
					                        <a class="nav-link" href="/about">About</a>
 | 
				
			||||||
 | 
					                    </li>
 | 
				
			||||||
 | 
					                    <li class="nav-item dropdown">
 | 
				
			||||||
 | 
					                        <a class="nav-link dropdown-toggle" href="#" role="button" data-bs-toggle="dropdown"
 | 
				
			||||||
 | 
					                            aria-expanded="false">
 | 
				
			||||||
 | 
					                            Rooms
 | 
				
			||||||
 | 
					                        </a>
 | 
				
			||||||
 | 
					                        <ul class="dropdown-menu">
 | 
				
			||||||
 | 
					                            <li><a class="dropdown-item" href="/generals-quarters">General's Quarters</a></li>
 | 
				
			||||||
 | 
					                            <li><a class="dropdown-item" href="/majors-suite">Major's Suite</a></li>
 | 
				
			||||||
 | 
					                        </ul>
 | 
				
			||||||
 | 
					                    </li>
 | 
				
			||||||
 | 
					                    <li class="nav-item">
 | 
				
			||||||
 | 
					                        <a class="nav-link" href="/reservation">Book Now</a>
 | 
				
			||||||
 | 
					                    </li>
 | 
				
			||||||
 | 
					                    <li class="nav-item">
 | 
				
			||||||
 | 
					                        <a class="nav-link" href="/contact">Contact</a>
 | 
				
			||||||
 | 
					                    </li>
 | 
				
			||||||
 | 
					                </ul>
 | 
				
			||||||
 | 
					            </div>
 | 
				
			||||||
 | 
					        </div>
 | 
				
			||||||
 | 
					    </nav>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    <body>
 | 
					    <body>
 | 
				
			||||||
        {{block "content" .}}
 | 
					        {{block "content" .}}
 | 
				
			||||||
        {{end}}
 | 
					        {{end}}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        <div class="row">
 | 
				
			||||||
 | 
					            <footer class="py-3 my-4">
 | 
				
			||||||
 | 
					                <ul class="nav justify-content-center border-bottom pb-3 mb-3">
 | 
				
			||||||
 | 
					                    <li class="nav-item"><a href="/" class="nav-link px-2 text-body-secondary">Home</a></li>
 | 
				
			||||||
 | 
					                    <li class="nav-item"><a href="/contact" class="nav-link px-2 text-body-secondary">Contact</a></li>
 | 
				
			||||||
 | 
					                    <li class="nav-item"><a href="/about" class="nav-link px-2 text-body-secondary">About</a></li>
 | 
				
			||||||
 | 
					                </ul>
 | 
				
			||||||
 | 
					                <p class="text-center text-body-secondary">© 2024 Company, Inc</p>
 | 
				
			||||||
 | 
					            </footer>
 | 
				
			||||||
 | 
					        </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js"
 | 
				
			||||||
 | 
					            integrity="sha384-YvpcrYf0tY3lHB60NNkmXc5s9fDVZLESaAA55NDzOxhy9GkcIdslK1eN7N6jIeHz"
 | 
				
			||||||
 | 
					            crossorigin="anonymous"></script>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        <script src="https://cdn.jsdelivr.net/npm/vanillajs-datepicker@1.3.4/dist/js/datepicker-full.min.js"></script>
 | 
				
			||||||
 | 
					        <script src="https://unpkg.com/notie"></script>
 | 
				
			||||||
 | 
					        <script src="https://cdn.jsdelivr.net/npm/sweetalert2@11"></script>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        <script>
 | 
				
			||||||
 | 
					            (() => {
 | 
				
			||||||
 | 
					                'use strict'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                // Fetch all the forms we want to apply custom Bootstrap validation styles to
 | 
				
			||||||
 | 
					                const forms = document.querySelectorAll('.needs-validation')
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                // Loop over them and prevent submission
 | 
				
			||||||
 | 
					                Array.from(forms).forEach(form => {
 | 
				
			||||||
 | 
					                    form.addEventListener('submit', event => {
 | 
				
			||||||
 | 
					                        if (!form.checkValidity()) {
 | 
				
			||||||
 | 
					                            event.preventDefault()
 | 
				
			||||||
 | 
					                            event.stopPropagation()
 | 
				
			||||||
 | 
					                        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                        form.classList.add('was-validated')
 | 
				
			||||||
 | 
					                    }, false)
 | 
				
			||||||
 | 
					                })
 | 
				
			||||||
 | 
					            })()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            // notie
 | 
				
			||||||
 | 
					            function notify(msg, msgType) {
 | 
				
			||||||
 | 
					                notie.alert({
 | 
				
			||||||
 | 
					                    type: msgType,
 | 
				
			||||||
 | 
					                    text: msg,
 | 
				
			||||||
 | 
					                });
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            // sweetalert2
 | 
				
			||||||
 | 
					            function notifyModal(title, text, icon, confirmButtonText) {
 | 
				
			||||||
 | 
					                Swal.fire({
 | 
				
			||||||
 | 
					                    title: title,
 | 
				
			||||||
 | 
					                    text: text,
 | 
				
			||||||
 | 
					                    icon: icon,
 | 
				
			||||||
 | 
					                    confirmButtonText: confirmButtonText
 | 
				
			||||||
 | 
					                })
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            // Prompt is out Javascript module for all alerts, notifications, and custom popup dialogs
 | 
				
			||||||
 | 
					            function Prompt() {
 | 
				
			||||||
 | 
					                let toast = function (c) {
 | 
				
			||||||
 | 
					                    const {
 | 
				
			||||||
 | 
					                        msg = "",
 | 
				
			||||||
 | 
					                        icon = "success",
 | 
				
			||||||
 | 
					                        position = "top-end",
 | 
				
			||||||
 | 
					                    } = c
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                    const Toast = Swal.mixin({
 | 
				
			||||||
 | 
					                        toast: true,
 | 
				
			||||||
 | 
					                        title: msg,
 | 
				
			||||||
 | 
					                        position: position,
 | 
				
			||||||
 | 
					                        icon: icon,
 | 
				
			||||||
 | 
					                        showConfirmButton: false,
 | 
				
			||||||
 | 
					                        timer: 3000,
 | 
				
			||||||
 | 
					                        timerProgressBar: true,
 | 
				
			||||||
 | 
					                        didOpen: (toast) => {
 | 
				
			||||||
 | 
					                            toast.addEventListener('mouseenter', Swal.stopTimer)
 | 
				
			||||||
 | 
					                            toast.addEventListener('mouseleave', Swal.resumeTimer)
 | 
				
			||||||
 | 
					                        }
 | 
				
			||||||
 | 
					                    })
 | 
				
			||||||
 | 
					                    Toast.fire({})
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                let success = function (c) {
 | 
				
			||||||
 | 
					                    const {
 | 
				
			||||||
 | 
					                        msg = "",
 | 
				
			||||||
 | 
					                        title = "",
 | 
				
			||||||
 | 
					                        footer = "",
 | 
				
			||||||
 | 
					                    } = c
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                    Swal.fire({
 | 
				
			||||||
 | 
					                        icon: 'success',
 | 
				
			||||||
 | 
					                        title: title,
 | 
				
			||||||
 | 
					                        text: msg,
 | 
				
			||||||
 | 
					                        footer: footer,
 | 
				
			||||||
 | 
					                    })
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                let error = function (c) {
 | 
				
			||||||
 | 
					                    const {
 | 
				
			||||||
 | 
					                        msg = "",
 | 
				
			||||||
 | 
					                        title = "",
 | 
				
			||||||
 | 
					                        footer = "",
 | 
				
			||||||
 | 
					                    } = c
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                    Swal.fire({
 | 
				
			||||||
 | 
					                        icon: 'error',
 | 
				
			||||||
 | 
					                        title: title,
 | 
				
			||||||
 | 
					                        text: msg,
 | 
				
			||||||
 | 
					                        footer: footer,
 | 
				
			||||||
 | 
					                    })
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                async function custom(c) {
 | 
				
			||||||
 | 
					                    const {
 | 
				
			||||||
 | 
					                        msg = "",
 | 
				
			||||||
 | 
					                        title = "",
 | 
				
			||||||
 | 
					                    } = c;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                    const {value: formValues} = await Swal.fire({
 | 
				
			||||||
 | 
					                        title: title,
 | 
				
			||||||
 | 
					                        html: msg,
 | 
				
			||||||
 | 
					                        backdrop: false,
 | 
				
			||||||
 | 
					                        focusConfirm: false,
 | 
				
			||||||
 | 
					                        showCancelButton: true,
 | 
				
			||||||
 | 
					                        willOpen: () => {
 | 
				
			||||||
 | 
					                            console.log("test")
 | 
				
			||||||
 | 
					                            const elem = document.getElementById('reservation-dates-modal')
 | 
				
			||||||
 | 
					                            const rp = new DateRangePicker(elem, {
 | 
				
			||||||
 | 
					                                "format": "yyyy-mm-dd",
 | 
				
			||||||
 | 
					                                showOnFocus: true,
 | 
				
			||||||
 | 
					                            });
 | 
				
			||||||
 | 
					                        },
 | 
				
			||||||
 | 
					                        didOpen: () => {
 | 
				
			||||||
 | 
					                            return [
 | 
				
			||||||
 | 
					                                document.getElementById('start').removeAttribute("disabled"),
 | 
				
			||||||
 | 
					                                document.getElementById('end').removeAttribute("disabled"),
 | 
				
			||||||
 | 
					                            ]
 | 
				
			||||||
 | 
					                        },
 | 
				
			||||||
 | 
					                        preConfirm: () => {
 | 
				
			||||||
 | 
					                            return [
 | 
				
			||||||
 | 
					                                document.getElementById('start').value,
 | 
				
			||||||
 | 
					                                document.getElementById('end').value,
 | 
				
			||||||
 | 
					                            ]
 | 
				
			||||||
 | 
					                        },
 | 
				
			||||||
 | 
					                    })
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                    if (formValues) {
 | 
				
			||||||
 | 
					                        Swal.fire(JSON.stringify(formValues))
 | 
				
			||||||
 | 
					                    }
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                return {
 | 
				
			||||||
 | 
					                    toast: toast,
 | 
				
			||||||
 | 
					                    success: success,
 | 
				
			||||||
 | 
					                    error: error,
 | 
				
			||||||
 | 
					                    custom: custom,
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            // document.getElementById("dummy").addEventListener('click', () => {
 | 
				
			||||||
 | 
					            //     notify("This is a message", "success");
 | 
				
			||||||
 | 
					            //     // notifyModal("title", "text", "success", "confirm");
 | 
				
			||||||
 | 
					            //     // Prompt().toast({msg: "Prompt Test"})
 | 
				
			||||||
 | 
					            //     Prompt().success({msg: "Success!"})
 | 
				
			||||||
 | 
					            //     // Prompt().error({msg: "Ooops"})
 | 
				
			||||||
 | 
					            //
 | 
				
			||||||
 | 
					            //     let html = `
 | 
				
			||||||
 | 
					            //     <form action="reservation.html" method="get" novalidate class="needs-validation">
 | 
				
			||||||
 | 
					            //         <div id="reservation-dates-modal" class="row">
 | 
				
			||||||
 | 
					            //             <div class="col mb-3">
 | 
				
			||||||
 | 
					            //                 <input disabled required type="text" class="form-control" name="start" id="start" placeholder="Arrival">
 | 
				
			||||||
 | 
					            //             </div>
 | 
				
			||||||
 | 
					            //             <div class="col mb-3">
 | 
				
			||||||
 | 
					            //                 <input disabled required type="text" class="form-control" name="end" id="end" placeholder="Departure">
 | 
				
			||||||
 | 
					            //             </div>
 | 
				
			||||||
 | 
					            //         </div>
 | 
				
			||||||
 | 
					            //     </form>
 | 
				
			||||||
 | 
					            // `;
 | 
				
			||||||
 | 
					            //     Prompt().custom({title: "Choose your dates", msg: html})
 | 
				
			||||||
 | 
					            // });
 | 
				
			||||||
 | 
					        </script>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        {{block "js" .}}
 | 
					        {{block "js" .}}
 | 
				
			||||||
        {{end}}
 | 
					        {{end}}
 | 
				
			||||||
    </body>
 | 
					    </body>
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										18
									
								
								templates/contact.page.tmpl
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										18
									
								
								templates/contact.page.tmpl
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,18 @@
 | 
				
			|||||||
 | 
					{{template "base" .}}
 | 
				
			||||||
 | 
					{{define "content"}}
 | 
				
			||||||
 | 
					<div class="container">
 | 
				
			||||||
 | 
					    <div class="row">
 | 
				
			||||||
 | 
					        <div class="col">
 | 
				
			||||||
 | 
					            <h1 class="text-center mt-3">Contact</h1>
 | 
				
			||||||
 | 
					            <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent sed convallis urna, vitae congue
 | 
				
			||||||
 | 
					                odio. Sed pulvinar diam a odio tristique, nec porta eros suscipit. Sed lacinia ut nisl ultrices
 | 
				
			||||||
 | 
					                condimentum. Vivamus imperdiet sapien sit amet mauris ornare accumsan. Proin varius imperdiet
 | 
				
			||||||
 | 
					                gravida. Suspendisse posuere velit leo, sit amet egestas quam porta quis. Duis in nulla eu quam
 | 
				
			||||||
 | 
					                iaculis iaculis. Etiam commodo gravida venenatis. Phasellus in vehicula est, aliquam condimentum
 | 
				
			||||||
 | 
					                nisi. In id ligula lacinia, varius leo vel, tincidunt libero. Nullam cursus vel lectus at consequat.
 | 
				
			||||||
 | 
					                Quisque malesuada efficitur sem et sollicitudin. Donec eget tincidunt arcu. Quisque ut posuere ex.
 | 
				
			||||||
 | 
					            </p>
 | 
				
			||||||
 | 
					        </div>
 | 
				
			||||||
 | 
					    </div>
 | 
				
			||||||
 | 
					</div>
 | 
				
			||||||
 | 
					{{end}}
 | 
				
			||||||
							
								
								
									
										30
									
								
								templates/generals.page.tmpl
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										30
									
								
								templates/generals.page.tmpl
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,30 @@
 | 
				
			|||||||
 | 
					{{template "base" .}}
 | 
				
			||||||
 | 
					{{define "content"}}
 | 
				
			||||||
 | 
					<div class="container">
 | 
				
			||||||
 | 
					    <div class="row">
 | 
				
			||||||
 | 
					        <div class="col">
 | 
				
			||||||
 | 
					            <img src="/static/images/generals-quarters.png" class="img-fluid mx-auto d-block img-thumbnail room-image"
 | 
				
			||||||
 | 
					                alt="room page">
 | 
				
			||||||
 | 
					        </div>
 | 
				
			||||||
 | 
					    </div>
 | 
				
			||||||
 | 
					    <div class="row">
 | 
				
			||||||
 | 
					        <div class="col">
 | 
				
			||||||
 | 
					            <h1 class="text-center mt-3">General's Quarters</h1>
 | 
				
			||||||
 | 
					            <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent sed convallis urna, vitae congue
 | 
				
			||||||
 | 
					                odio. Sed pulvinar diam a odio tristique, nec porta eros suscipit. Sed lacinia ut nisl ultrices
 | 
				
			||||||
 | 
					                condimentum. Vivamus imperdiet sapien sit amet mauris ornare accumsan. Proin varius imperdiet
 | 
				
			||||||
 | 
					                gravida. Suspendisse posuere velit leo, sit amet egestas quam porta quis. Duis in nulla eu quam
 | 
				
			||||||
 | 
					                iaculis iaculis. Etiam commodo gravida venenatis. Phasellus in vehicula est, aliquam condimentum
 | 
				
			||||||
 | 
					                nisi. In id ligula lacinia, varius leo vel, tincidunt libero. Nullam cursus vel lectus at consequat.
 | 
				
			||||||
 | 
					                Quisque malesuada efficitur sem et sollicitudin. Donec eget tincidunt arcu. Quisque ut posuere ex.
 | 
				
			||||||
 | 
					            </p>
 | 
				
			||||||
 | 
					        </div>
 | 
				
			||||||
 | 
					    </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    <div class="row">
 | 
				
			||||||
 | 
					        <div class="d-flex justify-content-center py-3">
 | 
				
			||||||
 | 
					            <a href="/make-reservation-gq" class="btn btn-success">Check Availability</a>
 | 
				
			||||||
 | 
					        </div>
 | 
				
			||||||
 | 
					    </div>
 | 
				
			||||||
 | 
					</div>
 | 
				
			||||||
 | 
					{{end}}
 | 
				
			||||||
@ -1,11 +1,63 @@
 | 
				
			|||||||
{{template "base" .}}
 | 
					{{template "base" .}}
 | 
				
			||||||
{{define "content"}}
 | 
					{{define "content"}}
 | 
				
			||||||
 | 
					<div id="hotelcarousel" class="carousel slide carousel-fade">
 | 
				
			||||||
 | 
					    <div class="carousel-indicators">
 | 
				
			||||||
 | 
					        <button type="button" data-bs-target="#hotelcarousel" data-bs-slide-to="0" class="active" aria-current="true"
 | 
				
			||||||
 | 
					            aria-label="Slide 1"></button>
 | 
				
			||||||
 | 
					        <button type="button" data-bs-target="#hotelcarousel" data-bs-slide-to="1" aria-label="Slide 2"></button>
 | 
				
			||||||
 | 
					        <button type="button" data-bs-target="#hotelcarousel" data-bs-slide-to="2" aria-label="Slide 3"></button>
 | 
				
			||||||
 | 
					    </div>
 | 
				
			||||||
 | 
					    <div class="carousel-inner">
 | 
				
			||||||
 | 
					        <div class="carousel-item active">
 | 
				
			||||||
 | 
					            <img src="/static/images/woman-laptop.png" class="d-block w-100" alt="Woman with a laptop">
 | 
				
			||||||
 | 
					            <div class="carousel-caption d-none d-md-block">
 | 
				
			||||||
 | 
					                <h5>First slide label</h5>
 | 
				
			||||||
 | 
					                <p>Some representative placeholder content for the first slide.</p>
 | 
				
			||||||
 | 
					            </div>
 | 
				
			||||||
 | 
					        </div>
 | 
				
			||||||
 | 
					        <div class="carousel-item">
 | 
				
			||||||
 | 
					            <img src="/static/images/tray.png" class="d-block w-100" alt="Tray with a coffee">
 | 
				
			||||||
 | 
					            <div class="carousel-caption d-none d-md-block">
 | 
				
			||||||
 | 
					                <h5>Second slide label</h5>
 | 
				
			||||||
 | 
					                <p>Some representative placeholder content for the first slide.</p>
 | 
				
			||||||
 | 
					            </div>
 | 
				
			||||||
 | 
					        </div>
 | 
				
			||||||
 | 
					        <div class="carousel-item">
 | 
				
			||||||
 | 
					            <img src="/static/images/outside.png" class="d-block w-100" alt="Outside">
 | 
				
			||||||
 | 
					            <div class="carousel-caption d-none d-md-block">
 | 
				
			||||||
 | 
					                <h5>Third slide label</h5>
 | 
				
			||||||
 | 
					                <p>Some representative placeholder content for the first slide.</p>
 | 
				
			||||||
 | 
					            </div>
 | 
				
			||||||
 | 
					        </div>
 | 
				
			||||||
 | 
					    </div>
 | 
				
			||||||
 | 
					    <button class="carousel-control-prev" type="button" data-bs-target="#hotelcarousel" data-bs-slide="prev">
 | 
				
			||||||
 | 
					        <span class="carousel-control-prev-icon" aria-hidden="true"></span>
 | 
				
			||||||
 | 
					        <span class="visually-hidden">Previous</span>
 | 
				
			||||||
 | 
					    </button>
 | 
				
			||||||
 | 
					    <button class="carousel-control-next" type="button" data-bs-target="#hotelcarousel" data-bs-slide="next">
 | 
				
			||||||
 | 
					        <span class="carousel-control-next-icon" aria-hidden="true"></span>
 | 
				
			||||||
 | 
					        <span class="visually-hidden">Next</span>
 | 
				
			||||||
 | 
					    </button>
 | 
				
			||||||
 | 
					</div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
<div class="container">
 | 
					<div class="container">
 | 
				
			||||||
    <div class="row">
 | 
					    <div class="row">
 | 
				
			||||||
        <div class="col">
 | 
					        <div class="col">
 | 
				
			||||||
            <h1>This is the home page</h1>
 | 
					            <h1 class="text-center mt-3">Hello, world!</h1>
 | 
				
			||||||
            <p>This is the content</p>
 | 
					            <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent sed convallis urna, vitae congue
 | 
				
			||||||
            <img src="/static/images/outside.png" alt="outside image" height="1330" width="2364">
 | 
					                odio. Sed pulvinar diam a odio tristique, nec porta eros suscipit. Sed lacinia ut nisl ultrices
 | 
				
			||||||
 | 
					                condimentum. Vivamus imperdiet sapien sit amet mauris ornare accumsan. Proin varius imperdiet
 | 
				
			||||||
 | 
					                gravida. Suspendisse posuere velit leo, sit amet egestas quam porta quis. Duis in nulla eu quam
 | 
				
			||||||
 | 
					                iaculis iaculis. Etiam commodo gravida venenatis. Phasellus in vehicula est, aliquam condimentum
 | 
				
			||||||
 | 
					                nisi. In id ligula lacinia, varius leo vel, tincidunt libero. Nullam cursus vel lectus at consequat.
 | 
				
			||||||
 | 
					                Quisque malesuada efficitur sem et sollicitudin. Donec eget tincidunt arcu. Quisque ut posuere ex.
 | 
				
			||||||
 | 
					            </p>
 | 
				
			||||||
 | 
					        </div>
 | 
				
			||||||
 | 
					    </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    <div class="row">
 | 
				
			||||||
 | 
					        <div class="d-flex justify-content-center py-3">
 | 
				
			||||||
 | 
					            <a href="/make-reservation" class="btn btn-success">Book Now</a>
 | 
				
			||||||
        </div>
 | 
					        </div>
 | 
				
			||||||
    </div>
 | 
					    </div>
 | 
				
			||||||
</div>
 | 
					</div>
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										30
									
								
								templates/majors.page.tmpl
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										30
									
								
								templates/majors.page.tmpl
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,30 @@
 | 
				
			|||||||
 | 
					{{template "base" .}}
 | 
				
			||||||
 | 
					{{define "content"}}
 | 
				
			||||||
 | 
					<div class="container">
 | 
				
			||||||
 | 
					    <div class="row">
 | 
				
			||||||
 | 
					        <div class="col">
 | 
				
			||||||
 | 
					            <img src="/static/images/marjors-suite.png" class="img-fluid mx-auto d-block img-thumbnail room-image"
 | 
				
			||||||
 | 
					                alt="room page">
 | 
				
			||||||
 | 
					        </div>
 | 
				
			||||||
 | 
					    </div>
 | 
				
			||||||
 | 
					    <div class="row">
 | 
				
			||||||
 | 
					        <div class="col">
 | 
				
			||||||
 | 
					            <h1 class="text-center mt-3">Major's Suite</h1>
 | 
				
			||||||
 | 
					            <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent sed convallis urna, vitae congue
 | 
				
			||||||
 | 
					                odio. Sed pulvinar diam a odio tristique, nec porta eros suscipit. Sed lacinia ut nisl ultrices
 | 
				
			||||||
 | 
					                condimentum. Vivamus imperdiet sapien sit amet mauris ornare accumsan. Proin varius imperdiet
 | 
				
			||||||
 | 
					                gravida. Suspendisse posuere velit leo, sit amet egestas quam porta quis. Duis in nulla eu quam
 | 
				
			||||||
 | 
					                iaculis iaculis. Etiam commodo gravida venenatis. Phasellus in vehicula est, aliquam condimentum
 | 
				
			||||||
 | 
					                nisi. In id ligula lacinia, varius leo vel, tincidunt libero. Nullam cursus vel lectus at consequat.
 | 
				
			||||||
 | 
					                Quisque malesuada efficitur sem et sollicitudin. Donec eget tincidunt arcu. Quisque ut posuere ex.
 | 
				
			||||||
 | 
					            </p>
 | 
				
			||||||
 | 
					        </div>
 | 
				
			||||||
 | 
					    </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    <div class="row">
 | 
				
			||||||
 | 
					        <div class="d-flex justify-content-center py-3">
 | 
				
			||||||
 | 
					            <a href="/make-reservation-ms" class="btn btn-success">Check Availability</a>
 | 
				
			||||||
 | 
					        </div>
 | 
				
			||||||
 | 
					    </div>
 | 
				
			||||||
 | 
					</div>
 | 
				
			||||||
 | 
					{{end}}
 | 
				
			||||||
							
								
								
									
										34
									
								
								templates/make-reservation.page.tmpl
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										34
									
								
								templates/make-reservation.page.tmpl
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,34 @@
 | 
				
			|||||||
 | 
					{{template "base" .}}
 | 
				
			||||||
 | 
					{{define "content"}}
 | 
				
			||||||
 | 
					<div class="container">
 | 
				
			||||||
 | 
					    <div class="row">
 | 
				
			||||||
 | 
					        <div class="col">
 | 
				
			||||||
 | 
					            <h1 class="text-center mt-3">Make reservation</h1>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            <form method="post" action="" class="needs-validation" novalidate>
 | 
				
			||||||
 | 
					                <div class="form-group mt-5">
 | 
				
			||||||
 | 
					                    <label for="first_name">First name:</label>
 | 
				
			||||||
 | 
					                    <input type="text" name="first_name" id="first_name" class="form-control" required
 | 
				
			||||||
 | 
					                        autocomplete="off">
 | 
				
			||||||
 | 
					                </div>
 | 
				
			||||||
 | 
					                <div class="form-group mt-5">
 | 
				
			||||||
 | 
					                    <label for="last_name">Last name:</label>
 | 
				
			||||||
 | 
					                    <input type="text" name="last_name" id="last_name" class="form-control" required autocomplete="off">
 | 
				
			||||||
 | 
					                </div>
 | 
				
			||||||
 | 
					                <div class="form-group mt-5">
 | 
				
			||||||
 | 
					                    <label for="email">Email:</label>
 | 
				
			||||||
 | 
					                    <input type="email" name="email" id="email" class="form-control" required autocomplete="off">
 | 
				
			||||||
 | 
					                </div>
 | 
				
			||||||
 | 
					                <div class="form-group mt-5">
 | 
				
			||||||
 | 
					                    <label for="phone">Phone number:</label>
 | 
				
			||||||
 | 
					                    <input type="text" name="phone" id="phone" class="form-control" required autocomplete="off">
 | 
				
			||||||
 | 
					                </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                <hr>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                <input type="submit" class="btn btn-primary" value="Make Reservation">
 | 
				
			||||||
 | 
					            </form>
 | 
				
			||||||
 | 
					        </div>
 | 
				
			||||||
 | 
					    </div>
 | 
				
			||||||
 | 
					</div>
 | 
				
			||||||
 | 
					{{end}}
 | 
				
			||||||
							
								
								
									
										37
									
								
								templates/reservation.page.tmpl
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										37
									
								
								templates/reservation.page.tmpl
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,37 @@
 | 
				
			|||||||
 | 
					{{template "base" .}}
 | 
				
			||||||
 | 
					{{define "content"}}
 | 
				
			||||||
 | 
					<div class="container">
 | 
				
			||||||
 | 
					    <div class="row">
 | 
				
			||||||
 | 
					        <div class="col-md-3">
 | 
				
			||||||
 | 
					        </div>
 | 
				
			||||||
 | 
					        <div class="col-md-6">
 | 
				
			||||||
 | 
					            <h1 class="text-center mt-5">Search for Availability</h1>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            <form action="reservation.html" method="get" novalidate class="needs-validation">
 | 
				
			||||||
 | 
					                <div id="reservation-dates" class="row">
 | 
				
			||||||
 | 
					                    <div class="col mb-3">
 | 
				
			||||||
 | 
					                        <input required type="text" class="form-control" name="start" placeholder="Arrival">
 | 
				
			||||||
 | 
					                    </div>
 | 
				
			||||||
 | 
					                    <div class="col mb-3">
 | 
				
			||||||
 | 
					                        <input required type="text" class="form-control" name="end" placeholder="Departure">
 | 
				
			||||||
 | 
					                    </div>
 | 
				
			||||||
 | 
					                </div>
 | 
				
			||||||
 | 
					                <div class="mb-3">
 | 
				
			||||||
 | 
					                    <button type="submit" class="btn btn-primary mb-3">Search Availability</button>
 | 
				
			||||||
 | 
					                </div>
 | 
				
			||||||
 | 
					            </form>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        </div>
 | 
				
			||||||
 | 
					    </div>
 | 
				
			||||||
 | 
					</div>
 | 
				
			||||||
 | 
					{{end}}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					{{define "js"}}
 | 
				
			||||||
 | 
					<script>
 | 
				
			||||||
 | 
					    // vanillajs-datepicker
 | 
				
			||||||
 | 
					    const elem = document.getElementById('reservation-dates');
 | 
				
			||||||
 | 
					    const rangepicker = new DateRangePicker(elem, {
 | 
				
			||||||
 | 
					        "format": "yyyy-mm-dd",
 | 
				
			||||||
 | 
					    });
 | 
				
			||||||
 | 
					</script>
 | 
				
			||||||
 | 
					{{end}}
 | 
				
			||||||
		Reference in New Issue
	
	Block a user