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 (
-
- logo -

- Edit src/App.js and save to reload. -

- - Learn React - - {JSON.stringify(data)} -
+ + + +
+ +
+
+ +
); } 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 ( +
+

Categorias

+ + + ); +} + +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 ( +
+

Lojas

+
+ + ); +} + +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 ( +
+

Produtos

+
+ + ); +} + +export default TabelaProdutos; \ No newline at end of file