Calculator Tools Calculator Tools
Create

Taxi App

Sep 16, 2023

About this app

A taxi booking application

Taxi App

Related apps

Put this on your site

Source

                    <html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width,initial-scale=1">

<title>Taxi App</title>
<meta name="description" content="A taxi booking application">
<meta name="keywords" content="taxi, app, booking">

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" rel="stylesheet"
integrity="sha384-EVSTQN3/azprG1Anm3QDgpJLIm9Nao0Yz1ztcQTwFspd3yD65VohhpuuCOmLASjC" crossorigin="anonymous">
<link href="https://stackpath.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet">

<script type="text/javascript">
try {
// App Javascript Goes Here. Place your entire script content inside the try block for error handling.

// This will run when the DOM is ready.
document.addEventListener("DOMContentLoaded", function() {
// Function to show login form
function showLoginForm() {
$("#main-container").html(`
<h1>Login</h1>
<form id="login-form" method="post" action="/login">
<div class="mb-3">
<label for="phone-number" class="form-label">Phone Number</label>
<input type="text" class="form-control" id="phone-number" name="phone_number" required>
</div>
<div class="mb-3">
<label for="password" class="form-label">Password</label>
<input type="password" class="form-control" id="password" name="password" required>
</div>
<button type="submit" class="btn btn-primary">Login</button>
</form>
`);
}

// Function to show dashboard
function showDashboard() {
$("#main-container").html(`
<h1>Welcome to the Taxi App!</h1>
<p>Welcome, {{ user_name }}! Your dashboard goes here.</p>
`);
}

// Function to show ride request form
function showRideRequestForm() {
$("#main-container").html(`
<h1>Request a Ride</h1>
<form id="ride-request-form" method="post" action="/request_ride">
<div class="mb-3">
<label for="ride-option" class="form-label">Ride Option</label>
<select class="form-select" id="ride-option" name="ride_option" required>
<option value="Standard">Standard</option>
<option value="Premium">Premium</option>
</select>
</div>
<div class="mb-3">
<label for="distance" class="form-label">Distance</label>
<input type="number" class="form-control" id="distance" name="distance" step="0.01" required>
</div>
<button type="submit" class="btn btn-primary">Request Ride</button>
</form>
`);
}

// Function to display flash messages
function showFlashMessage(message, type) {
var flashMessage = `<div class="alert alert-${type}" role="alert">${message}</div>`;
$("#main-container").prepend(flashMessage);
}

// Event handler for login form submission
$(document).on("submit", "#login-form", function(e) {
e.preventDefault();
var formData = $(this).serialize();
$.post("/login", formData, function(response) {
if (response.success) {
showFlashMessage(response.message, "success");
showDashboard();
} else {
showFlashMessage(response.message, "error");
}
});
});

// Event handler for ride request form submission
$(document).on("submit", "#ride-request-form", function(e) {
e.preventDefault();
var formData = $(this).serialize();
$.post("/request_ride", formData, function(response) {
if (response.success) {
showFlashMessage(response.message, "success");
showDashboard();
} else {
showFlashMessage(response.message, "error");
}
});
});

// Check if user is logged in and show the appropriate content
$.get("/dashboard", function(response) {
if (response.logged_in) {
showDashboard();
} else {
showLoginForm();
}
});
});

} catch (error) {
// This will throw the error to the parent window.
throw error;
}
</script>

<style>
/* App CSS Goes Here */
</style>
</head>
<body>
<div id="main-container" class="container">
<!-- App HTML Goes Here -->
</div>
</body>
</html>