Compare commits

...

3 Commits

Author SHA1 Message Date
Rhuan a7dea2dce7 Update README.md 2024-07-21 23:29:52 +00:00
Mac da814d469b feat: added view audit products 2024-07-21 00:33:23 -03:00
Mac 7835fda0a5 Fix: Readme 2024-07-21 00:19:38 -03:00
4 changed files with 18 additions and 8 deletions
+4 -2
View File
@@ -70,7 +70,7 @@ cd NAPPDesafio
### Passo 3: Configure as Variáveis de Ambiente
Crie um arquivo `.env` no diretório raiz do projeto e configure as variáveis de ambiente necessárias. Você pode usar o arquivo `.env.example` como referência.
Para api preencha:
Para api preencha no diretório `/api`:
#### .env
@@ -81,7 +81,7 @@ DATABASE_URL=postgresql://postgres:postgres@postgres-db-api:5432/postgres?sslmod
```
Crie um arquivo `.env` no diretório raiz do projeto e configure as variáveis de ambiente necessárias. Você pode usar o arquivo `.env.example` como referência.
Para spa preencha:
Para spa preencha no diretório `/spa`:
#### .env
@@ -117,6 +117,8 @@ http://localhost:3000
## Funcionalidades Principais
- Username:admin Senha:admin
- **Login**: Fazer login na aplicação.
- **CRUD Produtos**: CRUD básico de produtos.
+3 -3
View File
@@ -2,11 +2,11 @@ import { useNavigate } from "react-router";
import { Button, Title } from "../../shared/components/default";
import { FlexContainer } from "../../shared/components/home";
import { ProductProps, setProductSlice } from "../../shared/store/slices/productSlice";
import { setProductSlice } from "../../shared/store/slices/productSlice";
import { useDispatch } from "react-redux";
import { useEffect } from "react";
import TableProducts from "./components/TableProducts";
import { setProductsSlice } from "../../shared/store/slices/productsSlice";
import { ProductsProps, setProductsSlice } from "../../shared/store/slices/productsSlice";
const Products = () => {
@@ -25,7 +25,7 @@ const Products = () => {
const data = await response.json()
dispatch(setProductsSlice(data?.payload as ProductProps[]))
dispatch(setProductsSlice(data?.payload as ProductsProps[]))
} catch(e) {
console.error(e)
@@ -40,6 +40,8 @@ export default function TableProducts () {
<Table>
<thead>
<tr>
<th>Criado</th>
<th>Editado</th>
<th>Código</th>
<th>Nome</th>
<th>Estoque Total</th>
@@ -53,8 +55,12 @@ export default function TableProducts () {
<tbody>
{ !!products && products.map((p,index)=>{
const createdAt = new Date(p.createdAt*1000)
const updatedAt = p.updatedAt === null? null : new Date(p.updatedAt*1000)
return(
<tr key={index}>
<td>{createdAt.toLocaleDateString() + "-" + createdAt.toLocaleTimeString()}</td>
<td>{updatedAt !== null? updatedAt.toLocaleDateString() + "-" + updatedAt.toLocaleTimeString(): "-"}</td>
<td>{p.codigo}</td>
<td>{p.nome}</td>
<td>{p.estoqueTotal}</td>
+5 -3
View File
@@ -1,6 +1,8 @@
import { PayloadAction, createSlice } from "@reduxjs/toolkit"
export interface ProductProps {
export interface ProductsProps {
createdAt: number
updatedAt: number | null
nome: string
codigo: string
estoqueTotal: number
@@ -10,13 +12,13 @@ export interface ProductProps {
precoPor: number
}
const initialState : ProductProps[] = []
const initialState : ProductsProps[] = []
const productsSlice = createSlice({
name: "products",
initialState,
reducers: {
setProductsSlice: (_, action: PayloadAction<ProductProps[]>) => {
setProductsSlice: (_, action: PayloadAction<ProductsProps[]>) => {
return action.payload
}
}