2023-11-17 11:52:10 +00:00
|
|
|
import SuggestedProfiles from "@/Element/SuggestedProfiles";
|
|
|
|
import { Tab, TabElement } from "@/Element/Tabs";
|
|
|
|
import TrendingNotes from "@/Element/TrendingPosts";
|
|
|
|
import TrendingUsers from "@/Element/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 11:35:51 +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()}
|
|
|
|
</>
|
|
|
|
);
|
|
|
|
}
|