You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

index.js 1.7KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. import { Box } from '@mui/system';
  2. import { useSession } from 'next-auth/react';
  3. import Head from 'next/head';
  4. import { useEffect } from 'react';
  5. import CompanyInfo from '../components/company-info/CompanyInfo';
  6. import Features from '../components/features/Features';
  7. import Hero from '../components/hero/Hero';
  8. import FeaturedProductsList from '../components/products/featured-products-list/FeaturedPorductsList';
  9. import { getFeaturedProducts } from '../requests/products/featuredProductsRequest';
  10. import { useUserUpdate } from '../store/user-context';
  11. import { getStorage } from '../utils/helpers/storage';
  12. const Home = (props) => {
  13. const { data: session } = useSession();
  14. const { addUser } = useUserUpdate();
  15. useEffect(() => {
  16. const userData = getStorage('user-data');
  17. console.log(userData);
  18. if (session?.user && userData.length === 0) {
  19. addUser(session.user);
  20. console.log('added');
  21. }
  22. }, [session, addUser]);
  23. return (
  24. <>
  25. <Box sx={{ width: '100%', height: '100%' }}>
  26. <Head>
  27. <title>Coffee Shop</title>
  28. <meta name="description" content="Random data with pagination..." />
  29. </Head>
  30. <Hero></Hero>
  31. <FeaturedProductsList
  32. featuredProducts={props.featuredProducts}
  33. ></FeaturedProductsList>
  34. <Features></Features>
  35. <CompanyInfo></CompanyInfo>
  36. </Box>
  37. </>
  38. );
  39. };
  40. export async function getStaticProps() {
  41. try {
  42. const { message, featuredProducts } = await getFeaturedProducts();
  43. return {
  44. props: {
  45. message,
  46. featuredProducts,
  47. },
  48. };
  49. } catch (error) {
  50. return {
  51. props: {
  52. errorMessage: error,
  53. featuredProducts: [],
  54. },
  55. };
  56. }
  57. }
  58. export default Home;