add salem to sidebar; clean up code
This commit is contained in:
		
							parent
							
								
									3d30a1adbc
								
							
						
					
					
						commit
						dc26db2864
					
				|  | @ -1,3 +1,19 @@ | ||||||
| export function filterDefined<T>(array: (T | null | undefined)[]) { | export function filterDefined<T>(array: (T | null | undefined)[]) { | ||||||
|   return array.filter((item) => item !== null && item !== undefined) as T[] |   return array.filter((item) => item !== null && item !== undefined) as T[] | ||||||
| } | } | ||||||
|  | 
 | ||||||
|  | export function buildArray<T>( | ||||||
|  |   ...params: (T | T[] | false | undefined | null)[] | ||||||
|  | ) { | ||||||
|  |   const array: T[] = [] | ||||||
|  | 
 | ||||||
|  |   for (const el of params) { | ||||||
|  |     if (Array.isArray(el)) { | ||||||
|  |       array.push(...el) | ||||||
|  |     } else if (el) { | ||||||
|  |       array.push(el) | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   return array | ||||||
|  | } | ||||||
|  |  | ||||||
|  | @ -30,6 +30,7 @@ import { useUnseenPreferredNotifications } from 'web/hooks/use-notifications' | ||||||
| import { PrivateUser } from 'common/user' | import { PrivateUser } from 'common/user' | ||||||
| import { useWindowSize } from 'web/hooks/use-window-size' | import { useWindowSize } from 'web/hooks/use-window-size' | ||||||
| import { CHALLENGES_ENABLED } from 'common/challenge' | import { CHALLENGES_ENABLED } from 'common/challenge' | ||||||
|  | import { buildArray } from 'common/util/array' | ||||||
| 
 | 
 | ||||||
| const logout = async () => { | const logout = async () => { | ||||||
|   // log out, and then reload the page, in case SSR wants to boot them out
 |   // log out, and then reload the page, in case SSR wants to boot them out
 | ||||||
|  | @ -61,42 +62,31 @@ function getMoreNavigation(user?: User | null) { | ||||||
|   } |   } | ||||||
| 
 | 
 | ||||||
|   if (!user) { |   if (!user) { | ||||||
|     if (CHALLENGES_ENABLED) |     return buildArray( | ||||||
|       return [ |       CHALLENGES_ENABLED && { name: 'Challenges', href: '/challenges' }, | ||||||
|         { name: 'Challenges', href: '/challenges' }, |       [ | ||||||
|         { name: 'Charity', href: '/charity' }, |  | ||||||
|         { name: 'Blog', href: 'https://news.manifold.markets' }, |  | ||||||
|         { name: 'Discord', href: 'https://discord.gg/eHQBNBqXuh' }, |  | ||||||
|         { name: 'Twitter', href: 'https://twitter.com/ManifoldMarkets' }, |  | ||||||
|       ] |  | ||||||
|     else |  | ||||||
|       return [ |  | ||||||
|         { name: 'Charity', href: '/charity' }, |         { name: 'Charity', href: '/charity' }, | ||||||
|  |         { | ||||||
|  |           name: 'Salem tournament', | ||||||
|  |           href: 'https://salemcenter.manifold.markets/', | ||||||
|  |         }, | ||||||
|         { name: 'Blog', href: 'https://news.manifold.markets' }, |         { name: 'Blog', href: 'https://news.manifold.markets' }, | ||||||
|         { name: 'Discord', href: 'https://discord.gg/eHQBNBqXuh' }, |         { name: 'Discord', href: 'https://discord.gg/eHQBNBqXuh' }, | ||||||
|         { name: 'Twitter', href: 'https://twitter.com/ManifoldMarkets' }, |         { name: 'Twitter', href: 'https://twitter.com/ManifoldMarkets' }, | ||||||
|       ] |       ] | ||||||
|  |     ) | ||||||
|   } |   } | ||||||
| 
 | 
 | ||||||
|   if (CHALLENGES_ENABLED) |   return buildArray( | ||||||
|     return [ |     CHALLENGES_ENABLED && { name: 'Challenges', href: '/challenges' }, | ||||||
|       { name: 'Challenges', href: '/challenges' }, |     [ | ||||||
|       { name: 'Referrals', href: '/referrals' }, |  | ||||||
|       { name: 'Charity', href: '/charity' }, |  | ||||||
|       { name: 'Send M$', href: '/links' }, |  | ||||||
|       { name: 'Discord', href: 'https://discord.gg/eHQBNBqXuh' }, |  | ||||||
|       { name: 'About', href: 'https://docs.manifold.markets/$how-to' }, |  | ||||||
|       { |  | ||||||
|         name: 'Sign out', |  | ||||||
|         href: '#', |  | ||||||
|         onClick: logout, |  | ||||||
|       }, |  | ||||||
|     ] |  | ||||||
|   else |  | ||||||
|     return [ |  | ||||||
|       { name: 'Referrals', href: '/referrals' }, |       { name: 'Referrals', href: '/referrals' }, | ||||||
|       { name: 'Charity', href: '/charity' }, |       { name: 'Charity', href: '/charity' }, | ||||||
|       { name: 'Send M$', href: '/links' }, |       { name: 'Send M$', href: '/links' }, | ||||||
|  |       { | ||||||
|  |         name: 'Salem tournament', | ||||||
|  |         href: 'https://salemcenter.manifold.markets/', | ||||||
|  |       }, | ||||||
|       { name: 'Discord', href: 'https://discord.gg/eHQBNBqXuh' }, |       { name: 'Discord', href: 'https://discord.gg/eHQBNBqXuh' }, | ||||||
|       { name: 'About', href: 'https://docs.manifold.markets/$how-to' }, |       { name: 'About', href: 'https://docs.manifold.markets/$how-to' }, | ||||||
|       { |       { | ||||||
|  | @ -105,6 +95,7 @@ function getMoreNavigation(user?: User | null) { | ||||||
|         onClick: logout, |         onClick: logout, | ||||||
|       }, |       }, | ||||||
|     ] |     ] | ||||||
|  |   ) | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| const signedOutNavigation = [ | const signedOutNavigation = [ | ||||||
|  | @ -141,29 +132,27 @@ const signedInMobileNavigation = [ | ||||||
| ] | ] | ||||||
| 
 | 
 | ||||||
| function getMoreMobileNav() { | function getMoreMobileNav() { | ||||||
|   return [ |   const signOut = { | ||||||
|     ...(IS_PRIVATE_MANIFOLD |     name: 'Sign out', | ||||||
|       ? [] |     href: '#', | ||||||
|       : CHALLENGES_ENABLED |     onClick: logout, | ||||||
|       ? [ |   } | ||||||
|           { name: 'Challenges', href: '/challenges' }, |   if (IS_PRIVATE_MANIFOLD) return [signOut] | ||||||
|           { name: 'Referrals', href: '/referrals' }, | 
 | ||||||
|           { name: 'Charity', href: '/charity' }, |   return buildArray<Item>( | ||||||
|           { name: 'Send M$', href: '/links' }, |     CHALLENGES_ENABLED && { name: 'Challenges', href: '/challenges' }, | ||||||
|           { name: 'Discord', href: 'https://discord.gg/eHQBNBqXuh' }, |     [ | ||||||
|         ] |       { name: 'Referrals', href: '/referrals' }, | ||||||
|       : [ |       { | ||||||
|           { name: 'Referrals', href: '/referrals' }, |         name: 'Salem tournament', | ||||||
|           { name: 'Charity', href: '/charity' }, |         href: 'https://salemcenter.manifold.markets/', | ||||||
|           { name: 'Send M$', href: '/links' }, |       }, | ||||||
|           { name: 'Discord', href: 'https://discord.gg/eHQBNBqXuh' }, |       { name: 'Charity', href: '/charity' }, | ||||||
|         ]), |       { name: 'Send M$', href: '/links' }, | ||||||
|     { |       { name: 'Discord', href: 'https://discord.gg/eHQBNBqXuh' }, | ||||||
|       name: 'Sign out', |     ], | ||||||
|       href: '#', |     signOut | ||||||
|       onClick: logout, |   ) | ||||||
|     }, |  | ||||||
|   ] |  | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| export type Item = { | export type Item = { | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue
	
	Block a user