Template for starting apps, powered by Next.js
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.
 
 

43 lines
899 B

  1. import {GetServerSideProps, NextPage} from 'next'
  2. import Template from '../../../components/templates/LeftSidebarLayout'
  3. import {POPUP, QUERY, SIDEBAR} from '../../../utilities/queryKeys'
  4. import {USER} from '../../../utilities/popups'
  5. type Props = {
  6. query: string,
  7. sidebarMainOpen: boolean,
  8. }
  9. const Page: NextPage<Props> = ({
  10. query,
  11. sidebarMainOpen,
  12. }) => {
  13. return (
  14. <Template
  15. query={query}
  16. sidebarMainOpen={sidebarMainOpen}
  17. userLinkLabel="User"
  18. searchQueryKey={QUERY}
  19. searchLabel="Search"
  20. searchHint="e.g. keywords, names&hellip;"
  21. popupQueryKey={POPUP}
  22. userPopupQueryValue={USER}
  23. menuLinkLabel="Menu"
  24. sidebarQueryKey={SIDEBAR}
  25. />
  26. )
  27. }
  28. export default Page
  29. export const getServerSideProps: GetServerSideProps = async (ctx) => {
  30. const { [QUERY]: query = '', } = ctx.query
  31. return {
  32. props: {
  33. query,
  34. sidebarMainOpen: 'sidebar' in ctx.query,
  35. }
  36. }
  37. }