-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathUser.Header.tsx
109 lines (108 loc) · 4.58 KB
/
User.Header.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
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
import {Tab, Tabs} from "@heroui/tabs";
import {useSearchParams} from "react-router-dom";
import {useEffect, useState} from "react";
import {VscLayersActive} from "react-icons/vsc";
import {IconWrapper} from "@/app/repo/Repo.Icons.tsx";
import {RiGitRepositoryLine, RiUserFollowLine} from "react-icons/ri";
import {GoPackage} from "react-icons/go";
import {MdProductionQuantityLimits} from "react-icons/md";
import {CiSettings, CiStar} from "react-icons/ci";
import useUser from "@/state/useUser.tsx";
import {UserDashBored} from "@/types.ts";
export const UserHeader = (props: { setTab: (arg0: string) => void, user?: UserDashBored }) => {
const [Query , setQuery] = useSearchParams();
const [ Tabes, setTab ] = useState("active");
const user = useUser();
// useEffect(()=>{
// if (!Query.get("tab")){
// Query.set("tab","active")
// setQuery(Query)
// setTab("active")
// props.setTab("active")
// } else {
// setTab(Query.get("tab") as string)
// props.setTab(Query.get("tab") as string)
// }
// },[Query,props,setQuery])
useEffect(()=>{
setTab(Query.get("tab") as string)
props.setTab(Query.get("tab") as string)
},[Query, Tabes, props, setQuery])
return (
<div className="user-header">
<Tabs variant="bordered" className="user-header-tabs" onSelectionChange={(x)=>{
setTab(x.toString());
Query.set("tab",x.toString())
setQuery(Query)
props.setTab(x.toString())
}} selectedKey={Tabes}>
<Tab key="active" title={
<div className="flex items-center">
<IconWrapper className=" text-black">
<VscLayersActive />
<span className="ml-2">Active</span>
</IconWrapper>
</div>
}/>
<Tab key="reposiotry" title={
<div className="flex items-center">
<IconWrapper className=" text-black">
<RiGitRepositoryLine />
<span className="ml-2">Reposiotry</span>
</IconWrapper>
</div>
}/>
<Tab key="package" title={
<div className="flex items-center">
<IconWrapper className=" text-black">
<GoPackage />
<span className="ml-2">Package</span>
</IconWrapper>
</div>
}/>
<Tab key="product" title={
<div className="flex items-center">
<IconWrapper className=" text-black">
<MdProductionQuantityLimits />
<span className="ml-2">Product</span>
</IconWrapper>
</div>
}/>
<Tab key="star" title={
<div className="flex items-center">
<IconWrapper className=" text-black">
<CiStar />
<span className="ml-2">Star</span>
</IconWrapper>
</div>
}/>
<Tab key="follow" title={
<div className="flex items-center">
<IconWrapper className=" text-black">
<RiUserFollowLine />
<span className="ml-2">Follow</span>
</IconWrapper>
</div>
}/>
{
(user.user && props.user) && (
<>
{
(user.user.uid === props.user.user.uid) && (
<Tab key="setting" title={
<div className="flex items-center">
<IconWrapper className=" text-black">
<CiSettings />
<span className="ml-2">Setting</span>
</IconWrapper>
</div>
}/>
)
}
</>
)
}
</Tabs>
</div>
)
}