From 77160dee882f5607c53fc2b5c1f722e98412d634 Mon Sep 17 00:00:00 2001 From: behnamrhp Date: Thu, 18 May 2023 21:37:58 +0300 Subject: [PATCH 1/2] [FEAT]: add pages in right sidebar --- public/assets/icons/createuser.svg | 7 +++++ public/assets/icons/users.svg | 6 +++++ src/driven/utils/configs/appConfig.ts | 19 ++++++++++++- src/driven/utils/constants/assertUrls.ts | 4 ++- src/driven/utils/constants/staticMessages.ts | 3 ++- .../core/{ => common}/table-row/index.tsx | 0 .../table-row/infra/TableRowInfra.tsx | 0 .../{ => common}/table-row/infra/protocols.ts | 0 .../{ => common}/table-row/view/TableRow.tsx | 2 +- .../{ => common}/table-row/view/protocols.ts | 0 .../view/table-row-item/view/RowItem.tsx | 0 .../table-row/viewmodel/protocols.ts | 0 .../table-row/viewmodel/tableRowVM.ts | 0 .../core/places-list/view/PlacesListView.tsx | 6 ++--- .../core/users-list/view/UsersListView.tsx | 6 ++--- .../support/sidebar/view/Sidebar.tsx | 22 +++++++++++++-- src/driving/main/Router/Router.tsx | 9 +++++-- src/driving/main/pages/CreateUser.tsx | 11 ++++++++ src/driving/main/pages/index.tsx | 27 ++++++++----------- .../main/pages/layouts/MainPageLayout.tsx | 14 ++++++++++ 20 files changed, 106 insertions(+), 30 deletions(-) create mode 100644 public/assets/icons/createuser.svg create mode 100644 public/assets/icons/users.svg rename src/driving/application/core/{ => common}/table-row/index.tsx (100%) rename src/driving/application/core/{ => common}/table-row/infra/TableRowInfra.tsx (100%) rename src/driving/application/core/{ => common}/table-row/infra/protocols.ts (100%) rename src/driving/application/core/{ => common}/table-row/view/TableRow.tsx (79%) rename src/driving/application/core/{ => common}/table-row/view/protocols.ts (100%) rename src/driving/application/core/{ => common}/table-row/view/table-row-item/view/RowItem.tsx (100%) rename src/driving/application/core/{ => common}/table-row/viewmodel/protocols.ts (100%) rename src/driving/application/core/{ => common}/table-row/viewmodel/tableRowVM.ts (100%) create mode 100644 src/driving/main/pages/CreateUser.tsx create mode 100644 src/driving/main/pages/layouts/MainPageLayout.tsx diff --git a/public/assets/icons/createuser.svg b/public/assets/icons/createuser.svg new file mode 100644 index 0000000..081c6c0 --- /dev/null +++ b/public/assets/icons/createuser.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/public/assets/icons/users.svg b/public/assets/icons/users.svg new file mode 100644 index 0000000..5c48177 --- /dev/null +++ b/public/assets/icons/users.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/driven/utils/configs/appConfig.ts b/src/driven/utils/configs/appConfig.ts index 923fd3c..dac6474 100644 --- a/src/driven/utils/configs/appConfig.ts +++ b/src/driven/utils/configs/appConfig.ts @@ -1,9 +1,26 @@ +import { icons } from "../constants/assertUrls"; +import { staticMessages } from "../constants/staticMessages"; + export const appConfig = {}; export const routes = { - home: '/', + usersList: '/', + createUser: '/create-user' }; +export const routesData = { + usersList: { + path: routes.usersList, + icon: icons.users, + title: staticMessages.global.users + }, + createUser: { + path: routes.createUser, + icon: icons.createUser, + title: staticMessages.global.createUser + } +} + const baseApiUrl = import.meta.env.BASE_API_URL; export const apiUrls = { diff --git a/src/driven/utils/constants/assertUrls.ts b/src/driven/utils/constants/assertUrls.ts index cc3a18e..0e1fdfa 100644 --- a/src/driven/utils/constants/assertUrls.ts +++ b/src/driven/utils/constants/assertUrls.ts @@ -1,5 +1,7 @@ const baseAssetsUrl = 'assets/'; const baseIconsUrl = baseAssetsUrl + 'icons/'; export const icons = { - logo: baseIconsUrl + 'logo.svg' + logo: baseIconsUrl + 'logo.svg', + users: baseIconsUrl + 'users.svg', + createUser: baseIconsUrl + 'createuser.svg' } \ No newline at end of file diff --git a/src/driven/utils/constants/staticMessages.ts b/src/driven/utils/constants/staticMessages.ts index bc8f038..94562fd 100644 --- a/src/driven/utils/constants/staticMessages.ts +++ b/src/driven/utils/constants/staticMessages.ts @@ -11,7 +11,8 @@ export const staticMessages = { title: 'title', status: 'Status', address: 'Address', - qrCode: 'qrCode' + qrCode: 'qrCode', + createUser: 'Create user' }, service: { errors: { diff --git a/src/driving/application/core/table-row/index.tsx b/src/driving/application/core/common/table-row/index.tsx similarity index 100% rename from src/driving/application/core/table-row/index.tsx rename to src/driving/application/core/common/table-row/index.tsx diff --git a/src/driving/application/core/table-row/infra/TableRowInfra.tsx b/src/driving/application/core/common/table-row/infra/TableRowInfra.tsx similarity index 100% rename from src/driving/application/core/table-row/infra/TableRowInfra.tsx rename to src/driving/application/core/common/table-row/infra/TableRowInfra.tsx diff --git a/src/driving/application/core/table-row/infra/protocols.ts b/src/driving/application/core/common/table-row/infra/protocols.ts similarity index 100% rename from src/driving/application/core/table-row/infra/protocols.ts rename to src/driving/application/core/common/table-row/infra/protocols.ts diff --git a/src/driving/application/core/table-row/view/TableRow.tsx b/src/driving/application/core/common/table-row/view/TableRow.tsx similarity index 79% rename from src/driving/application/core/table-row/view/TableRow.tsx rename to src/driving/application/core/common/table-row/view/TableRow.tsx index f338599..b84f925 100644 --- a/src/driving/application/core/table-row/view/TableRow.tsx +++ b/src/driving/application/core/common/table-row/view/TableRow.tsx @@ -6,7 +6,7 @@ export default function TableRowView(props: ITableRowProps) { const { isSelected, setSelectedRowId, rowData } = props; const { rowId, rowItemsTitle } = rowData; const columns = rowItemsTitle.map((rowItemTitle, index) => { - return + return }) return ( diff --git a/src/driving/application/core/table-row/view/protocols.ts b/src/driving/application/core/common/table-row/view/protocols.ts similarity index 100% rename from src/driving/application/core/table-row/view/protocols.ts rename to src/driving/application/core/common/table-row/view/protocols.ts diff --git a/src/driving/application/core/table-row/view/table-row-item/view/RowItem.tsx b/src/driving/application/core/common/table-row/view/table-row-item/view/RowItem.tsx similarity index 100% rename from src/driving/application/core/table-row/view/table-row-item/view/RowItem.tsx rename to src/driving/application/core/common/table-row/view/table-row-item/view/RowItem.tsx diff --git a/src/driving/application/core/table-row/viewmodel/protocols.ts b/src/driving/application/core/common/table-row/viewmodel/protocols.ts similarity index 100% rename from src/driving/application/core/table-row/viewmodel/protocols.ts rename to src/driving/application/core/common/table-row/viewmodel/protocols.ts diff --git a/src/driving/application/core/table-row/viewmodel/tableRowVM.ts b/src/driving/application/core/common/table-row/viewmodel/tableRowVM.ts similarity index 100% rename from src/driving/application/core/table-row/viewmodel/tableRowVM.ts rename to src/driving/application/core/common/table-row/viewmodel/tableRowVM.ts diff --git a/src/driving/application/core/places-list/view/PlacesListView.tsx b/src/driving/application/core/places-list/view/PlacesListView.tsx index ffcbb6b..336da1d 100644 --- a/src/driving/application/core/places-list/view/PlacesListView.tsx +++ b/src/driving/application/core/places-list/view/PlacesListView.tsx @@ -1,6 +1,6 @@ import React from 'react' -import RowItem from '../../table-row/view/table-row-item/view/RowItem' -import TableRow from '../../table-row' +import RowItem from '../../common/table-row/view/table-row-item/view/RowItem' +import TableRow from '../../common/table-row' import { IPlacesListProps } from './protocols' import { staticMessages } from '~/driven/utils/constants/staticMessages'; @@ -49,7 +49,7 @@ export default function UsersListView(props: IPlacesListProps) { ], rowId: places.id, } - return + return }) } diff --git a/src/driving/application/core/users-list/view/UsersListView.tsx b/src/driving/application/core/users-list/view/UsersListView.tsx index d2725db..ad8bb9c 100644 --- a/src/driving/application/core/users-list/view/UsersListView.tsx +++ b/src/driving/application/core/users-list/view/UsersListView.tsx @@ -1,6 +1,6 @@ import React from 'react' -import RowItem from '../../table-row/view/table-row-item/view/RowItem' -import TableRow from '../../table-row' +import RowItem from '../../common/table-row/view/table-row-item/view/RowItem' +import TableRow from '../../common/table-row' import { IUserListProps } from './protocols' import { staticMessages } from '~/driven/utils/constants/staticMessages'; @@ -40,7 +40,7 @@ export default function UsersListView(props: IUserListProps) { ], rowId: user.id, } - return + return }) } diff --git a/src/driving/application/support/sidebar/view/Sidebar.tsx b/src/driving/application/support/sidebar/view/Sidebar.tsx index ad0f4b8..bba16de 100644 --- a/src/driving/application/support/sidebar/view/Sidebar.tsx +++ b/src/driving/application/support/sidebar/view/Sidebar.tsx @@ -1,12 +1,30 @@ import React from 'react' +import { Link, useLocation } from 'react-router-dom' +import { routesData } from '~/driven/utils/configs/appConfig' import { icons } from '~/driven/utils/constants/assertUrls' export default function Sidebar() { + const isCurrentPage = useLocation() + + const pages = Object.keys(routesData).map(routeKey => { + const key = routeKey as keyof typeof routesData + console.log(routesData[key].title) + return ( + + +
{routesData[key].title}
+ + ) + }) + return ( -