Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file added close.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
93 changes: 93 additions & 0 deletions index.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,93 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Trek Travel</title>
<link rel="stylesheet" type="text/css" href="style.css">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/foundation/6.3.1/css/foundation.css" />
</head>

<body>
<div class="center-wrap">
<h1> Trek List </h1>

<section id="errors"></section>

<div class="row">
<div class="small-6 small-centered text-center columns">
<button class="button" id="load-trips"> Trips </button>
</div>
</div>
</div>

<section>
<section id="individual-trip"></section>
<section id="trip-list" class="row small-up-2 medium-up-3 large-up-3"></section>
<script id="trips-template" type="text/template">
<div class="column column-block title-boxes">
<p class="trip-link" data-trip-id="<%- data.id %>"><%- data.name %> </p>
</div>
</script>
</section>

<script id="individual-trip-template" type="text/template">
<h1>Generated by the trip details template</h1>
<ul>
<li>
Id: <%- data.id %>
</li>
<li>
Name: <%- data.name %>
</li>
<li>
Destination: <%- data.destination %>
</li>
<li>
Continent: <%- data.continent %>
</li>
<li>
About: <%- data.about %>
</li>
<li>
Category: <%- data.category %>
</li>
<li>
Weeks: <%- data.weeks %>
</li>
<li>
Cost: <%- data.cost %>
</li>
</ul>

<div id="message"></div>
<form action="https://trektravel.herokuapp.com/trips/<%- data.id%>/reserve" method="post">
<section>
<label>Name: </label>
<input type="text" id="name" name="name"></input>
</section>
<section>
<label>Age: </label>
<input type="text" id="age" name="age"></input>
</section>
<section>
<label>Email: </label>
<input type="text" id="email" name="email"></input>
</section>
<section class="button">
<button type="submit">Reserve</button>
</section>
</form>
</script>




<!-- script tags, i don't want anything to go below this. -->
<script src="https://code.jquery.com/jquery-2.1.4.min.js" type="text/javascript"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.8.3/underscore.js" integrity="sha256-SzKOQsVYGX1bmddyfPzGC6yXY/rWYGUSMOi6+T9gZ+0=" crossorigin="anonymous"></script>
<script src="index.js" type="text/javascript"></script>
</body>
</html>


<!-- id, name, continent, weeks -->
49 changes: 49 additions & 0 deletions index.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
var successTripsCallback = function(response) {
var tripTemplate = _.template($('#trips-template').html());
for (var i = 0; i < response.length; i++) {
var generatedHtml = tripTemplate({
data: response[i]
});
$('#trip-list').append($(generatedHtml));
}
$(".trip-link").click(individualTripClickHandler);
};

var successIndividualTripCallback = function(response) {
var tripDetailsTemplate = _.template($('#individual-trip-template').html());
var generatedHtml = tripDetailsTemplate({
data: response
});
$("#individual-trip").html($(generatedHtml));
};

var failureCallback = function() {
$("#errors").html("Sorry something went wrong with your request!");
};

//click handlers
var allTripsClickHandler = function(event) {
var tripUrl = "https://trektravel.herokuapp.com/trips/";
$.get(tripUrl, successTripsCallback).fail(failureCallback);
};

var individualTripClickHandler = function(event){
var tripId = $(this).attr("data-trip-id");
var tripUrl = "https://trektravel.herokuapp.com/trips/";
var individualTripURL = tripUrl + tripId;
$.get(individualTripURL, successIndividualTripCallback).fail(failureCallback);
};

var reserveTrip = function(event){
event.preventDefault();
var tripUrl = $(this).attr("action");
var formData = $(this).serialize();
$.post(tripUrl, formData, function(response){
$("#message").html("<p>Reservation Confirmed</p>");
});
};

$(document).ready(function() {
$('#load-trips').click(allTripsClickHandler);
$("#individual-trip").on("submit", "form", reserveTrip);
});
9 changes: 9 additions & 0 deletions style.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
.title-boxes {
border: solid;
height: 90px;
}

h1, .trip-link {
text-align: center;
padding-top: 30px;
}