diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..a7554c2 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +# dependencies +/node_modules \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index cf145e5..7b0ffcd 100644 --- a/package-lock.json +++ b/package-lock.json @@ -5,6 +5,7 @@ "requires": true, "packages": { "": { + "name": "mosaic-react", "version": "0.1.0", "dependencies": { "@tailwindcss/forms": "^0.4.0", diff --git a/src/App.jsx b/src/App.jsx index ae07cfe..8246f0d 100644 --- a/src/App.jsx +++ b/src/App.jsx @@ -13,6 +13,10 @@ import './charts/ChartjsConfig'; import Dashboard from './pages/Dashboard'; import Analytics from './pages/Analytics'; import Fintech from './pages/Fintech'; +import ProfileId from './pages/digitalId/ProfileId'; +import Validate from './pages/digitalId/Validate'; +import ValidationLog from './pages/digitalId/ValidationLog'; +import Verify from './pages/digitalId/Verify'; import Customers from './pages/ecommerce/Customers'; import Orders from './pages/ecommerce/Orders'; import Invoices from './pages/ecommerce/Invoices'; @@ -92,6 +96,10 @@ function App() { } /> } /> } /> + } /> + } /> + } /> + } /> } /> } /> } /> diff --git a/src/pages/digitalId/ProfileId.jsx b/src/pages/digitalId/ProfileId.jsx new file mode 100644 index 0000000..bd1f75a --- /dev/null +++ b/src/pages/digitalId/ProfileId.jsx @@ -0,0 +1,35 @@ +import React, { useState } from 'react'; + +import Sidebar from '../../partials/Sidebar'; +import Header from '../../partials/Header'; + +function Profile () { + const [sidebarOpen, setSidebarOpen] = useState(false); + + return ( +
+ {/* Sidebar */} + + + {/* Content area */} +
+ {/* Site header */} +
+ +
+
+ + {/* Page header */} +
+ {/* Title */} +

Profile ✨

+
+
+
+ +
+
+ ) +} + +export default Profile; \ No newline at end of file diff --git a/src/pages/digitalId/Validate.jsx b/src/pages/digitalId/Validate.jsx new file mode 100644 index 0000000..5ef3b28 --- /dev/null +++ b/src/pages/digitalId/Validate.jsx @@ -0,0 +1,35 @@ +import React, { useState } from 'react'; + +import Sidebar from '../../partials/Sidebar'; +import Header from '../../partials/Header'; + +function Validate () { + const [sidebarOpen, setSidebarOpen] = useState(false); + + return ( +
+ {/* Sidebar */} + + + {/* Content area */} +
+ {/* Site header */} +
+ +
+
+ + {/* Page header */} +
+ {/* Title */} +

Validate ✨

+
+
+
+ +
+
+ ) +} + +export default Validate; \ No newline at end of file diff --git a/src/pages/digitalId/ValidationLog.jsx b/src/pages/digitalId/ValidationLog.jsx new file mode 100644 index 0000000..ddcf0dc --- /dev/null +++ b/src/pages/digitalId/ValidationLog.jsx @@ -0,0 +1,35 @@ +import React, { useState } from 'react'; + +import Sidebar from '../../partials/Sidebar'; +import Header from '../../partials/Header'; + +function ValidationLog () { + const [sidebarOpen, setSidebarOpen] = useState(false); + + return ( +
+ {/* Sidebar */} + + + {/* Content area */} +
+ {/* Site header */} +
+ +
+
+ + {/* Page header */} +
+ {/* Title */} +

Validation log ✨

+
+
+
+ +
+
+ ) +} + +export default ValidationLog; \ No newline at end of file diff --git a/src/pages/digitalId/Verify.jsx b/src/pages/digitalId/Verify.jsx new file mode 100644 index 0000000..8510b51 --- /dev/null +++ b/src/pages/digitalId/Verify.jsx @@ -0,0 +1,35 @@ +import React, { useState } from 'react'; + +import Sidebar from '../../partials/Sidebar'; +import Header from '../../partials/Header'; + +function Verify () { + const [sidebarOpen, setSidebarOpen] = useState(false); + + return ( +
+ {/* Sidebar */} + + + {/* Content area */} +
+ {/* Site header */} +
+ +
+
+ + {/* Page header */} +
+ {/* Title */} +

Verify ✨

+
+
+
+ +
+
+ ) +} + +export default Verify; \ No newline at end of file diff --git a/src/partials/Sidebar.jsx b/src/partials/Sidebar.jsx index f63266e..0c2453e 100644 --- a/src/partials/Sidebar.jsx +++ b/src/partials/Sidebar.jsx @@ -213,6 +213,116 @@ function Sidebar({ ); }} + {/* digitalId */} + + {(handleClick, open) => { + return ( + + { + e.preventDefault(); + sidebarExpanded ? handleClick() : setSidebarExpanded(true); + }} + > +
+
+ + + + + + + + Digital ID + +
+ {/* Icon */} +
+ + + +
+
+
+
+
    +
  • + + 'block text-slate-400 hover:text-slate-200 transition duration-150 truncate ' + (isActive ? '!text-indigo-500' : '') + } + > + + Profile + + +
  • +
  • + + 'block text-slate-400 hover:text-slate-200 transition duration-150 truncate ' + (isActive ? '!text-indigo-500' : '') + } + > + + Validate + + +
  • +
  • + + 'block text-slate-400 hover:text-slate-200 transition duration-150 truncate ' + (isActive ? '!text-indigo-500' : '') + } + > + + Validation log + + +
  • +
  • + + 'block text-slate-400 hover:text-slate-200 transition duration-150 truncate ' + (isActive ? '!text-indigo-500' : '') + } + > + + Verify + + +
  • +
+
+
+ ); + }} +
{/* E-Commerce */} {(handleClick, open) => {