useEffect(() => {
		window.scrollTo(0, 0);
	}, [location]);
  
    
      This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
      Learn more about bidirectional Unicode characters
    
  
  
    
  | // init services: | |
| export const db = getFirestore(app); | |
| // collection ref: | |
| const colRef = collection(db, "data"); | |
| // get collection data | |
| useEffect(() => { | |
| const getData = async () => { | |
| const data = await getDocs(colRef); | 
  
    
      This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
      Learn more about bidirectional Unicode characters
    
  
  
    
  | @mixin sm { | |
| @media only screen and (min-width: 640px) { | |
| @content; | |
| } | |
| } | |
| @mixin md { | |
| @media only screen and (min-width: 768px) { | |
| @content; | |
| } | 
Simple test
  
    
      This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
      Learn more about bidirectional Unicode characters
    
  
  
    
  | import { LazyLoadImage } from "react-lazy-load-image-component"; | |
| import "react-lazy-load-image-component/src/effects/blur.css"; | |
| const Img = ({ src, className }) => { | |
| return ( | |
| <LazyLoadImage | |
| className={className || ""} | |
| alt="" | |
| effect="blur" | |
| src={src} | 
  
    
      This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
      Learn more about bidirectional Unicode characters
    
  
  
    
  | import { useEffect, useState } from "react"; | |
| import { fetchDataFromApi } from "../utils/api"; | |
| const useFetch = (url) => { | |
| const [data, setData] = useState(null); | |
| const [loading, setLoading] = useState(null); | |
| const [error, setError] = useState(null); | |
| useEffect(() => { | |
| setLoading("loading..."); | |
| setData(null); | 
  
    
      This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
      Learn more about bidirectional Unicode characters
    
  
  
    
  | { | |
| data.meta.pagination.total > maxResultCount && ( | |
| <div className="flex gap-3 items-center justify-center my-16 md:my-0"> | |
| <button | |
| className={`rounded py-2 px-4 bg-black text-white disabled:bg-gray-200 disabled:text-gray-500`} | |
| disabled={pageIndex === 1} | |
| onClick={() => setPageIndex(pageIndex - 1)}> | |
| Previous | |
| </button> | |
  
    
      This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
      Learn more about bidirectional Unicode characters
    
  
  
    
  | @import url("https://fonts.googleapis.com/css2?family=Lexend:wght@100;200;300;400;500;600;700;800;900&display=swap"); | |
| @tailwind base; | |
| @tailwind components; | |
| @tailwind utilities; | |
| :root { | |
| font-family: "Lexend", sans-serif; | |
| -webkit-font-smoothing: antialiased; | |
| -moz-osx-font-smoothing: grayscale; | 
  
    
      This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
      Learn more about bidirectional Unicode characters
    
  
  
    
  | :root { | |
| font-family: Inter, Avenir, Helvetica, Arial, sans-serif; | |
| font-size: 16px; | |
| line-height: 1; | |
| font-weight: 500; | |
| font-synthesis: none; | |
| text-rendering: optimizeLegibility; | |
| -webkit-font-smoothing: antialiased; | |
| -moz-osx-font-smoothing: grayscale; |