Skip to content

Commit

Permalink
Fix prettier config
Browse files Browse the repository at this point in the history
  • Loading branch information
EduardoPicolo committed Aug 17, 2022
1 parent 66194a8 commit d0ca386
Show file tree
Hide file tree
Showing 5 changed files with 77 additions and 82 deletions.
3 changes: 2 additions & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,7 @@ jobs:
sonarcloud:
name: SonarCloud
runs-on: ubuntu-latest
continue-on-error: true
steps:
- name: Checkout code
uses: actions/checkout@v2
Expand All @@ -90,7 +91,7 @@ jobs:
run: yarn install

- name: 📜 Eslint report
run: npx eslint -f json -o reports/eslint-report.json src
run: npx eslint -f json -o reports/eslint-report.json src || true

- name: 🧪 Test and coverage
run: yarn test
Expand Down
8 changes: 3 additions & 5 deletions .prettierrc.json
Original file line number Diff line number Diff line change
@@ -1,14 +1,12 @@
{
"printWidth": 80,
"semi": true,
"trailingComma": "es5",
"semi": false,
"trailingComma": "none",
"jsxSingleQuote": false,

"tabWidth": 2,
"useTabs": false,

"singleQuote": true,
"jsxSingleQuote": true,

"bracketSpacing": true,
"bracketSameLine": false
}
4 changes: 0 additions & 4 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
Expand Up @@ -18,11 +18,7 @@
],

// Prettier settings
"prettier.singleQuote": true,
"prettier.trailingComma": "es5",
"editor.defaultFormatter": "esbenp.prettier-vscode",
"prettier.printWidth": 80,
"prettier.useEditorConfig": false,

// Typescript
"typescript.preferences.importModuleSpecifier": "non-relative"
Expand Down
4 changes: 2 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,6 @@
"@emotion/styled": "^11",
"axios": "^0.27.2",
"framer-motion": "^6",
"husky": "^8.0.1",
"lint-staged": "^13.0.3",
"lodash": "^4.17.21",
"next": "12.2.2",
"nextjs-progressbar": "^0.0.14",
Expand Down Expand Up @@ -59,6 +57,8 @@
"eslint-plugin-simple-import-sort": "^7.0.0",
"eslint-plugin-testing-library": "^5.0.5",
"eslint-plugin-unused-imports": "^2.0.0",
"husky": "^8.0.1",
"lint-staged": "^13.0.3",
"jest": "^28.1.3",
"jest-environment-jsdom": "^28.1.3",
"prettier": "^2.7.1",
Expand Down
140 changes: 70 additions & 70 deletions src/pages/usuarios/index.tsx
Original file line number Diff line number Diff line change
@@ -1,144 +1,144 @@
import { useCallback, useState } from 'react';
import { toast } from 'react-toastify';
import { useCallback, useState } from "react"
import { toast } from "react-toastify"
import {
Badge,
Box,
Button,
Flex,
HStack,
useDisclosure,
} from '@chakra-ui/react';
import { AxiosResponse } from 'axios';

import { UserForm } from '@components/Forms/UserForm';
import { ListItem } from '@components/ListItem';
import { ListItemSkeleton } from '@components/ListItem/LIstItemSkeleton';
import { Modal } from '@components/Modal/Modal';
import { PageHeader } from '@components/PageHeader';
import { RefreshButton } from '@components/RefreshButton';
import { ApiData, useRequest } from '@hooks/useRequest';
import { usuariosApi } from '@services/api';
import { request } from '@services/request';
useDisclosure
} from "@chakra-ui/react"
import { AxiosResponse } from "axios"

import { UserForm } from "@components/Forms/UserForm"
import { ListItem } from "@components/ListItem"
import { ListItemSkeleton } from "@components/ListItem/LIstItemSkeleton"
import { Modal } from "@components/Modal/Modal"
import { PageHeader } from "@components/PageHeader"
import { RefreshButton } from "@components/RefreshButton"
import { ApiData, useRequest } from "@hooks/useRequest"
import { usuariosApi } from "@services/api"
import { request } from "@services/request"
import {
createUser,
deleteUser,
getUsers,
updateUser,
} from '@services/Usuarios';
updateUser
} from "@services/Usuarios"

