snort/packages/app/src/Pages/Discover.tsx

41 lines
1.2 KiB
TypeScript
Raw Normal View History

2023-11-17 11:52:10 +00:00
import SuggestedProfiles from "@/Element/SuggestedProfiles";
import { Tab, TabElement } from "@/Element/Tabs";
2023-11-28 10:05:55 +00:00
import TrendingNotes from "@/Element/Trending/TrendingPosts";
import TrendingUsers from "@/Element/Trending/TrendingUsers";
2023-05-15 08:51:17 +00:00
import { useState } from "react";
import { useIntl } from "react-intl";
export default function Discover() {
const { formatMessage } = useIntl();
// tabs
const Tabs = {
2023-11-20 19:16:47 +00:00
Follows: { text: formatMessage({ defaultMessage: "Suggested Follows", id: "C8HhVE" }), value: 0 },
Posts: { text: formatMessage({ defaultMessage: "Trending Notes", id: "Ix8l+B" }), value: 1 },
Profiles: { text: formatMessage({ defaultMessage: "Trending People", id: "CVWeJ6" }), value: 2 },
2023-05-15 08:51:17 +00:00
};
const [tab, setTab] = useState<Tab>(Tabs.Follows);
function renderTab() {
switch (tab.value) {
case 0:
return <SuggestedProfiles />;
case 1:
return <TrendingNotes />;
case 2:
return <TrendingUsers />;
}
return null;
}
return (
<>
2023-09-14 11:31:17 +00:00
<div className="tabs p">
2023-05-15 08:51:17 +00:00
{[Tabs.Follows, Tabs.Posts, Tabs.Profiles].map(a => (
<TabElement key={a.value} tab={tab} setTab={setTab} t={a} />
))}
</div>
{renderTab()}
</>
);
}