feature/get-places-api #2

Merged
behnam merged 26 commits from feature/get-places-api into develop 2023-05-23 09:23:56 +00:00
11 changed files with 13 additions and 66 deletions
Showing only changes of commit b58f7f48f3 - Show all commits

View File

@ -16,8 +16,7 @@ const getUsersAdapter = (): IGetUsersPort & getUsersAdapterReturnType => {
// make the httpHandler // make the httpHandler
const httpProvider = new HTTPPovider(); const httpProvider = new HTTPPovider();
const httpHandler = async () => const httpHandler = async () => httpProvider.request<GetUsersResponse>(options);
httpProvider.request<GetUsersResponse>(options);
// return the method // return the method
return { return {

View File

@ -7,11 +7,5 @@ interface IPageTitleProps {
export default function PageTitle(props: IPageTitleProps) { export default function PageTitle(props: IPageTitleProps) {
const { title, className } = props; const { title, className } = props;
return ( return <div className={`w-full shadow-sm shadow-txt-light font-semibold ${className}`}>{title}</div>;
<div
className={`w-full shadow-sm shadow-txt-light font-semibold ${className}`}
>
{title}
</div>
);
} }

View File

@ -9,11 +9,5 @@ export default function TableRow(props: ITableRowInfra) {
const { isRowSelected } = useTableRowVM({ selectedRowId, rowId }); const { isRowSelected } = useTableRowVM({ selectedRowId, rowId });
return ( return <TableRowView isSelected={isRowSelected} rowData={rowData} setSelectedRowId={setSelectedRowId} />;
<TableRowView
isSelected={isRowSelected}
rowData={rowData}
setSelectedRowId={setSelectedRowId}
/>
);
} }

View File

@ -6,14 +6,7 @@ export default function TableRowView(props: ITableRowProps) {
const { isSelected, setSelectedRowId, rowData } = props; const { isSelected, setSelectedRowId, rowData } = props;
const { rowId, rowItemsTitle } = rowData; const { rowId, rowItemsTitle } = rowData;
const columns = rowItemsTitle.map((rowItemTitle, index) => { const columns = rowItemsTitle.map((rowItemTitle, index) => {
return ( return <RowItem key={rowItemTitle} hasCheckbox={index === 0} isSelected={isSelected} title={rowItemTitle} />;
<RowItem
key={rowItemTitle}
hasCheckbox={index === 0}
isSelected={isSelected}
title={rowItemTitle}
/>
);
}); });
return <tr onClick={() => setSelectedRowId(rowId)}>{columns}</tr>; return <tr onClick={() => setSelectedRowId(rowId)}>{columns}</tr>;

View File

@ -17,11 +17,7 @@ export default function RowItem(props: IRowItemProp) {
isSelected ? 'opacity-100' : 'opacity-0' isSelected ? 'opacity-100' : 'opacity-0'
}`} }`}
> >
<span <span className={`${isSelected ? 'visible' : 'hidden'} transition-all`}>&#10003;</span>
className={`${isSelected ? 'visible' : 'hidden'} transition-all`}
>
&#10003;
</span>
</span> </span>
)} )}
{title} {title}

View File

@ -18,18 +18,9 @@ export default function PlacessList() {
const { getingPlacesLogic, url } = prepareTheLogicForModel(); const { getingPlacesLogic, url } = prepareTheLogicForModel();
const placesModel = async () => await placesListModel(getingPlacesLogic); const placesModel = async () => await placesListModel(getingPlacesLogic);
const useGetPlacesList = prepareStateManagementForVM<PlacesModel>( const useGetPlacesList = prepareStateManagementForVM<PlacesModel>(url, placesModel);
url,
placesModel
);
const { selectedRowId, setSelectedRowId, placesData } = usePlacesListVM({ const { selectedRowId, setSelectedRowId, placesData } = usePlacesListVM({
useGetPlacesList, useGetPlacesList,
}); });
return ( return <PlacesListView placesList={placesData} selectedRowId={selectedRowId} setSelectedRowId={setSelectedRowId} />;
<PlacesListView
placesList={placesData}
selectedRowId={selectedRowId}
setSelectedRowId={setSelectedRowId}
/>
);
} }

