diff --git a/dbs/dbmercearia.mv.db b/dbs/dbmercearia.mv.db
index 2725609..a890ed9 100644
Binary files a/dbs/dbmercearia.mv.db and b/dbs/dbmercearia.mv.db differ
diff --git a/server/services/categorias/options.js b/server/services/categorias/options.js
new file mode 100644
index 0000000..a207bbd
--- /dev/null
+++ b/server/services/categorias/options.js
@@ -0,0 +1 @@
+_out.json(_val.map().set('result', true))
\ No newline at end of file
diff --git a/server/services/lojas/options.js b/server/services/lojas/options.js
new file mode 100644
index 0000000..a207bbd
--- /dev/null
+++ b/server/services/lojas/options.js
@@ -0,0 +1 @@
+_out.json(_val.map().set('result', true))
\ No newline at end of file
diff --git a/website/src/App.css b/website/src/App.css
index 74b5e05..d8fd400 100644
--- a/website/src/App.css
+++ b/website/src/App.css
@@ -15,13 +15,13 @@
.App-header {
background-color: #282c34;
- min-height: 100vh;
+ min-height: 7vh;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
- font-size: calc(10px + 2vmin);
- color: white;
+ font-size: calc(5px + 2vmin);
+ color: rgb(255, 255, 255);
}
.App-link {
@@ -36,3 +36,28 @@
transform: rotate(360deg);
}
}
+
+.ant-layout-header {
+ height: 64px;
+ padding: 0 50px;
+ color: rgba(255, 255, 255, 0.85);
+ line-height: 64px;
+ background: #f0f0f0;
+}
+
+.ant-menu-dark.ant-menu-horizontal > .ant-menu-item, .ant-menu-dark.ant-menu-horizontal > .ant-menu-submenu {
+ top: 0;
+ margin-top: 0;
+ padding: 0 20px;
+ border-color: #383838;
+ border-bottom-color: rgb(56, 56, 56);
+ border-bottom: 0;
+}
+
+.ant-menu.ant-menu-dark .ant-menu-item-selected, .ant-menu-submenu-popup.ant-menu-dark .ant-menu-item-selected {
+ background-color: #ca0000;
+}
+
+.ant-menu-dark.ant-menu-horizontal > .ant-menu-item:hover {
+ background-color: rgb(116, 0, 0);
+}
\ No newline at end of file
diff --git a/website/src/App.js b/website/src/App.js
index 4cf3d6a..3f6cf09 100644
--- a/website/src/App.js
+++ b/website/src/App.js
@@ -1,40 +1,28 @@
import React, { useState, useEffect } from "react";
-import logo from './logo.svg';
import './App.css';
-
import _service from '@netuno/service-client';
+import TabelaProdutos from './Components/TabelaProdutos/index.jsx';
+
+import Cards from "./Components/Cards/index.jsx";
+import { Layout, Menu, Breadcrumb } from 'antd';
+import NavBar from "./Components/NavBar";
+const { Header, Content, Footer } = Layout;
+
function App() {
- const [data, setData] = useState([]);
- useEffect(() => {
- _service({
- url: "produtos",
- success: (response) => {
- setData(response.json)
- },
- fail: (e) => {
- console.log("Service Error", e);
- }
- });
- }, []);
+
return (
-
+
+
+
+
+
+
+
+
+
);
}
diff --git a/website/src/Components/Cards/index.jsx b/website/src/Components/Cards/index.jsx
new file mode 100644
index 0000000..8538d54
--- /dev/null
+++ b/website/src/Components/Cards/index.jsx
@@ -0,0 +1,41 @@
+import React from 'react';
+
+import { Card, Col, Row } from 'antd';
+const { Meta } = Card;
+
+const Cards = () => {
+ return (
+
+
+
+ }
+ >
+
+
+
+
+ }
+ >
+
+
+
+
+ }
+ >
+
+
+
+
+
);
+}
+
+export default Cards;
\ No newline at end of file
diff --git a/website/src/Components/NavBar/index.css b/website/src/Components/NavBar/index.css
new file mode 100644
index 0000000..afaf81a
--- /dev/null
+++ b/website/src/Components/NavBar/index.css
@@ -0,0 +1,34 @@
+.site-layout-content {
+ min-height: 280px;
+ padding: 24px;
+ background: #fff;
+ }
+ #components-layout-demo-top .logo {
+ float: left;
+ width: 120px;
+ height: 31px;
+ margin: 16px 24px 16px 0;
+ background: rgba(255, 255, 255, 0.3);
+ }
+ .ant-row-rtl #components-layout-demo-top .logo {
+ float: right;
+ margin: 16px 0 16px 24px;
+ }
+
+ .ant-layout-header {
+ height: 64px;
+ padding: 0 50px;
+ color: rgba(255, 255, 255, 0.85);
+ line-height: 64px;
+ background: #f0f0f0;
+}
+
+.ant-menu-dark.ant-menu-horizontal > .ant-menu-item, .ant-menu-dark.ant-menu-horizontal > .ant-menu-submenu {
+ top: 0;
+ margin-top: 0;
+ padding: 0 20px;
+ border-color: #383838;
+ border-bottom-color: rgb(56, 56, 56);
+ border-bottom: 0;
+ }
+
diff --git a/website/src/Components/NavBar/index.jsx b/website/src/Components/NavBar/index.jsx
new file mode 100644
index 0000000..ff4b9f7
--- /dev/null
+++ b/website/src/Components/NavBar/index.jsx
@@ -0,0 +1,35 @@
+import React from 'react';
+import './index.css';
+
+import { Tabs } from 'antd';
+import TabelaProdutos from '../TabelaProdutos/index.jsx';
+import TabelaLojas from '../TabelaLojas/index.jsx';
+import TabelaCategorias from '../TabelaCategorias/index.jsx';
+import Cards from '../Cards/index.jsx';
+
+const { TabPane } = Tabs;
+
+function callback(key) {
+ console.log(key);
+}
+const NavBar = () => {
+ return (
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ );
+}
+
+export default NavBar;
\ No newline at end of file
diff --git a/website/src/Components/TabelaCategorias/index.jsx b/website/src/Components/TabelaCategorias/index.jsx
new file mode 100644
index 0000000..6a51042
--- /dev/null
+++ b/website/src/Components/TabelaCategorias/index.jsx
@@ -0,0 +1,38 @@
+import React, { useState, useEffect } from "react";
+import { Table, Tag, Space } from 'antd';
+import _service from '@netuno/service-client';
+
+
+const TabelaCategorias = () => {
+
+ const [data, setData] = useState([]);
+
+ useEffect(() => {
+ _service({
+ url: "categorias",
+ success: (response) => {
+ setData(response.json)
+ },
+ fail: (e) => {
+ console.log("Service Error", e);
+ }
+ });
+
+ }, []);
+
+ const columns = [
+ {
+ title: 'Nome',
+ dataIndex: 'nome',
+ key: 'name',
+ }];
+
+ return (
+
+ );
+}
+
+export default TabelaCategorias;
\ No newline at end of file
diff --git a/website/src/Components/TabelaLojas/index.jsx b/website/src/Components/TabelaLojas/index.jsx
new file mode 100644
index 0000000..cff4379
--- /dev/null
+++ b/website/src/Components/TabelaLojas/index.jsx
@@ -0,0 +1,38 @@
+import React, { useState, useEffect } from "react";
+import { Table, Tag, Space } from 'antd';
+import _service from '@netuno/service-client';
+
+
+const TabelaLojas = () => {
+
+ const [data, setData] = useState([]);
+
+ useEffect(() => {
+ _service({
+ url: "lojas",
+ success: (response) => {
+ setData(response.json)
+ },
+ fail: (e) => {
+ console.log("Service Error", e);
+ }
+ });
+
+ }, []);
+
+ const columns = [
+ {
+ title: 'Mercearia',
+ dataIndex: 'mercearia',
+ key: 'mercearia',
+ }];
+
+ return (
+
+ );
+}
+
+export default TabelaLojas;
\ No newline at end of file
diff --git a/website/src/Components/TabelaProdutos/index.jsx b/website/src/Components/TabelaProdutos/index.jsx
new file mode 100644
index 0000000..fbf4f9f
--- /dev/null
+++ b/website/src/Components/TabelaProdutos/index.jsx
@@ -0,0 +1,53 @@
+import React, { useState, useEffect } from "react";
+import { Table, Tag, Space } from 'antd';
+import _service from '@netuno/service-client';
+
+
+const TabelaProdutos = () => {
+
+ const [data, setData] = useState([]);
+
+ useEffect(() => {
+ _service({
+ url: "produtos",
+ success: (response) => {
+ setData(response.json)
+ },
+ fail: (e) => {
+ console.log("Service Error", e);
+ }
+ });
+
+ }, []);
+
+ const columns = [
+ {
+ title: 'Nome',
+ dataIndex: 'nome',
+ key: 'name',
+ },
+ {
+ title: 'Categoria',
+ dataIndex: 'categoria',
+ key: 'categoria',
+ },
+ {
+ title: 'Quantidade',
+ dataIndex: 'quantidade',
+ key: 'quantidade',
+ },
+ {
+ title: 'Preço',
+ dataIndex: 'preco',
+ key: 'preco',
+ }];
+
+ return (
+
+ );
+}
+
+export default TabelaProdutos;
\ No newline at end of file