Compare commits
11 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
fbb185d7a0 | ||
|
42c1f7fe25 | ||
|
6a8887cbfb | ||
|
80ea611ba8 | ||
|
84b2dc8fbd | ||
|
6f4f9e0066 | ||
|
fb4bfe6244 | ||
|
4f83aa769b | ||
|
3ac66947b8 | ||
|
135f2a3e7e | ||
|
dcb81974e6 |
|
@ -1,5 +1,6 @@
|
|||
import { escapeRegExp } from 'lodash'
|
||||
import { DEV_CONFIG } from './dev'
|
||||
import { HANANIA_CONFIG } from './hanania'
|
||||
import { EnvConfig, PROD_CONFIG } from './prod'
|
||||
import { THEOREMONE_CONFIG } from './theoremone'
|
||||
|
||||
|
@ -9,6 +10,7 @@ const CONFIGS: { [env: string]: EnvConfig } = {
|
|||
PROD: PROD_CONFIG,
|
||||
DEV: DEV_CONFIG,
|
||||
THEOREMONE: THEOREMONE_CONFIG,
|
||||
HANANIA: HANANIA_CONFIG,
|
||||
}
|
||||
|
||||
export const ENV_CONFIG = CONFIGS[ENV]
|
||||
|
|
21
common/envs/hanania.ts
Normal file
21
common/envs/hanania.ts
Normal file
|
@ -0,0 +1,21 @@
|
|||
import { EnvConfig, PROD_CONFIG } from './prod'
|
||||
|
||||
export const HANANIA_CONFIG: EnvConfig = {
|
||||
domain: 'hanania.manifold.markets',
|
||||
firebaseConfig: {
|
||||
apiKey: 'AIzaSyC1F3kAXZ0V0RM0Cg-xFwQn8pbOWFFDBYY',
|
||||
authDomain: 'hanania-manifold.firebaseapp.com',
|
||||
projectId: 'hanania-manifold',
|
||||
storageBucket: 'hanania-manifold.appspot.com',
|
||||
messagingSenderId: '319008991675',
|
||||
appId: '1:319008991675:web:d2dc5e72b95cdcec96fc9e',
|
||||
measurementId: 'G-VCXVKYGKTC',
|
||||
},
|
||||
cloudRunId: '45jazbrfja', // TODO: fill in real ID for T1
|
||||
cloudRunRegion: 'uc',
|
||||
adminEmails: [...PROD_CONFIG.adminEmails],
|
||||
whitelistEmail: '',
|
||||
moneyMoniker: 'H$',
|
||||
visibility: 'PRIVATE',
|
||||
newQuestionPlaceholders: [],
|
||||
}
|
|
@ -13,7 +13,7 @@ import clsx from 'clsx'
|
|||
import Link from 'next/link'
|
||||
import { useRouter } from 'next/router'
|
||||
import { usePrivateUser, useUser } from 'web/hooks/use-user'
|
||||
import { firebaseLogout, User } from 'web/lib/firebase/users'
|
||||
import { firebaseLogin, firebaseLogout, User } from 'web/lib/firebase/users'
|
||||
import { ManifoldLogo } from './manifold-logo'
|
||||
import { MenuButton } from './menu'
|
||||
import { ProfileSummary } from './profile-menu'
|
||||
|
@ -41,16 +41,33 @@ function getNavigation() {
|
|||
},
|
||||
|
||||
...(IS_PRIVATE_MANIFOLD
|
||||
? []
|
||||
? [
|
||||
{
|
||||
name: 'Leaderboards',
|
||||
href: '/leaderboards',
|
||||
icon: TrendingUpIcon,
|
||||
},
|
||||
]
|
||||
: [{ name: 'Get M$', href: '/add-funds', icon: CashIcon }]),
|
||||
]
|
||||
}
|
||||
|
||||
function getMoreNavigation(user?: User | null) {
|
||||
if (IS_PRIVATE_MANIFOLD) {
|
||||
return [{ name: 'Leaderboards', href: '/leaderboards' }]
|
||||
return [
|
||||
user
|
||||
? {
|
||||
name: 'Sign out',
|
||||
href: '#',
|
||||
onClick: withTracking(firebaseLogout, 'sign out'),
|
||||
}
|
||||
: {
|
||||
name: 'Sign in',
|
||||
href: '#',
|
||||
onClick: withTracking(firebaseLogin, 'sign in'),
|
||||
},
|
||||
]
|
||||
}
|
||||
|
||||
if (!user) {
|
||||
return [
|
||||
{ name: 'Leaderboards', href: '/leaderboards' },
|
||||
|
@ -62,7 +79,6 @@ function getMoreNavigation(user?: User | null) {
|
|||
}
|
||||
|
||||
return [
|
||||
{ name: 'Send M$', href: '/links' },
|
||||
{ name: 'Leaderboards', href: '/leaderboards' },
|
||||
{ name: 'Charity', href: '/charity' },
|
||||
{ name: 'Discord', href: 'https://discord.gg/eHQBNBqXuh' },
|
||||
|
@ -92,9 +108,7 @@ const signedOutMobileNavigation = [
|
|||
href: 'https://docs.manifold.markets/$how-to',
|
||||
icon: BookOpenIcon,
|
||||
},
|
||||
{ name: 'Charity', href: '/charity', icon: HeartIcon },
|
||||
{ name: 'Leaderboards', href: '/leaderboards', icon: TrendingUpIcon },
|
||||
{ name: 'Discord', href: 'https://discord.gg/eHQBNBqXuh', icon: ChatIcon },
|
||||
]
|
||||
|
||||
const signedInMobileNavigation = [
|
||||
|
@ -110,9 +124,6 @@ const signedInMobileNavigation = [
|
|||
|
||||
function getMoreMobileNav() {
|
||||
return [
|
||||
{ name: 'Send M$', href: '/links' },
|
||||
{ name: 'Charity', href: '/charity' },
|
||||
{ name: 'Discord', href: 'https://discord.gg/eHQBNBqXuh' },
|
||||
{ name: 'Leaderboards', href: '/leaderboards' },
|
||||
{
|
||||
name: 'Sign out',
|
||||
|
@ -204,7 +215,9 @@ export default function Sidebar(props: { className?: string }) {
|
|||
<nav aria-label="Sidebar" className={className}>
|
||||
<ManifoldLogo className="py-6" twoLine />
|
||||
|
||||
<CreateQuestionButton user={user} />
|
||||
{user?.username === 'RichardHanania' && (
|
||||
<CreateQuestionButton user={user} />
|
||||
)}
|
||||
<Spacer h={4} />
|
||||
{user && (
|
||||
<div className="w-full" style={{ minHeight: 80 }}>
|
||||
|
@ -243,21 +256,21 @@ export default function Sidebar(props: { className?: string }) {
|
|||
menuItems={getMoreNavigation(user)}
|
||||
buttonContent={<MoreButton />}
|
||||
/>
|
||||
|
||||
{/* Spacer if there are any groups */}
|
||||
{memberItems.length > 0 && (
|
||||
<div className="py-3">
|
||||
<div className="h-[1px] bg-gray-300" />
|
||||
</div>
|
||||
)}
|
||||
{privateUser && (
|
||||
<GroupsList
|
||||
currentPage={router.asPath}
|
||||
memberItems={memberItems}
|
||||
privateUser={privateUser}
|
||||
/>
|
||||
)}
|
||||
</div>
|
||||
|
||||
{/* Spacer if there are any groups */}
|
||||
{memberItems.length > 0 && (
|
||||
<div className="py-3">
|
||||
<div className="h-[1px] bg-gray-300" />
|
||||
</div>
|
||||
)}
|
||||
{privateUser && (
|
||||
<GroupsList
|
||||
currentPage={router.asPath}
|
||||
memberItems={memberItems}
|
||||
privateUser={privateUser}
|
||||
/>
|
||||
)}
|
||||
</nav>
|
||||
)
|
||||
}
|
||||
|
|
|
@ -7,6 +7,7 @@
|
|||
"devdev": "cross-env NEXT_PUBLIC_FIREBASE_ENV=DEV concurrently -n NEXT,TS -c magenta,cyan \"cross-env FIREBASE_ENV=DEV next dev -p 3000\" \"cross-env FIREBASE_ENV=DEV yarn ts --watch\"",
|
||||
"dev:dev": "yarn devdev",
|
||||
"dev:the": "cross-env NEXT_PUBLIC_FIREBASE_ENV=THEOREMONE concurrently -n NEXT,TS -c magenta,cyan \"cross-env FIREBASE_ENV=THEOREMONE next dev -p 3000\" \"cross-env FIREBASE_ENV=THEOREMONE yarn ts --watch\"",
|
||||
"dev:han": "cross-env NEXT_PUBLIC_FIREBASE_ENV=HANANIA concurrently -n NEXT,TS -c magenta,cyan \"cross-env FIREBASE_ENV=HANANIA next dev -p 3000\" \"cross-env FIREBASE_ENV=HANANIA yarn ts --watch\"",
|
||||
"dev:emulate": "cross-env NEXT_PUBLIC_FIREBASE_EMULATE=TRUE yarn devdev",
|
||||
"ts": "tsc --noEmit --incremental --preserveWatchOutput --pretty",
|
||||
"build": "next build",
|
||||
|
|
|
@ -57,6 +57,7 @@ export default function Create() {
|
|||
const creator = useUser()
|
||||
useEffect(() => {
|
||||
if (creator === null) router.push('/')
|
||||
if (creator && creator.username !== 'RichardHanania') router.push('/')
|
||||
}, [creator, router])
|
||||
|
||||
if (!router.isReady || !creator) return <div />
|
||||
|
|
|
@ -1,23 +0,0 @@
|
|||
import { useState, useEffect } from 'react'
|
||||
import { Col } from 'web/components/layout/col'
|
||||
import { Spacer } from 'web/components/layout/spacer'
|
||||
import { CustomAnalytics, FirebaseAnalytics } from '../stats'
|
||||
import { getStats } from 'web/lib/firebase/stats'
|
||||
import { Stats } from 'common/stats'
|
||||
|
||||
export default function AnalyticsEmbed() {
|
||||
const [stats, setStats] = useState<Stats | undefined>(undefined)
|
||||
useEffect(() => {
|
||||
getStats().then(setStats)
|
||||
}, [])
|
||||
if (stats == null) {
|
||||
return <></>
|
||||
}
|
||||
return (
|
||||
<Col className="w-full bg-white px-2">
|
||||
<CustomAnalytics {...stats} />
|
||||
<Spacer h={8} />
|
||||
<FirebaseAnalytics />
|
||||
</Col>
|
||||
)
|
||||
}
|
|
@ -161,7 +161,7 @@ export default function GroupPage(props: {
|
|||
const { referrer } = router.query as {
|
||||
referrer?: string
|
||||
}
|
||||
if (!user && router.isReady)
|
||||
if (!user && router.isReady && creator)
|
||||
writeReferralInfo(creator.username, undefined, referrer, group?.slug)
|
||||
}, [user, creator, group, router])
|
||||
|
||||
|
@ -269,13 +269,15 @@ export default function GroupPage(props: {
|
|||
<Linkify text={group.about} />
|
||||
</div>
|
||||
</div>
|
||||
<div className="hidden sm:block xl:hidden">
|
||||
<JoinOrCreateButton
|
||||
group={group}
|
||||
user={user}
|
||||
isMember={!!isMember}
|
||||
/>
|
||||
</div>
|
||||
{isMember && user?.username === 'RichardHanania' && (
|
||||
<div className="hidden sm:block xl:hidden">
|
||||
<JoinOrCreateButton
|
||||
group={group}
|
||||
user={user}
|
||||
isMember={!!isMember}
|
||||
/>
|
||||
</div>
|
||||
)}
|
||||
</Row>
|
||||
<div className="block sm:hidden">
|
||||
<JoinOrCreateButton group={group} user={user} isMember={!!isMember} />
|
||||
|
|
Loading…
Reference in New Issue
Block a user