diff --git a/src/pages/Home.tsx b/src/pages/Home.tsx index 18e78ff..939635f 100644 --- a/src/pages/Home.tsx +++ b/src/pages/Home.tsx @@ -15,6 +15,8 @@ import Group from '../views/home/groups/Group'; import Contest from '../views/home/contest/Contest'; import Account from '../views/home/account/Account'; import ProtectedRoute from '../components/router/ProtectedRoute'; +import { MissionsRightPanel } from '../views/home/rightpanel/Missions'; +import { ArticlesRightPanel } from '../views/home/rightpanel/Articles'; const Home = () => { const name = useAppSelector((state) => state.auth.username); @@ -74,7 +76,8 @@ const Home = () => { { - } /> + } /> + } /> } diff --git a/src/views/home/rightpanel/Articles.tsx b/src/views/home/rightpanel/Articles.tsx new file mode 100644 index 0000000..48a9511 --- /dev/null +++ b/src/views/home/rightpanel/Articles.tsx @@ -0,0 +1,40 @@ +import { FC } from 'react'; + +export const ArticlesRightPanel: FC = () => { + const items = [ + { + name: 'Энтузиаст создал карточки с NFC-метками для знакомства ребёнка с музыкой', + }, + { + name: 'Алгоритм Древа Силы, Космический Сортировщик', + }, + { + name: 'Космический Сортировщик', + }, + { + name: 'Зеркала Многомерности', + }, + ]; + return ( +
+
+ Попоулярные статьи +
+ + {items.map((v, i) => { + return ( + <> + { +
+ {v.name} +
+ } + {i + 1 != items.length && ( +
+ )} + + ); + })} +
+ ); +}; diff --git a/src/views/home/rightpanel/Missions.tsx b/src/views/home/rightpanel/Missions.tsx new file mode 100644 index 0000000..2d2abe8 --- /dev/null +++ b/src/views/home/rightpanel/Missions.tsx @@ -0,0 +1,68 @@ +import { FC } from 'react'; +import { cn } from '../../../lib/cn'; + +export const MissionsRightPanel: FC = () => { + const items = [ + { + name: 'Кромсатели металла v4', + difficulty: 'Easy', + tags: ['strings', 'arrays', 'math'], + }, + { + name: 'Алгоритм Древа Силы', + difficulty: 'Medium', + tags: ['trees', 'dfs', 'recursion'], + }, + { + name: 'Космический Сортировщик', + difficulty: 'Hard', + tags: ['sorting', 'optimization', 'greedy'], + }, + { + name: 'Зеркала Многомерности', + difficulty: 'Medium', + tags: ['matrix', 'geometry', 'simulation'], + }, + ]; + return ( +
+
+ Новые задачи +
+ + {items.map((v, i) => { + return ( + <> + { +
+
{v.name}
+
+ {v.difficulty} +
+
+ {v.tags.slice(0, 2).map((v, i) => ( +
{v}
+ ))} + {v.tags.length > 2 && '...'} +
+
+ } + {i + 1 != items.length && ( +
+ )} + + ); + })} +
+ ); +};