index.tsx 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. import { LOCAL_STORAGE_KEYS } from 'common'
  2. import { useRouter } from 'next/router'
  3. import { useEffect } from 'react'
  4. import { ShimmeringCard } from '@/components/interfaces/Home/ProjectList/ShimmeringCard'
  5. import { DefaultLayout } from '@/components/layouts/DefaultLayout'
  6. import OrganizationLayout from '@/components/layouts/OrganizationLayout'
  7. import { ScaffoldContainerLegacy } from '@/components/layouts/Scaffold'
  8. import { useLocalStorageQuery } from '@/hooks/misc/useLocalStorage'
  9. import type { NextPageWithLayout } from '@/types'
  10. const OrgIndexPage: NextPageWithLayout = () => {
  11. const router = useRouter()
  12. const [lastVisitedOrganization, _, { isSuccess }] = useLocalStorageQuery(
  13. LOCAL_STORAGE_KEYS.LAST_VISITED_ORGANIZATION,
  14. ''
  15. )
  16. useEffect(() => {
  17. if (isSuccess) {
  18. if (lastVisitedOrganization.length > 0) router.push(`/org/${lastVisitedOrganization}`)
  19. else router.push('/organizations')
  20. }
  21. // eslint-disable-next-line react-hooks/exhaustive-deps
  22. }, [isSuccess])
  23. return (
  24. <ScaffoldContainerLegacy>
  25. <div>
  26. <ul className="my-6 mx-auto grid grid-cols-1 gap-4 sm:grid-cols-1 md:grid-cols-1 lg:grid-cols-2 xl:grid-cols-3">
  27. <ShimmeringCard />
  28. <ShimmeringCard />
  29. </ul>
  30. </div>
  31. </ScaffoldContainerLegacy>
  32. )
  33. }
  34. OrgIndexPage.getLayout = (page) => (
  35. <DefaultLayout>
  36. <OrganizationLayout title="Organizations">{page}</OrganizationLayout>
  37. </DefaultLayout>
  38. )
  39. export default OrgIndexPage