Changeset e35d0e9 for my-react-app/src
- Timestamp:
- 03/03/24 20:18:46 (15 months ago)
- Branches:
- main
- Children:
- a7d40aa
- Parents:
- 9293100
- Location:
- my-react-app/src
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
my-react-app/src/App.js
r9293100 re35d0e9 1 import { BrowserRouter as Router, Route, Routes} from 'react-router-dom';1 import {BrowserRouter as Router, Route, Routes, useNavigate} from 'react-router-dom'; 2 2 import Customers from './components/Customers'; 3 3 import Layout from "./components/Layout"; … … 39 39 40 40 const Home = () => { 41 const navigate = useNavigate(); 42 41 43 const todayDate = new Date().toISOString().split('T')[0]; // Get today's date in 'YYYY-MM-DD' format 42 44 43 45 const [date, setDate] = useState(todayDate); 44 46 const [selectedTime, setSelectedTime] = useState(''); 45 const [formatedDateTime, setFormatedDateTime] = useState('')46 47 const [numPeople, setNumPeople] = useState(2); 47 48 const [searchValue, setSearchValue] = useState(''); 48 49 const [timeSlots, setTimeSlots] = useState([]); 49 50 50 let [filteredRestaurants, setFilteredRestaurants] = useState([]); 51 51 52 const cuisineTypes = useContext(CuisineContext); 52 53 const [showCuisineSearch, setShowCuisineSearch] = useState(true); 54 55 const [formatedDateTime, setFormatedDateTime] = useState('') 53 56 54 57 useEffect(() => { … … 165 168 }; 166 169 170 const handleTimeSlotClick = (table, timeSlot, restaurant) => { 171 const tableNumber = table.id; 172 const formattedTimeSlot = timeSlot; 173 const restaurantId = restaurant.restaurantId; 174 175 const encodedTableNumber = encodeURI(tableNumber); 176 const encodedTimeSlot = encodeURIComponent(formattedTimeSlot); 177 const encodedRestaurantId = encodeURIComponent(restaurantId); 178 179 navigate(`/reservationConfirmation/${encodedTableNumber}/${encodedTimeSlot}/${encodedRestaurantId}`); 180 } 181 167 182 const renderTimeSlots = (tablesList, restaurant) => { 168 183 const [year, month, day] = date.split("-"); … … 179 194 return tablesList.flatMap(table => { 180 195 // Render capacity header when encountering a new capacity 181 if (!renderedTimeSlots[table.capacity] ) {196 if (!renderedTimeSlots[table.capacity] && numPeople <= table.capacity) { 182 197 renderedTimeSlots[table.capacity] = 0; 183 198 return ( … … 185 200 <h3>Table for: {table.capacity}</h3> 186 201 {table.timeSlots.map((timeSlot, index) => { 187 const timeSlotTime = new Date(timeSlot).getTime(); 202 let timeSlotTime = new Date(timeSlot).getTime(); 203 188 204 const tableCapacity = table.capacity; 189 205 // Check if the time slot is after the current time, numPeople is less than or equal to tableCapacity, and limit to 5 slots 190 if (timeSlotTime > timestamp && numPeople <= tableCapacity && renderedTimeSlots[tableCapacity] < 5) {206 if (timeSlotTime >= timestamp && numPeople <= tableCapacity && renderedTimeSlots[tableCapacity] < 5) { 191 207 renderedTimeSlots[tableCapacity]++; 192 208 const timeSlotDateTime = new Date(timeSlot); … … 259 275 </div> 260 276 261 <div >277 <div className="border-0"> 262 278 {filteredRestaurants.map((restaurant) => ( 263 279 <div key={restaurant.id} className="card mb-3"> -
my-react-app/src/components/ReservationConfirmation.js
r9293100 re35d0e9 114 114 <button type="submit" className="btn btn-primary">Submit</button> 115 115 </div> 116 <div className="col-md-6"> 117 <a href="/restaurants" className="btn btn-primary">Back to Home</a> 116 <div className="card-footer"> 117 <a href="/restaurants" className="btn btn-primary">Back to Restaurants</a> 118 </div> 119 <div className="card-footer"> 120 <a href="/" className="btn btn-primary">Back to Home</a> 118 121 </div> 119 122 </form>
Note:
See TracChangeset
for help on using the changeset viewer.