aboutsummaryrefslogtreecommitdiff
path: root/src/views/manage
diff options
context:
space:
mode:
authorVidhu Kant Sharma <vidhukant@vidhukant.xyz>2022-09-26 23:57:18 +0530
committerVidhu Kant Sharma <vidhukant@vidhukant.xyz>2022-09-26 23:57:18 +0530
commit708862c94bd119ca7e86540fbc68595a6256c9e3 (patch)
tree7eb8d284746015fe015641ae082f48abde2512cc /src/views/manage
parentdb693ab4000405f5b02e71dfaf78efe6884b775b (diff)
created very basic client editor
Diffstat (limited to 'src/views/manage')
-rw-r--r--src/views/manage/clients.js48
-rw-r--r--src/views/manage/items.js4
-rw-r--r--src/views/manage/scss/management-page.scss4
3 files changed, 55 insertions, 1 deletions
diff --git a/src/views/manage/clients.js b/src/views/manage/clients.js
new file mode 100644
index 0000000..74c1a38
--- /dev/null
+++ b/src/views/manage/clients.js
@@ -0,0 +1,48 @@
+/* OpenBills-web - Web based libre billing software
+ * Copyright (C) 2022 Vidhu Kant Sharma <vidhukant@vidhukant.xyz>
+
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <https://www.gnu.org/licenses/>.
+ */
+
+/* This page shows a list of all the items
+ * with options to add/modify/delete items
+ */
+
+import { useState, useEffect } from 'react';
+
+import './scss/management-page.scss'
+import { getAllClients } from '../../classes/client';
+import ClientEditor from './../../components/editors/client-editor';
+import ClientTable from './../../components/tables/client-table';
+
+const ManageClientsPage = () => {
+ const [allClients, setAllClients] = useState([]);
+ // TODO: handle error
+ const updateList = () =>
+ getAllClients(setAllClients, () => {});
+
+ useEffect(() => {
+ updateList();
+ }, []);
+
+ return (
+ <>
+ <ClientEditor heading={"Add New Client"} callback={updateList}/>
+ <hr/>
+ {false && <ClientTable refresh={updateList} items={allClients}/>}
+ </>
+ );
+}
+
+export default ManageClientsPage;
diff --git a/src/views/manage/items.js b/src/views/manage/items.js
index 3190504..b9bf339 100644
--- a/src/views/manage/items.js
+++ b/src/views/manage/items.js
@@ -21,6 +21,7 @@
import { useState, useEffect } from 'react';
+import './scss/management-page.scss'
import { getAllItems } from '../../classes/item';
import ItemEditor from './../../components/editors/item-editor';
import ItemTable from './../../components/tables/item-table';
@@ -37,7 +38,8 @@ const ManageItemsPage = () => {
return (
<>
- <ItemEditor callback={updateList}/>
+ <ItemEditor heading={"Add New Item"} callback={updateList}/>
+ <hr/>
<ItemTable refresh={updateList} items={allItems}/>
</>
);
diff --git a/src/views/manage/scss/management-page.scss b/src/views/manage/scss/management-page.scss
new file mode 100644
index 0000000..1d907c3
--- /dev/null
+++ b/src/views/manage/scss/management-page.scss
@@ -0,0 +1,4 @@
+hr {
+ margin: 0.8rem auto 1rem auto;
+ border-color: pink;
+}