From 4a56fd30297956ede59123bab65d51a842b94cf3 Mon Sep 17 00:00:00 2001 From: IRBorisov <8611739+IRBorisov@users.noreply.github.com> Date: Wed, 5 Jun 2024 16:20:51 +0300 Subject: [PATCH] Add Icons page for devs --- .vscode/settings.json | 1 + rsconcept/frontend/src/app/Router.tsx | 5 +++++ rsconcept/frontend/src/app/urls.ts | 3 ++- rsconcept/frontend/src/components/Icons.tsx | 10 ++++----- rsconcept/frontend/src/pages/IconsPage.tsx | 24 +++++++++++++++++++++ 5 files changed, 37 insertions(+), 6 deletions(-) create mode 100644 rsconcept/frontend/src/pages/IconsPage.tsx diff --git a/.vscode/settings.json b/.vscode/settings.json index 222fdba3..49f80dd4 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -98,6 +98,7 @@ "moprho", "multiword", "mypy", + "nocheck", "nomn", "nooverlap", "NPRO", diff --git a/rsconcept/frontend/src/app/Router.tsx b/rsconcept/frontend/src/app/Router.tsx index da3548ea..621bc3ee 100644 --- a/rsconcept/frontend/src/app/Router.tsx +++ b/rsconcept/frontend/src/app/Router.tsx @@ -2,6 +2,7 @@ import { createBrowserRouter } from 'react-router-dom'; import CreateItemPage from '@/pages/CreateItemPage'; import HomePage from '@/pages/HomePage'; +import IconsPage from '@/pages/IconsPage'; import LibraryPage from '@/pages/LibraryPage'; import LoginPage from '@/pages/LoginPage'; import ManualsPage from '@/pages/ManualsPage'; @@ -62,6 +63,10 @@ export const Router = createBrowserRouter([ path: `${routes.oss}/:id`, element: }, + { + path: `${routes.icons}`, + element: + }, { path: routes.manuals, element: diff --git a/rsconcept/frontend/src/app/urls.ts b/rsconcept/frontend/src/app/urls.ts index 87465098..d7ff7432 100644 --- a/rsconcept/frontend/src/app/urls.ts +++ b/rsconcept/frontend/src/app/urls.ts @@ -18,7 +18,8 @@ export const routes = { manuals: 'manuals', help: 'manuals', rsforms: 'rsforms', - oss: 'oss' + oss: 'oss', + icons: 'icons' }; interface SchemaProps { diff --git a/rsconcept/frontend/src/components/Icons.tsx b/rsconcept/frontend/src/components/Icons.tsx index ad1a2eba..425f95bf 100644 --- a/rsconcept/frontend/src/components/Icons.tsx +++ b/rsconcept/frontend/src/components/Icons.tsx @@ -127,7 +127,7 @@ export interface IconProps { className?: string; } -function IconSVG({ viewBox, size = '1.5rem', className, props, children }: IconSVGProps) { +function MetaIconSVG({ viewBox, size = '1.5rem', className, props, children }: IconSVGProps) { return ( + - + ); } export function IconLogin(props: IconProps) { return ( - + - + ); } diff --git a/rsconcept/frontend/src/pages/IconsPage.tsx b/rsconcept/frontend/src/pages/IconsPage.tsx new file mode 100644 index 00000000..9c2ebed8 --- /dev/null +++ b/rsconcept/frontend/src/pages/IconsPage.tsx @@ -0,0 +1,24 @@ +/* eslint-disable @typescript-eslint/no-unsafe-call */ +// eslint-disable-next-line @typescript-eslint/ban-ts-comment +// @ts-nocheck +import * as icons from '@/components/Icons'; + +export function IconsPage() { + return ( + + Список иконок + + {Object.keys(icons) + .filter(key => key.startsWith('Icon')) + .map((key, index) => ( + + {icons[key]({ size: '2rem' })} + {key} + + ))} + + + ); +} + +export default IconsPage;
{icons[key]({ size: '2rem' })}
{key}