mirror of
https://github.com/Nezumi-2711/react-training.git
synced 2026-09-22 20:01:59 +00:00
Update structure code
This commit is contained in:
@@ -11,7 +11,8 @@ import Dialog from '../../components/Dialog';
|
||||
import RoomForm from './Form';
|
||||
|
||||
// Types
|
||||
import { Nullable, TRoom } from '../../globals/types';
|
||||
import { Nullable } from '../../types/common';
|
||||
import { TRoom } from '../../types/rooms';
|
||||
|
||||
// Hooks
|
||||
import { useForwardRef } from '../../hooks/useForwardRef';
|
||||
|
||||
@@ -10,12 +10,16 @@ import Button from '../../commons/styles/Button.ts';
|
||||
import Input from '../../commons/styles/Input.ts';
|
||||
|
||||
// Types
|
||||
import { Nullable, TRoom } from '../../globals/types.ts';
|
||||
import { Nullable } from '../../types/common';
|
||||
import { TRoom } from '../../types/rooms.ts';
|
||||
|
||||
// Constants
|
||||
import { ROOM_PATH } from '../../constants/path.ts';
|
||||
import { STATUS_CODE } from '../../constants/responseStatus.ts';
|
||||
import {
|
||||
ADD_SUCCESS,
|
||||
EDIT_SUCCESS,
|
||||
errorMsg,
|
||||
} from '../../constants/messages.ts';
|
||||
import {
|
||||
INVALID_DISCOUNT,
|
||||
@@ -24,6 +28,7 @@ import {
|
||||
} from '../../constants/formValidateMessage.ts';
|
||||
|
||||
// Helpers
|
||||
import { sendRequest } from '../../helpers/sendRequest.ts';
|
||||
import {
|
||||
isValidDiscount,
|
||||
isValidNumber,
|
||||
@@ -33,7 +38,6 @@ import {
|
||||
// Components
|
||||
import FormRow from '../../components/LabelControl/index.tsx';
|
||||
import Form from '../../components/Form/index.tsx';
|
||||
import { addRoom, updateRoom } from '../../services/roomServices.ts';
|
||||
|
||||
const FormBtn = styled(Button)`
|
||||
width: 100%;
|
||||
@@ -83,17 +87,30 @@ const RoomForm = ({
|
||||
try {
|
||||
if (isAdd) {
|
||||
// Add request
|
||||
const response = await addRoom(room);
|
||||
|
||||
if(response) {
|
||||
|
||||
const response = await sendRequest(
|
||||
ROOM_PATH,
|
||||
'POST',
|
||||
JSON.stringify(room)
|
||||
);
|
||||
|
||||
if (response.statusCode === STATUS_CODE.CREATE) {
|
||||
toast.success(ADD_SUCCESS);
|
||||
} else {
|
||||
throw new Error(errorMsg(response.statusCode, response.msg));
|
||||
}
|
||||
} else {
|
||||
// Edit request
|
||||
const response = await updateRoom(room);
|
||||
const response = await sendRequest(
|
||||
ROOM_PATH + `/${room!.id}`,
|
||||
'PUT',
|
||||
JSON.stringify(room)
|
||||
);
|
||||
|
||||
if (response) {
|
||||
if (response.statusCode == STATUS_CODE.OK) {
|
||||
toast.success(EDIT_SUCCESS);
|
||||
} else {
|
||||
throw new Error(errorMsg(response.statusCode, response.msg));
|
||||
}
|
||||
}
|
||||
// Reload table data
|
||||
|
||||
@@ -15,7 +15,8 @@ import SortBy from '../../components/SortBy';
|
||||
import OrderBy from '../../components/OrderBy';
|
||||
|
||||
// Types
|
||||
import { Nullable, TRoom } from '../../globals/types';
|
||||
import { Nullable } from '../../types/common';
|
||||
import { TRoom } from '../../types/rooms';
|
||||
|
||||
// Constants
|
||||
import { useFetch } from '../../hooks/useFetch';
|
||||
|
||||
@@ -10,7 +10,8 @@ import Button from '../../commons/styles/Button';
|
||||
import RoomDialog from './Dialog';
|
||||
|
||||
// Types
|
||||
import { Nullable, TRoom } from '../../globals/types';
|
||||
import { Nullable } from '../../types/common';
|
||||
import { TRoom } from '../../types/rooms';
|
||||
|
||||
const Room = () => {
|
||||
const dialogRef = useRef<HTMLDialogElement>(null);
|
||||
|
||||
@@ -11,7 +11,8 @@ import Dialog from '../../components/Dialog';
|
||||
import UserForm from './Form';
|
||||
|
||||
// Types
|
||||
import { Nullable, TUser } from '../../globals/types';
|
||||
import { Nullable } from '../../types/common';
|
||||
import { TUser } from '../../types/user';
|
||||
|
||||
// Hooks
|
||||
import { useForwardRef } from '../../hooks/useForwardRef';
|
||||
|
||||
@@ -19,6 +19,7 @@ import FormRow from '../../components/LabelControl/index.tsx';
|
||||
import Select, { ISelectOptions } from '../../components/Select';
|
||||
|
||||
// Helpers
|
||||
import { sendRequest } from '../../helpers/sendRequest.ts';
|
||||
import {
|
||||
isEmptyObj,
|
||||
isValidName,
|
||||
@@ -27,10 +28,13 @@ import {
|
||||
} from '../../helpers/validators.ts';
|
||||
|
||||
// Constants
|
||||
import { STATUS_CODE } from '../../constants/responseStatus.ts';
|
||||
import {
|
||||
ADD_SUCCESS,
|
||||
EDIT_SUCCESS,
|
||||
errorMsg,
|
||||
} from '../../constants/messages.ts';
|
||||
import { USER_PATH } from '../../constants/path.ts';
|
||||
import {
|
||||
INVALID_FIELD,
|
||||
INVALID_PHONE,
|
||||
@@ -45,8 +49,9 @@ import { FormBtn } from './styled.ts';
|
||||
import { getAllRoom, updateRoomStatus } from '../../services/roomServices.ts';
|
||||
|
||||
// Types
|
||||
import { Nullable, TRoom, TUser } from '../../globals/types.ts';
|
||||
import { createUser, updateUser } from '../../services/userServices.ts';
|
||||
import { Nullable } from '../../types/common';
|
||||
import { TUser } from '../../types/user.ts';
|
||||
import { TRoom } from '../../types/rooms.ts';
|
||||
|
||||
interface IUserFormProp {
|
||||
onClose: () => void;
|
||||
@@ -82,12 +87,6 @@ const UserForm = ({
|
||||
|
||||
// Load and set default options room
|
||||
if (rooms.length > 0) {
|
||||
// Init first options
|
||||
options.push({
|
||||
label: '---Select---',
|
||||
value: '0'
|
||||
})
|
||||
|
||||
rooms.forEach((item) => {
|
||||
if (!item.status || tempUser?.roomId === item.id)
|
||||
options.push({
|
||||
@@ -99,11 +98,16 @@ const UserForm = ({
|
||||
|
||||
if (options.length > 0) {
|
||||
setOptions(options);
|
||||
reset({ roomId: +options[0].value });
|
||||
}
|
||||
|
||||
if (!isEmptyObj(tempUser)) {
|
||||
|
||||
// Init value
|
||||
// Set default value when user not have room yet.
|
||||
if (!tempUser.roomId) {
|
||||
tempUser.roomId = +options[0].value;
|
||||
}
|
||||
|
||||
reset(tempUser);
|
||||
} else {
|
||||
reset(INIT_VALUE_USER_FORM);
|
||||
@@ -119,20 +123,32 @@ const UserForm = ({
|
||||
try {
|
||||
if (isAdd) {
|
||||
// Add request
|
||||
const response = await createUser(newUser);
|
||||
const response = await sendRequest(
|
||||
USER_PATH,
|
||||
'POST',
|
||||
JSON.stringify(newUser)
|
||||
);
|
||||
|
||||
if (response) {
|
||||
if (response.statusCode === STATUS_CODE.CREATE) {
|
||||
toast.success(ADD_SUCCESS);
|
||||
} else {
|
||||
throw new Error(errorMsg(response.statusCode, response.msg));
|
||||
}
|
||||
|
||||
// Update room status
|
||||
updateRoomStatus(newUser.roomId, true);
|
||||
} else {
|
||||
// Edit request
|
||||
const response = await updateUser(newUser);
|
||||
const response = await sendRequest(
|
||||
USER_PATH + `/${newUser.id}`,
|
||||
'PUT',
|
||||
JSON.stringify(newUser)
|
||||
);
|
||||
|
||||
if (response) {
|
||||
if (response.statusCode == STATUS_CODE.OK) {
|
||||
toast.success(EDIT_SUCCESS);
|
||||
} else {
|
||||
throw new Error(errorMsg(response.statusCode, response.msg));
|
||||
}
|
||||
|
||||
// Update room status
|
||||
@@ -224,7 +240,6 @@ const UserForm = ({
|
||||
optionsConfigForm={{
|
||||
valueAsNumber: true,
|
||||
onChange: () => trigger('roomId'),
|
||||
validate: (v) => v !== 0
|
||||
}}
|
||||
/>
|
||||
) : (
|
||||
|
||||
@@ -14,7 +14,8 @@ import SortBy from '../../components/SortBy';
|
||||
import OrderBy from '../../components/OrderBy';
|
||||
|
||||
// Types
|
||||
import { Nullable, TUser } from '../../globals/types';
|
||||
import { Nullable } from '../../types/common';
|
||||
import { TUser } from '../../types/user';
|
||||
|
||||
// Hooks
|
||||
import { useFetch } from '../../hooks/useFetch';
|
||||
|
||||
@@ -10,7 +10,8 @@ import { StyledUser, Title } from './styled';
|
||||
import UserDialog from './Dialog';
|
||||
|
||||
// Types
|
||||
import { Nullable, TUser } from '../../globals/types';
|
||||
import { Nullable } from '../../types/common';
|
||||
import { TUser } from '../../types/user';
|
||||
|
||||
const User = () => {
|
||||
const dialogRef = useRef<HTMLDialogElement>(null);
|
||||
|
||||
Reference in New Issue
Block a user