forked from clintonwoo/hackernews-remix-react
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathheader-links.tsx
78 lines (75 loc) · 1.87 KB
/
header-links.tsx
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
import { Link } from 'remix';
interface IHeaderNavProps {
userId?: string;
currentUrl: string;
isNavVisible: boolean;
title: string;
}
export function HeaderLinks(props: IHeaderNavProps): JSX.Element {
const { userId, currentUrl, isNavVisible, title } = props;
return isNavVisible ? (
<span className="pagetop">
<b className="hnname">
<Link to="/">{title}</Link>
</b>
{userId && (
<>
<Link to="/newswelcome">welcome</Link>
{' | '}
</>
)}
<Link className={currentUrl === '/newest' ? 'topsel' : ''} prefetch="intent" to="/newest">
new
</Link>
{userId && (
<>
{' | '}
<Link
className={currentUrl === '/threads' ? 'topsel' : ''}
prefetch="intent"
to={`/threads?id=${userId}`}
>
threads
</Link>
</>
)}
{' | '}
<Link
className={currentUrl === '/newcomments' ? 'topsel' : ''}
prefetch="intent"
to="/newcomments"
>
comments
</Link>
{' | '}
<Link className={currentUrl === '/show' ? 'topsel' : ''} prefetch="intent" to="/show">
show
</Link>
{' | '}
<Link className={currentUrl === '/ask' ? 'topsel' : ''} prefetch="intent" to="/ask">
ask
</Link>
{' | '}
<Link className={currentUrl === '/jobs' ? 'topsel' : ''} prefetch="intent" to="/jobs">
jobs
</Link>
{' | '}
<Link className={currentUrl === '/submit' ? 'topsel' : ''} to="/submit">
submit
</Link>
{currentUrl === '/best' && (
<>
{' | '}
<Link className="topsel" prefetch="intent" to="/best">
best
</Link>
</>
)}
</span>
) : (
<span className="pagetop">
<b>{title}</b>
</span>
);
}