feature/get-places-api #2
@ -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 {
|
||||||
|
@ -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>
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
@ -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}
|
|
||||||
/>
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
@ -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>;
|
||||||
|
@ -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`}>✓</span>
|
||||||
className={`${isSelected ? 'visible' : 'hidden'} transition-all`}
|
|
||||||
>
|
|
||||||
✓
|
|
||||||
</span>
|
|
||||||
</span>
|
</span>
|
||||||
)}
|
)}
|
||||||
{title}
|
{title}
|
||||||
|
@ -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}
|
|
||||||
/>
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
@ -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}
|
|
||||||
/>
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
@ -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>;
|
|
||||||
|
@ -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' />
|
||||||
|
@ -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 />
|
||||||
</>
|
</>
|
||||||
);
|
);
|
||||||
|
@ -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 />
|
||||||
|
Loading…
x
Reference in New Issue
Block a user