blob: e541fa5f0e6e92944e01c065c989a3ca551b144b (
plain)
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
|
import { date_diff } from "@/logic/utils";
import type { PostProps } from "./Post";
import { useLocation } from "wouter";
import useLocalState from "@/state/state";
function Header(props: PostProps) {
const [_, navigate] = useLocation();
const { profiles } = useLocalState();
const profile = profiles.get(props.poast.author);
// console.log("profile", profile);
// console.log(props.poast.author.length, "length");
function go(e: React.MouseEvent) {
e.stopPropagation();
}
function openThread(e: React.MouseEvent) {
e.stopPropagation();
const sel = window.getSelection()?.toString();
if (!sel) navigate(`/feed/${poast.host}/${poast.id}`);
}
const { poast } = props;
const name = profile ? (
profile.name
) : (
<div className="name cp">
<p className="p-only">{poast.author}</p>
</div>
);
return (
<header>
<div className="author flex-align" role="link" onMouseUp={go}>
{name}
</div>
<div role="link" onMouseUp={openThread} className="date">
<p title={new Date(poast.time).toLocaleString()}>
{date_diff(poast.time, "short")}
</p>
</div>
</header>
);
}
export default Header;
|