Skip to content

Commit 8a8cf1a

Browse files
committed
Domestic/Intl and optional meal radio button toggles
1 parent eeb0f7d commit 8a8cf1a

1 file changed

Lines changed: 35 additions & 8 deletions

File tree

index.html

Lines changed: 35 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@
9292
}
9393

9494
// Set flag to indicate that 'convertTo12Hour' function has been called
95-
convertTo12HourCalled = true;
95+
convertTo12HourCalled = true;
9696
}
9797

9898
// Function to calculate various times based on user input
@@ -104,12 +104,25 @@
104104
// Get commute time value from 'commuteTime' element
105105
var commuteTime = parseInt(document.getElementById('commuteTime').value);
106106

107+
// Check the flight type (International/Domestic) from radio buttons
108+
var flightType = document.querySelector('input[name="flightType"]:checked').value;
109+
var additionalTimeForFlight = flightType === 'international' ? 30 : 0;
110+
// Add 30 minutes for international flights
111+
112+
// Check the meal option (Yes/No) from radio buttons
113+
var mealOption = document.querySelector('input[name="mealOption"]:checked').value;
114+
var additionalTimeForMeal = mealOption === 'yesMeal' ? 30 : 0;
115+
// Add 30 minutes if eating a meal
116+
117+
// Total additional time
118+
var totalAdditionalTime = additionalTimeForFlight + additionalTimeForMeal;
119+
107120
// Create Date objects for each calculated time
108121
var departTime = new Date('01/01/2000 ' + departureTime);
109122
var boardingTime = new Date(departTime - 30 * 60000);
110123
var walkToGateTime = new Date(boardingTime - 10 * 60000);
111124
var finishTSATime = new Date(walkToGateTime - 10 * 60000);
112-
var securityTime = new Date(finishTSATime - securityWait * 60000);
125+
var securityTime = new Date(finishTSATime - (securityWait + totalAdditionalTime) * 60000);
113126
var commuteToAirportTime = new Date(securityTime - commuteTime * 60000);
114127
var leaveHouseTime = new Date(commuteToAirportTime - 15 * 60000);
115128
var dressedAndPackedTime = new Date(leaveHouseTime - 60 * 60000);
@@ -122,7 +135,7 @@
122135
// Format time as HH:MM
123136
var formattedTime = time.toLocaleTimeString([], { hour: '2-digit', minute: '2-digit' });
124137
var paragraph = document.createElement('p');
125-
paragraph.innerHTML = label + ': ' + formattedTime +
138+
paragraph.innerHTML = label + ': ' + formattedTime +
126139
'<span class="time-adjust-buttons">' +
127140
'<button onclick="adjustTime(\'' + id + '\', -1)">-</button>' +
128141
'<button onclick="adjustTime(\'' + id + '\', 1)">+</button>' +
@@ -163,24 +176,22 @@
163176
var time = new Date('01/01/2000 ' + timeString);
164177
time.setMinutes(time.getMinutes() + minutes);
165178
var formattedTime = time.toLocaleTimeString([], { hour: '2-digit', minute: '2-digit' });
166-
element.innerHTML = element.innerHTML.split(': ')[0] + ': ' + formattedTime +
179+
element.innerHTML = element.innerHTML.split(': ')[0] + ': ' + formattedTime +
167180
'<span class="time-adjust-buttons">' +
168181
'<button onclick="adjustTime(\'' + id + '\', -1)">-</button>' +
169182
'<button onclick="adjustTime(\'' + id + '\', 1)">+</button>' +
170183
'</span>';
171184
}
172185

173186
// Stretch goals:
174-
// "International/Domestic" toggle (adds/subtracts 20 minutes)
187+
// "International/Domestic" toggle (adds/subtracts 30 minutes)
175188
// Eat a meal Yes/No toggle (adds/subtracts 30 minutes)
176189
// Grab map of airport terminals
177190
// Google Maps Traffic API
178191
// TSA Wait Times API
179192
// Airlines realtime data API
180193

181194
</script>
182-
183-
</body>
184195
</head>
185196

186197
<body>
@@ -194,7 +205,7 @@ <h2>24-hour to 12-hour Converter</h2>
194205
<p id="convertedTime"></p>
195206
</div>
196207
<div>
197-
<!-- Airport Estimation Calculator section -->
208+
<!-- Airport Estimation Calculator section -->
198209
<h2>Airport Estimation Calculator</h2>
199210
<form>
200211
<label for="departureTime">Departure Time (00:00)</label>
@@ -205,6 +216,22 @@ <h2>Airport Estimation Calculator</h2>
205216

206217
<label for="commuteTime">Commute to Airport (in minutes)</label>
207218
<input type="text" id="commuteTime">
219+
220+
<!-- International/Domestic toggle -->
221+
<label>
222+
<input type="radio" name="flightType" value="domestic" checked> Domestic
223+
</label>
224+
<label>
225+
<input type="radio" name="flightType" value="international"> International
226+
</label>
227+
228+
<!-- Eat a meal Yes/No toggle -->
229+
<label>
230+
<input type="radio" name="mealOption" value="noMeal" checked> No Meal
231+
</label>
232+
<label>
233+
<input type="radio" name="mealOption" value="yesMeal"> Eat a Meal
234+
</label>
208235
</form>
209236
<button onclick="calculateTimes()">Calculate</button>
210237
<div id="result"></div>

0 commit comments

Comments
 (0)