├── 00-setup └── snippets.json ├── 01-pure-react └── final │ └── index.html ├── 02-JS-review ├── final │ └── script.js └── starter │ └── script.js ├── 03-pizza-menu ├── final │ ├── README.md │ ├── package-lock.json │ ├── package.json │ ├── public │ │ ├── favicon.ico │ │ ├── index.html │ │ ├── logo192.png │ │ ├── logo512.png │ │ ├── manifest.json │ │ ├── pizzas │ │ │ ├── focaccia.jpg │ │ │ ├── funghi.jpg │ │ │ ├── margherita.jpg │ │ │ ├── prosciutto.jpg │ │ │ ├── salamino.jpg │ │ │ └── spinaci.jpg │ │ └── robots.txt │ └── src │ │ ├── index.css │ │ └── index.js └── starter │ ├── data.js │ ├── index.css │ └── pizzas │ ├── focaccia.jpg │ ├── funghi.jpg │ ├── margherita.jpg │ ├── prosciutto.jpg │ ├── salamino.jpg │ └── spinaci.jpg ├── 04-steps ├── final │ ├── README.md │ ├── package-lock.json │ ├── package.json │ ├── public │ │ ├── favicon.ico │ │ ├── index.html │ │ ├── logo192.png │ │ ├── logo512.png │ │ ├── manifest.json │ │ ├── robots.txt │ │ └── vanilla.html │ └── src │ │ ├── App-v1.js │ │ ├── App.js │ │ ├── index.css │ │ └── index.js └── starter │ ├── index.css │ └── vanilla.html ├── 05-travel-list ├── final │ ├── README.md │ ├── package-lock.json │ ├── package.json │ ├── public │ │ ├── favicon.ico │ │ ├── index.html │ │ ├── logo192.png │ │ ├── logo512.png │ │ ├── manifest.json │ │ └── robots.txt │ └── src │ │ ├── components │ │ ├── App.js │ │ ├── Form.js │ │ ├── Item.js │ │ ├── Logo.js │ │ ├── PackingList.js │ │ └── Stats.js │ │ ├── index.css │ │ └── index.js └── starter │ └── index.css ├── 06-eat-n-split ├── final │ ├── README.md │ ├── package-lock.json │ ├── package.json │ ├── public │ │ ├── favicon.ico │ │ ├── index.html │ │ ├── logo192.png │ │ ├── logo512.png │ │ ├── manifest.json │ │ └── robots.txt │ └── src │ │ ├── App.js │ │ ├── index.css │ │ └── index.js └── starter │ ├── App.js │ └── index.css ├── 07-usepopcorn ├── final │ ├── README.md │ ├── package-lock.json │ ├── package.json │ ├── public │ │ ├── favicon.ico │ │ ├── index.html │ │ ├── logo192.png │ │ ├── logo512.png │ │ ├── manifest.json │ │ └── robots.txt │ └── src │ │ ├── App-v1.js │ │ ├── App-v2.js │ │ ├── App-v3.js │ │ ├── App.js │ │ ├── StarRating.js │ │ ├── index.css │ │ ├── index.js │ │ ├── useKey.js │ │ ├── useLocalStorageState.js │ │ └── useMovies.js └── starter │ ├── App.js │ └── index.css ├── 08-how-react-works ├── final │ ├── README.md │ ├── package-lock.json │ ├── package.json │ ├── public │ │ ├── favicon.ico │ │ └── index.html │ └── src │ │ ├── App.js │ │ ├── index.css │ │ └── index.js └── starter │ ├── README.md │ ├── package-lock.json │ ├── package.json │ ├── public │ ├── favicon.ico │ └── index.html │ └── src │ ├── App.js │ ├── index.css │ └── index.js ├── 09-classy-weather ├── final │ ├── README.md │ ├── package-lock.json │ ├── package.json │ ├── public │ │ ├── favicon.ico │ │ ├── index.html │ │ ├── logo192.png │ │ ├── logo512.png │ │ ├── manifest.json │ │ └── robots.txt │ └── src │ │ ├── App-v1.js │ │ ├── App.js │ │ ├── Counter.js │ │ ├── index.css │ │ ├── index.js │ │ └── starter.js └── starter │ ├── index.css │ └── starter.js ├── 10-react-quiz ├── final │ ├── CHALLENGE.md │ ├── README.md │ ├── data │ │ └── questions.json │ ├── package-lock.json │ ├── package.json │ ├── public │ │ ├── favicon.ico │ │ ├── index.html │ │ ├── logo192.png │ │ ├── logo512.png │ │ ├── manifest.json │ │ └── robots.txt │ ├── src-no-context │ │ ├── components │ │ │ ├── App.js │ │ │ ├── DateCounter.js │ │ │ ├── Error.js │ │ │ ├── FinishScreen.js │ │ │ ├── Footer.js │ │ │ ├── Header.js │ │ │ ├── Loader.js │ │ │ ├── Main.js │ │ │ ├── NextButton.js │ │ │ ├── Options.js │ │ │ ├── Progress.js │ │ │ ├── Question.js │ │ │ ├── StartScreen.js │ │ │ └── Timer.js │ │ ├── index.css │ │ └── index.js │ └── src │ │ ├── components │ │ ├── App.js │ │ ├── DateCounter.js │ │ ├── Error.js │ │ ├── FinishScreen.js │ │ ├── Footer.js │ │ ├── Header.js │ │ ├── Loader.js │ │ ├── Main.js │ │ ├── NextButton.js │ │ ├── Options.js │ │ ├── Progress.js │ │ ├── Question.js │ │ ├── StartScreen.js │ │ └── Timer.js │ │ ├── contexts │ │ └── QuizContext.js │ │ ├── index.css │ │ └── index.js └── starter │ ├── DateCounter.js │ ├── Error.js │ ├── Header.js │ ├── Loader.js │ ├── index.css │ └── questions.json ├── 11-worldwise ├── final │ ├── .eslintrc.json │ ├── data │ │ └── cities.json │ ├── index.html │ ├── package-lock.json │ ├── package.json │ ├── public │ │ ├── bg.jpg │ │ ├── icon.png │ │ ├── img-1.jpg │ │ ├── img-2.jpg │ │ ├── logo.png │ │ └── vite.svg │ ├── src │ │ ├── App.jsx │ │ ├── components │ │ │ ├── AppNav.jsx │ │ │ ├── AppNav.module.css │ │ │ ├── BackButton.jsx │ │ │ ├── Button.jsx │ │ │ ├── Button.module.css │ │ │ ├── City.jsx │ │ │ ├── City.module.css │ │ │ ├── CityItem.jsx │ │ │ ├── CityItem.module.css │ │ │ ├── CityList.jsx │ │ │ ├── CityList.module.css │ │ │ ├── CountryItem.jsx │ │ │ ├── CountryItem.module.css │ │ │ ├── CountryList.jsx │ │ │ ├── CountryList.module.css │ │ │ ├── Form.jsx │ │ │ ├── Form.module.css │ │ │ ├── Logo.jsx │ │ │ ├── Logo.module.css │ │ │ ├── Map.jsx │ │ │ ├── Map.module.css │ │ │ ├── Message.jsx │ │ │ ├── Message.module.css │ │ │ ├── PageNav.jsx │ │ │ ├── PageNav.module.css │ │ │ ├── Sidebar.jsx │ │ │ ├── Sidebar.module.css │ │ │ ├── Spinner.jsx │ │ │ ├── Spinner.module.css │ │ │ ├── SpinnerFullPage.jsx │ │ │ ├── SpinnerFullPage.module.css │ │ │ ├── User.jsx │ │ │ └── User.module.css │ │ ├── contexts │ │ │ ├── CitiesContext.jsx │ │ │ └── FakeAuthContext.jsx │ │ ├── hooks │ │ │ ├── useGeolocation.js │ │ │ └── useUrlPosition.js │ │ ├── index.css │ │ ├── main.jsx │ │ └── pages │ │ │ ├── AppLayout.jsx │ │ │ ├── AppLayout.module.css │ │ │ ├── Homepage.jsx │ │ │ ├── Homepage.module.css │ │ │ ├── Login.jsx │ │ │ ├── Login.module.css │ │ │ ├── PageNotFound.jsx │ │ │ ├── Pricing.jsx │ │ │ ├── Product.jsx │ │ │ ├── Product.module.css │ │ │ └── ProtectedRoute.jsx │ └── vite.config.js └── starter │ ├── bg.jpg │ ├── components │ ├── AppNav.module.css │ ├── Button.module.css │ ├── City.jsx │ ├── City.module.css │ ├── CityItem.module.css │ ├── CityList.module.css │ ├── CountryItem.jsx │ ├── CountryItem.module.css │ ├── CountryList.module.css │ ├── Form.jsx │ ├── Form.module.css │ ├── Logo.jsx │ ├── Logo.module.css │ ├── Map.module.css │ ├── Message.jsx │ ├── Message.module.css │ ├── PageNav.module.css │ ├── Sidebar.module.css │ ├── Spinner.jsx │ ├── Spinner.module.css │ ├── SpinnerFullPage.jsx │ ├── SpinnerFullPage.module.css │ ├── User.jsx │ └── User.module.css │ ├── data │ └── cities.json │ ├── icon.png │ ├── img-1.jpg │ ├── img-2.jpg │ ├── index.css │ ├── logo.png │ └── pages │ ├── AppLayout.module.css │ ├── Homepage.jsx │ ├── Homepage.module.css │ ├── Login.jsx │ ├── Login.module.css │ ├── PageNotFound.jsx │ ├── Pricing.jsx │ ├── Product.jsx │ └── Product.module.css ├── 12-atomic-blog ├── final │ ├── README.md │ ├── package-lock.json │ ├── package.json │ ├── public │ │ ├── favicon.ico │ │ └── index.html │ └── src │ │ ├── App-memo.js │ │ ├── App-v1.js │ │ ├── App.js │ │ ├── PostContext.js │ │ ├── Test.js │ │ ├── index.js │ │ └── style.css └── starter │ ├── README.md │ ├── package-lock.json │ ├── package.json │ ├── public │ ├── favicon.ico │ └── index.html │ └── src │ ├── App.js │ ├── Test.js │ ├── index.js │ └── style.css ├── 13-workout-timer ├── final │ ├── README.md │ ├── package-lock.json │ ├── package.json │ ├── public │ │ ├── favicon.ico │ │ ├── index.html │ │ ├── logo192.png │ │ ├── logo512.png │ │ ├── manifest.json │ │ └── robots.txt │ └── src │ │ ├── App.js │ │ ├── Calculator.js │ │ ├── ClickSound.m4a │ │ ├── ToggleSounds.js │ │ ├── index.css │ │ └── index.js └── starter │ ├── README.md │ ├── package-lock.json │ ├── package.json │ ├── public │ ├── favicon.ico │ ├── index.html │ ├── logo192.png │ ├── logo512.png │ ├── manifest.json │ └── robots.txt │ └── src │ ├── App.js │ ├── Calculator.js │ ├── ClickSound.m4a │ ├── ToggleSounds.js │ ├── index.css │ └── index.js ├── 15-redux-intro ├── final │ ├── README.md │ ├── package-lock.json │ ├── package.json │ ├── public │ │ ├── favicon.ico │ │ ├── index.html │ │ ├── logo192.png │ │ ├── logo512.png │ │ ├── manifest.json │ │ └── robots.txt │ └── src │ │ ├── App.js │ │ ├── features │ │ ├── accounts │ │ │ ├── AccountOperations.js │ │ │ ├── BalanceDisplay.js │ │ │ └── accountSlice.js │ │ └── customers │ │ │ ├── CreateCustomer.js │ │ │ ├── Customer.js │ │ │ └── customerSlice.js │ │ ├── index.css │ │ ├── index.js │ │ ├── store-v1.js │ │ ├── store-v2.js │ │ └── store.js └── starter │ ├── AccountOperations.js │ ├── App.js │ ├── BalanceDisplay.js │ ├── CreateCustomer.js │ ├── Customer.js │ └── index.css ├── 16-fast-react-pizza ├── final-1-after-tailwind │ ├── .eslintrc.json │ ├── index.html │ ├── package-lock.json │ ├── package.json │ ├── postcss.config.js │ ├── prettier.config.cjs │ ├── public │ │ └── vite.svg │ ├── src │ │ ├── App.jsx │ │ ├── features │ │ │ ├── cart │ │ │ │ ├── Cart.jsx │ │ │ │ ├── CartItem.jsx │ │ │ │ ├── CartOverview.jsx │ │ │ │ └── EmptyCart.jsx │ │ │ ├── menu │ │ │ │ ├── Menu.jsx │ │ │ │ └── MenuItem.jsx │ │ │ ├── order │ │ │ │ ├── CreateOrder.jsx │ │ │ │ ├── Order.jsx │ │ │ │ ├── OrderItem.jsx │ │ │ │ └── SearchOrder.jsx │ │ │ └── user │ │ │ │ ├── CreateUser.jsx │ │ │ │ └── Username.jsx │ │ ├── index.css │ │ ├── main.jsx │ │ ├── services │ │ │ ├── apiGeocoding.js │ │ │ └── apiRestaurant.js │ │ ├── ui │ │ │ ├── AppLayout.jsx │ │ │ ├── Button.jsx │ │ │ ├── Error.jsx │ │ │ ├── Header.jsx │ │ │ ├── Home.jsx │ │ │ ├── LinkButton.jsx │ │ │ └── Loader.jsx │ │ └── utils │ │ │ └── helpers.js │ ├── tailwind.config.js │ └── vite.config.js ├── final-2-final │ ├── .eslintrc.json │ ├── index.html │ ├── package-lock.json │ ├── package.json │ ├── postcss.config.js │ ├── prettier.config.cjs │ ├── public │ │ └── vite.svg │ ├── src │ │ ├── App.jsx │ │ ├── features │ │ │ ├── cart │ │ │ │ ├── Cart.jsx │ │ │ │ ├── CartItem.jsx │ │ │ │ ├── CartOverview.jsx │ │ │ │ ├── DeleteItem.jsx │ │ │ │ ├── EmptyCart.jsx │ │ │ │ ├── UpdateItemQuantity.jsx │ │ │ │ └── cartSlice.js │ │ │ ├── menu │ │ │ │ ├── Menu.jsx │ │ │ │ └── MenuItem.jsx │ │ │ ├── order │ │ │ │ ├── CreateOrder.jsx │ │ │ │ ├── Order.jsx │ │ │ │ ├── OrderItem.jsx │ │ │ │ ├── SearchOrder.jsx │ │ │ │ └── UpdateOrder.jsx │ │ │ └── user │ │ │ │ ├── CreateUser.jsx │ │ │ │ ├── Username.jsx │ │ │ │ └── userSlice.js │ │ ├── index.css │ │ ├── main.jsx │ │ ├── services │ │ │ ├── apiGeocoding.js │ │ │ └── apiRestaurant.js │ │ ├── store.js │ │ ├── ui │ │ │ ├── AppLayout.jsx │ │ │ ├── Button.jsx │ │ │ ├── Error.jsx │ │ │ ├── Header.jsx │ │ │ ├── Home.jsx │ │ │ ├── LinkButton.jsx │ │ │ └── Loader.jsx │ │ └── utils │ │ │ └── helpers.js │ ├── tailwind.config.js │ └── vite.config.js └── starter │ ├── Cart.jsx │ ├── CartItem.jsx │ ├── CartOverview.jsx │ ├── CreateOrder.jsx │ ├── CreateUser.jsx │ ├── EmptyCart.jsx │ ├── Error.jsx │ ├── Home.jsx │ ├── Menu.jsx │ ├── MenuItem.jsx │ ├── Order.jsx │ ├── OrderItem.jsx │ ├── apiGeocoding.js │ ├── apiRestaurant.js │ ├── helpers.js │ ├── index.css │ └── userSlice.js ├── 17-the-wild-oasis ├── final-1-after-setup │ ├── .eslintrc.json │ ├── index.html │ ├── package-lock.json │ ├── package.json │ ├── public │ │ ├── default-user.jpg │ │ ├── logo-dark.png │ │ ├── logo-light.png │ │ └── vite.svg │ ├── src │ │ ├── App.jsx │ │ ├── data │ │ │ ├── Uploader.js │ │ │ ├── cabins │ │ │ │ ├── cabin-001.jpg │ │ │ │ ├── cabin-002.jpg │ │ │ │ ├── cabin-003.jpg │ │ │ │ ├── cabin-004.jpg │ │ │ │ ├── cabin-005.jpg │ │ │ │ ├── cabin-006.jpg │ │ │ │ ├── cabin-007.jpg │ │ │ │ └── cabin-008.jpg │ │ │ ├── data-bookings.js │ │ │ ├── data-cabins.js │ │ │ └── data-guests.js │ │ ├── features │ │ │ ├── authentication │ │ │ │ ├── LoginForm.jsx │ │ │ │ ├── UpdatePasswordForm.jsx │ │ │ │ └── UpdateUserDataForm.jsx │ │ │ ├── bookings │ │ │ │ ├── BookingDataBox.jsx │ │ │ │ ├── BookingDetail.jsx │ │ │ │ ├── BookingRow.jsx │ │ │ │ ├── BookingTable.jsx │ │ │ │ └── BookingTableOperations.jsx │ │ │ ├── cabins │ │ │ │ ├── AddCabin.jsx │ │ │ │ ├── CabinRow.jsx │ │ │ │ ├── CabinTable.jsx │ │ │ │ ├── CabinTableOperations.jsx │ │ │ │ └── CreateCabinForm.jsx │ │ │ ├── check-in-out │ │ │ │ ├── CheckinBooking.jsx │ │ │ │ ├── CheckoutButton.jsx │ │ │ │ └── TodayActivity.jsx │ │ │ ├── dashboard │ │ │ │ ├── DashboardBox.jsx │ │ │ │ ├── DashboardFilter.jsx │ │ │ │ ├── DashboardLayout.jsx │ │ │ │ ├── DurationChart.jsx │ │ │ │ ├── SalesChart.jsx │ │ │ │ ├── Stat.jsx │ │ │ │ ├── Stats.jsx │ │ │ │ └── TodayItem.jsx │ │ │ └── settings │ │ │ │ └── UpdateSettingsForm.jsx │ │ ├── hooks │ │ │ ├── useLocalStorageState.js │ │ │ └── useMoveBack.js │ │ ├── main.jsx │ │ ├── pages │ │ │ ├── Account.jsx │ │ │ ├── Bookings.jsx │ │ │ ├── Cabins.jsx │ │ │ ├── Dashboard.jsx │ │ │ ├── Login.jsx │ │ │ ├── PageNotFound.jsx │ │ │ ├── Settings.jsx │ │ │ └── Users.jsx │ │ ├── services │ │ │ ├── apiBookings.js │ │ │ └── apiSettings.js │ │ ├── styles │ │ │ └── GlobalStyles.js │ │ ├── ui │ │ │ ├── AppLayout.jsx │ │ │ ├── Button.jsx │ │ │ ├── ButtonGroup.jsx │ │ │ ├── ButtonIcon.jsx │ │ │ ├── ButtonText.jsx │ │ │ ├── Checkbox.jsx │ │ │ ├── ConfirmDelete.jsx │ │ │ ├── DataItem.jsx │ │ │ ├── Empty.jsx │ │ │ ├── ErrorFallback.jsx │ │ │ ├── FileInput.jsx │ │ │ ├── Filter.jsx │ │ │ ├── Flag.jsx │ │ │ ├── Form.jsx │ │ │ ├── FormRow.jsx │ │ │ ├── Header.jsx │ │ │ ├── Heading.jsx │ │ │ ├── Input.jsx │ │ │ ├── Logo.jsx │ │ │ ├── MainNav.jsx │ │ │ ├── Menus.jsx │ │ │ ├── Modal.jsx │ │ │ ├── Pagination.jsx │ │ │ ├── Row.jsx │ │ │ ├── Select.jsx │ │ │ ├── Sidebar.jsx │ │ │ ├── Spinner.jsx │ │ │ ├── SpinnerMini.jsx │ │ │ ├── Table.jsx │ │ │ ├── TableOperations.jsx │ │ │ ├── Tag.jsx │ │ │ └── Textarea.jsx │ │ └── utils │ │ │ └── helpers.js │ └── vite.config.js ├── final-2-after-supabase │ ├── .eslintrc.json │ ├── index.html │ ├── package-lock.json │ ├── package.json │ ├── public │ │ ├── default-user.jpg │ │ ├── logo-dark.png │ │ ├── logo-light.png │ │ └── vite.svg │ ├── src │ │ ├── App.jsx │ │ ├── data │ │ │ ├── Uploader.js │ │ │ ├── cabins │ │ │ │ ├── cabin-001.jpg │ │ │ │ ├── cabin-002.jpg │ │ │ │ ├── cabin-003.jpg │ │ │ │ ├── cabin-004.jpg │ │ │ │ ├── cabin-005.jpg │ │ │ │ ├── cabin-006.jpg │ │ │ │ ├── cabin-007.jpg │ │ │ │ └── cabin-008.jpg │ │ │ ├── data-bookings.js │ │ │ ├── data-cabins.js │ │ │ └── data-guests.js │ │ ├── features │ │ │ ├── authentication │ │ │ │ ├── LoginForm.jsx │ │ │ │ ├── UpdatePasswordForm.jsx │ │ │ │ └── UpdateUserDataForm.jsx │ │ │ ├── bookings │ │ │ │ ├── BookingDataBox.jsx │ │ │ │ ├── BookingDetail.jsx │ │ │ │ ├── BookingRow.jsx │ │ │ │ ├── BookingTable.jsx │ │ │ │ └── BookingTableOperations.jsx │ │ │ ├── cabins │ │ │ │ ├── AddCabin.jsx │ │ │ │ ├── CabinRow.jsx │ │ │ │ ├── CabinTable.jsx │ │ │ │ ├── CabinTableOperations.jsx │ │ │ │ └── CreateCabinForm.jsx │ │ │ ├── check-in-out │ │ │ │ ├── CheckinBooking.jsx │ │ │ │ ├── CheckoutButton.jsx │ │ │ │ └── TodayActivity.jsx │ │ │ ├── dashboard │ │ │ │ ├── DashboardBox.jsx │ │ │ │ ├── DashboardFilter.jsx │ │ │ │ ├── DashboardLayout.jsx │ │ │ │ ├── DurationChart.jsx │ │ │ │ ├── SalesChart.jsx │ │ │ │ ├── Stat.jsx │ │ │ │ ├── Stats.jsx │ │ │ │ └── TodayItem.jsx │ │ │ └── settings │ │ │ │ └── UpdateSettingsForm.jsx │ │ ├── hooks │ │ │ ├── useLocalStorageState.js │ │ │ └── useMoveBack.js │ │ ├── main.jsx │ │ ├── pages │ │ │ ├── Account.jsx │ │ │ ├── Bookings.jsx │ │ │ ├── Cabins.jsx │ │ │ ├── Dashboard.jsx │ │ │ ├── Login.jsx │ │ │ ├── PageNotFound.jsx │ │ │ ├── Settings.jsx │ │ │ └── Users.jsx │ │ ├── services │ │ │ ├── apiBookings.js │ │ │ ├── apiCabins.js │ │ │ ├── apiSettings.js │ │ │ └── supabase.js │ │ ├── styles │ │ │ └── GlobalStyles.js │ │ ├── ui │ │ │ ├── AppLayout.jsx │ │ │ ├── Button.jsx │ │ │ ├── ButtonGroup.jsx │ │ │ ├── ButtonIcon.jsx │ │ │ ├── ButtonText.jsx │ │ │ ├── Checkbox.jsx │ │ │ ├── ConfirmDelete.jsx │ │ │ ├── DataItem.jsx │ │ │ ├── Empty.jsx │ │ │ ├── ErrorFallback.jsx │ │ │ ├── FileInput.jsx │ │ │ ├── Filter.jsx │ │ │ ├── Flag.jsx │ │ │ ├── Form.jsx │ │ │ ├── FormRow.jsx │ │ │ ├── Header.jsx │ │ │ ├── Heading.jsx │ │ │ ├── Input.jsx │ │ │ ├── Logo.jsx │ │ │ ├── MainNav.jsx │ │ │ ├── Menus.jsx │ │ │ ├── Modal.jsx │ │ │ ├── Pagination.jsx │ │ │ ├── Row.jsx │ │ │ ├── Select.jsx │ │ │ ├── Sidebar.jsx │ │ │ ├── Spinner.jsx │ │ │ ├── SpinnerMini.jsx │ │ │ ├── Table.jsx │ │ │ ├── TableOperations.jsx │ │ │ ├── Tag.jsx │ │ │ └── Textarea.jsx │ │ └── utils │ │ │ └── helpers.js │ └── vite.config.js ├── final-3-after-react-query │ ├── .eslintrc.json │ ├── index.html │ ├── package-lock.json │ ├── package.json │ ├── public │ │ ├── default-user.jpg │ │ ├── logo-dark.png │ │ ├── logo-light.png │ │ └── vite.svg │ ├── src │ │ ├── App.jsx │ │ ├── data │ │ │ ├── Uploader.js │ │ │ ├── cabins │ │ │ │ ├── cabin-001.jpg │ │ │ │ ├── cabin-002.jpg │ │ │ │ ├── cabin-003.jpg │ │ │ │ ├── cabin-004.jpg │ │ │ │ ├── cabin-005.jpg │ │ │ │ ├── cabin-006.jpg │ │ │ │ ├── cabin-007.jpg │ │ │ │ └── cabin-008.jpg │ │ │ ├── data-bookings.js │ │ │ ├── data-cabins.js │ │ │ └── data-guests.js │ │ ├── features │ │ │ ├── authentication │ │ │ │ ├── LoginForm.jsx │ │ │ │ ├── UpdatePasswordForm.jsx │ │ │ │ └── UpdateUserDataForm.jsx │ │ │ ├── bookings │ │ │ │ ├── BookingDataBox.jsx │ │ │ │ ├── BookingDetail.jsx │ │ │ │ ├── BookingRow.jsx │ │ │ │ ├── BookingTable.jsx │ │ │ │ └── BookingTableOperations.jsx │ │ │ ├── cabins │ │ │ │ ├── CabinRow.jsx │ │ │ │ ├── CabinTable-v1.jsx │ │ │ │ ├── CabinTable.jsx │ │ │ │ ├── CreateCabinForm-v1.jsx │ │ │ │ ├── CreateCabinForm.jsx │ │ │ │ ├── useCabins.js │ │ │ │ ├── useCreateCabin.js │ │ │ │ ├── useDeleteCabin.js │ │ │ │ └── useEditCabin.js │ │ │ ├── check-in-out │ │ │ │ ├── CheckinBooking.jsx │ │ │ │ ├── CheckoutButton.jsx │ │ │ │ └── TodayActivity.jsx │ │ │ ├── dashboard │ │ │ │ ├── DashboardBox.jsx │ │ │ │ ├── DashboardFilter.jsx │ │ │ │ ├── DashboardLayout.jsx │ │ │ │ ├── DurationChart.jsx │ │ │ │ ├── SalesChart.jsx │ │ │ │ ├── Stat.jsx │ │ │ │ ├── Stats.jsx │ │ │ │ └── TodayItem.jsx │ │ │ └── settings │ │ │ │ ├── UpdateSettingsForm.jsx │ │ │ │ ├── useSettings.js │ │ │ │ └── useUpdateSetting.js │ │ ├── hooks │ │ │ ├── useLocalStorageState.js │ │ │ └── useMoveBack.js │ │ ├── main.jsx │ │ ├── pages │ │ │ ├── Account.jsx │ │ │ ├── Bookings.jsx │ │ │ ├── Cabins.jsx │ │ │ ├── Dashboard.jsx │ │ │ ├── Login.jsx │ │ │ ├── PageNotFound.jsx │ │ │ ├── Settings.jsx │ │ │ └── Users.jsx │ │ ├── services │ │ │ ├── apiBookings.js │ │ │ ├── apiCabins.js │ │ │ ├── apiSettings.js │ │ │ └── supabase.js │ │ ├── styles │ │ │ └── GlobalStyles.js │ │ ├── ui │ │ │ ├── AppLayout.jsx │ │ │ ├── Button.jsx │ │ │ ├── ButtonGroup.jsx │ │ │ ├── ButtonIcon.jsx │ │ │ ├── ButtonText.jsx │ │ │ ├── Checkbox.jsx │ │ │ ├── ConfirmDelete.jsx │ │ │ ├── DataItem.jsx │ │ │ ├── Empty.jsx │ │ │ ├── ErrorFallback.jsx │ │ │ ├── FileInput.jsx │ │ │ ├── Filter.jsx │ │ │ ├── Flag.jsx │ │ │ ├── Form.jsx │ │ │ ├── FormRow.jsx │ │ │ ├── Header.jsx │ │ │ ├── Heading.jsx │ │ │ ├── Input.jsx │ │ │ ├── Logo.jsx │ │ │ ├── MainNav.jsx │ │ │ ├── Menus.jsx │ │ │ ├── Modal.jsx │ │ │ ├── Pagination.jsx │ │ │ ├── Row.jsx │ │ │ ├── Select.jsx │ │ │ ├── Sidebar.jsx │ │ │ ├── Spinner.jsx │ │ │ ├── SpinnerMini.jsx │ │ │ ├── Table.jsx │ │ │ ├── TableOperations.jsx │ │ │ ├── Tag.jsx │ │ │ └── Textarea.jsx │ │ └── utils │ │ │ └── helpers.js │ └── vite.config.js ├── final-4-after-advanced-patterns │ ├── .eslintrc.json │ ├── index.html │ ├── package-lock.json │ ├── package.json │ ├── public │ │ ├── default-user.jpg │ │ ├── logo-dark.png │ │ ├── logo-light.png │ │ └── vite.svg │ ├── src │ │ ├── App.jsx │ │ ├── data │ │ │ ├── Uploader.js │ │ │ ├── cabins │ │ │ │ ├── cabin-001.jpg │ │ │ │ ├── cabin-002.jpg │ │ │ │ ├── cabin-003.jpg │ │ │ │ ├── cabin-004.jpg │ │ │ │ ├── cabin-005.jpg │ │ │ │ ├── cabin-006.jpg │ │ │ │ ├── cabin-007.jpg │ │ │ │ └── cabin-008.jpg │ │ │ ├── data-bookings.js │ │ │ ├── data-cabins.js │ │ │ └── data-guests.js │ │ ├── features │ │ │ ├── authentication │ │ │ │ ├── LoginForm.jsx │ │ │ │ ├── UpdatePasswordForm.jsx │ │ │ │ └── UpdateUserDataForm.jsx │ │ │ ├── bookings │ │ │ │ ├── BookingDataBox.jsx │ │ │ │ ├── BookingDetail.jsx │ │ │ │ ├── BookingRow.jsx │ │ │ │ ├── BookingTable.jsx │ │ │ │ └── BookingTableOperations.jsx │ │ │ ├── cabins │ │ │ │ ├── AddCabin.jsx │ │ │ │ ├── CabinRow-v1.jsx │ │ │ │ ├── CabinRow.jsx │ │ │ │ ├── CabinTable-v1.jsx │ │ │ │ ├── CabinTable-v2.jsx │ │ │ │ ├── CabinTable.jsx │ │ │ │ ├── CreateCabinForm-v1.jsx │ │ │ │ ├── CreateCabinForm.jsx │ │ │ │ ├── useCabins.js │ │ │ │ ├── useCreateCabin.js │ │ │ │ ├── useDeleteCabin.js │ │ │ │ └── useEditCabin.js │ │ │ ├── check-in-out │ │ │ │ ├── CheckinBooking.jsx │ │ │ │ ├── CheckoutButton.jsx │ │ │ │ └── TodayActivity.jsx │ │ │ ├── dashboard │ │ │ │ ├── DashboardBox.jsx │ │ │ │ ├── DashboardFilter.jsx │ │ │ │ ├── DashboardLayout.jsx │ │ │ │ ├── DurationChart.jsx │ │ │ │ ├── SalesChart.jsx │ │ │ │ ├── Stat.jsx │ │ │ │ ├── Stats.jsx │ │ │ │ └── TodayItem.jsx │ │ │ └── settings │ │ │ │ ├── UpdateSettingsForm.jsx │ │ │ │ ├── useSettings.js │ │ │ │ └── useUpdateSetting.js │ │ ├── hooks │ │ │ ├── useLocalStorageState.js │ │ │ ├── useMoveBack.js │ │ │ └── useOutsideClick.js │ │ ├── main.jsx │ │ ├── pages │ │ │ ├── Account.jsx │ │ │ ├── Bookings.jsx │ │ │ ├── Cabins.jsx │ │ │ ├── Dashboard.jsx │ │ │ ├── Login.jsx │ │ │ ├── PageNotFound.jsx │ │ │ ├── Settings.jsx │ │ │ └── Users.jsx │ │ ├── services │ │ │ ├── apiBookings.js │ │ │ ├── apiCabins.js │ │ │ ├── apiSettings.js │ │ │ └── supabase.js │ │ ├── styles │ │ │ └── GlobalStyles.js │ │ ├── ui │ │ │ ├── AppLayout.jsx │ │ │ ├── Button.jsx │ │ │ ├── ButtonGroup.jsx │ │ │ ├── ButtonIcon.jsx │ │ │ ├── ButtonText.jsx │ │ │ ├── Checkbox.jsx │ │ │ ├── ConfirmDelete.jsx │ │ │ ├── DataItem.jsx │ │ │ ├── Empty.jsx │ │ │ ├── ErrorFallback.jsx │ │ │ ├── FileInput.jsx │ │ │ ├── Filter.jsx │ │ │ ├── Flag.jsx │ │ │ ├── Form.jsx │ │ │ ├── FormRow.jsx │ │ │ ├── Header.jsx │ │ │ ├── Heading.jsx │ │ │ ├── Input.jsx │ │ │ ├── Logo.jsx │ │ │ ├── MainNav.jsx │ │ │ ├── Menus.jsx │ │ │ ├── Modal-v1.jsx │ │ │ ├── Modal.jsx │ │ │ ├── Pagination.jsx │ │ │ ├── Row.jsx │ │ │ ├── Select.jsx │ │ │ ├── Sidebar.jsx │ │ │ ├── Spinner.jsx │ │ │ ├── SpinnerMini.jsx │ │ │ ├── Table.jsx │ │ │ ├── TableOperations.jsx │ │ │ ├── Tag.jsx │ │ │ └── Textarea.jsx │ │ └── utils │ │ │ └── helpers.js │ └── vite.config.js ├── final-5-after-sort-filter-pagination │ ├── .eslintrc.json │ ├── index.html │ ├── package-lock.json │ ├── package.json │ ├── public │ │ ├── default-user.jpg │ │ ├── logo-dark.png │ │ ├── logo-light.png │ │ └── vite.svg │ ├── src │ │ ├── App.jsx │ │ ├── data │ │ │ ├── Uploader.jsx │ │ │ ├── cabins │ │ │ │ ├── cabin-001.jpg │ │ │ │ ├── cabin-002.jpg │ │ │ │ ├── cabin-003.jpg │ │ │ │ ├── cabin-004.jpg │ │ │ │ ├── cabin-005.jpg │ │ │ │ ├── cabin-006.jpg │ │ │ │ ├── cabin-007.jpg │ │ │ │ └── cabin-008.jpg │ │ │ ├── data-bookings.js │ │ │ ├── data-cabins.js │ │ │ └── data-guests.js │ │ ├── features │ │ │ ├── authentication │ │ │ │ ├── LoginForm.jsx │ │ │ │ ├── UpdatePasswordForm.jsx │ │ │ │ └── UpdateUserDataForm.jsx │ │ │ ├── bookings │ │ │ │ ├── BookingDataBox.jsx │ │ │ │ ├── BookingDetail.jsx │ │ │ │ ├── BookingRow.jsx │ │ │ │ ├── BookingTable.jsx │ │ │ │ ├── BookingTableOperations.jsx │ │ │ │ ├── useBooking.js │ │ │ │ ├── useBookings.js │ │ │ │ └── useDeleteBooking.js │ │ │ ├── cabins │ │ │ │ ├── AddCabin.jsx │ │ │ │ ├── CabinRow-v1.jsx │ │ │ │ ├── CabinRow.jsx │ │ │ │ ├── CabinTable-v1.jsx │ │ │ │ ├── CabinTable-v2.jsx │ │ │ │ ├── CabinTable.jsx │ │ │ │ ├── CabinTableOperations.jsx │ │ │ │ ├── CreateCabinForm-v1.jsx │ │ │ │ ├── CreateCabinForm.jsx │ │ │ │ ├── useCabins.js │ │ │ │ ├── useCreateCabin.js │ │ │ │ ├── useDeleteCabin.js │ │ │ │ └── useEditCabin.js │ │ │ ├── check-in-out │ │ │ │ ├── CheckinBooking.jsx │ │ │ │ ├── CheckoutButton.jsx │ │ │ │ ├── TodayActivity.jsx │ │ │ │ ├── useCheckin.js │ │ │ │ └── useCheckout.js │ │ │ ├── dashboard │ │ │ │ ├── DashboardBox.jsx │ │ │ │ ├── DashboardFilter.jsx │ │ │ │ ├── DashboardLayout.jsx │ │ │ │ ├── DurationChart.jsx │ │ │ │ ├── SalesChart.jsx │ │ │ │ ├── Stat.jsx │ │ │ │ ├── Stats.jsx │ │ │ │ └── TodayItem.jsx │ │ │ └── settings │ │ │ │ ├── UpdateSettingsForm.jsx │ │ │ │ ├── useSettings.js │ │ │ │ └── useUpdateSetting.js │ │ ├── hooks │ │ │ ├── useLocalStorageState.js │ │ │ ├── useMoveBack.js │ │ │ └── useOutsideClick.js │ │ ├── main.jsx │ │ ├── pages │ │ │ ├── Account.jsx │ │ │ ├── Booking.jsx │ │ │ ├── Bookings.jsx │ │ │ ├── Cabins.jsx │ │ │ ├── Checkin.jsx │ │ │ ├── Dashboard.jsx │ │ │ ├── Login.jsx │ │ │ ├── PageNotFound.jsx │ │ │ ├── Settings.jsx │ │ │ └── Users.jsx │ │ ├── services │ │ │ ├── apiBookings.js │ │ │ ├── apiCabins.js │ │ │ ├── apiSettings.js │ │ │ └── supabase.js │ │ ├── styles │ │ │ └── GlobalStyles.js │ │ ├── ui │ │ │ ├── AppLayout.jsx │ │ │ ├── Button.jsx │ │ │ ├── ButtonGroup.jsx │ │ │ ├── ButtonIcon.jsx │ │ │ ├── ButtonText.jsx │ │ │ ├── Checkbox.jsx │ │ │ ├── ConfirmDelete.jsx │ │ │ ├── DataItem.jsx │ │ │ ├── Empty.jsx │ │ │ ├── ErrorFallback.jsx │ │ │ ├── FileInput.jsx │ │ │ ├── Filter.jsx │ │ │ ├── Flag.jsx │ │ │ ├── Form.jsx │ │ │ ├── FormRow.jsx │ │ │ ├── Header.jsx │ │ │ ├── Heading.jsx │ │ │ ├── Input.jsx │ │ │ ├── Logo.jsx │ │ │ ├── MainNav.jsx │ │ │ ├── Menus.jsx │ │ │ ├── Modal-v1.jsx │ │ │ ├── Modal.jsx │ │ │ ├── Pagination.jsx │ │ │ ├── Row.jsx │ │ │ ├── Select.jsx │ │ │ ├── Sidebar.jsx │ │ │ ├── SortBy.jsx │ │ │ ├── Spinner.jsx │ │ │ ├── SpinnerMini.jsx │ │ │ ├── Table.jsx │ │ │ ├── TableOperations.jsx │ │ │ ├── Tag.jsx │ │ │ └── Textarea.jsx │ │ └── utils │ │ │ ├── constants.js │ │ │ └── helpers.js │ └── vite.config.js ├── final-6-final │ ├── .eslintrc.json │ ├── index.html │ ├── netlify.toml │ ├── package-lock.json │ ├── package.json │ ├── public │ │ ├── default-user.jpg │ │ ├── logo-dark.png │ │ ├── logo-light.png │ │ └── vite.svg │ ├── src │ │ ├── App.jsx │ │ ├── context │ │ │ └── DarkModeContext.jsx │ │ ├── data │ │ │ ├── Uploader.jsx │ │ │ ├── cabins │ │ │ │ ├── cabin-001.jpg │ │ │ │ ├── cabin-002.jpg │ │ │ │ ├── cabin-003.jpg │ │ │ │ ├── cabin-004.jpg │ │ │ │ ├── cabin-005.jpg │ │ │ │ ├── cabin-006.jpg │ │ │ │ ├── cabin-007.jpg │ │ │ │ └── cabin-008.jpg │ │ │ ├── data-bookings.js │ │ │ ├── data-cabins.js │ │ │ └── data-guests.js │ │ ├── features │ │ │ ├── authentication │ │ │ │ ├── LoginForm.jsx │ │ │ │ ├── Logout.jsx │ │ │ │ ├── SignupForm.jsx │ │ │ │ ├── UpdatePasswordForm.jsx │ │ │ │ ├── UpdateUserDataForm.jsx │ │ │ │ ├── UserAvatar.jsx │ │ │ │ ├── useLogin.js │ │ │ │ ├── useLogout.js │ │ │ │ ├── useSignup.js │ │ │ │ ├── useUpdateUser.js │ │ │ │ └── useUser.js │ │ │ ├── bookings │ │ │ │ ├── BookingDataBox.jsx │ │ │ │ ├── BookingDetail.jsx │ │ │ │ ├── BookingRow.jsx │ │ │ │ ├── BookingTable.jsx │ │ │ │ ├── BookingTableOperations.jsx │ │ │ │ ├── useBooking.js │ │ │ │ ├── useBookings.js │ │ │ │ └── useDeleteBooking.js │ │ │ ├── cabins │ │ │ │ ├── AddCabin.jsx │ │ │ │ ├── CabinRow-v1.jsx │ │ │ │ ├── CabinRow.jsx │ │ │ │ ├── CabinTable-v1.jsx │ │ │ │ ├── CabinTable-v2.jsx │ │ │ │ ├── CabinTable.jsx │ │ │ │ ├── CabinTableOperations.jsx │ │ │ │ ├── CreateCabinForm-v1.jsx │ │ │ │ ├── CreateCabinForm.jsx │ │ │ │ ├── useCabins.js │ │ │ │ ├── useCreateCabin.js │ │ │ │ ├── useDeleteCabin.js │ │ │ │ └── useEditCabin.js │ │ │ ├── check-in-out │ │ │ │ ├── CheckinBooking.jsx │ │ │ │ ├── CheckoutButton.jsx │ │ │ │ ├── TodayActivity.jsx │ │ │ │ ├── TodayItem.jsx │ │ │ │ ├── useCheckin.js │ │ │ │ ├── useCheckout.js │ │ │ │ └── useTodayActivity.js │ │ │ ├── dashboard │ │ │ │ ├── DashboardBox.jsx │ │ │ │ ├── DashboardFilter.jsx │ │ │ │ ├── DashboardLayout.jsx │ │ │ │ ├── DurationChart.jsx │ │ │ │ ├── SalesChart.jsx │ │ │ │ ├── Stat.jsx │ │ │ │ ├── Stats.jsx │ │ │ │ ├── useRecentBookings.js │ │ │ │ └── useRecentStays.js │ │ │ └── settings │ │ │ │ ├── UpdateSettingsForm.jsx │ │ │ │ ├── useSettings.js │ │ │ │ └── useUpdateSetting.js │ │ ├── hooks │ │ │ ├── useLocalStorageState.js │ │ │ ├── useMoveBack.js │ │ │ └── useOutsideClick.js │ │ ├── main.jsx │ │ ├── pages │ │ │ ├── Account.jsx │ │ │ ├── Booking.jsx │ │ │ ├── Bookings.jsx │ │ │ ├── Cabins.jsx │ │ │ ├── Checkin.jsx │ │ │ ├── Dashboard.jsx │ │ │ ├── Login.jsx │ │ │ ├── PageNotFound.jsx │ │ │ ├── Settings.jsx │ │ │ └── Users.jsx │ │ ├── services │ │ │ ├── apiAuth.js │ │ │ ├── apiBookings.js │ │ │ ├── apiCabins.js │ │ │ ├── apiSettings.js │ │ │ └── supabase.js │ │ ├── styles │ │ │ └── GlobalStyles.js │ │ ├── ui │ │ │ ├── AppLayout.jsx │ │ │ ├── Button.jsx │ │ │ ├── ButtonGroup.jsx │ │ │ ├── ButtonIcon.jsx │ │ │ ├── ButtonText.jsx │ │ │ ├── Checkbox.jsx │ │ │ ├── ConfirmDelete.jsx │ │ │ ├── DarkModeToggle.jsx │ │ │ ├── DataItem.jsx │ │ │ ├── Empty.jsx │ │ │ ├── ErrorFallback.jsx │ │ │ ├── FileInput.jsx │ │ │ ├── Filter.jsx │ │ │ ├── Flag.jsx │ │ │ ├── Form.jsx │ │ │ ├── FormRow.jsx │ │ │ ├── FormRowVertical.jsx │ │ │ ├── Header.jsx │ │ │ ├── HeaderMenu.jsx │ │ │ ├── Heading.jsx │ │ │ ├── Input.jsx │ │ │ ├── Logo.jsx │ │ │ ├── MainNav.jsx │ │ │ ├── Menus.jsx │ │ │ ├── Modal-v1.jsx │ │ │ ├── Modal.jsx │ │ │ ├── Pagination.jsx │ │ │ ├── ProtectedRoute.jsx │ │ │ ├── Row.jsx │ │ │ ├── Select.jsx │ │ │ ├── Sidebar.jsx │ │ │ ├── SortBy.jsx │ │ │ ├── Spinner.jsx │ │ │ ├── SpinnerMini.jsx │ │ │ ├── Table.jsx │ │ │ ├── TableOperations.jsx │ │ │ ├── Tag.jsx │ │ │ └── Textarea.jsx │ │ └── utils │ │ │ ├── constants.js │ │ │ └── helpers.js │ └── vite.config.js └── starter │ ├── data │ ├── Uploader.jsx │ ├── cabins │ │ ├── cabin-001.jpg │ │ ├── cabin-002.jpg │ │ ├── cabin-003.jpg │ │ ├── cabin-004.jpg │ │ ├── cabin-005.jpg │ │ ├── cabin-006.jpg │ │ ├── cabin-007.jpg │ │ └── cabin-008.jpg │ ├── data-bookings.js │ ├── data-cabins.js │ ├── data-guests.js │ └── img │ │ ├── default-user.jpg │ │ ├── logo-dark.png │ │ └── logo-light.png │ ├── features │ ├── authentication │ │ ├── LoginForm.jsx │ │ ├── SignupForm.jsx │ │ ├── UpdatePasswordForm.jsx │ │ ├── UpdateUserDataForm.jsx │ │ └── UserAvatar.jsx │ ├── bookings │ │ ├── BookingDataBox.jsx │ │ ├── BookingDetail.jsx │ │ ├── BookingRow.jsx │ │ ├── BookingTable.jsx │ │ └── BookingTableOperations.jsx │ ├── cabins │ │ ├── CabinRow.jsx │ │ ├── CabinTable.jsx │ │ └── CreateCabinForm.jsx │ ├── check-in-out │ │ ├── CheckinBooking.jsx │ │ ├── CheckoutButton.jsx │ │ ├── TodayActivity.jsx │ │ └── TodayItem.jsx │ ├── dashboard │ │ ├── DashboardBox.jsx │ │ ├── DashboardFilter.jsx │ │ ├── DashboardLayout.jsx │ │ ├── DurationChart.jsx │ │ ├── SalesChart.jsx │ │ └── Stat.jsx │ └── settings │ │ └── UpdateSettingsForm.jsx │ ├── hooks │ ├── useLocalStorageState.js │ └── useMoveBack.js │ ├── pages │ ├── Account.jsx │ ├── Bookings.jsx │ ├── Cabins.jsx │ ├── Dashboard.jsx │ ├── Login.jsx │ ├── PageNotFound.jsx │ ├── Settings.jsx │ └── Users.jsx │ ├── services │ ├── apiBookings.js │ └── apiSettings.js │ ├── styles │ └── index.css │ ├── ui │ ├── Button.jsx │ ├── ButtonGroup.jsx │ ├── ButtonIcon.jsx │ ├── ButtonText.jsx │ ├── Checkbox.jsx │ ├── ConfirmDelete.jsx │ ├── DataItem.jsx │ ├── Empty.jsx │ ├── ErrorFallback.jsx │ ├── FileInput.jsx │ ├── Filter.jsx │ ├── Flag.jsx │ ├── Form.jsx │ ├── Logo.jsx │ ├── MainNav.jsx │ ├── Menus.jsx │ ├── Modal.jsx │ ├── Pagination.jsx │ ├── Select.jsx │ ├── Spinner.jsx │ ├── SpinnerMini.jsx │ ├── Table.jsx │ ├── TableOperations.jsx │ ├── Tag.jsx │ └── Textarea.jsx │ └── utils │ └── helpers.js ├── 20-manual-ssr ├── final │ ├── .babelrc │ ├── client.js │ ├── index.html │ ├── package-lock.json │ ├── package.json │ ├── server.js │ ├── start.js │ └── starter.js └── starter │ ├── .babelrc │ └── starter.js ├── 21-the-wild-oasis-website ├── final-1-after-overview │ ├── .eslintrc.json │ ├── README.md │ ├── app │ │ ├── about │ │ │ └── page.js │ │ ├── account │ │ │ └── page.js │ │ ├── cabins │ │ │ └── page.js │ │ ├── components │ │ │ ├── Counter.js │ │ │ ├── Logo.js │ │ │ └── Navigation.js │ │ ├── layout.js │ │ ├── loading.js │ │ └── page.js │ ├── jsconfig.json │ ├── next.config.mjs │ ├── package-lock.json │ ├── package.json │ ├── postcss.config.js │ ├── public │ │ └── icon.png │ ├── starter │ │ ├── components │ │ │ ├── CabinCard.js │ │ │ ├── DateSelector.js │ │ │ ├── DeleteReservation.js │ │ │ ├── Header.js │ │ │ ├── LoginMessage.js │ │ │ ├── Logo.js │ │ │ ├── Navigation.js │ │ │ ├── Price.js │ │ │ ├── ReservationCard.js │ │ │ ├── ReservationForm.js │ │ │ ├── ReservationReminder.js │ │ │ ├── SelectCountry.js │ │ │ ├── SideNavigation.js │ │ │ ├── SignInButton.js │ │ │ ├── SignOutButton.js │ │ │ ├── Spinner.js │ │ │ ├── SpinnerMini.js │ │ │ └── TextExpander.js │ │ ├── others │ │ │ ├── about-1.jpg │ │ │ ├── about-2.jpg │ │ │ ├── bg.png │ │ │ ├── colors.json │ │ │ ├── data-service.js │ │ │ ├── error.js │ │ │ ├── globals.css │ │ │ ├── logo.png │ │ │ └── not-found.js │ │ └── pages │ │ │ ├── about-page.js │ │ │ ├── cabin-page.js │ │ │ ├── cabins-page.js │ │ │ ├── home-page.js │ │ │ ├── login-page.js │ │ │ ├── profile-page.js │ │ │ ├── reservation-edit-page.js │ │ │ ├── reservations-page.js │ │ │ └── thank-you-page.js │ └── tailwind.config.js ├── final-2-after-start │ ├── .eslintrc.json │ ├── README.md │ ├── app │ │ ├── _components │ │ │ ├── CabinCard.js │ │ │ ├── Counter.js │ │ │ ├── DeleteReservation.js │ │ │ ├── Header.js │ │ │ ├── Logo.js │ │ │ ├── Navigation.js │ │ │ ├── ReservationCard.js │ │ │ ├── SelectCountry.js │ │ │ ├── SideNavigation.js │ │ │ ├── SignInButton.js │ │ │ └── SignOutButton.js │ │ ├── _lib │ │ │ └── data-service.js │ │ ├── _styles │ │ │ └── globals.css │ │ ├── about │ │ │ └── page.js │ │ ├── account │ │ │ ├── layout.js │ │ │ ├── page.js │ │ │ ├── profile │ │ │ │ └── page.js │ │ │ └── reservations │ │ │ │ └── page.js │ │ ├── cabins │ │ │ └── page.js │ │ ├── icon.png │ │ ├── layout.js │ │ ├── loading.js │ │ └── page.js │ ├── jsconfig.json │ ├── next.config.mjs │ ├── package-lock.json │ ├── package.json │ ├── postcss.config.js │ ├── public │ │ ├── about-1.jpg │ │ ├── about-2.jpg │ │ ├── bg.png │ │ └── logo.png │ ├── starter │ │ ├── components │ │ │ ├── DateSelector.js │ │ │ ├── LoginMessage.js │ │ │ ├── Logo.js │ │ │ ├── Price.js │ │ │ ├── ReservationForm.js │ │ │ ├── ReservationReminder.js │ │ │ ├── Spinner.js │ │ │ ├── SpinnerMini.js │ │ │ └── TextExpander.js │ │ ├── others │ │ │ ├── colors.json │ │ │ ├── error.js │ │ │ └── not-found.js │ │ └── pages │ │ │ ├── about-page.js │ │ │ ├── cabin-page.js │ │ │ ├── cabins-page.js │ │ │ ├── home-page.js │ │ │ ├── login-page.js │ │ │ ├── reservation-edit-page.js │ │ │ └── thank-you-page.js │ └── tailwind.config.js ├── final-3-after-data │ ├── .eslintrc.json │ ├── README.md │ ├── app │ │ ├── _components │ │ │ ├── CabinCard.js │ │ │ ├── CabinList.js │ │ │ ├── Counter.js │ │ │ ├── DeleteReservation.js │ │ │ ├── Header.js │ │ │ ├── Logo.js │ │ │ ├── Navigation.js │ │ │ ├── ReservationCard.js │ │ │ ├── SelectCountry.js │ │ │ ├── SideNavigation.js │ │ │ ├── SignInButton.js │ │ │ ├── SignOutButton.js │ │ │ ├── Spinner.js │ │ │ └── SpinnerMini.js │ │ ├── _lib │ │ │ ├── data-service.js │ │ │ └── supabase.js │ │ ├── _styles │ │ │ └── globals.css │ │ ├── about │ │ │ └── page.js │ │ ├── account │ │ │ ├── layout.js │ │ │ ├── page.js │ │ │ ├── profile │ │ │ │ └── page.js │ │ │ └── reservations │ │ │ │ └── page.js │ │ ├── cabins │ │ │ ├── [cabinId] │ │ │ │ ├── not-found.js │ │ │ │ └── page.js │ │ │ ├── loading.js │ │ │ └── page.js │ │ ├── error.js │ │ ├── icon.png │ │ ├── layout.js │ │ ├── loading.js │ │ ├── not-found.js │ │ └── page.js │ ├── jsconfig.json │ ├── next.config.mjs │ ├── package-lock.json │ ├── package.json │ ├── postcss.config.js │ ├── public │ │ ├── about-1.jpg │ │ ├── about-2.jpg │ │ ├── bg.png │ │ └── logo.png │ ├── starter │ │ ├── components │ │ │ ├── DateSelector.js │ │ │ ├── LoginMessage.js │ │ │ ├── Logo.js │ │ │ ├── Price.js │ │ │ ├── ReservationForm.js │ │ │ ├── ReservationReminder.js │ │ │ └── TextExpander.js │ │ ├── others │ │ │ ├── colors.json │ │ │ ├── error.js │ │ │ └── not-found.js │ │ └── pages │ │ │ ├── about-page.js │ │ │ ├── cabin-page.js │ │ │ ├── cabins-page.js │ │ │ ├── home-page.js │ │ │ ├── login-page.js │ │ │ ├── reservation-edit-page.js │ │ │ └── thank-you-page.js │ └── tailwind.config.js ├── final-4-after-interactions │ ├── .eslintrc.json │ ├── README.md │ ├── app │ │ ├── _components │ │ │ ├── Cabin.js │ │ │ ├── CabinCard.js │ │ │ ├── CabinList.js │ │ │ ├── Counter.js │ │ │ ├── DateSelector.js │ │ │ ├── DeleteReservation.js │ │ │ ├── Filter.js │ │ │ ├── Header.js │ │ │ ├── Logo.js │ │ │ ├── Navigation.js │ │ │ ├── Reservation.js │ │ │ ├── ReservationCard.js │ │ │ ├── ReservationContext.js │ │ │ ├── ReservationForm.js │ │ │ ├── ReservationReminder.js │ │ │ ├── SelectCountry.js │ │ │ ├── SideNavigation.js │ │ │ ├── SignInButton.js │ │ │ ├── SignOutButton.js │ │ │ ├── Spinner.js │ │ │ ├── SpinnerMini.js │ │ │ ├── TextExpander.js │ │ │ └── UpdateProfileForm.js │ │ ├── _lib │ │ │ ├── data-service.js │ │ │ └── supabase.js │ │ ├── _styles │ │ │ └── globals.css │ │ ├── about │ │ │ └── page.js │ │ ├── account │ │ │ ├── layout.js │ │ │ ├── page.js │ │ │ ├── profile │ │ │ │ └── page.js │ │ │ └── reservations │ │ │ │ └── page.js │ │ ├── api │ │ │ └── cabins │ │ │ │ └── [cabinId] │ │ │ │ └── route.js │ │ ├── cabins │ │ │ ├── [cabinId] │ │ │ │ ├── not-found.js │ │ │ │ └── page.js │ │ │ ├── loading.js │ │ │ └── page.js │ │ ├── error.js │ │ ├── icon.png │ │ ├── layout.js │ │ ├── loading.js │ │ ├── not-found.js │ │ └── page.js │ ├── jsconfig.json │ ├── next.config.mjs │ ├── package-lock.json │ ├── package.json │ ├── postcss.config.js │ ├── public │ │ ├── about-1.jpg │ │ ├── about-2.jpg │ │ ├── bg.png │ │ └── logo.png │ ├── starter │ │ ├── components │ │ │ ├── LoginMessage.js │ │ │ ├── Logo.js │ │ │ └── Price.js │ │ ├── others │ │ │ ├── colors.json │ │ │ ├── error.js │ │ │ └── not-found.js │ │ └── pages │ │ │ ├── about-page.js │ │ │ ├── cabin-page.js │ │ │ ├── cabins-page.js │ │ │ ├── home-page.js │ │ │ ├── login-page.js │ │ │ ├── reservation-edit-page.js │ │ │ └── thank-you-page.js │ └── tailwind.config.js ├── final-5-after-auth │ ├── .eslintrc.json │ ├── README.md │ ├── app │ │ ├── _components │ │ │ ├── Cabin.js │ │ │ ├── CabinCard.js │ │ │ ├── CabinList.js │ │ │ ├── Counter.js │ │ │ ├── DateSelector.js │ │ │ ├── DeleteReservation.js │ │ │ ├── Filter.js │ │ │ ├── Header.js │ │ │ ├── LoginMessage.js │ │ │ ├── Logo.js │ │ │ ├── Navigation.js │ │ │ ├── Reservation.js │ │ │ ├── ReservationCard.js │ │ │ ├── ReservationContext.js │ │ │ ├── ReservationForm.js │ │ │ ├── ReservationReminder.js │ │ │ ├── SelectCountry.js │ │ │ ├── SideNavigation.js │ │ │ ├── SignInButton.js │ │ │ ├── SignOutButton.js │ │ │ ├── Spinner.js │ │ │ ├── SpinnerMini.js │ │ │ ├── TextExpander.js │ │ │ └── UpdateProfileForm.js │ │ ├── _lib │ │ │ ├── actions.js │ │ │ ├── auth.js │ │ │ ├── data-service.js │ │ │ └── supabase.js │ │ ├── _styles │ │ │ └── globals.css │ │ ├── about │ │ │ └── page.js │ │ ├── account │ │ │ ├── layout.js │ │ │ ├── page.js │ │ │ ├── profile │ │ │ │ └── page.js │ │ │ └── reservations │ │ │ │ └── page.js │ │ ├── api │ │ │ ├── auth │ │ │ │ └── [...nextauth] │ │ │ │ │ └── route.js │ │ │ └── cabins │ │ │ │ └── [cabinId] │ │ │ │ └── route.js │ │ ├── cabins │ │ │ ├── [cabinId] │ │ │ │ ├── not-found.js │ │ │ │ └── page.js │ │ │ ├── loading.js │ │ │ └── page.js │ │ ├── error.js │ │ ├── icon.png │ │ ├── layout.js │ │ ├── loading.js │ │ ├── login │ │ │ └── page.js │ │ ├── not-found.js │ │ └── page.js │ ├── jsconfig.json │ ├── middleware.js │ ├── next.config.mjs │ ├── package-lock.json │ ├── package.json │ ├── postcss.config.js │ ├── public │ │ ├── about-1.jpg │ │ ├── about-2.jpg │ │ ├── bg.png │ │ └── logo.png │ ├── starter │ │ ├── components │ │ │ ├── Logo.js │ │ │ └── Price.js │ │ ├── others │ │ │ ├── colors.json │ │ │ ├── error.js │ │ │ └── not-found.js │ │ └── pages │ │ │ ├── about-page.js │ │ │ ├── cabin-page.js │ │ │ ├── cabins-page.js │ │ │ ├── home-page.js │ │ │ ├── reservation-edit-page.js │ │ │ └── thank-you-page.js │ └── tailwind.config.js ├── final-6-after-server-actions │ ├── .eslintrc.json │ ├── README.md │ ├── app │ │ ├── _components │ │ │ ├── Cabin.js │ │ │ ├── CabinCard.js │ │ │ ├── CabinList.js │ │ │ ├── Counter.js │ │ │ ├── DateSelector.js │ │ │ ├── DeleteReservation.js │ │ │ ├── Filter.js │ │ │ ├── Header.js │ │ │ ├── LoginMessage.js │ │ │ ├── Logo.js │ │ │ ├── Navigation.js │ │ │ ├── Reservation.js │ │ │ ├── ReservationCard.js │ │ │ ├── ReservationContext.js │ │ │ ├── ReservationForm.js │ │ │ ├── ReservationList.js │ │ │ ├── ReservationReminder.js │ │ │ ├── SelectCountry.js │ │ │ ├── SideNavigation.js │ │ │ ├── SignInButton.js │ │ │ ├── SignOutButton.js │ │ │ ├── Spinner.js │ │ │ ├── SpinnerMini.js │ │ │ ├── SubmitButton.js │ │ │ ├── TextExpander.js │ │ │ └── UpdateProfileForm.js │ │ ├── _lib │ │ │ ├── actions.js │ │ │ ├── auth.js │ │ │ ├── data-service.js │ │ │ └── supabase.js │ │ ├── _styles │ │ │ └── globals.css │ │ ├── about │ │ │ └── page.js │ │ ├── account │ │ │ ├── layout.js │ │ │ ├── loading.js │ │ │ ├── page.js │ │ │ ├── profile │ │ │ │ └── page.js │ │ │ └── reservations │ │ │ │ ├── edit │ │ │ │ └── [bookingId] │ │ │ │ │ └── page.js │ │ │ │ └── page.js │ │ ├── api │ │ │ ├── auth │ │ │ │ └── [...nextauth] │ │ │ │ │ └── route.js │ │ │ └── cabins │ │ │ │ └── [cabinId] │ │ │ │ └── route.js │ │ ├── cabins │ │ │ ├── [cabinId] │ │ │ │ ├── not-found.js │ │ │ │ └── page.js │ │ │ ├── loading.js │ │ │ ├── page.js │ │ │ └── thankyou │ │ │ │ └── page.js │ │ ├── error.js │ │ ├── icon.png │ │ ├── layout.js │ │ ├── loading.js │ │ ├── login │ │ │ └── page.js │ │ ├── not-found.js │ │ └── page.js │ ├── jsconfig.json │ ├── middleware.js │ ├── next.config.mjs │ ├── package-lock.json │ ├── package.json │ ├── postcss.config.js │ ├── public │ │ ├── about-1.jpg │ │ ├── about-2.jpg │ │ ├── bg.png │ │ └── logo.png │ ├── starter │ │ ├── components │ │ │ ├── Logo.js │ │ │ └── Price.js │ │ ├── others │ │ │ ├── colors.json │ │ │ ├── error.js │ │ │ └── not-found.js │ │ └── pages │ │ │ ├── about-page.js │ │ │ ├── cabin-page.js │ │ │ ├── cabins-page.js │ │ │ └── home-page.js │ └── tailwind.config.js └── starter │ ├── components │ ├── CabinCard.js │ ├── DateSelector.js │ ├── DeleteReservation.js │ ├── Header.js │ ├── LoginMessage.js │ ├── Logo.js │ ├── Navigation.js │ ├── Price.js │ ├── ReservationCard.js │ ├── ReservationForm.js │ ├── ReservationReminder.js │ ├── SelectCountry.js │ ├── SideNavigation.js │ ├── SignInButton.js │ ├── SignOutButton.js │ ├── Spinner.js │ ├── SpinnerMini.js │ └── TextExpander.js │ ├── others │ ├── about-1.jpg │ ├── about-2.jpg │ ├── bg.png │ ├── colors.json │ ├── data-service.js │ ├── error.js │ ├── globals.css │ ├── logo.png │ └── not-found.js │ └── pages │ ├── about-page.js │ ├── cabin-page.js │ ├── cabins-page.js │ ├── home-page.js │ ├── login-page.js │ ├── profile-page.js │ ├── reservation-edit-page.js │ ├── reservations-page.js │ └── thank-you-page.js ├── 22-nextjs-pages-router ├── final │ ├── .eslintrc.json │ ├── README.md │ ├── components │ │ ├── CabinCard.js │ │ ├── CabinList.js │ │ ├── CabinView.js │ │ ├── Header.js │ │ ├── Logo.js │ │ ├── Navigation.js │ │ └── TextExpander.js │ ├── jsconfig.json │ ├── lib │ │ ├── data-service.js │ │ └── supabase.js │ ├── next.config.mjs │ ├── package-lock.json │ ├── package.json │ ├── pages │ │ ├── _app.js │ │ ├── about.js │ │ ├── api │ │ │ └── contact.js │ │ ├── cabins.js │ │ ├── cabins │ │ │ └── [cabinId].js │ │ ├── contact.js │ │ └── index.js │ ├── postcss.config.js │ ├── public │ │ ├── about-1.jpg │ │ ├── about-2.jpg │ │ ├── bg.png │ │ └── logo.png │ ├── styles │ │ └── globals.css │ └── tailwind.config.js └── starter │ ├── components │ ├── CabinCard.js │ ├── CabinList.js │ ├── CabinView.js │ ├── Header.js │ ├── Logo.js │ ├── Navigation.js │ └── TextExpander.js │ ├── others │ ├── about-1.jpg │ ├── about-2.jpg │ ├── bg.png │ ├── data-service.js │ ├── logo.png │ ├── next.config.mjs │ ├── supabase.js │ └── tailwind.config.js │ └── pages │ ├── about-page.js │ ├── cabins-page.js │ ├── contact-page.js │ ├── home-page.js │ └── root-layout.js └── README.md /00-setup/snippets.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/00-setup/snippets.json -------------------------------------------------------------------------------- /01-pure-react/final/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/01-pure-react/final/index.html -------------------------------------------------------------------------------- /02-JS-review/final/script.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/02-JS-review/final/script.js -------------------------------------------------------------------------------- /02-JS-review/starter/script.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/02-JS-review/starter/script.js -------------------------------------------------------------------------------- /03-pizza-menu/final/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/03-pizza-menu/final/README.md -------------------------------------------------------------------------------- /03-pizza-menu/final/package-lock.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/03-pizza-menu/final/package-lock.json -------------------------------------------------------------------------------- /03-pizza-menu/final/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/03-pizza-menu/final/package.json -------------------------------------------------------------------------------- /03-pizza-menu/final/public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/03-pizza-menu/final/public/favicon.ico -------------------------------------------------------------------------------- /03-pizza-menu/final/public/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/03-pizza-menu/final/public/index.html -------------------------------------------------------------------------------- /03-pizza-menu/final/public/logo192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/03-pizza-menu/final/public/logo192.png -------------------------------------------------------------------------------- /03-pizza-menu/final/public/logo512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/03-pizza-menu/final/public/logo512.png -------------------------------------------------------------------------------- /03-pizza-menu/final/public/manifest.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/03-pizza-menu/final/public/manifest.json -------------------------------------------------------------------------------- /03-pizza-menu/final/public/pizzas/focaccia.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/03-pizza-menu/final/public/pizzas/focaccia.jpg -------------------------------------------------------------------------------- /03-pizza-menu/final/public/pizzas/funghi.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/03-pizza-menu/final/public/pizzas/funghi.jpg -------------------------------------------------------------------------------- /03-pizza-menu/final/public/pizzas/margherita.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/03-pizza-menu/final/public/pizzas/margherita.jpg -------------------------------------------------------------------------------- /03-pizza-menu/final/public/pizzas/prosciutto.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/03-pizza-menu/final/public/pizzas/prosciutto.jpg -------------------------------------------------------------------------------- /03-pizza-menu/final/public/pizzas/salamino.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/03-pizza-menu/final/public/pizzas/salamino.jpg -------------------------------------------------------------------------------- /03-pizza-menu/final/public/pizzas/spinaci.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/03-pizza-menu/final/public/pizzas/spinaci.jpg -------------------------------------------------------------------------------- /03-pizza-menu/final/public/robots.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/03-pizza-menu/final/public/robots.txt -------------------------------------------------------------------------------- /03-pizza-menu/final/src/index.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/03-pizza-menu/final/src/index.css -------------------------------------------------------------------------------- /03-pizza-menu/final/src/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/03-pizza-menu/final/src/index.js -------------------------------------------------------------------------------- /03-pizza-menu/starter/data.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/03-pizza-menu/starter/data.js -------------------------------------------------------------------------------- /03-pizza-menu/starter/index.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/03-pizza-menu/starter/index.css -------------------------------------------------------------------------------- /03-pizza-menu/starter/pizzas/focaccia.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/03-pizza-menu/starter/pizzas/focaccia.jpg -------------------------------------------------------------------------------- /03-pizza-menu/starter/pizzas/funghi.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/03-pizza-menu/starter/pizzas/funghi.jpg -------------------------------------------------------------------------------- /03-pizza-menu/starter/pizzas/margherita.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/03-pizza-menu/starter/pizzas/margherita.jpg -------------------------------------------------------------------------------- /03-pizza-menu/starter/pizzas/prosciutto.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/03-pizza-menu/starter/pizzas/prosciutto.jpg -------------------------------------------------------------------------------- /03-pizza-menu/starter/pizzas/salamino.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/03-pizza-menu/starter/pizzas/salamino.jpg -------------------------------------------------------------------------------- /03-pizza-menu/starter/pizzas/spinaci.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/03-pizza-menu/starter/pizzas/spinaci.jpg -------------------------------------------------------------------------------- /04-steps/final/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/04-steps/final/README.md -------------------------------------------------------------------------------- /04-steps/final/package-lock.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/04-steps/final/package-lock.json -------------------------------------------------------------------------------- /04-steps/final/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/04-steps/final/package.json -------------------------------------------------------------------------------- /04-steps/final/public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/04-steps/final/public/favicon.ico -------------------------------------------------------------------------------- /04-steps/final/public/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/04-steps/final/public/index.html -------------------------------------------------------------------------------- /04-steps/final/public/logo192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/04-steps/final/public/logo192.png -------------------------------------------------------------------------------- /04-steps/final/public/logo512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/04-steps/final/public/logo512.png -------------------------------------------------------------------------------- /04-steps/final/public/manifest.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/04-steps/final/public/manifest.json -------------------------------------------------------------------------------- /04-steps/final/public/robots.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/04-steps/final/public/robots.txt -------------------------------------------------------------------------------- /04-steps/final/public/vanilla.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/04-steps/final/public/vanilla.html -------------------------------------------------------------------------------- /04-steps/final/src/App-v1.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/04-steps/final/src/App-v1.js -------------------------------------------------------------------------------- /04-steps/final/src/App.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/04-steps/final/src/App.js -------------------------------------------------------------------------------- /04-steps/final/src/index.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/04-steps/final/src/index.css -------------------------------------------------------------------------------- /04-steps/final/src/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/04-steps/final/src/index.js -------------------------------------------------------------------------------- /04-steps/starter/index.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/04-steps/starter/index.css -------------------------------------------------------------------------------- /04-steps/starter/vanilla.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/04-steps/starter/vanilla.html -------------------------------------------------------------------------------- /05-travel-list/final/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/05-travel-list/final/README.md -------------------------------------------------------------------------------- /05-travel-list/final/package-lock.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/05-travel-list/final/package-lock.json -------------------------------------------------------------------------------- /05-travel-list/final/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/05-travel-list/final/package.json -------------------------------------------------------------------------------- /05-travel-list/final/public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/05-travel-list/final/public/favicon.ico -------------------------------------------------------------------------------- /05-travel-list/final/public/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/05-travel-list/final/public/index.html -------------------------------------------------------------------------------- /05-travel-list/final/public/logo192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/05-travel-list/final/public/logo192.png -------------------------------------------------------------------------------- /05-travel-list/final/public/logo512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/05-travel-list/final/public/logo512.png -------------------------------------------------------------------------------- /05-travel-list/final/public/manifest.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/05-travel-list/final/public/manifest.json -------------------------------------------------------------------------------- /05-travel-list/final/public/robots.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/05-travel-list/final/public/robots.txt -------------------------------------------------------------------------------- /05-travel-list/final/src/components/App.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/05-travel-list/final/src/components/App.js -------------------------------------------------------------------------------- /05-travel-list/final/src/components/Form.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/05-travel-list/final/src/components/Form.js -------------------------------------------------------------------------------- /05-travel-list/final/src/components/Item.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/05-travel-list/final/src/components/Item.js -------------------------------------------------------------------------------- /05-travel-list/final/src/components/Logo.js: -------------------------------------------------------------------------------- 1 | export default function Logo() { 2 | return

🏝️ Far Away 🧳

; 3 | } 4 | -------------------------------------------------------------------------------- /05-travel-list/final/src/components/PackingList.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/05-travel-list/final/src/components/PackingList.js -------------------------------------------------------------------------------- /05-travel-list/final/src/components/Stats.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/05-travel-list/final/src/components/Stats.js -------------------------------------------------------------------------------- /05-travel-list/final/src/index.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/05-travel-list/final/src/index.css -------------------------------------------------------------------------------- /05-travel-list/final/src/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/05-travel-list/final/src/index.js -------------------------------------------------------------------------------- /05-travel-list/starter/index.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/05-travel-list/starter/index.css -------------------------------------------------------------------------------- /06-eat-n-split/final/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/06-eat-n-split/final/README.md -------------------------------------------------------------------------------- /06-eat-n-split/final/package-lock.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/06-eat-n-split/final/package-lock.json -------------------------------------------------------------------------------- /06-eat-n-split/final/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/06-eat-n-split/final/package.json -------------------------------------------------------------------------------- /06-eat-n-split/final/public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/06-eat-n-split/final/public/favicon.ico -------------------------------------------------------------------------------- /06-eat-n-split/final/public/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/06-eat-n-split/final/public/index.html -------------------------------------------------------------------------------- /06-eat-n-split/final/public/logo192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/06-eat-n-split/final/public/logo192.png -------------------------------------------------------------------------------- /06-eat-n-split/final/public/logo512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/06-eat-n-split/final/public/logo512.png -------------------------------------------------------------------------------- /06-eat-n-split/final/public/manifest.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/06-eat-n-split/final/public/manifest.json -------------------------------------------------------------------------------- /06-eat-n-split/final/public/robots.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/06-eat-n-split/final/public/robots.txt -------------------------------------------------------------------------------- /06-eat-n-split/final/src/App.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/06-eat-n-split/final/src/App.js -------------------------------------------------------------------------------- /06-eat-n-split/final/src/index.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/06-eat-n-split/final/src/index.css -------------------------------------------------------------------------------- /06-eat-n-split/final/src/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/06-eat-n-split/final/src/index.js -------------------------------------------------------------------------------- /06-eat-n-split/starter/App.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/06-eat-n-split/starter/App.js -------------------------------------------------------------------------------- /06-eat-n-split/starter/index.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/06-eat-n-split/starter/index.css -------------------------------------------------------------------------------- /07-usepopcorn/final/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/07-usepopcorn/final/README.md -------------------------------------------------------------------------------- /07-usepopcorn/final/package-lock.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/07-usepopcorn/final/package-lock.json -------------------------------------------------------------------------------- /07-usepopcorn/final/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/07-usepopcorn/final/package.json -------------------------------------------------------------------------------- /07-usepopcorn/final/public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/07-usepopcorn/final/public/favicon.ico -------------------------------------------------------------------------------- /07-usepopcorn/final/public/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/07-usepopcorn/final/public/index.html -------------------------------------------------------------------------------- /07-usepopcorn/final/public/logo192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/07-usepopcorn/final/public/logo192.png -------------------------------------------------------------------------------- /07-usepopcorn/final/public/logo512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/07-usepopcorn/final/public/logo512.png -------------------------------------------------------------------------------- /07-usepopcorn/final/public/manifest.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/07-usepopcorn/final/public/manifest.json -------------------------------------------------------------------------------- /07-usepopcorn/final/public/robots.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/07-usepopcorn/final/public/robots.txt -------------------------------------------------------------------------------- /07-usepopcorn/final/src/App-v1.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/07-usepopcorn/final/src/App-v1.js -------------------------------------------------------------------------------- /07-usepopcorn/final/src/App-v2.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/07-usepopcorn/final/src/App-v2.js -------------------------------------------------------------------------------- /07-usepopcorn/final/src/App-v3.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/07-usepopcorn/final/src/App-v3.js -------------------------------------------------------------------------------- /07-usepopcorn/final/src/App.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/07-usepopcorn/final/src/App.js -------------------------------------------------------------------------------- /07-usepopcorn/final/src/StarRating.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/07-usepopcorn/final/src/StarRating.js -------------------------------------------------------------------------------- /07-usepopcorn/final/src/index.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/07-usepopcorn/final/src/index.css -------------------------------------------------------------------------------- /07-usepopcorn/final/src/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/07-usepopcorn/final/src/index.js -------------------------------------------------------------------------------- /07-usepopcorn/final/src/useKey.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/07-usepopcorn/final/src/useKey.js -------------------------------------------------------------------------------- /07-usepopcorn/final/src/useLocalStorageState.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/07-usepopcorn/final/src/useLocalStorageState.js -------------------------------------------------------------------------------- /07-usepopcorn/final/src/useMovies.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/07-usepopcorn/final/src/useMovies.js -------------------------------------------------------------------------------- /07-usepopcorn/starter/App.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/07-usepopcorn/starter/App.js -------------------------------------------------------------------------------- /07-usepopcorn/starter/index.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/07-usepopcorn/starter/index.css -------------------------------------------------------------------------------- /08-how-react-works/final/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/08-how-react-works/final/README.md -------------------------------------------------------------------------------- /08-how-react-works/final/package-lock.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/08-how-react-works/final/package-lock.json -------------------------------------------------------------------------------- /08-how-react-works/final/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/08-how-react-works/final/package.json -------------------------------------------------------------------------------- /08-how-react-works/final/public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/08-how-react-works/final/public/favicon.ico -------------------------------------------------------------------------------- /08-how-react-works/final/public/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/08-how-react-works/final/public/index.html -------------------------------------------------------------------------------- /08-how-react-works/final/src/App.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/08-how-react-works/final/src/App.js -------------------------------------------------------------------------------- /08-how-react-works/final/src/index.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/08-how-react-works/final/src/index.css -------------------------------------------------------------------------------- /08-how-react-works/final/src/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/08-how-react-works/final/src/index.js -------------------------------------------------------------------------------- /08-how-react-works/starter/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/08-how-react-works/starter/README.md -------------------------------------------------------------------------------- /08-how-react-works/starter/package-lock.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/08-how-react-works/starter/package-lock.json -------------------------------------------------------------------------------- /08-how-react-works/starter/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/08-how-react-works/starter/package.json -------------------------------------------------------------------------------- /08-how-react-works/starter/public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/08-how-react-works/starter/public/favicon.ico -------------------------------------------------------------------------------- /08-how-react-works/starter/public/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/08-how-react-works/starter/public/index.html -------------------------------------------------------------------------------- /08-how-react-works/starter/src/App.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/08-how-react-works/starter/src/App.js -------------------------------------------------------------------------------- /08-how-react-works/starter/src/index.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/08-how-react-works/starter/src/index.css -------------------------------------------------------------------------------- /08-how-react-works/starter/src/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/08-how-react-works/starter/src/index.js -------------------------------------------------------------------------------- /09-classy-weather/final/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/09-classy-weather/final/README.md -------------------------------------------------------------------------------- /09-classy-weather/final/package-lock.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/09-classy-weather/final/package-lock.json -------------------------------------------------------------------------------- /09-classy-weather/final/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/09-classy-weather/final/package.json -------------------------------------------------------------------------------- /09-classy-weather/final/public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/09-classy-weather/final/public/favicon.ico -------------------------------------------------------------------------------- /09-classy-weather/final/public/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/09-classy-weather/final/public/index.html -------------------------------------------------------------------------------- /09-classy-weather/final/public/logo192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/09-classy-weather/final/public/logo192.png -------------------------------------------------------------------------------- /09-classy-weather/final/public/logo512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/09-classy-weather/final/public/logo512.png -------------------------------------------------------------------------------- /09-classy-weather/final/public/manifest.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/09-classy-weather/final/public/manifest.json -------------------------------------------------------------------------------- /09-classy-weather/final/public/robots.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/09-classy-weather/final/public/robots.txt -------------------------------------------------------------------------------- /09-classy-weather/final/src/App-v1.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/09-classy-weather/final/src/App-v1.js -------------------------------------------------------------------------------- /09-classy-weather/final/src/App.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/09-classy-weather/final/src/App.js -------------------------------------------------------------------------------- /09-classy-weather/final/src/Counter.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/09-classy-weather/final/src/Counter.js -------------------------------------------------------------------------------- /09-classy-weather/final/src/index.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/09-classy-weather/final/src/index.css -------------------------------------------------------------------------------- /09-classy-weather/final/src/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/09-classy-weather/final/src/index.js -------------------------------------------------------------------------------- /09-classy-weather/final/src/starter.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/09-classy-weather/final/src/starter.js -------------------------------------------------------------------------------- /09-classy-weather/starter/index.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/09-classy-weather/starter/index.css -------------------------------------------------------------------------------- /09-classy-weather/starter/starter.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/09-classy-weather/starter/starter.js -------------------------------------------------------------------------------- /10-react-quiz/final/CHALLENGE.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/10-react-quiz/final/CHALLENGE.md -------------------------------------------------------------------------------- /10-react-quiz/final/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/10-react-quiz/final/README.md -------------------------------------------------------------------------------- /10-react-quiz/final/data/questions.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/10-react-quiz/final/data/questions.json -------------------------------------------------------------------------------- /10-react-quiz/final/package-lock.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/10-react-quiz/final/package-lock.json -------------------------------------------------------------------------------- /10-react-quiz/final/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/10-react-quiz/final/package.json -------------------------------------------------------------------------------- /10-react-quiz/final/public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/10-react-quiz/final/public/favicon.ico -------------------------------------------------------------------------------- /10-react-quiz/final/public/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/10-react-quiz/final/public/index.html -------------------------------------------------------------------------------- /10-react-quiz/final/public/logo192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/10-react-quiz/final/public/logo192.png -------------------------------------------------------------------------------- /10-react-quiz/final/public/logo512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/10-react-quiz/final/public/logo512.png -------------------------------------------------------------------------------- /10-react-quiz/final/public/manifest.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/10-react-quiz/final/public/manifest.json -------------------------------------------------------------------------------- /10-react-quiz/final/public/robots.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/10-react-quiz/final/public/robots.txt -------------------------------------------------------------------------------- /10-react-quiz/final/src-no-context/components/App.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/10-react-quiz/final/src-no-context/components/App.js -------------------------------------------------------------------------------- /10-react-quiz/final/src-no-context/components/DateCounter.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/10-react-quiz/final/src-no-context/components/DateCounter.js -------------------------------------------------------------------------------- /10-react-quiz/final/src-no-context/components/Error.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/10-react-quiz/final/src-no-context/components/Error.js -------------------------------------------------------------------------------- /10-react-quiz/final/src-no-context/components/FinishScreen.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/10-react-quiz/final/src-no-context/components/FinishScreen.js -------------------------------------------------------------------------------- /10-react-quiz/final/src-no-context/components/Footer.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/10-react-quiz/final/src-no-context/components/Footer.js -------------------------------------------------------------------------------- /10-react-quiz/final/src-no-context/components/Header.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/10-react-quiz/final/src-no-context/components/Header.js -------------------------------------------------------------------------------- /10-react-quiz/final/src-no-context/components/Loader.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/10-react-quiz/final/src-no-context/components/Loader.js -------------------------------------------------------------------------------- /10-react-quiz/final/src-no-context/components/Main.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/10-react-quiz/final/src-no-context/components/Main.js -------------------------------------------------------------------------------- /10-react-quiz/final/src-no-context/components/NextButton.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/10-react-quiz/final/src-no-context/components/NextButton.js -------------------------------------------------------------------------------- /10-react-quiz/final/src-no-context/components/Options.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/10-react-quiz/final/src-no-context/components/Options.js -------------------------------------------------------------------------------- /10-react-quiz/final/src-no-context/components/Progress.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/10-react-quiz/final/src-no-context/components/Progress.js -------------------------------------------------------------------------------- /10-react-quiz/final/src-no-context/components/Question.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/10-react-quiz/final/src-no-context/components/Question.js -------------------------------------------------------------------------------- /10-react-quiz/final/src-no-context/components/Timer.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/10-react-quiz/final/src-no-context/components/Timer.js -------------------------------------------------------------------------------- /10-react-quiz/final/src-no-context/index.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/10-react-quiz/final/src-no-context/index.css -------------------------------------------------------------------------------- /10-react-quiz/final/src-no-context/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/10-react-quiz/final/src-no-context/index.js -------------------------------------------------------------------------------- /10-react-quiz/final/src/components/App.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/10-react-quiz/final/src/components/App.js -------------------------------------------------------------------------------- /10-react-quiz/final/src/components/DateCounter.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/10-react-quiz/final/src/components/DateCounter.js -------------------------------------------------------------------------------- /10-react-quiz/final/src/components/Error.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/10-react-quiz/final/src/components/Error.js -------------------------------------------------------------------------------- /10-react-quiz/final/src/components/FinishScreen.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/10-react-quiz/final/src/components/FinishScreen.js -------------------------------------------------------------------------------- /10-react-quiz/final/src/components/Footer.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/10-react-quiz/final/src/components/Footer.js -------------------------------------------------------------------------------- /10-react-quiz/final/src/components/Header.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/10-react-quiz/final/src/components/Header.js -------------------------------------------------------------------------------- /10-react-quiz/final/src/components/Loader.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/10-react-quiz/final/src/components/Loader.js -------------------------------------------------------------------------------- /10-react-quiz/final/src/components/Main.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/10-react-quiz/final/src/components/Main.js -------------------------------------------------------------------------------- /10-react-quiz/final/src/components/NextButton.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/10-react-quiz/final/src/components/NextButton.js -------------------------------------------------------------------------------- /10-react-quiz/final/src/components/Options.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/10-react-quiz/final/src/components/Options.js -------------------------------------------------------------------------------- /10-react-quiz/final/src/components/Progress.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/10-react-quiz/final/src/components/Progress.js -------------------------------------------------------------------------------- /10-react-quiz/final/src/components/Question.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/10-react-quiz/final/src/components/Question.js -------------------------------------------------------------------------------- /10-react-quiz/final/src/components/StartScreen.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/10-react-quiz/final/src/components/StartScreen.js -------------------------------------------------------------------------------- /10-react-quiz/final/src/components/Timer.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/10-react-quiz/final/src/components/Timer.js -------------------------------------------------------------------------------- /10-react-quiz/final/src/contexts/QuizContext.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/10-react-quiz/final/src/contexts/QuizContext.js -------------------------------------------------------------------------------- /10-react-quiz/final/src/index.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/10-react-quiz/final/src/index.css -------------------------------------------------------------------------------- /10-react-quiz/final/src/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/10-react-quiz/final/src/index.js -------------------------------------------------------------------------------- /10-react-quiz/starter/DateCounter.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/10-react-quiz/starter/DateCounter.js -------------------------------------------------------------------------------- /10-react-quiz/starter/Error.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/10-react-quiz/starter/Error.js -------------------------------------------------------------------------------- /10-react-quiz/starter/Header.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/10-react-quiz/starter/Header.js -------------------------------------------------------------------------------- /10-react-quiz/starter/Loader.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/10-react-quiz/starter/Loader.js -------------------------------------------------------------------------------- /10-react-quiz/starter/index.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/10-react-quiz/starter/index.css -------------------------------------------------------------------------------- /10-react-quiz/starter/questions.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/10-react-quiz/starter/questions.json -------------------------------------------------------------------------------- /11-worldwise/final/.eslintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "react-app" 3 | } 4 | -------------------------------------------------------------------------------- /11-worldwise/final/data/cities.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/11-worldwise/final/data/cities.json -------------------------------------------------------------------------------- /11-worldwise/final/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/11-worldwise/final/index.html -------------------------------------------------------------------------------- /11-worldwise/final/package-lock.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/11-worldwise/final/package-lock.json -------------------------------------------------------------------------------- /11-worldwise/final/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/11-worldwise/final/package.json -------------------------------------------------------------------------------- /11-worldwise/final/public/bg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/11-worldwise/final/public/bg.jpg -------------------------------------------------------------------------------- /11-worldwise/final/public/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/11-worldwise/final/public/icon.png -------------------------------------------------------------------------------- /11-worldwise/final/public/img-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/11-worldwise/final/public/img-1.jpg -------------------------------------------------------------------------------- /11-worldwise/final/public/img-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/11-worldwise/final/public/img-2.jpg -------------------------------------------------------------------------------- /11-worldwise/final/public/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/11-worldwise/final/public/logo.png -------------------------------------------------------------------------------- /11-worldwise/final/public/vite.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/11-worldwise/final/public/vite.svg -------------------------------------------------------------------------------- /11-worldwise/final/src/App.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/11-worldwise/final/src/App.jsx -------------------------------------------------------------------------------- /11-worldwise/final/src/components/AppNav.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/11-worldwise/final/src/components/AppNav.jsx -------------------------------------------------------------------------------- /11-worldwise/final/src/components/AppNav.module.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/11-worldwise/final/src/components/AppNav.module.css -------------------------------------------------------------------------------- /11-worldwise/final/src/components/BackButton.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/11-worldwise/final/src/components/BackButton.jsx -------------------------------------------------------------------------------- /11-worldwise/final/src/components/Button.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/11-worldwise/final/src/components/Button.jsx -------------------------------------------------------------------------------- /11-worldwise/final/src/components/Button.module.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/11-worldwise/final/src/components/Button.module.css -------------------------------------------------------------------------------- /11-worldwise/final/src/components/City.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/11-worldwise/final/src/components/City.jsx -------------------------------------------------------------------------------- /11-worldwise/final/src/components/City.module.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/11-worldwise/final/src/components/City.module.css -------------------------------------------------------------------------------- /11-worldwise/final/src/components/CityItem.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/11-worldwise/final/src/components/CityItem.jsx -------------------------------------------------------------------------------- /11-worldwise/final/src/components/CityItem.module.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/11-worldwise/final/src/components/CityItem.module.css -------------------------------------------------------------------------------- /11-worldwise/final/src/components/CityList.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/11-worldwise/final/src/components/CityList.jsx -------------------------------------------------------------------------------- /11-worldwise/final/src/components/CityList.module.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/11-worldwise/final/src/components/CityList.module.css -------------------------------------------------------------------------------- /11-worldwise/final/src/components/CountryItem.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/11-worldwise/final/src/components/CountryItem.jsx -------------------------------------------------------------------------------- /11-worldwise/final/src/components/CountryItem.module.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/11-worldwise/final/src/components/CountryItem.module.css -------------------------------------------------------------------------------- /11-worldwise/final/src/components/CountryList.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/11-worldwise/final/src/components/CountryList.jsx -------------------------------------------------------------------------------- /11-worldwise/final/src/components/CountryList.module.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/11-worldwise/final/src/components/CountryList.module.css -------------------------------------------------------------------------------- /11-worldwise/final/src/components/Form.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/11-worldwise/final/src/components/Form.jsx -------------------------------------------------------------------------------- /11-worldwise/final/src/components/Form.module.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/11-worldwise/final/src/components/Form.module.css -------------------------------------------------------------------------------- /11-worldwise/final/src/components/Logo.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/11-worldwise/final/src/components/Logo.jsx -------------------------------------------------------------------------------- /11-worldwise/final/src/components/Logo.module.css: -------------------------------------------------------------------------------- 1 | .logo { 2 | height: 5.2rem; 3 | } 4 | -------------------------------------------------------------------------------- /11-worldwise/final/src/components/Map.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/11-worldwise/final/src/components/Map.jsx -------------------------------------------------------------------------------- /11-worldwise/final/src/components/Map.module.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/11-worldwise/final/src/components/Map.module.css -------------------------------------------------------------------------------- /11-worldwise/final/src/components/Message.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/11-worldwise/final/src/components/Message.jsx -------------------------------------------------------------------------------- /11-worldwise/final/src/components/Message.module.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/11-worldwise/final/src/components/Message.module.css -------------------------------------------------------------------------------- /11-worldwise/final/src/components/PageNav.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/11-worldwise/final/src/components/PageNav.jsx -------------------------------------------------------------------------------- /11-worldwise/final/src/components/PageNav.module.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/11-worldwise/final/src/components/PageNav.module.css -------------------------------------------------------------------------------- /11-worldwise/final/src/components/Sidebar.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/11-worldwise/final/src/components/Sidebar.jsx -------------------------------------------------------------------------------- /11-worldwise/final/src/components/Sidebar.module.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/11-worldwise/final/src/components/Sidebar.module.css -------------------------------------------------------------------------------- /11-worldwise/final/src/components/Spinner.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/11-worldwise/final/src/components/Spinner.jsx -------------------------------------------------------------------------------- /11-worldwise/final/src/components/Spinner.module.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/11-worldwise/final/src/components/Spinner.module.css -------------------------------------------------------------------------------- /11-worldwise/final/src/components/SpinnerFullPage.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/11-worldwise/final/src/components/SpinnerFullPage.jsx -------------------------------------------------------------------------------- /11-worldwise/final/src/components/User.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/11-worldwise/final/src/components/User.jsx -------------------------------------------------------------------------------- /11-worldwise/final/src/components/User.module.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/11-worldwise/final/src/components/User.module.css -------------------------------------------------------------------------------- /11-worldwise/final/src/contexts/CitiesContext.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/11-worldwise/final/src/contexts/CitiesContext.jsx -------------------------------------------------------------------------------- /11-worldwise/final/src/contexts/FakeAuthContext.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/11-worldwise/final/src/contexts/FakeAuthContext.jsx -------------------------------------------------------------------------------- /11-worldwise/final/src/hooks/useGeolocation.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/11-worldwise/final/src/hooks/useGeolocation.js -------------------------------------------------------------------------------- /11-worldwise/final/src/hooks/useUrlPosition.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/11-worldwise/final/src/hooks/useUrlPosition.js -------------------------------------------------------------------------------- /11-worldwise/final/src/index.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/11-worldwise/final/src/index.css -------------------------------------------------------------------------------- /11-worldwise/final/src/main.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/11-worldwise/final/src/main.jsx -------------------------------------------------------------------------------- /11-worldwise/final/src/pages/AppLayout.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/11-worldwise/final/src/pages/AppLayout.jsx -------------------------------------------------------------------------------- /11-worldwise/final/src/pages/AppLayout.module.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/11-worldwise/final/src/pages/AppLayout.module.css -------------------------------------------------------------------------------- /11-worldwise/final/src/pages/Homepage.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/11-worldwise/final/src/pages/Homepage.jsx -------------------------------------------------------------------------------- /11-worldwise/final/src/pages/Homepage.module.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/11-worldwise/final/src/pages/Homepage.module.css -------------------------------------------------------------------------------- /11-worldwise/final/src/pages/Login.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/11-worldwise/final/src/pages/Login.jsx -------------------------------------------------------------------------------- /11-worldwise/final/src/pages/Login.module.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/11-worldwise/final/src/pages/Login.module.css -------------------------------------------------------------------------------- /11-worldwise/final/src/pages/PageNotFound.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/11-worldwise/final/src/pages/PageNotFound.jsx -------------------------------------------------------------------------------- /11-worldwise/final/src/pages/Pricing.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/11-worldwise/final/src/pages/Pricing.jsx -------------------------------------------------------------------------------- /11-worldwise/final/src/pages/Product.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/11-worldwise/final/src/pages/Product.jsx -------------------------------------------------------------------------------- /11-worldwise/final/src/pages/Product.module.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/11-worldwise/final/src/pages/Product.module.css -------------------------------------------------------------------------------- /11-worldwise/final/src/pages/ProtectedRoute.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/11-worldwise/final/src/pages/ProtectedRoute.jsx -------------------------------------------------------------------------------- /11-worldwise/final/vite.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/11-worldwise/final/vite.config.js -------------------------------------------------------------------------------- /11-worldwise/starter/bg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/11-worldwise/starter/bg.jpg -------------------------------------------------------------------------------- /11-worldwise/starter/components/AppNav.module.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/11-worldwise/starter/components/AppNav.module.css -------------------------------------------------------------------------------- /11-worldwise/starter/components/Button.module.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/11-worldwise/starter/components/Button.module.css -------------------------------------------------------------------------------- /11-worldwise/starter/components/City.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/11-worldwise/starter/components/City.jsx -------------------------------------------------------------------------------- /11-worldwise/starter/components/City.module.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/11-worldwise/starter/components/City.module.css -------------------------------------------------------------------------------- /11-worldwise/starter/components/CityItem.module.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/11-worldwise/starter/components/CityItem.module.css -------------------------------------------------------------------------------- /11-worldwise/starter/components/CityList.module.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/11-worldwise/starter/components/CityList.module.css -------------------------------------------------------------------------------- /11-worldwise/starter/components/CountryItem.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/11-worldwise/starter/components/CountryItem.jsx -------------------------------------------------------------------------------- /11-worldwise/starter/components/CountryItem.module.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/11-worldwise/starter/components/CountryItem.module.css -------------------------------------------------------------------------------- /11-worldwise/starter/components/CountryList.module.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/11-worldwise/starter/components/CountryList.module.css -------------------------------------------------------------------------------- /11-worldwise/starter/components/Form.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/11-worldwise/starter/components/Form.jsx -------------------------------------------------------------------------------- /11-worldwise/starter/components/Form.module.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/11-worldwise/starter/components/Form.module.css -------------------------------------------------------------------------------- /11-worldwise/starter/components/Logo.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/11-worldwise/starter/components/Logo.jsx -------------------------------------------------------------------------------- /11-worldwise/starter/components/Logo.module.css: -------------------------------------------------------------------------------- 1 | .logo { 2 | height: 5.2rem; 3 | } 4 | -------------------------------------------------------------------------------- /11-worldwise/starter/components/Map.module.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/11-worldwise/starter/components/Map.module.css -------------------------------------------------------------------------------- /11-worldwise/starter/components/Message.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/11-worldwise/starter/components/Message.jsx -------------------------------------------------------------------------------- /11-worldwise/starter/components/Message.module.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/11-worldwise/starter/components/Message.module.css -------------------------------------------------------------------------------- /11-worldwise/starter/components/PageNav.module.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/11-worldwise/starter/components/PageNav.module.css -------------------------------------------------------------------------------- /11-worldwise/starter/components/Sidebar.module.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/11-worldwise/starter/components/Sidebar.module.css -------------------------------------------------------------------------------- /11-worldwise/starter/components/Spinner.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/11-worldwise/starter/components/Spinner.jsx -------------------------------------------------------------------------------- /11-worldwise/starter/components/Spinner.module.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/11-worldwise/starter/components/Spinner.module.css -------------------------------------------------------------------------------- /11-worldwise/starter/components/SpinnerFullPage.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/11-worldwise/starter/components/SpinnerFullPage.jsx -------------------------------------------------------------------------------- /11-worldwise/starter/components/SpinnerFullPage.module.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/11-worldwise/starter/components/SpinnerFullPage.module.css -------------------------------------------------------------------------------- /11-worldwise/starter/components/User.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/11-worldwise/starter/components/User.jsx -------------------------------------------------------------------------------- /11-worldwise/starter/components/User.module.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/11-worldwise/starter/components/User.module.css -------------------------------------------------------------------------------- /11-worldwise/starter/data/cities.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/11-worldwise/starter/data/cities.json -------------------------------------------------------------------------------- /11-worldwise/starter/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/11-worldwise/starter/icon.png -------------------------------------------------------------------------------- /11-worldwise/starter/img-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/11-worldwise/starter/img-1.jpg -------------------------------------------------------------------------------- /11-worldwise/starter/img-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/11-worldwise/starter/img-2.jpg -------------------------------------------------------------------------------- /11-worldwise/starter/index.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/11-worldwise/starter/index.css -------------------------------------------------------------------------------- /11-worldwise/starter/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/11-worldwise/starter/logo.png -------------------------------------------------------------------------------- /11-worldwise/starter/pages/AppLayout.module.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/11-worldwise/starter/pages/AppLayout.module.css -------------------------------------------------------------------------------- /11-worldwise/starter/pages/Homepage.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/11-worldwise/starter/pages/Homepage.jsx -------------------------------------------------------------------------------- /11-worldwise/starter/pages/Homepage.module.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/11-worldwise/starter/pages/Homepage.module.css -------------------------------------------------------------------------------- /11-worldwise/starter/pages/Login.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/11-worldwise/starter/pages/Login.jsx -------------------------------------------------------------------------------- /11-worldwise/starter/pages/Login.module.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/11-worldwise/starter/pages/Login.module.css -------------------------------------------------------------------------------- /11-worldwise/starter/pages/PageNotFound.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/11-worldwise/starter/pages/PageNotFound.jsx -------------------------------------------------------------------------------- /11-worldwise/starter/pages/Pricing.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/11-worldwise/starter/pages/Pricing.jsx -------------------------------------------------------------------------------- /11-worldwise/starter/pages/Product.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/11-worldwise/starter/pages/Product.jsx -------------------------------------------------------------------------------- /11-worldwise/starter/pages/Product.module.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/11-worldwise/starter/pages/Product.module.css -------------------------------------------------------------------------------- /12-atomic-blog/final/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/12-atomic-blog/final/README.md -------------------------------------------------------------------------------- /12-atomic-blog/final/package-lock.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/12-atomic-blog/final/package-lock.json -------------------------------------------------------------------------------- /12-atomic-blog/final/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/12-atomic-blog/final/package.json -------------------------------------------------------------------------------- /12-atomic-blog/final/public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/12-atomic-blog/final/public/favicon.ico -------------------------------------------------------------------------------- /12-atomic-blog/final/public/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/12-atomic-blog/final/public/index.html -------------------------------------------------------------------------------- /12-atomic-blog/final/src/App-memo.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/12-atomic-blog/final/src/App-memo.js -------------------------------------------------------------------------------- /12-atomic-blog/final/src/App-v1.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/12-atomic-blog/final/src/App-v1.js -------------------------------------------------------------------------------- /12-atomic-blog/final/src/App.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/12-atomic-blog/final/src/App.js -------------------------------------------------------------------------------- /12-atomic-blog/final/src/PostContext.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/12-atomic-blog/final/src/PostContext.js -------------------------------------------------------------------------------- /12-atomic-blog/final/src/Test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/12-atomic-blog/final/src/Test.js -------------------------------------------------------------------------------- /12-atomic-blog/final/src/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/12-atomic-blog/final/src/index.js -------------------------------------------------------------------------------- /12-atomic-blog/final/src/style.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/12-atomic-blog/final/src/style.css -------------------------------------------------------------------------------- /12-atomic-blog/starter/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/12-atomic-blog/starter/README.md -------------------------------------------------------------------------------- /12-atomic-blog/starter/package-lock.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/12-atomic-blog/starter/package-lock.json -------------------------------------------------------------------------------- /12-atomic-blog/starter/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/12-atomic-blog/starter/package.json -------------------------------------------------------------------------------- /12-atomic-blog/starter/public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/12-atomic-blog/starter/public/favicon.ico -------------------------------------------------------------------------------- /12-atomic-blog/starter/public/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/12-atomic-blog/starter/public/index.html -------------------------------------------------------------------------------- /12-atomic-blog/starter/src/App.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/12-atomic-blog/starter/src/App.js -------------------------------------------------------------------------------- /12-atomic-blog/starter/src/Test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/12-atomic-blog/starter/src/Test.js -------------------------------------------------------------------------------- /12-atomic-blog/starter/src/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/12-atomic-blog/starter/src/index.js -------------------------------------------------------------------------------- /12-atomic-blog/starter/src/style.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/12-atomic-blog/starter/src/style.css -------------------------------------------------------------------------------- /13-workout-timer/final/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/13-workout-timer/final/README.md -------------------------------------------------------------------------------- /13-workout-timer/final/package-lock.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/13-workout-timer/final/package-lock.json -------------------------------------------------------------------------------- /13-workout-timer/final/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/13-workout-timer/final/package.json -------------------------------------------------------------------------------- /13-workout-timer/final/public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/13-workout-timer/final/public/favicon.ico -------------------------------------------------------------------------------- /13-workout-timer/final/public/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/13-workout-timer/final/public/index.html -------------------------------------------------------------------------------- /13-workout-timer/final/public/logo192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/13-workout-timer/final/public/logo192.png -------------------------------------------------------------------------------- /13-workout-timer/final/public/logo512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/13-workout-timer/final/public/logo512.png -------------------------------------------------------------------------------- /13-workout-timer/final/public/manifest.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/13-workout-timer/final/public/manifest.json -------------------------------------------------------------------------------- /13-workout-timer/final/public/robots.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/13-workout-timer/final/public/robots.txt -------------------------------------------------------------------------------- /13-workout-timer/final/src/App.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/13-workout-timer/final/src/App.js -------------------------------------------------------------------------------- /13-workout-timer/final/src/Calculator.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/13-workout-timer/final/src/Calculator.js -------------------------------------------------------------------------------- /13-workout-timer/final/src/ClickSound.m4a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/13-workout-timer/final/src/ClickSound.m4a -------------------------------------------------------------------------------- /13-workout-timer/final/src/ToggleSounds.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/13-workout-timer/final/src/ToggleSounds.js -------------------------------------------------------------------------------- /13-workout-timer/final/src/index.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/13-workout-timer/final/src/index.css -------------------------------------------------------------------------------- /13-workout-timer/final/src/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/13-workout-timer/final/src/index.js -------------------------------------------------------------------------------- /13-workout-timer/starter/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/13-workout-timer/starter/README.md -------------------------------------------------------------------------------- /13-workout-timer/starter/package-lock.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/13-workout-timer/starter/package-lock.json -------------------------------------------------------------------------------- /13-workout-timer/starter/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/13-workout-timer/starter/package.json -------------------------------------------------------------------------------- /13-workout-timer/starter/public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/13-workout-timer/starter/public/favicon.ico -------------------------------------------------------------------------------- /13-workout-timer/starter/public/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/13-workout-timer/starter/public/index.html -------------------------------------------------------------------------------- /13-workout-timer/starter/public/logo192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/13-workout-timer/starter/public/logo192.png -------------------------------------------------------------------------------- /13-workout-timer/starter/public/logo512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/13-workout-timer/starter/public/logo512.png -------------------------------------------------------------------------------- /13-workout-timer/starter/public/manifest.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/13-workout-timer/starter/public/manifest.json -------------------------------------------------------------------------------- /13-workout-timer/starter/public/robots.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/13-workout-timer/starter/public/robots.txt -------------------------------------------------------------------------------- /13-workout-timer/starter/src/App.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/13-workout-timer/starter/src/App.js -------------------------------------------------------------------------------- /13-workout-timer/starter/src/Calculator.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/13-workout-timer/starter/src/Calculator.js -------------------------------------------------------------------------------- /13-workout-timer/starter/src/ClickSound.m4a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/13-workout-timer/starter/src/ClickSound.m4a -------------------------------------------------------------------------------- /13-workout-timer/starter/src/ToggleSounds.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/13-workout-timer/starter/src/ToggleSounds.js -------------------------------------------------------------------------------- /13-workout-timer/starter/src/index.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/13-workout-timer/starter/src/index.css -------------------------------------------------------------------------------- /13-workout-timer/starter/src/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/13-workout-timer/starter/src/index.js -------------------------------------------------------------------------------- /15-redux-intro/final/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/15-redux-intro/final/README.md -------------------------------------------------------------------------------- /15-redux-intro/final/package-lock.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/15-redux-intro/final/package-lock.json -------------------------------------------------------------------------------- /15-redux-intro/final/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/15-redux-intro/final/package.json -------------------------------------------------------------------------------- /15-redux-intro/final/public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/15-redux-intro/final/public/favicon.ico -------------------------------------------------------------------------------- /15-redux-intro/final/public/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/15-redux-intro/final/public/index.html -------------------------------------------------------------------------------- /15-redux-intro/final/public/logo192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/15-redux-intro/final/public/logo192.png -------------------------------------------------------------------------------- /15-redux-intro/final/public/logo512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/15-redux-intro/final/public/logo512.png -------------------------------------------------------------------------------- /15-redux-intro/final/public/manifest.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/15-redux-intro/final/public/manifest.json -------------------------------------------------------------------------------- /15-redux-intro/final/public/robots.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/15-redux-intro/final/public/robots.txt -------------------------------------------------------------------------------- /15-redux-intro/final/src/App.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/15-redux-intro/final/src/App.js -------------------------------------------------------------------------------- /15-redux-intro/final/src/features/accounts/accountSlice.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/15-redux-intro/final/src/features/accounts/accountSlice.js -------------------------------------------------------------------------------- /15-redux-intro/final/src/features/customers/Customer.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/15-redux-intro/final/src/features/customers/Customer.js -------------------------------------------------------------------------------- /15-redux-intro/final/src/index.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/15-redux-intro/final/src/index.css -------------------------------------------------------------------------------- /15-redux-intro/final/src/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/15-redux-intro/final/src/index.js -------------------------------------------------------------------------------- /15-redux-intro/final/src/store-v1.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/15-redux-intro/final/src/store-v1.js -------------------------------------------------------------------------------- /15-redux-intro/final/src/store-v2.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/15-redux-intro/final/src/store-v2.js -------------------------------------------------------------------------------- /15-redux-intro/final/src/store.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/15-redux-intro/final/src/store.js -------------------------------------------------------------------------------- /15-redux-intro/starter/AccountOperations.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/15-redux-intro/starter/AccountOperations.js -------------------------------------------------------------------------------- /15-redux-intro/starter/App.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/15-redux-intro/starter/App.js -------------------------------------------------------------------------------- /15-redux-intro/starter/BalanceDisplay.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/15-redux-intro/starter/BalanceDisplay.js -------------------------------------------------------------------------------- /15-redux-intro/starter/CreateCustomer.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/15-redux-intro/starter/CreateCustomer.js -------------------------------------------------------------------------------- /15-redux-intro/starter/Customer.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/15-redux-intro/starter/Customer.js -------------------------------------------------------------------------------- /15-redux-intro/starter/index.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/15-redux-intro/starter/index.css -------------------------------------------------------------------------------- /16-fast-react-pizza/final-1-after-tailwind/.eslintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "react-app" 3 | } 4 | -------------------------------------------------------------------------------- /16-fast-react-pizza/final-1-after-tailwind/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/16-fast-react-pizza/final-1-after-tailwind/index.html -------------------------------------------------------------------------------- /16-fast-react-pizza/final-1-after-tailwind/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/16-fast-react-pizza/final-1-after-tailwind/package.json -------------------------------------------------------------------------------- /16-fast-react-pizza/final-1-after-tailwind/public/vite.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/16-fast-react-pizza/final-1-after-tailwind/public/vite.svg -------------------------------------------------------------------------------- /16-fast-react-pizza/final-1-after-tailwind/src/App.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/16-fast-react-pizza/final-1-after-tailwind/src/App.jsx -------------------------------------------------------------------------------- /16-fast-react-pizza/final-1-after-tailwind/src/index.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/16-fast-react-pizza/final-1-after-tailwind/src/index.css -------------------------------------------------------------------------------- /16-fast-react-pizza/final-1-after-tailwind/src/main.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/16-fast-react-pizza/final-1-after-tailwind/src/main.jsx -------------------------------------------------------------------------------- /16-fast-react-pizza/final-1-after-tailwind/src/ui/Error.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/16-fast-react-pizza/final-1-after-tailwind/src/ui/Error.jsx -------------------------------------------------------------------------------- /16-fast-react-pizza/final-1-after-tailwind/src/ui/Home.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/16-fast-react-pizza/final-1-after-tailwind/src/ui/Home.jsx -------------------------------------------------------------------------------- /16-fast-react-pizza/final-1-after-tailwind/vite.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/16-fast-react-pizza/final-1-after-tailwind/vite.config.js -------------------------------------------------------------------------------- /16-fast-react-pizza/final-2-final/.eslintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "react-app" 3 | } 4 | -------------------------------------------------------------------------------- /16-fast-react-pizza/final-2-final/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/16-fast-react-pizza/final-2-final/index.html -------------------------------------------------------------------------------- /16-fast-react-pizza/final-2-final/package-lock.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/16-fast-react-pizza/final-2-final/package-lock.json -------------------------------------------------------------------------------- /16-fast-react-pizza/final-2-final/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/16-fast-react-pizza/final-2-final/package.json -------------------------------------------------------------------------------- /16-fast-react-pizza/final-2-final/postcss.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/16-fast-react-pizza/final-2-final/postcss.config.js -------------------------------------------------------------------------------- /16-fast-react-pizza/final-2-final/prettier.config.cjs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/16-fast-react-pizza/final-2-final/prettier.config.cjs -------------------------------------------------------------------------------- /16-fast-react-pizza/final-2-final/public/vite.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/16-fast-react-pizza/final-2-final/public/vite.svg -------------------------------------------------------------------------------- /16-fast-react-pizza/final-2-final/src/App.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/16-fast-react-pizza/final-2-final/src/App.jsx -------------------------------------------------------------------------------- /16-fast-react-pizza/final-2-final/src/index.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/16-fast-react-pizza/final-2-final/src/index.css -------------------------------------------------------------------------------- /16-fast-react-pizza/final-2-final/src/main.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/16-fast-react-pizza/final-2-final/src/main.jsx -------------------------------------------------------------------------------- /16-fast-react-pizza/final-2-final/src/store.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/16-fast-react-pizza/final-2-final/src/store.js -------------------------------------------------------------------------------- /16-fast-react-pizza/final-2-final/src/ui/AppLayout.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/16-fast-react-pizza/final-2-final/src/ui/AppLayout.jsx -------------------------------------------------------------------------------- /16-fast-react-pizza/final-2-final/src/ui/Button.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/16-fast-react-pizza/final-2-final/src/ui/Button.jsx -------------------------------------------------------------------------------- /16-fast-react-pizza/final-2-final/src/ui/Error.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/16-fast-react-pizza/final-2-final/src/ui/Error.jsx -------------------------------------------------------------------------------- /16-fast-react-pizza/final-2-final/src/ui/Header.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/16-fast-react-pizza/final-2-final/src/ui/Header.jsx -------------------------------------------------------------------------------- /16-fast-react-pizza/final-2-final/src/ui/Home.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/16-fast-react-pizza/final-2-final/src/ui/Home.jsx -------------------------------------------------------------------------------- /16-fast-react-pizza/final-2-final/src/ui/LinkButton.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/16-fast-react-pizza/final-2-final/src/ui/LinkButton.jsx -------------------------------------------------------------------------------- /16-fast-react-pizza/final-2-final/src/ui/Loader.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/16-fast-react-pizza/final-2-final/src/ui/Loader.jsx -------------------------------------------------------------------------------- /16-fast-react-pizza/final-2-final/src/utils/helpers.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/16-fast-react-pizza/final-2-final/src/utils/helpers.js -------------------------------------------------------------------------------- /16-fast-react-pizza/final-2-final/tailwind.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/16-fast-react-pizza/final-2-final/tailwind.config.js -------------------------------------------------------------------------------- /16-fast-react-pizza/final-2-final/vite.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/16-fast-react-pizza/final-2-final/vite.config.js -------------------------------------------------------------------------------- /16-fast-react-pizza/starter/Cart.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/16-fast-react-pizza/starter/Cart.jsx -------------------------------------------------------------------------------- /16-fast-react-pizza/starter/CartItem.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/16-fast-react-pizza/starter/CartItem.jsx -------------------------------------------------------------------------------- /16-fast-react-pizza/starter/CartOverview.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/16-fast-react-pizza/starter/CartOverview.jsx -------------------------------------------------------------------------------- /16-fast-react-pizza/starter/CreateOrder.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/16-fast-react-pizza/starter/CreateOrder.jsx -------------------------------------------------------------------------------- /16-fast-react-pizza/starter/CreateUser.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/16-fast-react-pizza/starter/CreateUser.jsx -------------------------------------------------------------------------------- /16-fast-react-pizza/starter/EmptyCart.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/16-fast-react-pizza/starter/EmptyCart.jsx -------------------------------------------------------------------------------- /16-fast-react-pizza/starter/Error.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/16-fast-react-pizza/starter/Error.jsx -------------------------------------------------------------------------------- /16-fast-react-pizza/starter/Home.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/16-fast-react-pizza/starter/Home.jsx -------------------------------------------------------------------------------- /16-fast-react-pizza/starter/Menu.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/16-fast-react-pizza/starter/Menu.jsx -------------------------------------------------------------------------------- /16-fast-react-pizza/starter/MenuItem.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/16-fast-react-pizza/starter/MenuItem.jsx -------------------------------------------------------------------------------- /16-fast-react-pizza/starter/Order.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/16-fast-react-pizza/starter/Order.jsx -------------------------------------------------------------------------------- /16-fast-react-pizza/starter/OrderItem.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/16-fast-react-pizza/starter/OrderItem.jsx -------------------------------------------------------------------------------- /16-fast-react-pizza/starter/apiGeocoding.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/16-fast-react-pizza/starter/apiGeocoding.js -------------------------------------------------------------------------------- /16-fast-react-pizza/starter/apiRestaurant.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/16-fast-react-pizza/starter/apiRestaurant.js -------------------------------------------------------------------------------- /16-fast-react-pizza/starter/helpers.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/16-fast-react-pizza/starter/helpers.js -------------------------------------------------------------------------------- /16-fast-react-pizza/starter/index.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/16-fast-react-pizza/starter/index.css -------------------------------------------------------------------------------- /16-fast-react-pizza/starter/userSlice.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/16-fast-react-pizza/starter/userSlice.js -------------------------------------------------------------------------------- /17-the-wild-oasis/final-1-after-setup/.eslintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "react-app" 3 | } 4 | -------------------------------------------------------------------------------- /17-the-wild-oasis/final-1-after-setup/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/final-1-after-setup/index.html -------------------------------------------------------------------------------- /17-the-wild-oasis/final-1-after-setup/package-lock.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/final-1-after-setup/package-lock.json -------------------------------------------------------------------------------- /17-the-wild-oasis/final-1-after-setup/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/final-1-after-setup/package.json -------------------------------------------------------------------------------- /17-the-wild-oasis/final-1-after-setup/public/logo-dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/final-1-after-setup/public/logo-dark.png -------------------------------------------------------------------------------- /17-the-wild-oasis/final-1-after-setup/public/logo-light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/final-1-after-setup/public/logo-light.png -------------------------------------------------------------------------------- /17-the-wild-oasis/final-1-after-setup/public/vite.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/final-1-after-setup/public/vite.svg -------------------------------------------------------------------------------- /17-the-wild-oasis/final-1-after-setup/src/App.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/final-1-after-setup/src/App.jsx -------------------------------------------------------------------------------- /17-the-wild-oasis/final-1-after-setup/src/data/Uploader.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/final-1-after-setup/src/data/Uploader.js -------------------------------------------------------------------------------- /17-the-wild-oasis/final-1-after-setup/src/main.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/final-1-after-setup/src/main.jsx -------------------------------------------------------------------------------- /17-the-wild-oasis/final-1-after-setup/src/pages/Account.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/final-1-after-setup/src/pages/Account.jsx -------------------------------------------------------------------------------- /17-the-wild-oasis/final-1-after-setup/src/pages/Cabins.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/final-1-after-setup/src/pages/Cabins.jsx -------------------------------------------------------------------------------- /17-the-wild-oasis/final-1-after-setup/src/pages/Login.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/final-1-after-setup/src/pages/Login.jsx -------------------------------------------------------------------------------- /17-the-wild-oasis/final-1-after-setup/src/pages/Users.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/final-1-after-setup/src/pages/Users.jsx -------------------------------------------------------------------------------- /17-the-wild-oasis/final-1-after-setup/src/ui/AppLayout.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/final-1-after-setup/src/ui/AppLayout.jsx -------------------------------------------------------------------------------- /17-the-wild-oasis/final-1-after-setup/src/ui/Button.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/final-1-after-setup/src/ui/Button.jsx -------------------------------------------------------------------------------- /17-the-wild-oasis/final-1-after-setup/src/ui/ButtonIcon.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/final-1-after-setup/src/ui/ButtonIcon.jsx -------------------------------------------------------------------------------- /17-the-wild-oasis/final-1-after-setup/src/ui/ButtonText.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/final-1-after-setup/src/ui/ButtonText.jsx -------------------------------------------------------------------------------- /17-the-wild-oasis/final-1-after-setup/src/ui/Checkbox.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/final-1-after-setup/src/ui/Checkbox.jsx -------------------------------------------------------------------------------- /17-the-wild-oasis/final-1-after-setup/src/ui/DataItem.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/final-1-after-setup/src/ui/DataItem.jsx -------------------------------------------------------------------------------- /17-the-wild-oasis/final-1-after-setup/src/ui/Empty.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/final-1-after-setup/src/ui/Empty.jsx -------------------------------------------------------------------------------- /17-the-wild-oasis/final-1-after-setup/src/ui/FileInput.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/final-1-after-setup/src/ui/FileInput.jsx -------------------------------------------------------------------------------- /17-the-wild-oasis/final-1-after-setup/src/ui/Filter.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/final-1-after-setup/src/ui/Filter.jsx -------------------------------------------------------------------------------- /17-the-wild-oasis/final-1-after-setup/src/ui/Flag.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/final-1-after-setup/src/ui/Flag.jsx -------------------------------------------------------------------------------- /17-the-wild-oasis/final-1-after-setup/src/ui/Form.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/final-1-after-setup/src/ui/Form.jsx -------------------------------------------------------------------------------- /17-the-wild-oasis/final-1-after-setup/src/ui/FormRow.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/final-1-after-setup/src/ui/FormRow.jsx -------------------------------------------------------------------------------- /17-the-wild-oasis/final-1-after-setup/src/ui/Header.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/final-1-after-setup/src/ui/Header.jsx -------------------------------------------------------------------------------- /17-the-wild-oasis/final-1-after-setup/src/ui/Heading.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/final-1-after-setup/src/ui/Heading.jsx -------------------------------------------------------------------------------- /17-the-wild-oasis/final-1-after-setup/src/ui/Input.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/final-1-after-setup/src/ui/Input.jsx -------------------------------------------------------------------------------- /17-the-wild-oasis/final-1-after-setup/src/ui/Logo.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/final-1-after-setup/src/ui/Logo.jsx -------------------------------------------------------------------------------- /17-the-wild-oasis/final-1-after-setup/src/ui/MainNav.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/final-1-after-setup/src/ui/MainNav.jsx -------------------------------------------------------------------------------- /17-the-wild-oasis/final-1-after-setup/src/ui/Menus.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/final-1-after-setup/src/ui/Menus.jsx -------------------------------------------------------------------------------- /17-the-wild-oasis/final-1-after-setup/src/ui/Modal.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/final-1-after-setup/src/ui/Modal.jsx -------------------------------------------------------------------------------- /17-the-wild-oasis/final-1-after-setup/src/ui/Pagination.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/final-1-after-setup/src/ui/Pagination.jsx -------------------------------------------------------------------------------- /17-the-wild-oasis/final-1-after-setup/src/ui/Row.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/final-1-after-setup/src/ui/Row.jsx -------------------------------------------------------------------------------- /17-the-wild-oasis/final-1-after-setup/src/ui/Select.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/final-1-after-setup/src/ui/Select.jsx -------------------------------------------------------------------------------- /17-the-wild-oasis/final-1-after-setup/src/ui/Sidebar.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/final-1-after-setup/src/ui/Sidebar.jsx -------------------------------------------------------------------------------- /17-the-wild-oasis/final-1-after-setup/src/ui/Spinner.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/final-1-after-setup/src/ui/Spinner.jsx -------------------------------------------------------------------------------- /17-the-wild-oasis/final-1-after-setup/src/ui/Table.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/final-1-after-setup/src/ui/Table.jsx -------------------------------------------------------------------------------- /17-the-wild-oasis/final-1-after-setup/src/ui/Tag.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/final-1-after-setup/src/ui/Tag.jsx -------------------------------------------------------------------------------- /17-the-wild-oasis/final-1-after-setup/src/ui/Textarea.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/final-1-after-setup/src/ui/Textarea.jsx -------------------------------------------------------------------------------- /17-the-wild-oasis/final-1-after-setup/src/utils/helpers.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/final-1-after-setup/src/utils/helpers.js -------------------------------------------------------------------------------- /17-the-wild-oasis/final-1-after-setup/vite.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/final-1-after-setup/vite.config.js -------------------------------------------------------------------------------- /17-the-wild-oasis/final-2-after-supabase/.eslintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "react-app" 3 | } 4 | -------------------------------------------------------------------------------- /17-the-wild-oasis/final-2-after-supabase/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/final-2-after-supabase/index.html -------------------------------------------------------------------------------- /17-the-wild-oasis/final-2-after-supabase/package-lock.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/final-2-after-supabase/package-lock.json -------------------------------------------------------------------------------- /17-the-wild-oasis/final-2-after-supabase/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/final-2-after-supabase/package.json -------------------------------------------------------------------------------- /17-the-wild-oasis/final-2-after-supabase/public/vite.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/final-2-after-supabase/public/vite.svg -------------------------------------------------------------------------------- /17-the-wild-oasis/final-2-after-supabase/src/App.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/final-2-after-supabase/src/App.jsx -------------------------------------------------------------------------------- /17-the-wild-oasis/final-2-after-supabase/src/main.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/final-2-after-supabase/src/main.jsx -------------------------------------------------------------------------------- /17-the-wild-oasis/final-2-after-supabase/src/ui/Button.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/final-2-after-supabase/src/ui/Button.jsx -------------------------------------------------------------------------------- /17-the-wild-oasis/final-2-after-supabase/src/ui/Empty.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/final-2-after-supabase/src/ui/Empty.jsx -------------------------------------------------------------------------------- /17-the-wild-oasis/final-2-after-supabase/src/ui/Filter.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/final-2-after-supabase/src/ui/Filter.jsx -------------------------------------------------------------------------------- /17-the-wild-oasis/final-2-after-supabase/src/ui/Flag.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/final-2-after-supabase/src/ui/Flag.jsx -------------------------------------------------------------------------------- /17-the-wild-oasis/final-2-after-supabase/src/ui/Form.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/final-2-after-supabase/src/ui/Form.jsx -------------------------------------------------------------------------------- /17-the-wild-oasis/final-2-after-supabase/src/ui/FormRow.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/final-2-after-supabase/src/ui/FormRow.jsx -------------------------------------------------------------------------------- /17-the-wild-oasis/final-2-after-supabase/src/ui/Header.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/final-2-after-supabase/src/ui/Header.jsx -------------------------------------------------------------------------------- /17-the-wild-oasis/final-2-after-supabase/src/ui/Heading.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/final-2-after-supabase/src/ui/Heading.jsx -------------------------------------------------------------------------------- /17-the-wild-oasis/final-2-after-supabase/src/ui/Input.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/final-2-after-supabase/src/ui/Input.jsx -------------------------------------------------------------------------------- /17-the-wild-oasis/final-2-after-supabase/src/ui/Logo.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/final-2-after-supabase/src/ui/Logo.jsx -------------------------------------------------------------------------------- /17-the-wild-oasis/final-2-after-supabase/src/ui/MainNav.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/final-2-after-supabase/src/ui/MainNav.jsx -------------------------------------------------------------------------------- /17-the-wild-oasis/final-2-after-supabase/src/ui/Menus.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/final-2-after-supabase/src/ui/Menus.jsx -------------------------------------------------------------------------------- /17-the-wild-oasis/final-2-after-supabase/src/ui/Modal.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/final-2-after-supabase/src/ui/Modal.jsx -------------------------------------------------------------------------------- /17-the-wild-oasis/final-2-after-supabase/src/ui/Row.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/final-2-after-supabase/src/ui/Row.jsx -------------------------------------------------------------------------------- /17-the-wild-oasis/final-2-after-supabase/src/ui/Select.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/final-2-after-supabase/src/ui/Select.jsx -------------------------------------------------------------------------------- /17-the-wild-oasis/final-2-after-supabase/src/ui/Sidebar.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/final-2-after-supabase/src/ui/Sidebar.jsx -------------------------------------------------------------------------------- /17-the-wild-oasis/final-2-after-supabase/src/ui/Spinner.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/final-2-after-supabase/src/ui/Spinner.jsx -------------------------------------------------------------------------------- /17-the-wild-oasis/final-2-after-supabase/src/ui/Table.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/final-2-after-supabase/src/ui/Table.jsx -------------------------------------------------------------------------------- /17-the-wild-oasis/final-2-after-supabase/src/ui/Tag.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/final-2-after-supabase/src/ui/Tag.jsx -------------------------------------------------------------------------------- /17-the-wild-oasis/final-2-after-supabase/vite.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/final-2-after-supabase/vite.config.js -------------------------------------------------------------------------------- /17-the-wild-oasis/final-3-after-react-query/.eslintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "react-app" 3 | } 4 | -------------------------------------------------------------------------------- /17-the-wild-oasis/final-3-after-react-query/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/final-3-after-react-query/index.html -------------------------------------------------------------------------------- /17-the-wild-oasis/final-3-after-react-query/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/final-3-after-react-query/package.json -------------------------------------------------------------------------------- /17-the-wild-oasis/final-3-after-react-query/public/vite.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/final-3-after-react-query/public/vite.svg -------------------------------------------------------------------------------- /17-the-wild-oasis/final-3-after-react-query/src/App.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/final-3-after-react-query/src/App.jsx -------------------------------------------------------------------------------- /17-the-wild-oasis/final-3-after-react-query/src/main.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/final-3-after-react-query/src/main.jsx -------------------------------------------------------------------------------- /17-the-wild-oasis/final-3-after-react-query/src/ui/Flag.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/final-3-after-react-query/src/ui/Flag.jsx -------------------------------------------------------------------------------- /17-the-wild-oasis/final-3-after-react-query/src/ui/Form.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/final-3-after-react-query/src/ui/Form.jsx -------------------------------------------------------------------------------- /17-the-wild-oasis/final-3-after-react-query/src/ui/Logo.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/final-3-after-react-query/src/ui/Logo.jsx -------------------------------------------------------------------------------- /17-the-wild-oasis/final-3-after-react-query/src/ui/Row.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/final-3-after-react-query/src/ui/Row.jsx -------------------------------------------------------------------------------- /17-the-wild-oasis/final-3-after-react-query/src/ui/Tag.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/final-3-after-react-query/src/ui/Tag.jsx -------------------------------------------------------------------------------- /17-the-wild-oasis/final-3-after-react-query/vite.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/final-3-after-react-query/vite.config.js -------------------------------------------------------------------------------- /17-the-wild-oasis/final-4-after-advanced-patterns/.eslintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "react-app" 3 | } 4 | -------------------------------------------------------------------------------- /17-the-wild-oasis/final-5-after-sort-filter-pagination/.eslintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "react-app" 3 | } 4 | -------------------------------------------------------------------------------- /17-the-wild-oasis/final-5-after-sort-filter-pagination/src/utils/constants.js: -------------------------------------------------------------------------------- 1 | export const PAGE_SIZE = 10; 2 | -------------------------------------------------------------------------------- /17-the-wild-oasis/final-6-final/.eslintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "react-app" 3 | } 4 | -------------------------------------------------------------------------------- /17-the-wild-oasis/final-6-final/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/final-6-final/index.html -------------------------------------------------------------------------------- /17-the-wild-oasis/final-6-final/netlify.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/final-6-final/netlify.toml -------------------------------------------------------------------------------- /17-the-wild-oasis/final-6-final/package-lock.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/final-6-final/package-lock.json -------------------------------------------------------------------------------- /17-the-wild-oasis/final-6-final/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/final-6-final/package.json -------------------------------------------------------------------------------- /17-the-wild-oasis/final-6-final/public/default-user.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/final-6-final/public/default-user.jpg -------------------------------------------------------------------------------- /17-the-wild-oasis/final-6-final/public/logo-dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/final-6-final/public/logo-dark.png -------------------------------------------------------------------------------- /17-the-wild-oasis/final-6-final/public/logo-light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/final-6-final/public/logo-light.png -------------------------------------------------------------------------------- /17-the-wild-oasis/final-6-final/public/vite.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/final-6-final/public/vite.svg -------------------------------------------------------------------------------- /17-the-wild-oasis/final-6-final/src/App.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/final-6-final/src/App.jsx -------------------------------------------------------------------------------- /17-the-wild-oasis/final-6-final/src/data/Uploader.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/final-6-final/src/data/Uploader.jsx -------------------------------------------------------------------------------- /17-the-wild-oasis/final-6-final/src/data/data-bookings.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/final-6-final/src/data/data-bookings.js -------------------------------------------------------------------------------- /17-the-wild-oasis/final-6-final/src/data/data-cabins.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/final-6-final/src/data/data-cabins.js -------------------------------------------------------------------------------- /17-the-wild-oasis/final-6-final/src/data/data-guests.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/final-6-final/src/data/data-guests.js -------------------------------------------------------------------------------- /17-the-wild-oasis/final-6-final/src/hooks/useMoveBack.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/final-6-final/src/hooks/useMoveBack.js -------------------------------------------------------------------------------- /17-the-wild-oasis/final-6-final/src/main.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/final-6-final/src/main.jsx -------------------------------------------------------------------------------- /17-the-wild-oasis/final-6-final/src/pages/Account.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/final-6-final/src/pages/Account.jsx -------------------------------------------------------------------------------- /17-the-wild-oasis/final-6-final/src/pages/Booking.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/final-6-final/src/pages/Booking.jsx -------------------------------------------------------------------------------- /17-the-wild-oasis/final-6-final/src/pages/Bookings.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/final-6-final/src/pages/Bookings.jsx -------------------------------------------------------------------------------- /17-the-wild-oasis/final-6-final/src/pages/Cabins.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/final-6-final/src/pages/Cabins.jsx -------------------------------------------------------------------------------- /17-the-wild-oasis/final-6-final/src/pages/Checkin.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/final-6-final/src/pages/Checkin.jsx -------------------------------------------------------------------------------- /17-the-wild-oasis/final-6-final/src/pages/Dashboard.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/final-6-final/src/pages/Dashboard.jsx -------------------------------------------------------------------------------- /17-the-wild-oasis/final-6-final/src/pages/Login.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/final-6-final/src/pages/Login.jsx -------------------------------------------------------------------------------- /17-the-wild-oasis/final-6-final/src/pages/PageNotFound.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/final-6-final/src/pages/PageNotFound.jsx -------------------------------------------------------------------------------- /17-the-wild-oasis/final-6-final/src/pages/Settings.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/final-6-final/src/pages/Settings.jsx -------------------------------------------------------------------------------- /17-the-wild-oasis/final-6-final/src/pages/Users.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/final-6-final/src/pages/Users.jsx -------------------------------------------------------------------------------- /17-the-wild-oasis/final-6-final/src/services/apiAuth.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/final-6-final/src/services/apiAuth.js -------------------------------------------------------------------------------- /17-the-wild-oasis/final-6-final/src/services/apiBookings.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/final-6-final/src/services/apiBookings.js -------------------------------------------------------------------------------- /17-the-wild-oasis/final-6-final/src/services/apiCabins.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/final-6-final/src/services/apiCabins.js -------------------------------------------------------------------------------- /17-the-wild-oasis/final-6-final/src/services/apiSettings.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/final-6-final/src/services/apiSettings.js -------------------------------------------------------------------------------- /17-the-wild-oasis/final-6-final/src/services/supabase.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/final-6-final/src/services/supabase.js -------------------------------------------------------------------------------- /17-the-wild-oasis/final-6-final/src/styles/GlobalStyles.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/final-6-final/src/styles/GlobalStyles.js -------------------------------------------------------------------------------- /17-the-wild-oasis/final-6-final/src/ui/AppLayout.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/final-6-final/src/ui/AppLayout.jsx -------------------------------------------------------------------------------- /17-the-wild-oasis/final-6-final/src/ui/Button.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/final-6-final/src/ui/Button.jsx -------------------------------------------------------------------------------- /17-the-wild-oasis/final-6-final/src/ui/ButtonGroup.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/final-6-final/src/ui/ButtonGroup.jsx -------------------------------------------------------------------------------- /17-the-wild-oasis/final-6-final/src/ui/ButtonIcon.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/final-6-final/src/ui/ButtonIcon.jsx -------------------------------------------------------------------------------- /17-the-wild-oasis/final-6-final/src/ui/ButtonText.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/final-6-final/src/ui/ButtonText.jsx -------------------------------------------------------------------------------- /17-the-wild-oasis/final-6-final/src/ui/Checkbox.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/final-6-final/src/ui/Checkbox.jsx -------------------------------------------------------------------------------- /17-the-wild-oasis/final-6-final/src/ui/ConfirmDelete.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/final-6-final/src/ui/ConfirmDelete.jsx -------------------------------------------------------------------------------- /17-the-wild-oasis/final-6-final/src/ui/DarkModeToggle.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/final-6-final/src/ui/DarkModeToggle.jsx -------------------------------------------------------------------------------- /17-the-wild-oasis/final-6-final/src/ui/DataItem.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/final-6-final/src/ui/DataItem.jsx -------------------------------------------------------------------------------- /17-the-wild-oasis/final-6-final/src/ui/Empty.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/final-6-final/src/ui/Empty.jsx -------------------------------------------------------------------------------- /17-the-wild-oasis/final-6-final/src/ui/ErrorFallback.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/final-6-final/src/ui/ErrorFallback.jsx -------------------------------------------------------------------------------- /17-the-wild-oasis/final-6-final/src/ui/FileInput.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/final-6-final/src/ui/FileInput.jsx -------------------------------------------------------------------------------- /17-the-wild-oasis/final-6-final/src/ui/Filter.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/final-6-final/src/ui/Filter.jsx -------------------------------------------------------------------------------- /17-the-wild-oasis/final-6-final/src/ui/Flag.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/final-6-final/src/ui/Flag.jsx -------------------------------------------------------------------------------- /17-the-wild-oasis/final-6-final/src/ui/Form.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/final-6-final/src/ui/Form.jsx -------------------------------------------------------------------------------- /17-the-wild-oasis/final-6-final/src/ui/FormRow.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/final-6-final/src/ui/FormRow.jsx -------------------------------------------------------------------------------- /17-the-wild-oasis/final-6-final/src/ui/FormRowVertical.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/final-6-final/src/ui/FormRowVertical.jsx -------------------------------------------------------------------------------- /17-the-wild-oasis/final-6-final/src/ui/Header.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/final-6-final/src/ui/Header.jsx -------------------------------------------------------------------------------- /17-the-wild-oasis/final-6-final/src/ui/HeaderMenu.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/final-6-final/src/ui/HeaderMenu.jsx -------------------------------------------------------------------------------- /17-the-wild-oasis/final-6-final/src/ui/Heading.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/final-6-final/src/ui/Heading.jsx -------------------------------------------------------------------------------- /17-the-wild-oasis/final-6-final/src/ui/Input.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/final-6-final/src/ui/Input.jsx -------------------------------------------------------------------------------- /17-the-wild-oasis/final-6-final/src/ui/Logo.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/final-6-final/src/ui/Logo.jsx -------------------------------------------------------------------------------- /17-the-wild-oasis/final-6-final/src/ui/MainNav.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/final-6-final/src/ui/MainNav.jsx -------------------------------------------------------------------------------- /17-the-wild-oasis/final-6-final/src/ui/Menus.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/final-6-final/src/ui/Menus.jsx -------------------------------------------------------------------------------- /17-the-wild-oasis/final-6-final/src/ui/Modal-v1.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/final-6-final/src/ui/Modal-v1.jsx -------------------------------------------------------------------------------- /17-the-wild-oasis/final-6-final/src/ui/Modal.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/final-6-final/src/ui/Modal.jsx -------------------------------------------------------------------------------- /17-the-wild-oasis/final-6-final/src/ui/Pagination.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/final-6-final/src/ui/Pagination.jsx -------------------------------------------------------------------------------- /17-the-wild-oasis/final-6-final/src/ui/ProtectedRoute.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/final-6-final/src/ui/ProtectedRoute.jsx -------------------------------------------------------------------------------- /17-the-wild-oasis/final-6-final/src/ui/Row.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/final-6-final/src/ui/Row.jsx -------------------------------------------------------------------------------- /17-the-wild-oasis/final-6-final/src/ui/Select.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/final-6-final/src/ui/Select.jsx -------------------------------------------------------------------------------- /17-the-wild-oasis/final-6-final/src/ui/Sidebar.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/final-6-final/src/ui/Sidebar.jsx -------------------------------------------------------------------------------- /17-the-wild-oasis/final-6-final/src/ui/SortBy.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/final-6-final/src/ui/SortBy.jsx -------------------------------------------------------------------------------- /17-the-wild-oasis/final-6-final/src/ui/Spinner.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/final-6-final/src/ui/Spinner.jsx -------------------------------------------------------------------------------- /17-the-wild-oasis/final-6-final/src/ui/SpinnerMini.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/final-6-final/src/ui/SpinnerMini.jsx -------------------------------------------------------------------------------- /17-the-wild-oasis/final-6-final/src/ui/Table.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/final-6-final/src/ui/Table.jsx -------------------------------------------------------------------------------- /17-the-wild-oasis/final-6-final/src/ui/TableOperations.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/final-6-final/src/ui/TableOperations.jsx -------------------------------------------------------------------------------- /17-the-wild-oasis/final-6-final/src/ui/Tag.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/final-6-final/src/ui/Tag.jsx -------------------------------------------------------------------------------- /17-the-wild-oasis/final-6-final/src/ui/Textarea.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/final-6-final/src/ui/Textarea.jsx -------------------------------------------------------------------------------- /17-the-wild-oasis/final-6-final/src/utils/constants.js: -------------------------------------------------------------------------------- 1 | export const PAGE_SIZE = 10; 2 | -------------------------------------------------------------------------------- /17-the-wild-oasis/final-6-final/src/utils/helpers.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/final-6-final/src/utils/helpers.js -------------------------------------------------------------------------------- /17-the-wild-oasis/final-6-final/vite.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/final-6-final/vite.config.js -------------------------------------------------------------------------------- /17-the-wild-oasis/starter/data/Uploader.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/starter/data/Uploader.jsx -------------------------------------------------------------------------------- /17-the-wild-oasis/starter/data/cabins/cabin-001.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/starter/data/cabins/cabin-001.jpg -------------------------------------------------------------------------------- /17-the-wild-oasis/starter/data/cabins/cabin-002.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/starter/data/cabins/cabin-002.jpg -------------------------------------------------------------------------------- /17-the-wild-oasis/starter/data/cabins/cabin-003.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/starter/data/cabins/cabin-003.jpg -------------------------------------------------------------------------------- /17-the-wild-oasis/starter/data/cabins/cabin-004.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/starter/data/cabins/cabin-004.jpg -------------------------------------------------------------------------------- /17-the-wild-oasis/starter/data/cabins/cabin-005.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/starter/data/cabins/cabin-005.jpg -------------------------------------------------------------------------------- /17-the-wild-oasis/starter/data/cabins/cabin-006.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/starter/data/cabins/cabin-006.jpg -------------------------------------------------------------------------------- /17-the-wild-oasis/starter/data/cabins/cabin-007.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/starter/data/cabins/cabin-007.jpg -------------------------------------------------------------------------------- /17-the-wild-oasis/starter/data/cabins/cabin-008.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/starter/data/cabins/cabin-008.jpg -------------------------------------------------------------------------------- /17-the-wild-oasis/starter/data/data-bookings.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/starter/data/data-bookings.js -------------------------------------------------------------------------------- /17-the-wild-oasis/starter/data/data-cabins.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/starter/data/data-cabins.js -------------------------------------------------------------------------------- /17-the-wild-oasis/starter/data/data-guests.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/starter/data/data-guests.js -------------------------------------------------------------------------------- /17-the-wild-oasis/starter/data/img/default-user.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/starter/data/img/default-user.jpg -------------------------------------------------------------------------------- /17-the-wild-oasis/starter/data/img/logo-dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/starter/data/img/logo-dark.png -------------------------------------------------------------------------------- /17-the-wild-oasis/starter/data/img/logo-light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/starter/data/img/logo-light.png -------------------------------------------------------------------------------- /17-the-wild-oasis/starter/features/bookings/BookingRow.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/starter/features/bookings/BookingRow.jsx -------------------------------------------------------------------------------- /17-the-wild-oasis/starter/features/cabins/CabinRow.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/starter/features/cabins/CabinRow.jsx -------------------------------------------------------------------------------- /17-the-wild-oasis/starter/features/cabins/CabinTable.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/starter/features/cabins/CabinTable.jsx -------------------------------------------------------------------------------- /17-the-wild-oasis/starter/features/dashboard/SalesChart.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/starter/features/dashboard/SalesChart.jsx -------------------------------------------------------------------------------- /17-the-wild-oasis/starter/features/dashboard/Stat.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/starter/features/dashboard/Stat.jsx -------------------------------------------------------------------------------- /17-the-wild-oasis/starter/hooks/useLocalStorageState.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/starter/hooks/useLocalStorageState.js -------------------------------------------------------------------------------- /17-the-wild-oasis/starter/hooks/useMoveBack.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/starter/hooks/useMoveBack.js -------------------------------------------------------------------------------- /17-the-wild-oasis/starter/pages/Account.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/starter/pages/Account.jsx -------------------------------------------------------------------------------- /17-the-wild-oasis/starter/pages/Bookings.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/starter/pages/Bookings.jsx -------------------------------------------------------------------------------- /17-the-wild-oasis/starter/pages/Cabins.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/starter/pages/Cabins.jsx -------------------------------------------------------------------------------- /17-the-wild-oasis/starter/pages/Dashboard.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/starter/pages/Dashboard.jsx -------------------------------------------------------------------------------- /17-the-wild-oasis/starter/pages/Login.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/starter/pages/Login.jsx -------------------------------------------------------------------------------- /17-the-wild-oasis/starter/pages/PageNotFound.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/starter/pages/PageNotFound.jsx -------------------------------------------------------------------------------- /17-the-wild-oasis/starter/pages/Settings.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/starter/pages/Settings.jsx -------------------------------------------------------------------------------- /17-the-wild-oasis/starter/pages/Users.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/starter/pages/Users.jsx -------------------------------------------------------------------------------- /17-the-wild-oasis/starter/services/apiBookings.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/starter/services/apiBookings.js -------------------------------------------------------------------------------- /17-the-wild-oasis/starter/services/apiSettings.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/starter/services/apiSettings.js -------------------------------------------------------------------------------- /17-the-wild-oasis/starter/styles/index.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/starter/styles/index.css -------------------------------------------------------------------------------- /17-the-wild-oasis/starter/ui/Button.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/starter/ui/Button.jsx -------------------------------------------------------------------------------- /17-the-wild-oasis/starter/ui/ButtonGroup.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/starter/ui/ButtonGroup.jsx -------------------------------------------------------------------------------- /17-the-wild-oasis/starter/ui/ButtonIcon.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/starter/ui/ButtonIcon.jsx -------------------------------------------------------------------------------- /17-the-wild-oasis/starter/ui/ButtonText.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/starter/ui/ButtonText.jsx -------------------------------------------------------------------------------- /17-the-wild-oasis/starter/ui/Checkbox.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/starter/ui/Checkbox.jsx -------------------------------------------------------------------------------- /17-the-wild-oasis/starter/ui/ConfirmDelete.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/starter/ui/ConfirmDelete.jsx -------------------------------------------------------------------------------- /17-the-wild-oasis/starter/ui/DataItem.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/starter/ui/DataItem.jsx -------------------------------------------------------------------------------- /17-the-wild-oasis/starter/ui/Empty.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/starter/ui/Empty.jsx -------------------------------------------------------------------------------- /17-the-wild-oasis/starter/ui/ErrorFallback.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/starter/ui/ErrorFallback.jsx -------------------------------------------------------------------------------- /17-the-wild-oasis/starter/ui/FileInput.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/starter/ui/FileInput.jsx -------------------------------------------------------------------------------- /17-the-wild-oasis/starter/ui/Filter.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/starter/ui/Filter.jsx -------------------------------------------------------------------------------- /17-the-wild-oasis/starter/ui/Flag.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/starter/ui/Flag.jsx -------------------------------------------------------------------------------- /17-the-wild-oasis/starter/ui/Form.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/starter/ui/Form.jsx -------------------------------------------------------------------------------- /17-the-wild-oasis/starter/ui/Logo.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/starter/ui/Logo.jsx -------------------------------------------------------------------------------- /17-the-wild-oasis/starter/ui/MainNav.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/starter/ui/MainNav.jsx -------------------------------------------------------------------------------- /17-the-wild-oasis/starter/ui/Menus.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/starter/ui/Menus.jsx -------------------------------------------------------------------------------- /17-the-wild-oasis/starter/ui/Modal.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/starter/ui/Modal.jsx -------------------------------------------------------------------------------- /17-the-wild-oasis/starter/ui/Pagination.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/starter/ui/Pagination.jsx -------------------------------------------------------------------------------- /17-the-wild-oasis/starter/ui/Select.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/starter/ui/Select.jsx -------------------------------------------------------------------------------- /17-the-wild-oasis/starter/ui/Spinner.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/starter/ui/Spinner.jsx -------------------------------------------------------------------------------- /17-the-wild-oasis/starter/ui/SpinnerMini.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/starter/ui/SpinnerMini.jsx -------------------------------------------------------------------------------- /17-the-wild-oasis/starter/ui/Table.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/starter/ui/Table.jsx -------------------------------------------------------------------------------- /17-the-wild-oasis/starter/ui/TableOperations.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/starter/ui/TableOperations.jsx -------------------------------------------------------------------------------- /17-the-wild-oasis/starter/ui/Tag.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/starter/ui/Tag.jsx -------------------------------------------------------------------------------- /17-the-wild-oasis/starter/ui/Textarea.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/starter/ui/Textarea.jsx -------------------------------------------------------------------------------- /17-the-wild-oasis/starter/utils/helpers.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/17-the-wild-oasis/starter/utils/helpers.js -------------------------------------------------------------------------------- /20-manual-ssr/final/.babelrc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/20-manual-ssr/final/.babelrc -------------------------------------------------------------------------------- /20-manual-ssr/final/client.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/20-manual-ssr/final/client.js -------------------------------------------------------------------------------- /20-manual-ssr/final/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/20-manual-ssr/final/index.html -------------------------------------------------------------------------------- /20-manual-ssr/final/package-lock.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/20-manual-ssr/final/package-lock.json -------------------------------------------------------------------------------- /20-manual-ssr/final/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/20-manual-ssr/final/package.json -------------------------------------------------------------------------------- /20-manual-ssr/final/server.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/20-manual-ssr/final/server.js -------------------------------------------------------------------------------- /20-manual-ssr/final/start.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/20-manual-ssr/final/start.js -------------------------------------------------------------------------------- /20-manual-ssr/final/starter.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/20-manual-ssr/final/starter.js -------------------------------------------------------------------------------- /20-manual-ssr/starter/.babelrc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/20-manual-ssr/starter/.babelrc -------------------------------------------------------------------------------- /20-manual-ssr/starter/starter.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/20-manual-ssr/starter/starter.js -------------------------------------------------------------------------------- /21-the-wild-oasis-website/final-1-after-overview/.eslintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "next/core-web-vitals" 3 | } 4 | -------------------------------------------------------------------------------- /21-the-wild-oasis-website/final-1-after-overview/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/21-the-wild-oasis-website/final-1-after-overview/README.md -------------------------------------------------------------------------------- /21-the-wild-oasis-website/final-1-after-overview/app/about/page.js: -------------------------------------------------------------------------------- 1 | export default function Page() { 2 | return

About The Wild Oasis

; 3 | } 4 | -------------------------------------------------------------------------------- /21-the-wild-oasis-website/final-1-after-overview/app/account/page.js: -------------------------------------------------------------------------------- 1 | export default function Page() { 2 | return

Your account

; 3 | } 4 | -------------------------------------------------------------------------------- /21-the-wild-oasis-website/final-1-after-overview/app/loading.js: -------------------------------------------------------------------------------- 1 | export default function Loading() { 2 | return

LOADING DATA...

; 3 | } 4 | -------------------------------------------------------------------------------- /21-the-wild-oasis-website/final-2-after-start/.eslintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "next/core-web-vitals" 3 | } 4 | -------------------------------------------------------------------------------- /21-the-wild-oasis-website/final-2-after-start/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/21-the-wild-oasis-website/final-2-after-start/README.md -------------------------------------------------------------------------------- /21-the-wild-oasis-website/final-2-after-start/app/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/21-the-wild-oasis-website/final-2-after-start/app/icon.png -------------------------------------------------------------------------------- /21-the-wild-oasis-website/final-2-after-start/app/layout.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/21-the-wild-oasis-website/final-2-after-start/app/layout.js -------------------------------------------------------------------------------- /21-the-wild-oasis-website/final-2-after-start/app/loading.js: -------------------------------------------------------------------------------- 1 | export default function Loading() { 2 | return

LOADING DATA...

; 3 | } 4 | -------------------------------------------------------------------------------- /21-the-wild-oasis-website/final-2-after-start/app/page.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/21-the-wild-oasis-website/final-2-after-start/app/page.js -------------------------------------------------------------------------------- /21-the-wild-oasis-website/final-2-after-start/jsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/21-the-wild-oasis-website/final-2-after-start/jsconfig.json -------------------------------------------------------------------------------- /21-the-wild-oasis-website/final-2-after-start/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/21-the-wild-oasis-website/final-2-after-start/package.json -------------------------------------------------------------------------------- /21-the-wild-oasis-website/final-2-after-start/public/bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/21-the-wild-oasis-website/final-2-after-start/public/bg.png -------------------------------------------------------------------------------- /21-the-wild-oasis-website/final-3-after-data/.eslintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "next/core-web-vitals" 3 | } 4 | -------------------------------------------------------------------------------- /21-the-wild-oasis-website/final-3-after-data/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/21-the-wild-oasis-website/final-3-after-data/README.md -------------------------------------------------------------------------------- /21-the-wild-oasis-website/final-3-after-data/app/error.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/21-the-wild-oasis-website/final-3-after-data/app/error.js -------------------------------------------------------------------------------- /21-the-wild-oasis-website/final-3-after-data/app/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/21-the-wild-oasis-website/final-3-after-data/app/icon.png -------------------------------------------------------------------------------- /21-the-wild-oasis-website/final-3-after-data/app/layout.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/21-the-wild-oasis-website/final-3-after-data/app/layout.js -------------------------------------------------------------------------------- /21-the-wild-oasis-website/final-3-after-data/app/loading.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/21-the-wild-oasis-website/final-3-after-data/app/loading.js -------------------------------------------------------------------------------- /21-the-wild-oasis-website/final-3-after-data/app/page.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/21-the-wild-oasis-website/final-3-after-data/app/page.js -------------------------------------------------------------------------------- /21-the-wild-oasis-website/final-3-after-data/jsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/21-the-wild-oasis-website/final-3-after-data/jsconfig.json -------------------------------------------------------------------------------- /21-the-wild-oasis-website/final-3-after-data/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/21-the-wild-oasis-website/final-3-after-data/package.json -------------------------------------------------------------------------------- /21-the-wild-oasis-website/final-3-after-data/public/bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/21-the-wild-oasis-website/final-3-after-data/public/bg.png -------------------------------------------------------------------------------- /21-the-wild-oasis-website/final-4-after-interactions/.eslintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "next/core-web-vitals" 3 | } 4 | -------------------------------------------------------------------------------- /21-the-wild-oasis-website/final-5-after-auth/.eslintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "next/core-web-vitals" 3 | } 4 | -------------------------------------------------------------------------------- /21-the-wild-oasis-website/final-5-after-auth/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/21-the-wild-oasis-website/final-5-after-auth/README.md -------------------------------------------------------------------------------- /21-the-wild-oasis-website/final-5-after-auth/app/api/auth/[...nextauth]/route.js: -------------------------------------------------------------------------------- 1 | export { GET, POST } from "@/app/_lib/auth"; 2 | -------------------------------------------------------------------------------- /21-the-wild-oasis-website/final-5-after-auth/app/error.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/21-the-wild-oasis-website/final-5-after-auth/app/error.js -------------------------------------------------------------------------------- /21-the-wild-oasis-website/final-5-after-auth/app/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/21-the-wild-oasis-website/final-5-after-auth/app/icon.png -------------------------------------------------------------------------------- /21-the-wild-oasis-website/final-5-after-auth/app/layout.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/21-the-wild-oasis-website/final-5-after-auth/app/layout.js -------------------------------------------------------------------------------- /21-the-wild-oasis-website/final-5-after-auth/app/loading.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/21-the-wild-oasis-website/final-5-after-auth/app/loading.js -------------------------------------------------------------------------------- /21-the-wild-oasis-website/final-5-after-auth/app/page.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/21-the-wild-oasis-website/final-5-after-auth/app/page.js -------------------------------------------------------------------------------- /21-the-wild-oasis-website/final-5-after-auth/jsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/21-the-wild-oasis-website/final-5-after-auth/jsconfig.json -------------------------------------------------------------------------------- /21-the-wild-oasis-website/final-5-after-auth/middleware.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/21-the-wild-oasis-website/final-5-after-auth/middleware.js -------------------------------------------------------------------------------- /21-the-wild-oasis-website/final-5-after-auth/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/21-the-wild-oasis-website/final-5-after-auth/package.json -------------------------------------------------------------------------------- /21-the-wild-oasis-website/final-5-after-auth/public/bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/21-the-wild-oasis-website/final-5-after-auth/public/bg.png -------------------------------------------------------------------------------- /21-the-wild-oasis-website/final-6-after-server-actions/.eslintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "next/core-web-vitals" 3 | } 4 | -------------------------------------------------------------------------------- /21-the-wild-oasis-website/final-6-after-server-actions/app/api/auth/[...nextauth]/route.js: -------------------------------------------------------------------------------- 1 | export { GET, POST } from "@/app/_lib/auth"; 2 | -------------------------------------------------------------------------------- /21-the-wild-oasis-website/starter/components/CabinCard.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/21-the-wild-oasis-website/starter/components/CabinCard.js -------------------------------------------------------------------------------- /21-the-wild-oasis-website/starter/components/Header.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/21-the-wild-oasis-website/starter/components/Header.js -------------------------------------------------------------------------------- /21-the-wild-oasis-website/starter/components/Logo.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/21-the-wild-oasis-website/starter/components/Logo.js -------------------------------------------------------------------------------- /21-the-wild-oasis-website/starter/components/Navigation.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/21-the-wild-oasis-website/starter/components/Navigation.js -------------------------------------------------------------------------------- /21-the-wild-oasis-website/starter/components/Price.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/21-the-wild-oasis-website/starter/components/Price.js -------------------------------------------------------------------------------- /21-the-wild-oasis-website/starter/components/Spinner.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/21-the-wild-oasis-website/starter/components/Spinner.js -------------------------------------------------------------------------------- /21-the-wild-oasis-website/starter/components/SpinnerMini.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/21-the-wild-oasis-website/starter/components/SpinnerMini.js -------------------------------------------------------------------------------- /21-the-wild-oasis-website/starter/others/about-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/21-the-wild-oasis-website/starter/others/about-1.jpg -------------------------------------------------------------------------------- /21-the-wild-oasis-website/starter/others/about-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/21-the-wild-oasis-website/starter/others/about-2.jpg -------------------------------------------------------------------------------- /21-the-wild-oasis-website/starter/others/bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/21-the-wild-oasis-website/starter/others/bg.png -------------------------------------------------------------------------------- /21-the-wild-oasis-website/starter/others/colors.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/21-the-wild-oasis-website/starter/others/colors.json -------------------------------------------------------------------------------- /21-the-wild-oasis-website/starter/others/data-service.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/21-the-wild-oasis-website/starter/others/data-service.js -------------------------------------------------------------------------------- /21-the-wild-oasis-website/starter/others/error.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/21-the-wild-oasis-website/starter/others/error.js -------------------------------------------------------------------------------- /21-the-wild-oasis-website/starter/others/globals.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/21-the-wild-oasis-website/starter/others/globals.css -------------------------------------------------------------------------------- /21-the-wild-oasis-website/starter/others/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/21-the-wild-oasis-website/starter/others/logo.png -------------------------------------------------------------------------------- /21-the-wild-oasis-website/starter/others/not-found.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/21-the-wild-oasis-website/starter/others/not-found.js -------------------------------------------------------------------------------- /21-the-wild-oasis-website/starter/pages/about-page.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/21-the-wild-oasis-website/starter/pages/about-page.js -------------------------------------------------------------------------------- /21-the-wild-oasis-website/starter/pages/cabin-page.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/21-the-wild-oasis-website/starter/pages/cabin-page.js -------------------------------------------------------------------------------- /21-the-wild-oasis-website/starter/pages/cabins-page.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/21-the-wild-oasis-website/starter/pages/cabins-page.js -------------------------------------------------------------------------------- /21-the-wild-oasis-website/starter/pages/home-page.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/21-the-wild-oasis-website/starter/pages/home-page.js -------------------------------------------------------------------------------- /21-the-wild-oasis-website/starter/pages/login-page.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/21-the-wild-oasis-website/starter/pages/login-page.js -------------------------------------------------------------------------------- /21-the-wild-oasis-website/starter/pages/profile-page.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/21-the-wild-oasis-website/starter/pages/profile-page.js -------------------------------------------------------------------------------- /21-the-wild-oasis-website/starter/pages/thank-you-page.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/21-the-wild-oasis-website/starter/pages/thank-you-page.js -------------------------------------------------------------------------------- /22-nextjs-pages-router/final/.eslintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "next/core-web-vitals" 3 | } 4 | -------------------------------------------------------------------------------- /22-nextjs-pages-router/final/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/22-nextjs-pages-router/final/README.md -------------------------------------------------------------------------------- /22-nextjs-pages-router/final/components/CabinCard.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/22-nextjs-pages-router/final/components/CabinCard.js -------------------------------------------------------------------------------- /22-nextjs-pages-router/final/components/CabinList.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/22-nextjs-pages-router/final/components/CabinList.js -------------------------------------------------------------------------------- /22-nextjs-pages-router/final/components/CabinView.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/22-nextjs-pages-router/final/components/CabinView.js -------------------------------------------------------------------------------- /22-nextjs-pages-router/final/components/Header.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/22-nextjs-pages-router/final/components/Header.js -------------------------------------------------------------------------------- /22-nextjs-pages-router/final/components/Logo.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/22-nextjs-pages-router/final/components/Logo.js -------------------------------------------------------------------------------- /22-nextjs-pages-router/final/components/Navigation.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/22-nextjs-pages-router/final/components/Navigation.js -------------------------------------------------------------------------------- /22-nextjs-pages-router/final/components/TextExpander.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/22-nextjs-pages-router/final/components/TextExpander.js -------------------------------------------------------------------------------- /22-nextjs-pages-router/final/jsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/22-nextjs-pages-router/final/jsconfig.json -------------------------------------------------------------------------------- /22-nextjs-pages-router/final/lib/data-service.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/22-nextjs-pages-router/final/lib/data-service.js -------------------------------------------------------------------------------- /22-nextjs-pages-router/final/lib/supabase.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/22-nextjs-pages-router/final/lib/supabase.js -------------------------------------------------------------------------------- /22-nextjs-pages-router/final/next.config.mjs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/22-nextjs-pages-router/final/next.config.mjs -------------------------------------------------------------------------------- /22-nextjs-pages-router/final/package-lock.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/22-nextjs-pages-router/final/package-lock.json -------------------------------------------------------------------------------- /22-nextjs-pages-router/final/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/22-nextjs-pages-router/final/package.json -------------------------------------------------------------------------------- /22-nextjs-pages-router/final/pages/_app.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/22-nextjs-pages-router/final/pages/_app.js -------------------------------------------------------------------------------- /22-nextjs-pages-router/final/pages/about.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/22-nextjs-pages-router/final/pages/about.js -------------------------------------------------------------------------------- /22-nextjs-pages-router/final/pages/api/contact.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/22-nextjs-pages-router/final/pages/api/contact.js -------------------------------------------------------------------------------- /22-nextjs-pages-router/final/pages/cabins.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/22-nextjs-pages-router/final/pages/cabins.js -------------------------------------------------------------------------------- /22-nextjs-pages-router/final/pages/cabins/[cabinId].js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/22-nextjs-pages-router/final/pages/cabins/[cabinId].js -------------------------------------------------------------------------------- /22-nextjs-pages-router/final/pages/contact.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/22-nextjs-pages-router/final/pages/contact.js -------------------------------------------------------------------------------- /22-nextjs-pages-router/final/pages/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/22-nextjs-pages-router/final/pages/index.js -------------------------------------------------------------------------------- /22-nextjs-pages-router/final/postcss.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/22-nextjs-pages-router/final/postcss.config.js -------------------------------------------------------------------------------- /22-nextjs-pages-router/final/public/about-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/22-nextjs-pages-router/final/public/about-1.jpg -------------------------------------------------------------------------------- /22-nextjs-pages-router/final/public/about-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/22-nextjs-pages-router/final/public/about-2.jpg -------------------------------------------------------------------------------- /22-nextjs-pages-router/final/public/bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/22-nextjs-pages-router/final/public/bg.png -------------------------------------------------------------------------------- /22-nextjs-pages-router/final/public/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/22-nextjs-pages-router/final/public/logo.png -------------------------------------------------------------------------------- /22-nextjs-pages-router/final/styles/globals.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/22-nextjs-pages-router/final/styles/globals.css -------------------------------------------------------------------------------- /22-nextjs-pages-router/final/tailwind.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/22-nextjs-pages-router/final/tailwind.config.js -------------------------------------------------------------------------------- /22-nextjs-pages-router/starter/components/CabinCard.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/22-nextjs-pages-router/starter/components/CabinCard.js -------------------------------------------------------------------------------- /22-nextjs-pages-router/starter/components/CabinList.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/22-nextjs-pages-router/starter/components/CabinList.js -------------------------------------------------------------------------------- /22-nextjs-pages-router/starter/components/CabinView.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/22-nextjs-pages-router/starter/components/CabinView.js -------------------------------------------------------------------------------- /22-nextjs-pages-router/starter/components/Header.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/22-nextjs-pages-router/starter/components/Header.js -------------------------------------------------------------------------------- /22-nextjs-pages-router/starter/components/Logo.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/22-nextjs-pages-router/starter/components/Logo.js -------------------------------------------------------------------------------- /22-nextjs-pages-router/starter/components/Navigation.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/22-nextjs-pages-router/starter/components/Navigation.js -------------------------------------------------------------------------------- /22-nextjs-pages-router/starter/components/TextExpander.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/22-nextjs-pages-router/starter/components/TextExpander.js -------------------------------------------------------------------------------- /22-nextjs-pages-router/starter/others/about-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/22-nextjs-pages-router/starter/others/about-1.jpg -------------------------------------------------------------------------------- /22-nextjs-pages-router/starter/others/about-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/22-nextjs-pages-router/starter/others/about-2.jpg -------------------------------------------------------------------------------- /22-nextjs-pages-router/starter/others/bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/22-nextjs-pages-router/starter/others/bg.png -------------------------------------------------------------------------------- /22-nextjs-pages-router/starter/others/data-service.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/22-nextjs-pages-router/starter/others/data-service.js -------------------------------------------------------------------------------- /22-nextjs-pages-router/starter/others/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/22-nextjs-pages-router/starter/others/logo.png -------------------------------------------------------------------------------- /22-nextjs-pages-router/starter/others/next.config.mjs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/22-nextjs-pages-router/starter/others/next.config.mjs -------------------------------------------------------------------------------- /22-nextjs-pages-router/starter/others/supabase.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/22-nextjs-pages-router/starter/others/supabase.js -------------------------------------------------------------------------------- /22-nextjs-pages-router/starter/others/tailwind.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/22-nextjs-pages-router/starter/others/tailwind.config.js -------------------------------------------------------------------------------- /22-nextjs-pages-router/starter/pages/about-page.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/22-nextjs-pages-router/starter/pages/about-page.js -------------------------------------------------------------------------------- /22-nextjs-pages-router/starter/pages/cabins-page.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/22-nextjs-pages-router/starter/pages/cabins-page.js -------------------------------------------------------------------------------- /22-nextjs-pages-router/starter/pages/contact-page.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/22-nextjs-pages-router/starter/pages/contact-page.js -------------------------------------------------------------------------------- /22-nextjs-pages-router/starter/pages/home-page.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/22-nextjs-pages-router/starter/pages/home-page.js -------------------------------------------------------------------------------- /22-nextjs-pages-router/starter/pages/root-layout.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/22-nextjs-pages-router/starter/pages/root-layout.js -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jonasschmedtmann/ultimate-react-course/HEAD/README.md --------------------------------------------------------------------------------