Adds a validation schema for the application's environment variables using the Zod library. The parsed environment variables are then exported as constants that can be imported throughout the application, replacing the direct use of process.env.
This commit adds the necessary components and hooks to implement a beer search feature on the website. It includes the following changes:
- Add a new BeerSearch API route that returns a list of beers matching a search query.
- Implement a new hook useBeerPostSearch that utilizes SWR to fetch data from the API and parse it using a schema.
- Add a new page SearchPage that displays a search input field and a list of beer search results.
- Use lodash's debounce function to avoid making too many requests while the user is typing in the search input field.
Implement edit beer post functionality.
Register, edit and create beer post forms are now using the same layout found in components/ui/forms/BeerPostFormPageLayout. All forms are now extracted into their own components and are now found in components.
Added redirectIfLoggedIn getServerSidesProp fn for login and register pages.