View File

@ -17,18 +17,9 @@ const prepareTheLogicForModel = () => {
export default function UsersList() { export default function UsersList() {
const { getingusersLogic, url } = prepareTheLogicForModel(); const { getingusersLogic, url } = prepareTheLogicForModel();
const usersModel = async () => await usersListModel(getingusersLogic); const usersModel = async () => await usersListModel(getingusersLogic);
const useGetusersList = prepareStateManagementForVM<UsersModel>( const useGetusersList = prepareStateManagementForVM<UsersModel>(url, usersModel);
url,
usersModel
);
const { selectedRowId, setSelectedRowId, usersData } = useUsersListVM({ const { selectedRowId, setSelectedRowId, usersData } = useUsersListVM({
useGetusersList, useGetusersList,
}); });
return ( return <UsersListView usersList={usersData} selectedRowId={selectedRowId} setSelectedRowId={setSelectedRowId} />;
<UsersListView
usersList={usersData}
selectedRowId={selectedRowId}
setSelectedRowId={setSelectedRowId}
/>
);
} }

View File

@ -1,6 +1,4 @@
import UsersModel from '~/business-logic/core/users/common/data/model/usersModel'; import UsersModel from '~/business-logic/core/users/common/data/model/usersModel';
import { getUsersReturnPort } from '~/business-logic/core/users/get-users/ports'; import { getUsersReturnPort } from '~/business-logic/core/users/get-users/ports';
export type getUsersModel = ( export type getUsersModel = (getUsers: getUsersReturnPort) => Promise<UsersModel>;
getUsers: getUsersReturnPort
) => Promise<UsersModel>;

View File

@ -13,9 +13,7 @@ export default function Sidebar() {
key={key} key={key}
to={routesData[key].path} to={routesData[key].path}
className={`flex text-white mb-6 text-sm w-full py-2 pl-2 rounded-lg ${ className={`flex text-white mb-6 text-sm w-full py-2 pl-2 rounded-lg ${
isCurrentPage.pathname === routesData[key].path isCurrentPage.pathname === routesData[key].path ? 'bg-primary-300' : ''
? 'bg-primary-300'
: ''
}`} }`}
> >
<img src={routesData[key].icon} alt='page icon' className='mr-2' /> <img src={routesData[key].icon} alt='page icon' className='mr-2' />

View File

@ -6,10 +6,7 @@ import CreateUser from '~/driving/application/core/create-user';
export default function CreateUserPage() { export default function CreateUserPage() {
return ( return (
<> <>
<PageTitle <PageTitle className='px-4 py-5' title={staticMessages.global.createUser} />
className='px-4 py-5'
title={staticMessages.global.createUser}
/>
<CreateUser /> <CreateUser />
</> </>
); );

View File

@ -11,11 +11,7 @@ export default function index() {
<PageTitle className='px-4 py-5' title={staticMessages.global.users} /> <PageTitle className='px-4 py-5' title={staticMessages.global.users} />
<div className='container mx-auto px-4'> <div className='container mx-auto px-4'>
<div className='w-full flex flex-row-reverse items-center py-2'> <div className='w-full flex flex-row-reverse items-center py-2'>
<PrimaryButton <PrimaryButton className='text-sm' title={staticMessages.global.submit} onClick={() => null} />
className='text-sm'
title={staticMessages.global.submit}
onClick={() => null}
/>
</div> </div>
<div className='md:grid-cols-2 gap-x-4 grid grid-cols-1 mx-auto'> <div className='md:grid-cols-2 gap-x-4 grid grid-cols-1 mx-auto'>
<UsersList /> <UsersList />