const RoleBadge = (role: Accesses) => {
switch (role) {
case 'admin':
case "admin":
return (
<Badge colorScheme='purple' variant='solid'>
<Badge colorScheme="purple" variant="solid">
Admin
</Badge>
);
)

case 'basic':
return <Badge>Basico</Badge>;
case "basic":
return <Badge>Basico</Badge>

case 'manager':
return <Badge colorScheme='green'>Gerente</Badge>;
case "manager":
return <Badge colorScheme="green">Gerente</Badge>

default:
return <Badge>Basico</Badge>;
return <Badge>Basico</Badge>
}
};
}

const Usuarios = () => {
const {
data: users,
isLoading,
isValidating,
mutate,
} = useRequest<User[]>(getUsers(), usuariosApi);
mutate
} = useRequest<User[]>(getUsers(), usuariosApi)

const { isOpen, onOpen, onClose } = useDisclosure();
const { isOpen, onOpen, onClose } = useDisclosure()

const [userToEdit, setUserToEdit] = useState<User>();
const [userToEdit, setUserToEdit] = useState<User>()

const handleDelete = useCallback(
(username: string) => async () => {
const response = await request(deleteUser(username), usuariosApi);
const response = await request(deleteUser(username), usuariosApi)

if (response.type === 'success') {
toast.success('Usuário removido com sucesso!');
if (response.type === "success") {
toast.success("Usuário removido com sucesso!")

const newUsers = users?.data.filter(
(user) => user.username !== username
);
)

mutate(
{
data: {
error: null,
message: '',
data: newUsers || ([] as User[]),
},
message: "",
data: newUsers || ([] as User[])
}
} as AxiosResponse<ApiData<User[]>>,
{ revalidate: false }
);
)

return;
return
}

toast.error('Erro ao deletar Usuário!');
toast.error("Erro ao deletar Usuário!")
},
[users?.data, mutate]
);
)

const handleEdit = useCallback(
(user: User) => () => {
setUserToEdit(user);
onOpen();
setUserToEdit(user)
onOpen()
},
[onOpen]
);
)

const onSubmit = useCallback(
async (data: CreateUserPayload) => {
console.log('DATA: ', data);
console.log("DATA: ", data)

const response = await request<{ data: User }>(
userToEdit ? updateUser(userToEdit.username)(data) : createUser(data),
usuariosApi
);
)

if (response.type === 'success') {
toast.success('Usuário criado com sucesso!');
if (response.type === "success") {
toast.success("Usuário criado com sucesso!")

const newUsers = users?.data.filter(
(user) => user.username !== userToEdit?.username
);
)

mutate({
data: {
error: null,
message: '',
data: [...(newUsers || []), response.value.data],
},
} as AxiosResponse<ApiData<User[]>>);
message: "",
data: [...(newUsers || []), response.value.data]
}
} as AxiosResponse<ApiData<User[]>>)

setUserToEdit(undefined);
onClose();
setUserToEdit(undefined)
onClose()

return;
return
}

toast.error(response.error?.message);
toast.error(response.error?.message)
},
[userToEdit, users?.data, mutate, onClose]
);
)

const handleClose = useCallback(() => {
setUserToEdit(undefined);
onClose();
}, [onClose]);
setUserToEdit(undefined)
onClose()
}, [onClose])

return (
<>
<PageHeader title='Gerenciar Usuários'>
<PageHeader title="Gerenciar Usuários">
<HStack spacing={2}>
<RefreshButton refresh={mutate} />
<Button onClick={onOpen}>Novo Usuário</Button>
Expand All @@ -148,13 +148,13 @@ const Usuarios = () => {
{isLoading ? (
<ListItemSkeleton />
) : (
<Flex flexDirection='column' gap={6}>
<Flex flexDirection="column" gap={6}>
{users?.data?.map?.((item, key) => (
<ListItem
title={1}
title={`${item?.name} [${item?.username}]`}
description={
<HStack spacing={2} mt={2.5}>
<Badge colorScheme='gray' variant='outline'>
<Badge colorScheme="gray" variant="outline">
{item?.job_role}
</Badge>
{RoleBadge(item?.acess)}
Expand All @@ -179,15 +179,15 @@ const Usuarios = () => {
)}

<Modal
title={userToEdit ? 'Editar Usuário' : 'Novo Usuário'}
title={userToEdit ? "Editar Usuário" : "Novo Usuário"}
isOpen={isOpen}
onClose={handleClose}
size='2xl'
size="2xl"
>
<UserForm defaultValues={userToEdit} onSubmit={onSubmit} />
</Modal>
</>
);
};
)
}

export default Usuarios;
export default Usuarios

0 comments on commit d0ca386

Please sign in to comment.