From d5166a28bfb9bf7b10578817e27ffdc0d1177e62 Mon Sep 17 00:00:00 2001
From: hariom-egov
Date: Mon, 18 Oct 2021 14:02:09 +0530
Subject: [PATCH 1/2] all new added pages
---
package.json | 6 +-
src/App.css | 107 +++++++++++
src/Components/common/Pagination.js | 33 ++++
src/Components/common/ReactTable.js | 142 +++++++++++++++
src/Components/common/SummaryListTable.js | 97 ++++++++++
src/Components/componentspage/ErrorMessage.js | 14 +-
src/Components/componentspage/Footer.js | 6 +-
src/Components/componentspage/Header.js | 17 +-
.../componentspage/NotificationBanner.js | 10 +-
src/Components/componentspage/Pagination.js | 3 +-
src/Components/componentspage/Panel.js | 21 ++-
src/Components/componentspage/PopUp.js | 15 +-
src/Components/componentspage/SideNav.js | 49 ++++-
src/Components/componentspage/SummaryList.js | 7 +-
src/Components/componentspage/Table.js | 8 +-
src/Components/componentspage/Tag.js | 5 +-
src/Components/componentspage/TextInput.js | 74 ++++----
.../reacttablecomponent/ReactTableRough.js | 168 ++++++++++++++++++
.../reacttablecomponent/makeData.js | 40 +++++
src/assets/img/components/error.svg | 3 +
src/assets/img/components/pagination/1.png | Bin 0 -> 219 bytes
src/assets/img/components/pagination/2.png | Bin 0 -> 223 bytes
tailwind.config.js | 6 +-
yarn.lock | 7 +-
24 files changed, 754 insertions(+), 84 deletions(-)
create mode 100644 src/Components/common/Pagination.js
create mode 100644 src/Components/common/ReactTable.js
create mode 100644 src/Components/common/SummaryListTable.js
create mode 100644 src/Components/reacttablecomponent/ReactTableRough.js
create mode 100644 src/Components/reacttablecomponent/makeData.js
create mode 100644 src/assets/img/components/error.svg
create mode 100644 src/assets/img/components/pagination/1.png
create mode 100644 src/assets/img/components/pagination/2.png
diff --git a/package.json b/package.json
index 0e4770b..0a34bbd 100644
--- a/package.json
+++ b/package.json
@@ -14,6 +14,7 @@
"react-router": "^5.2.0",
"react-router-dom": "^5.2.0",
"react-scripts": "4.0.3",
+ "react-table": "^7.7.0",
"web-vitals": "^1.0.1"
},
"scripts": {
@@ -43,9 +44,10 @@
]
},
"devDependencies": {
+ "namor": "^1.1.2",
"autoprefixer": "^9.8.6",
+ "gh-pages": "^3.2.3",
"postcss": "^7.0.36",
- "tailwindcss": "npm:@tailwindcss/postcss7-compat@^2.2.7",
- "gh-pages": "^3.2.3"
+ "tailwindcss": "npm:@tailwindcss/postcss7-compat@^2.2.7"
}
}
diff --git a/src/App.css b/src/App.css
index 5134fe5..e68dfee 100644
--- a/src/App.css
+++ b/src/App.css
@@ -97,3 +97,110 @@ li {
box-shadow: inset 0px -2px 0px #0b0c0c;
}
/* Component Button */
+.WhatsNewCard {
+ box-shadow: 0 1px 2px rgb(0 0 0 / 16%);
+ border-radius: 0.25rem;
+ --bg-opacity: 1;
+ background-color: #fff;
+ --border-opacity: 1;
+ border-left: 4px solid #f47738;
+ padding: 8px;
+}
+.WhatsNewCard h2 {
+ font-size: 16px;
+ line-height: 24px;
+ --text-opacity: 1;
+ color: #0b0c0c;
+ margin-bottom: 4px;
+}
+.WhatsNewCard p {
+ color: #505a5f;
+}
+.prefix,
+.sufix {
+ display: flex;
+ align-items: center;
+}
+.prefix span,
+.sufix span {
+ text-align: center;
+ border: 1px solid #000;
+ margin-bottom: 24px;
+ width: 45px;
+ height: 40px;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+}
+.prefix span {
+ border-right: 0px;
+}
+.sufix span {
+ border-left: 0px;
+}
+.passwordSmall input {
+ margin-bottom: 10px;
+}
+
+.tagInactive {
+ background: rgba(212, 53, 28, 0.12);
+ padding: 0 24px;
+ border-radius: 11px;
+ color: #d4351c !important;
+ font-weight: bold;
+}
+.tagActive {
+ background: rgba(0, 112, 60, 0.12);
+ padding: 0 24px;
+ border-radius: 11px;
+ color: #00703c;
+ font-weight: bold;
+}
+
+/* Side Nav Start */
+.sidebar {
+ width: 64px;
+ padding: 20px 0;
+ background: #22394d;
+ height: 100%;
+ color: white;
+ z-index: 1000;
+ padding-bottom: 100px;
+}
+.actions {
+ cursor: pointer;
+ padding: 0 20px;
+ margin-bottom: 32px;
+}
+.active {
+ border-right: 4px solid #f47738;
+ padding-right: 16px;
+}
+/* Side Nav End */
+
+/* Table Start */
+.tabelMain {
+ background: #ffffff;
+ box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.16);
+ border-radius: 4px;
+}
+.tableCard {
+ background: #fafafa;
+ box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.16);
+ border-radius: 8px 8px 0px 0px;
+}
+.summary_ListHead h2 {
+ font-weight: bold;
+ font-size: 32px;
+ line-height: 37px;
+ color: #0b0c0c;
+ padding: 15px 40px;
+}
+.summary_ListHead h3 {
+ font-weight: bold;
+ font-size: 24px;
+ line-height: 28px;
+ color: #0b0c0c;
+ padding: 15px 40px;
+}
+/* Table end */
diff --git a/src/Components/common/Pagination.js b/src/Components/common/Pagination.js
new file mode 100644
index 0000000..dbd7f67
--- /dev/null
+++ b/src/Components/common/Pagination.js
@@ -0,0 +1,33 @@
+import React from 'react'
+import PaginationImg1 from "../../assets/img/components/pagination/1.png"
+import PaginationImg2 from "../../assets/img/components/pagination/2.png"
+
+const Pagination = () => {
+ return (
+
+
+
+ {`1 - 5 of 5`}
+
+
+
+
+
+
+
+
+ )
+}
+export default Pagination
diff --git a/src/Components/common/ReactTable.js b/src/Components/common/ReactTable.js
new file mode 100644
index 0000000..5032f59
--- /dev/null
+++ b/src/Components/common/ReactTable.js
@@ -0,0 +1,142 @@
+import React from 'react'
+import { usePagination, useTable } from 'react-table'
+import Pagination from './Pagination'
+
+function ReactTable() {
+ const data = React.useMemo(
+ () => [
+ {
+ col1: PB-FSM-2019-04-23-898898,
+ col2: '12/08/2020',
+ col3: 'Alakapuri',
+ col4: 'Pending for Payment',
+ col5: 12,
+ },
+ {
+ col1: PB-FSM-2019-04-23-898898,
+ col2: '12/08/2020',
+ col3: 'Alakapuri',
+ col4: 'Pending for Payment',
+ col5: 12,
+ },
+ {
+ col1: PB-FSM-2019-04-23-898898,
+ col2: '12/08/2020',
+ col3: 'Alakapuri',
+ col4: 'Pending for Payment',
+ col5: 12,
+ },
+ {
+ col1: PB-FSM-2019-04-23-898898,
+ col2: '12/08/2020',
+ col3: 'Alakapuri',
+ col4: 'Pending for Payment',
+ col5: 12,
+ },
+ {
+ col1: PB-FSM-2019-04-23-898898,
+ col2: '12/08/2020',
+ col3: 'Alakapuri',
+ col4: 'Pending for Payment',
+ col5: 12,
+ },
+ ],
+ []
+ )
+
+ const columns = React.useMemo(
+ () => [
+ {
+ Header: 'Column 1',
+ accessor: 'col1', // accessor is the "key" in the data
+ },
+ {
+ Header: 'Column 2',
+ accessor: 'col2',
+ },
+ {
+ Header: 'Column 3',
+ accessor: 'col3',
+ },
+ {
+ Header: 'Column 4',
+ accessor: 'col4',
+ },
+ {
+ Header: 'Column 5',
+ accessor: 'col5',
+ },
+ ],
+ []
+ )
+
+ const {
+ getTableProps,
+ getTableBodyProps,
+ headerGroups,
+ rows,
+ prepareRow,
+ page,
+ nextPage,
+ PreviousPage,
+ canNextPage,
+ canPreviousPage
+ } = useTable(
+ { columns, data },
+ usePagination
+ )
+
+ return (
+ <>
+
+
+ {headerGroups.map(headerGroup => (
+
+ {headerGroup.headers.map(column => (
+
+ {column.render('Header')}
+ |
+ ))}
+
+ ))}
+
+
+ {rows.map(row => {
+ prepareRow(row)
+ return (
+
+ {row.cells.map(cell => {
+ return (
+
+ {cell.render('Cell')}
+ |
+ )
+ })}
+
+ )
+ })}
+
+
+ {/* Pagination */}
+
+ {/* Pagination */}
+ >
+ )
+}
+
+export default ReactTable
\ No newline at end of file
diff --git a/src/Components/common/SummaryListTable.js b/src/Components/common/SummaryListTable.js
new file mode 100644
index 0000000..227011a
--- /dev/null
+++ b/src/Components/common/SummaryListTable.js
@@ -0,0 +1,97 @@
+import React from 'react'
+import { useTable } from 'react-table'
+
+function SummaryListTable() {
+ const data = React.useMemo(
+ () => [
+ {
+ col1: Residential Property,
+ col2: 'Yes',
+ col3: Change
+ },
+ {
+ col1: Type of property,
+ col2: 'Independent Building',
+ col3: Change
+ },
+ {
+ col1: No. of Floors,
+ col2: 'Ground + 1',
+ col3: Change
+ },
+ {
+ col1: No. of Basements,
+ col2: 'None',
+ col3: Change
+ },
+ ],
+ []
+ )
+
+ const columns = React.useMemo(
+ () => [
+ {
+ Header: 'Column 1',
+ accessor: 'col1', // accessor is the "key" in the data
+ },
+ {
+ Header: 'Column 2',
+ accessor: 'col2',
+ },
+ {
+ Header: 'Column 3',
+ accessor: 'col3',
+ },
+ {
+ Header: 'Column 4',
+ accessor: 'col4',
+ },
+ {
+ Header: 'Column 5',
+ accessor: 'col5',
+ },
+ ],
+ []
+ )
+
+ const {
+ getTableProps,
+ getTableBodyProps,
+ headerGroups,
+ rows,
+ prepareRow,
+ } = useTable({ columns, data })
+
+ return (
+
+
+ Check your answers
+ Property Details
+
+
+ {rows.map(row => {
+ prepareRow(row)
+ return (
+
+ {row.cells.map(cell => {
+ return (
+
+ {cell.render('Cell')}
+ |
+ )
+ })}
+
+ )
+ })}
+
+
+ )
+}
+
+export default SummaryListTable
\ No newline at end of file
diff --git a/src/Components/componentspage/ErrorMessage.js b/src/Components/componentspage/ErrorMessage.js
index fcaa509..39020a4 100644
--- a/src/Components/componentspage/ErrorMessage.js
+++ b/src/Components/componentspage/ErrorMessage.js
@@ -1,9 +1,9 @@
-import { Card, CardLabelError, FormStep, Header } from "@egovernments/digit-ui-react-components";
+import { Card, Header } from "@egovernments/digit-ui-react-components";
import React from "react";
import ErrorMessageImg from "../../assets/img/components/ErrorMessage.png"
const ErrorMessage = () => {
- const onSelect=()=>{
+ const onSelect = () => {
console.log("hello")
}
return (
@@ -21,7 +21,15 @@ const ErrorMessage = () => {
-
+
+
+
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod
+
diff --git a/src/Components/componentspage/Footer.js b/src/Components/componentspage/Footer.js
index 7253428..f52b572 100644
--- a/src/Components/componentspage/Footer.js
+++ b/src/Components/componentspage/Footer.js
@@ -3,10 +3,10 @@ import React from 'react'
import FooterImg from "../../assets/img/components/Footer.png"
const Footer = () => {
- const menuItems =[
+ const menuItems = [
{
- id : 1,
- heading : "city"
+ id: 1,
+ heading: "city"
}
]
return (
diff --git a/src/Components/componentspage/Header.js b/src/Components/componentspage/Header.js
index 3f95d40..b0b061e 100644
--- a/src/Components/componentspage/Header.js
+++ b/src/Components/componentspage/Header.js
@@ -1,8 +1,13 @@
-import React from "react";
-import { Card, Header } from "@egovernments/digit-ui-react-components";
+import React, { useState } from "react";
+import { Card, Header, TopBar } from "@egovernments/digit-ui-react-components";
import HeaderImg from "../../assets/img/components/Header.png"
const HeaderComponents = () => {
+ const [isSidebarOpen, toggleSidebar] = useState(false);
+ const logoUrl = "https://qa.digit.org/egov-dev-assets/mseva-logo-white.png";
+ const handleLogout =()=>{
+ console.log("logout")
+ }
return (
@@ -17,7 +22,13 @@ const HeaderComponents = () => {
-
+ {/*
*/}
+
diff --git a/src/Components/componentspage/NotificationBanner.js b/src/Components/componentspage/NotificationBanner.js
index 184af89..944542a 100644
--- a/src/Components/componentspage/NotificationBanner.js
+++ b/src/Components/componentspage/NotificationBanner.js
@@ -1,6 +1,5 @@
-import { Banner, Card, Header, InfoBanner } from '@egovernments/digit-ui-react-components'
+import { Card, Header } from '@egovernments/digit-ui-react-components'
import React from 'react'
-import NotificationBannerImg from "../../assets/img/components/NotificationBanner.png"
const NotificationBanner = () => {
return (
@@ -19,8 +18,11 @@ const NotificationBanner = () => {
- {/* */}
-
+
+
Property Tax
+
Pay your Property Tax Dues before 31st March and get 10% rebate
+
1 day ago
+
diff --git a/src/Components/componentspage/Pagination.js b/src/Components/componentspage/Pagination.js
index 7c99de4..195fbbc 100644
--- a/src/Components/componentspage/Pagination.js
+++ b/src/Components/componentspage/Pagination.js
@@ -1,6 +1,7 @@
import { Card, Header, RadioButtons } from '@egovernments/digit-ui-react-components'
import React from 'react'
import PaginationImg from "../../assets/img/components/Pagination.png"
+import PaginationComponent from "../common/Pagination"
const Pagination = () => {
const availableOptions = [
@@ -22,7 +23,7 @@ const Pagination = () => {
-
+
diff --git a/src/Components/componentspage/Panel.js b/src/Components/componentspage/Panel.js
index f8af8cf..8993291 100644
--- a/src/Components/componentspage/Panel.js
+++ b/src/Components/componentspage/Panel.js
@@ -19,8 +19,25 @@ const Panel = () => {
-
-
+
+
Success Message
+
+
Reference No.
+
KA22922-28282
+
+
+
Failure Message
+
+
Reference No.
+
KA22922-28282
+
diff --git a/src/Components/componentspage/PopUp.js b/src/Components/componentspage/PopUp.js
index 9d42e7b..f34b831 100644
--- a/src/Components/componentspage/PopUp.js
+++ b/src/Components/componentspage/PopUp.js
@@ -3,7 +3,7 @@ import React, { useState } from 'react'
import PopUpImg from "../../assets/img/components/PopUp.png"
const PopUps = () => {
- const [showPopUp, setShowPopUp] = useState(false);
+ const [showPopUp, setShowPopUp] = useState(true);
return (
@@ -18,19 +18,18 @@ const PopUps = () => {
-
-
setShowPopUp(!showPopUp)} />
{
showPopUp &&
-
+
setShowPopUp(false)}>X}
+ main={Title
}
+ end={}
/>
-
-

+
+
+
diff --git a/src/Components/componentspage/SideNav.js b/src/Components/componentspage/SideNav.js
index cf752ed..ff2efca 100644
--- a/src/Components/componentspage/SideNav.js
+++ b/src/Components/componentspage/SideNav.js
@@ -1,7 +1,9 @@
import { Card, Header } from '@egovernments/digit-ui-react-components'
import React from 'react'
+import { Link } from 'react-router-dom'
import SideNavImg from "../../assets/img/components/SideNav.png"
+
const SideNav = () => {
return (
@@ -14,11 +16,50 @@ const SideNav = () => {
The Tag component is used to display the status of specific user actions.
-
-
-

+
+
-
+
Guidelines
diff --git a/src/Components/componentspage/SummaryList.js b/src/Components/componentspage/SummaryList.js
index 2875539..003f991 100644
--- a/src/Components/componentspage/SummaryList.js
+++ b/src/Components/componentspage/SummaryList.js
@@ -1,6 +1,7 @@
import { Card, Header } from '@egovernments/digit-ui-react-components'
import React from 'react'
import SummaryListImg from "../../assets/img/components/SummaryList.png"
+import SummaryListTable from '../common/SummaryListTable'
const SummaryList = () => {
return (
@@ -15,10 +16,8 @@ const SummaryList = () => {
information on the screen.
-
-
-
-
+
+
Guidelines
diff --git a/src/Components/componentspage/Table.js b/src/Components/componentspage/Table.js
index c9245ca..b63228b 100644
--- a/src/Components/componentspage/Table.js
+++ b/src/Components/componentspage/Table.js
@@ -1,8 +1,10 @@
import { Card, Header } from '@egovernments/digit-ui-react-components'
import React from 'react'
import TableImg from "../../assets/img/components/Table.png"
+import ReactTable from '../common/ReactTable'
const Tables = () => {
+
return (
@@ -14,10 +16,8 @@ const Tables = () => {
The Table component makes it easier to sort information for users.
-
-
-

-
+
+
Guidelines
diff --git a/src/Components/componentspage/Tag.js b/src/Components/componentspage/Tag.js
index d638bc3..1a023af 100644
--- a/src/Components/componentspage/Tag.js
+++ b/src/Components/componentspage/Tag.js
@@ -16,7 +16,10 @@ const Tag = () => {
-
+
+ Inactive
+ Active
+
diff --git a/src/Components/componentspage/TextInput.js b/src/Components/componentspage/TextInput.js
index 22fc13b..9503101 100644
--- a/src/Components/componentspage/TextInput.js
+++ b/src/Components/componentspage/TextInput.js
@@ -14,43 +14,15 @@ import SufixImg from "../../assets/img/components/Sufix.png"
const TextInputs = () => {
const [inputName, setInputName] = useState("");
const [number, setNumber] = useState(false);
+ const [password, setPassword] = useState()
const [errorCode, setErrorCode] = useState(false);
const handleChange = (e) => {
- setInputName(e.target.value);
- };
+ setInputName(e.target.value)
+ }
return (
- {/*
-
-
-
-
- import
- {` React from 'react';`}
-
-
- import{" "}
- Textfield from '@atlaskit/textfield';
-
-
{`export default function TextFieldDefaultExample() {`}
-
{`return ;`}
-
{`}`}
-
-
- */}
@@ -71,7 +43,7 @@ const TextInputs = () => {
@@ -147,12 +119,14 @@ const TextInputs = () => {
setPassword(e.target.value)}
+ placeholder="*******"
+ value={password}
/>
-
+
The password Must be atleast 8 characters long
@@ -180,12 +154,26 @@ const TextInputs = () => {
-
-
+
- Error Messages
+ Error Messages
{
-
+
- Follow the text input specifications given below for showing error messages on the screen.
+ Follow the text input specifications given below for showing error messages on the screen.
Use the error message list below for specific error messages, styles, and formats.
diff --git a/src/Components/reacttablecomponent/ReactTableRough.js b/src/Components/reacttablecomponent/ReactTableRough.js
new file mode 100644
index 0000000..8ecfe34
--- /dev/null
+++ b/src/Components/reacttablecomponent/ReactTableRough.js
@@ -0,0 +1,168 @@
+import React from 'react'
+import { useTable, usePagination } from 'react-table'
+import makeData from './makeData'
+
+function Table({ columns, data }) {
+ // Use the state and functions returned from useTable to build your UI
+ const {
+ getTableProps,
+ getTableBodyProps,
+ headerGroups,
+ prepareRow,
+ page, // Instead of using 'rows', we'll use page,
+ // which has only the rows for the active page
+
+ // The rest of these things are super handy, too ;)
+ canPreviousPage,
+ canNextPage,
+ pageOptions,
+ pageCount,
+ gotoPage,
+ nextPage,
+ previousPage,
+ setPageSize,
+ state: { pageIndex, pageSize },
+ } = useTable(
+ {
+ columns,
+ data,
+ initialState: { pageIndex: 2 },
+ },
+ usePagination
+ )
+
+ // Render the UI for your table
+ return (
+ <>
+
+
+ {headerGroups.map(headerGroup => (
+
+ {headerGroup.headers.map(column => (
+ {column.render('Header')} |
+ ))}
+
+ ))}
+
+
+ {page.map((row, i) => {
+ prepareRow(row)
+ return (
+
+ {row.cells.map(cell => {
+ return {cell.render('Cell')} |
+ })}
+
+ )
+ })}
+
+
+ {/*
+ Pagination can be built however you'd like.
+ This is just a very basic UI implementation:
+ */}
+
+ {' '}
+ {' '}
+ {' '}
+ {' '}
+
+ Page{' '}
+
+ {pageIndex + 1} of {pageOptions.length}
+ {' '}
+
+
+ | Go to page:{' '}
+ {
+ const page = e.target.value ? Number(e.target.value) - 1 : 0
+ gotoPage(page)
+ }}
+ style={{ width: '100px' }}
+ />
+ {' '}
+
+
+ >
+ )
+}
+
+function ReactTableRough() {
+ const columns = React.useMemo(
+ () => [
+ {
+ Header: 'Name',
+ columns: [
+ {
+ Header: 'First Name',
+ accessor: 'firstName',
+ },
+ {
+ Header: 'Last Name',
+ accessor: 'lastName',
+ },
+ ],
+ },
+ {
+ Header: 'Info',
+ columns: [
+ {
+ Header: 'Age',
+ accessor: 'age',
+ },
+ {
+ Header: 'Visits',
+ accessor: 'visits',
+ },
+ {
+ Header: 'Status',
+ accessor: 'status',
+ },
+ {
+ Header: 'Profile Progress',
+ accessor: 'progress',
+ },
+ ],
+ },
+ ],
+ []
+ )
+
+ const data = React.useMemo(() => makeData(100000), [])
+
+ return (
+
+ )
+}
+
+export default ReactTableRough
diff --git a/src/Components/reacttablecomponent/makeData.js b/src/Components/reacttablecomponent/makeData.js
new file mode 100644
index 0000000..142557e
--- /dev/null
+++ b/src/Components/reacttablecomponent/makeData.js
@@ -0,0 +1,40 @@
+import namor from 'namor'
+
+const range = len => {
+ const arr = []
+ for (let i = 0; i < len; i++) {
+ arr.push(i)
+ }
+ return arr
+}
+
+const newPerson = () => {
+ const statusChance = Math.random()
+ return {
+ firstName: namor.generate({ words: 1, numbers: 0 }),
+ lastName: namor.generate({ words: 1, numbers: 0 }),
+ age: Math.floor(Math.random() * 30),
+ visits: Math.floor(Math.random() * 100),
+ progress: Math.floor(Math.random() * 100),
+ status:
+ statusChance > 0.66
+ ? 'relationship'
+ : statusChance > 0.33
+ ? 'complicated'
+ : 'single',
+ }
+}
+
+export default function makeData(...lens) {
+ const makeDataLevel = (depth = 0) => {
+ const len = lens[depth]
+ return range(len).map(d => {
+ return {
+ ...newPerson(),
+ subRows: lens[depth + 1] ? makeDataLevel(depth + 1) : undefined,
+ }
+ })
+ }
+
+ return makeDataLevel()
+}
diff --git a/src/assets/img/components/error.svg b/src/assets/img/components/error.svg
new file mode 100644
index 0000000..ca83783
--- /dev/null
+++ b/src/assets/img/components/error.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/assets/img/components/pagination/1.png b/src/assets/img/components/pagination/1.png
new file mode 100644
index 0000000000000000000000000000000000000000..6b9a6d8dac3747ddb784ea96e7f60d7751fc2623
GIT binary patch
literal 219
zcmeAS@N?(olHy`uVBq!ia0vp@K+MCz1|)ZGH@^v_I14-?iy0WWg+Z8+Vb&Z8pde#$
zkh>GZx^prwfgF}}M_)$
E)e-c@N`~puG$B+uf-ixtZ4GKK$1>IGd{|}ce-sLH`
z@$ida{--Str)nD?q}ZFqC_H#3+!N8z?C)#S(S6@aDa!W?a${zf
ze7oA;e!X6H1+%+m;z0|)K8<}5naBNn(;ZCu-T}qTWC@6E#
zH^s#L0
Date: Fri, 29 Oct 2021 17:00:46 +0530
Subject: [PATCH 2/2] add images
---
src/assets/img/brand.png | Bin 2173 -> 2169 bytes
src/assets/img/components.png | Bin 2739 -> 2735 bytes
src/assets/img/content.png | Bin 503 -> 925 bytes
src/assets/img/pattern.png | Bin 747 -> 1068 bytes
src/assets/img/resources.png | Bin 1119 -> 2108 bytes
5 files changed, 0 insertions(+), 0 deletions(-)
diff --git a/src/assets/img/brand.png b/src/assets/img/brand.png
index 05cce6109a3a91e419f9a7aa8406c9bc62c99d60..399f8bafa6601312d14d37fedd3c7c73aed06382 100644
GIT binary patch
delta 2040
zcmV_kaR;~YO=k%L|`Tmdl#66>PfauECEGy(0%)&L0~3WzP(;0P9_1mlMewZf2EmJ
zGDRx&txCVwt&8C*Gk;A&A0rdJmrub#?~i9Ka)=(Q*Xykq6V(RC%7}=3uDI$q5QIDZ{&9^0CLTO1qz{bP|AL6htLuj%)QFbMt6uZjA!S4h|K#L&
zv)}J-1p!y+^jH~TeY5t%H#B9w
zDzE;0PhaQ0@c&1q_csZ=lfc#(TOhPT*=bzA^RSj=LlurFY|vzB*j6sjfA8lUuOwK$
zy}m>F1Q;L^?Nw@PV{5kQYj-mRm|v1dcq4(<%D7K0qkM-#ykq}>)nu=dRu~1Do7&;)*7Wi9J3rN|
z6gAdc%S`F-Iu7SR1|$ayN7vh(7UmdcLYrxOZ@m?mux78PHfiM8f}YeF+l7R$T-LJT
zzFKre@Oq-@uy!`|t5Vyle7b(53v>)_G25DYI5@EbxtWP6f9J}uNo^5u4#Fn@5`Y=%
z4)QRZyixu9eW}!ToeG-7F^XbtCD4hh!HH}UNB8V$Y|b79)6sV
z65W5jsAEimx$F+gtLu-0e)OJLHZPt=CN2iYOkKtqJ
zwa}_>{FgFs!f80z0oT4IJnq1NrAa7trMer$jqRfQ^4%183i;_z!
znXAN-NQ4-gYiyssOODXw(&!(=gG-L6B8KJ|A##~sf2y1>pfB(ISa+RUj3RLwyUWAO
zOQ7i`*99a|c;>?-bXb`j!z`|2cbS=a33|N+_nE%)$t5=5l6w$C^PDPOAs_*m2MG#@
zut{`q_S?&nOxZyU%@Kv<3Yp*i_ggVkzzn7-1z$!mAD4&`J54Wzp*fQijDs<*kp_9f
zTu5Mof2cvu;Kuo8I?hUx!{K1*oEL4H%!LFlbA@5Zk48Ulc3pKl%>2}+6w=&W9oWLV
zpEo$7A(4v;Cw`t?B$?Zqt00e<8ws?KnB<47wN(WeS2*1_&!6Os$+Z`|%U*?1mASf4
zpgDvv3~pp-5w?@o&cSvfsaqWud8z{Vm`0krf15?xA{@Vc{*8UOJ-(o%W&8SXw1!g(
zG#z!CT^!%?NK1pLM{i$j`5H%?+li*bf_?HiS9rR1fzU@gB-CC!E;sWO%E;`Z<6}&U
zxu0@AiCp2VXBRPc0Io*(q)2pz^WUGk_ly`F(yr=rB7^gU1KUNkTrba41dt#jgPF-p
ze~)!(9y3^&=ijArI9{ix9t6>jF3)2h@A@1-L3faWFYat?#)C|WW;a)95J1`3PaATX
z6p$b#I_uboq`IVxk(#c9?01_l%*pItR6<2&}4In`Rf|IaDe~z(Nk$1@xAVC7eu=@gITJfbzfCLF(DQ3N-
zUa15LfFD4D1PB-NarmWP&x>JZNRR+7CVbNAv>K3LR$wDdat;@;&ul<~1jLg@+;$1f
zjOA};4=2;jW5%q{G-)6~LgG1#jsh-N18H_~5pc0=V-2JkMhj1;n&%KpiUj`&_#4u^(ecEUgI41y*06>!&0U%UC0zfI|6EM@=^6JLd
z1ZD(Dyh>b}NhK?3b_`|*bO!(u07w7`5&(h(fFJ=NNB{^D0LucCG%0`F8q6q6)cyy<
W|2BZ*-SZ~^0000h)hk`vVV)`rZ~JweE{
zf%Fq_0>}xHe9I*5)Hwm}G|luI>In)b2)ThX#f*z1z1`O`X`u$|&&pn#=a(S?BTI_+
zw^~WNkCs3Edc7GN{)WJ{#KiK;Ld3MfBx?k&CAR$E83NZHNIC!@0e}R6AORpq00_kaj^~YO}q&L|`Tmdl#66nrW6zEdj-J*nRV|MPMdazPny0PA37HlMewZe`Og|
zGDT|5ty;g=ZHnPKGk;D(?_(3cl@GyT@Au~+IYhVB>-AQQi5r7$S|D-_y6AxY$(r=8|zk-;mtLsN1)QXqPt6uy05#>Y+|Mc`^
zv)}J-1p(LSY+E^D-C6r(*Vn18e{Qs+MSfgl|H{P6=0FR?7VeWEi1+O$*%-69Jvz{C
z(2w^uVNE&E_u0aFtLw4btC3T5eX>?$|H{TY2`bG;bzAdo;nNmnqaGXD`{e8OOz*3%
z{%~L4=f3d&$6)`g-1o^dypzDz7+WB;LOC&pp4`0msF7w_6^+3-x>9~f4%=upTO0?IBLm$Odl^K=+k1I%7D#h1jgcp1W`}Qs+DyD
zWAWsiVBv_$;b_#0w!gu?F4MlB-%0jk`gkEhrP3>*?MlVH5|s54FSht?BnS
z?|t8}QZ!g^Ei+}m>o^<(8IT+<9N#?XgcxI(3q4HRd+T9fqK3Vm+N6k8?b;PpV$VeM?`SFN#C`*8DEC+Ha5VzxE)XmDZ&e+n}bL(Y}qAvGl69E48*
zBmgti928+Vc%%OD=St|!M^!q1NUEK)n)kUkw
zJ^UmgCA$7*S=*QdbJ-jW(o6mLEwOA~K8#Enq#1zK^|wj>AU(Q#b@kzXl91Br1jlc~
z$I!_cb0t9%e_wl;HN8}~!u**w5TeT^d4;j@xO3aEU#(%T!aL?lf_}fdm$7ipuy+P|
zf1C(<1Q6!EymF+GC77>T*vNmGxHMkdJFC|eHW8UY`!4(Acp2Sb-G4C0x%B}ln`N)
z`0)IXS0$P9gBY44O34*6|M}k^#ZU<&n5Gnb8Nqy9BF5}Ay%a^}Tuv|v#<)gWj
zfeGRke>sC&7Z1}(R+1cc2TSLoXwzgaBygE4j3RzK`gODGs@Y-YXFjEn=H}|a7T$xR
z!4VCKTvj;A>+B%OETQHq$Rp-P0xcva`8IEDRRP8oPWQJLPYcH64i>xBZ^<*}>OO(y
z5TYo!o#TkGowjxkmJ`W*)M1fli{0frKBkf8f9__H9uZF7yttLFpd_?y{VlEGlmSgg
zon;rtA9*CyAnNg(ms`HZ(dKrbsTP#|r}Z&ccs6%|(0kh@bg+0*Z5Jt&k=aGZ+n5w{
zKjeH8xx!h`E~4)MT#xWcndk`Tzdv;E8!_6YUDww{2ImQfwuuN`PtQ{ZkRT_6k;zO?
ze{^adGnkm?->GsqnWv{21o4he&tt#e^*Mlo<{$^3+}qepI+;?9Zm!cHfU>clHRLiW
zAVEfS)UgrCbV->Y4V?$cM-d=F1_r~Stbo6NQte%
zyX1(mv$9MWNRWbIJMJ=7T=VH@00~kMf1E}Qa*Vx-bQzc_1SCj-7k=0q_GzkOJXy9*1A)^}Oh2h6E|#a>6H_PS}D3vjQ7wlXJL)b>;&Sq#zkI
z;L}oXIgn--7XcT`Hs(N@VYKjcsCfYqf3~v@
zZ=VE^AR{Wm($eW|W_gzWT@sSWZ65_tFvc(k!<6z?<*P?e1EUYo9z2BV!n2dgnVP2z
zAVC3!ZTp~0Sf}Ud**_nD*Y>O3zY0j;h+)#m`?S$0a83Xq0e}R6AORpq00fR5&(h(Qh+jyCt#*;s;e8H6POVs^(=8&29>O2SuvO$&>R3r
z03ZP%NB{^D0D=U7AORpq04xhk(x&2ZYcQiQ(ZN4GkU5Y8?N}}V0000mV{G|4kJOBUy07(Z$PDHLkV1is7OKkuE
delta 179
zcmV;k08Ia{6|)tPRsl${R~QKzR!Mf`JU|_Y;%zE84Y@R+*hMZ3Rg523;}esG38a5A
zuf^kggepElwlTy8ofpqq<*PTolPWeK4cNWBL1zcA3xYNPf>CX$OyD?}feOJJ05LW}
zLBvN2VF1Ly1ozt;%S%uY3S$6dTykeWw}4dRhHDCC0AyG|lkZ>#DiqED$axbKRs6zp
hd2ZnWenElx8C{jG4LYs-k^lez07(Z$PDHLkV1l&GMc@Dc
diff --git a/src/assets/img/content.png b/src/assets/img/content.png
index 6c2fa58c7a11b2ebc0598b3dcc70f73655db63ea..b4e10ede4eade36092aaa51b156ceefc33809e22 100644
GIT binary patch
literal 925
zcmeAS@N?(olHy`uVBq!ia0vp^4Is?H1|$#LC7uRSoCO|{#S9E$svykh8Km+7D9BhG
z`QCSnSQT+n&8G`*vmS
zz1VrZIgFFoKjb{$5N$I>{oL(7MMd)&TkjUW5}3qxfwQ`{;&}GAZ>^Fuzwe&Bx_hDO
zBpn8`f0ufkS)^Agc?cc&v%y|>{o&cAyr&K3ZSCGFa@jGFbIY=))n@;K){1<8+Nml~
z%d+CzKY;`KhcDf&-fz}Bhig$k!`k0BCoU9wXk`7%OS_J%;OMG_V&`_2c29XAv*3+n
z)}zJ8?Hn0mzFpO*dNVnO^}&BvhDRI@GK?L{423KTeGEqg8!VUv+!-Fti;|I`{jiw&yuNQPF>}Ht31Xqk=f@{6;ip_tINoN`VtdZNwYsrLR
zHdy)TugfmvhuI3R4?LCkWB;#dGh_0({@yq++v)q^L)G_<4vQeW24R8T`KbpM-FTg|
zzqd}HC~no#2Y*s_iP-#Ky0I
z;+vcYmRKfs?=yEp}@8@jg@#o#dG*5;){0!Lh
zIHjO-Pj8xWc@C!vXF}Yf?Yv46ZCO2k^Sbu#pOhoJU>4UZjy?Ie{P#Xl$@yb&?DIyy
zC8?ag^>zR6R(<>w9Qfn;!_@N=d`jnqo{QRDzi-a}4J~5dz8p%Q-F`RhVgDiZHEo+)
y1e&7_Z4T8~$yz8G#PK
z3EB>=VB`k$1YHX(=?%IRbu1eb>dw#{p-ZJoRcc;<12~dp$Ev>}iXuzNulU7wO!yby
z^jjc|vbhT1>D
zQ$;~T-n_ppWmC$^){#-nz3qIQN9FnM`)e7UUrw0SsnkRwuO+5|TKcWmPZ`SZ1
z88_BDmR-6E?fpp9z07KW-iIu_+^2}{QuH7n7uc6+i7&|
zG06nE1PC7d*?EImU(QzhlXGws(^=Oz`FnQvZ%f{M^|d--;wSxwho8UeRTa4RTFWN1
z%xzoMU!!IdCWStR4rPW%91Ru-=8hK=5Bx5i`t#f3-YZ)wbJLgop8aW!{6gvDJB@7q
zr5i`9F+4oI|L=!YMt=%+ygdF)Tl(dv_s3&7()byCp~ghNQ2UUs`TAjbrreX?hj%|O
zJ+pED|KIg5_wPCsHmS(YWfQ}aHSPC*{<|0caAlw6w%ko~Pe0%PxNmBa9Sh6|n4|O}
z%?l=Mua$VcE_cf|j^?LJRWH_`+uQqOum0T4hs+YJ89Czrz5Ok|cy;Q+h)u@nOP4;l
z{aW+ry8HjCf^NDoIS4E0{jxt$`|9TNi1YEcgRa|KF$BN9IU{Z5Yky&EeuoFcwqQOp
zZN2|Is&_ZWtlG(Nw>p*oaQfDZM&I4d8I!opL>TV>&0DY~zUhAJ`CXeYZu|JOJcH?o
zAVVRGgAAj9I|GP$a#y3?=j!*HPlY{xeM5Qf>%OyLuUGHXxh)NeE`~E|Rj+TX{Pi@v
zcHga6v+o9cc>8<$bwl^M_*|9hiZ`Xt?|gkOeEOW9t^LxJtqk{f9h!6hX4bDY?yLu@
z!`rG3T-@;M+m|$n;Pd{SSqtFK21jI`xA)Pub%Fa=AGa`mw|e@|ZCtTCf8BU}FQ)M4
z`OAxU!p@{o%u`H$OFxb8g!b@@Ba~K=4hE;&-dR|9nk2ej^IZMB{M+aDbN-!b&>(QV&m3b@751ck
zS&!wmohM!&zFpTZeI{k)YkAp*Ki-$uKK`!u>Bc+0?M7!H(UBLd-8%1;HUH~veRJ7A
zGhPe);=Q5I?0$aC41NYlq;O?%h}o2v5dQew=4YqEE^Ya&yWh&h&miRd{HlL*Cb2#!
zxZLj>UdGmTjB}b@y`KpqBys1>tZwN1{c7&xnx@}ZKEK~`VP6OLT^7IF;qPUh3*T8j
xZ@v(^Ct*1QlpUsg{WIn3hmak0(5SoinRjJLbG7Pn1yD|B@O1TaS?83{1ORjw?iT<6
delta 730
zcmV<00ww*d2rn0Alx-5n+Ky%Te`NJvzls{V%~@xPSZ>I5rLte{nIWBr_MV?mJ8WRR8|7kWNe;Y5%Es%#GyO+(Ad;rl
z#y6%_6a9wXw5olXh$wv0
zWknzR)G=xQ5jjR({Fgm;2$6Jb2ToVVLia3!^HsR<;^v&IQz5&Lpks$PKXY?#tlh_{
zg<`0eKAroD(piBNiur(E`XufvN==(o?&rqw7LPccnj6l2ML%Tz0ff$54cm6lfdBvi
M07*qoM6N<$g8SZ6BLDyZ
diff --git a/src/assets/img/resources.png b/src/assets/img/resources.png
index 72f26f435f989baf41a24af4883059a0dae641b8..547eddc6745f557705e50f67ccb7416ca2b321ba 100644
GIT binary patch
delta 2101
zcmYk8dpOgJ8^E{uVk68*l8#~1kD5!l7Bduc&FwIBAqwTP+R1hLj&cjx7;;M`B4TnI
zj$@=0DvCpd*-=gkD`GCoZ~b?k=e>NM&+|U-zwbK({}XAP?&@MEBc&n*fk0&JiO1bV
zo%So?5~BJPA21+l2r|)!0)Z%DefJ?C5H*#)gr
zv2*)c`k87Rs_p#Z_0r(d;Meus`=o&Iz#Z_n<=59%a1bjb@Sm7{%0c&mmYwhCoSY1_
z1IcvYenbwYvs*8^m8Q(_gY1qw$a^B=bjm|+K8U|#w+0c|x(5$*>}&0C4LB@~Y~91_
z_78TOItA(Ssa{{tk1rkl&6Dl~Q;nPnvlVNoi*T`0{v-Ej7wOqB!4I-Mw=5HNr}~(&
z`XL={sH8J_Tuz?~*foQ8rtMbALn_cSGD46r?s*X-Vo!l15}&7nFzkZO?XHr@W1yQM
zS!*AdmVFzxRX2cYabna|$yB2gAN4>9&8tP2(NXQ__qeP79Q_H`x(o{qUyW`>_$H~0
z+lmje+0$T5J!QzU?{RWW%(-BzbQXN+iJleNPI6)eQUr#LMr%E6HIb85`+U_aZn8K!
zf22y^;!b&VKH3fz534$PEr(yDOfGu0WjQ@{&gqPJE5b$O^+^*#`$#s`$h|gk62KwaS
zpn>#_%FM#mi2nC}h*~(uYzuisomy-7-5ut4EOC)-RQ%cF1KZH#%QyQ2%NSO(9CF#&
zB}hjpFSE@YTOv`9VYMi{P(E~rO>L~8l)ZFZxyLMy)l3{MhiE_BeEH_nWN1tH;2>D@
zz$b~!w}wroCN^+c)3-OiUlZoGiA8@Ug8}JMJ9`CPe{s*D&C
z1g)OdFD{&Tlv#o^#Kmb;Ra-|^m-#5;bgG@w3mY||uK=agTofJhj8_6+2;WSxP=u@O
zYa#*0OjQu+kM8Xvy}{IhBDfM2_5>K)Mq8vK+}Hqy7O(hAYbArfyrcRrA9xyu;w02M
z5MY8tBLoowvNS{^d!A#_(Cw#Hz*;pmUxrcP%-5+n(o{*D`_uwZf$)EH^jcWwPD&2h{8_e@+N_avc
zNtb{M1(8h;<{BO7*((-f_mmmv1Rqo5o2sl}uIf1HChp%TO!wjF1o@y;gSPFKO7F;|
zx1$$dCNaNWV%gN?P##|x&MIsxh{(G#;L*2+B`lBHdh*o_5zy_7CXgH0{jGv-sbO^+n_cD8_H`YO9XwQW$%@|ds~_z9Zb
zp6_XBoL5`60N*;tOD@LJe8X9Q>p6voyM&VOzLzmL)`G3==8aAjdmqU|=o2{?jn?oJ
zuvKHP_;F|x(<{PkQ?BwnCXxBBrDrC!A!u(HXWXdt)sa`g5?HWX*UCyL#tO%gE>Qm$
zdR{T@a`2JG=YVY|I|9R(`xIMn!K>a3Eyf|sp|1kZCK
zoKm(+#|8GuaeZiHS8B5^iT16kILc2mSS*81uvjZYD!14+&FUw}K6jCv%qP6M(+TiG
zMz-oT^M~Ug11LjveO^?{g`!9sBDdl1p6o_I9ZSQ^@$xVHmUGhyfZ`mp20X04$nVBy3?XG;4Z
zyHfA>{XGnSLHWV@^PD)hssKb$R^bL3qkmO>$$U0@NlrX~rF`FedAam&9F>f)IqgkJ
z%~teMiXdasB(nm)aJ5ar)#8x!NDb+3a
zQ=f`=E%$$ICgU-ynLHM|kIA(bc2e$Q_`F^BGG;X^6gP`=2ve;euLE@{+02%=+^F3DbMj+l0AME&=~0#?j7Go!VF
VcxQ&&JJAaOu|MH*yw2J`>HlTewKD(!
delta 1105
zcmV-X1g`tM5Z?$kiBL{Q4GJ0x0000DNk~Le0000s0000s2nGNE0E|Uy-2eap32;bR
za{vGf6951U69E94oEVWdAAbY%NklbAPm%2D=oFHx^$(
z6L9!flcbow_MYBM_502mSOzB`e^-J
ziaFU_D5X-BewGGf*nb&0Z!x<4Xj)$OI#gaQmg)AL2cwvm^AuBndqIs5R0)h@R?brl
zLn04}!4pn=%*pvYV=Bw*TR@``u!b2q-^qg(?G-P%TZ0obU~E?OBe@*j8ki`e@Ew5?
zC|m<6cV!!N2?aT7l7*%bKSF5>Ii3MjQ{W)2d*rVB7hr}qBa|^@
z0@{?R&2qhs6wrkfx}h7w>2Nhd!SvvGf%23oNQ^2AiKD+hF0OhVrGD}xInyYJO3k`nhxvbQ)i%5OS+7N88s&>x;7xLVD=s
z7N=66hg+0&E5V(^;{{6hlZ;y4uawY8T}}vC){$bmbNTLSHAS^gy#yCg^t+Yd%D0`(
z_MXRg>80p-7S~5UENVyJrw5
zEZ0B&lFp6m^>bDe^^H8VT<1l;<*rq!?>rOe8sj
zQjAqGMoZ4H6k}bCVYwR*dT*0lpU2@{k{U26#aNjY{cvmXLQU7dOik(jnqRFyDSrS9
XA`(B;{|6BC00000NkvXXu0mjfkY)0n