summaryrefslogtreecommitdiff
path: root/front/src/components/post/Header.tsx
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;