Add some common sense redirects
This commit is contained in:
parent
3405096438
commit
68e4670589
|
@ -8,6 +8,9 @@ import { checkoutURL } from 'web/lib/service/stripe'
|
||||||
import { Page } from 'web/components/page'
|
import { Page } from 'web/components/page'
|
||||||
import { useTracking } from 'web/hooks/use-tracking'
|
import { useTracking } from 'web/hooks/use-tracking'
|
||||||
import { trackCallback } from 'web/lib/service/analytics'
|
import { trackCallback } from 'web/lib/service/analytics'
|
||||||
|
import { redirectIfLoggedOut } from 'web/lib/firebase/server-auth'
|
||||||
|
|
||||||
|
export const getServerSideProps = redirectIfLoggedOut('/')
|
||||||
|
|
||||||
export default function AddFundsPage() {
|
export default function AddFundsPage() {
|
||||||
const user = useUser()
|
const user = useUser()
|
||||||
|
|
|
@ -9,6 +9,9 @@ import { useContracts } from 'web/hooks/use-contracts'
|
||||||
import { mapKeys } from 'lodash'
|
import { mapKeys } from 'lodash'
|
||||||
import { useAdmin } from 'web/hooks/use-admin'
|
import { useAdmin } from 'web/hooks/use-admin'
|
||||||
import { contractPath } from 'web/lib/firebase/contracts'
|
import { contractPath } from 'web/lib/firebase/contracts'
|
||||||
|
import { redirectIfLoggedOut } from 'web/lib/firebase/server-auth'
|
||||||
|
|
||||||
|
export const getServerSideProps = redirectIfLoggedOut('/')
|
||||||
|
|
||||||
function avatarHtml(avatarUrl: string) {
|
function avatarHtml(avatarUrl: string) {
|
||||||
return `<img
|
return `<img
|
||||||
|
|
|
@ -28,6 +28,9 @@ import { GroupSelector } from 'web/components/groups/group-selector'
|
||||||
import { User } from 'common/user'
|
import { User } from 'common/user'
|
||||||
import { TextEditor, useTextEditor } from 'web/components/editor'
|
import { TextEditor, useTextEditor } from 'web/components/editor'
|
||||||
import { Checkbox } from 'web/components/checkbox'
|
import { Checkbox } from 'web/components/checkbox'
|
||||||
|
import { redirectIfLoggedOut } from 'web/lib/firebase/server-auth'
|
||||||
|
|
||||||
|
export const getServerSideProps = redirectIfLoggedOut('/')
|
||||||
|
|
||||||
type NewQuestionParams = {
|
type NewQuestionParams = {
|
||||||
groupId?: string
|
groupId?: string
|
||||||
|
@ -55,11 +58,7 @@ export default function Create() {
|
||||||
}, [params.q])
|
}, [params.q])
|
||||||
|
|
||||||
const creator = useUser()
|
const creator = useUser()
|
||||||
useEffect(() => {
|
if (!router.isReady || creator) return <div />
|
||||||
if (creator === null) router.push('/')
|
|
||||||
}, [creator, router])
|
|
||||||
|
|
||||||
if (!router.isReady || !creator) return <div />
|
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Page>
|
<Page>
|
||||||
|
@ -93,7 +92,7 @@ export default function Create() {
|
||||||
|
|
||||||
// Allow user to create a new contract
|
// Allow user to create a new contract
|
||||||
export function NewContract(props: {
|
export function NewContract(props: {
|
||||||
creator: User
|
creator?: User | null
|
||||||
question: string
|
question: string
|
||||||
params?: NewQuestionParams
|
params?: NewQuestionParams
|
||||||
}) {
|
}) {
|
||||||
|
|
|
@ -1,10 +1,9 @@
|
||||||
import React, { useEffect, useState } from 'react'
|
import React, { useEffect, useState } from 'react'
|
||||||
import Router, { useRouter } from 'next/router'
|
import { useRouter } from 'next/router'
|
||||||
import { PlusSmIcon } from '@heroicons/react/solid'
|
import { PlusSmIcon } from '@heroicons/react/solid'
|
||||||
|
|
||||||
import { Page } from 'web/components/page'
|
import { Page } from 'web/components/page'
|
||||||
import { Col } from 'web/components/layout/col'
|
import { Col } from 'web/components/layout/col'
|
||||||
import { useUser } from 'web/hooks/use-user'
|
|
||||||
import { getSavedSort } from 'web/hooks/use-sort-and-query-params'
|
import { getSavedSort } from 'web/hooks/use-sort-and-query-params'
|
||||||
import { ContractSearch } from 'web/components/contract-search'
|
import { ContractSearch } from 'web/components/contract-search'
|
||||||
import { Contract } from 'common/contract'
|
import { Contract } from 'common/contract'
|
||||||
|
@ -12,19 +11,16 @@ import { ContractPageContent } from './[username]/[contractSlug]'
|
||||||
import { getContractFromSlug } from 'web/lib/firebase/contracts'
|
import { getContractFromSlug } from 'web/lib/firebase/contracts'
|
||||||
import { useTracking } from 'web/hooks/use-tracking'
|
import { useTracking } from 'web/hooks/use-tracking'
|
||||||
import { track } from 'web/lib/service/analytics'
|
import { track } from 'web/lib/service/analytics'
|
||||||
|
import { redirectIfLoggedOut } from 'web/lib/firebase/server-auth'
|
||||||
|
|
||||||
|
export const getServerSideProps = redirectIfLoggedOut('/')
|
||||||
|
|
||||||
const Home = () => {
|
const Home = () => {
|
||||||
const user = useUser()
|
|
||||||
const [contract, setContract] = useContractPage()
|
const [contract, setContract] = useContractPage()
|
||||||
|
|
||||||
const router = useRouter()
|
const router = useRouter()
|
||||||
useTracking('view home')
|
useTracking('view home')
|
||||||
|
|
||||||
if (user === null) {
|
|
||||||
Router.replace('/')
|
|
||||||
return <></>
|
|
||||||
}
|
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<Page suspend={!!contract}>
|
<Page suspend={!!contract}>
|
||||||
|
|
|
@ -18,11 +18,14 @@ import { Avatar } from 'web/components/avatar'
|
||||||
import { RelativeTimestamp } from 'web/components/relative-timestamp'
|
import { RelativeTimestamp } from 'web/components/relative-timestamp'
|
||||||
import { UserLink } from 'web/components/user-page'
|
import { UserLink } from 'web/components/user-page'
|
||||||
import { CreateLinksButton } from 'web/components/manalinks/create-links-button'
|
import { CreateLinksButton } from 'web/components/manalinks/create-links-button'
|
||||||
|
import { redirectIfLoggedOut } from 'web/lib/firebase/server-auth'
|
||||||
|
|
||||||
import dayjs from 'dayjs'
|
import dayjs from 'dayjs'
|
||||||
import customParseFormat from 'dayjs/plugin/customParseFormat'
|
import customParseFormat from 'dayjs/plugin/customParseFormat'
|
||||||
dayjs.extend(customParseFormat)
|
dayjs.extend(customParseFormat)
|
||||||
|
|
||||||
|
export const getServerSideProps = redirectIfLoggedOut('/')
|
||||||
|
|
||||||
export function getManalinkUrl(slug: string) {
|
export function getManalinkUrl(slug: string) {
|
||||||
return `${location.protocol}//${location.host}/link/${slug}`
|
return `${location.protocol}//${location.host}/link/${slug}`
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
import React, { useEffect, useState } from 'react'
|
import React, { useEffect, useState } from 'react'
|
||||||
import { RefreshIcon } from '@heroicons/react/outline'
|
import { RefreshIcon } from '@heroicons/react/outline'
|
||||||
import Router from 'next/router'
|
|
||||||
|
|
||||||
import { AddFundsButton } from 'web/components/add-funds-button'
|
import { AddFundsButton } from 'web/components/add-funds-button'
|
||||||
import { Page } from 'web/components/page'
|
import { Page } from 'web/components/page'
|
||||||
|
@ -18,6 +17,9 @@ import { updateUser, updatePrivateUser } from 'web/lib/firebase/users'
|
||||||
import { defaultBannerUrl } from 'web/components/user-page'
|
import { defaultBannerUrl } from 'web/components/user-page'
|
||||||
import { SiteLink } from 'web/components/site-link'
|
import { SiteLink } from 'web/components/site-link'
|
||||||
import Textarea from 'react-expanding-textarea'
|
import Textarea from 'react-expanding-textarea'
|
||||||
|
import { redirectIfLoggedOut } from 'web/lib/firebase/server-auth'
|
||||||
|
|
||||||
|
export const getServerSideProps = redirectIfLoggedOut('/')
|
||||||
|
|
||||||
function EditUserField(props: {
|
function EditUserField(props: {
|
||||||
user: User
|
user: User
|
||||||
|
@ -134,8 +136,7 @@ export default function ProfilePage() {
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
if (user === null) {
|
if (user == null) {
|
||||||
Router.replace('/')
|
|
||||||
return <></>
|
return <></>
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,17 +1,10 @@
|
||||||
import Router from 'next/router'
|
import Router from 'next/router'
|
||||||
import { useEffect } from 'react'
|
import { redirectIfLoggedOut } from 'web/lib/firebase/server-auth'
|
||||||
|
|
||||||
import { useUser } from 'web/hooks/use-user'
|
export const getServerSideProps = redirectIfLoggedOut('/')
|
||||||
|
|
||||||
// Deprecated: redirects to /portfolio.
|
// Deprecated: redirects to /portfolio.
|
||||||
// Eventually, this will be removed.
|
// Eventually, this will be removed.
|
||||||
export default function TradesPage() {
|
export default function TradesPage() {
|
||||||
const user = useUser()
|
Router.replace('/portfolio')
|
||||||
|
|
||||||
useEffect(() => {
|
|
||||||
if (user === null) Router.replace('/')
|
|
||||||
else Router.replace('/portfolio')
|
|
||||||
})
|
|
||||||
|
|
||||||
return <></>
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user