diff --git a/package.json b/package.json index 8bae112..30e952d 100644 --- a/package.json +++ b/package.json @@ -6,6 +6,7 @@ "cra-template": "1.2.0", "react": "^19.0.0", "react-dom": "^19.0.0", + "react-icons": "^5.4.0", "react-scripts": "5.0.1" }, "scripts": { @@ -31,5 +32,10 @@ "last 1 firefox version", "last 1 safari version" ] + }, + "devDependencies": { + "autoprefixer": "^10.4.20", + "postcss": "^8.5.1", + "tailwindcss": "^3.4.17" } } diff --git a/postcss.config.js b/postcss.config.js new file mode 100644 index 0000000..33ad091 --- /dev/null +++ b/postcss.config.js @@ -0,0 +1,6 @@ +module.exports = { + plugins: { + tailwindcss: {}, + autoprefixer: {}, + }, +} diff --git a/src/App.css b/src/App.css index 74b5e05..3a169e3 100644 --- a/src/App.css +++ b/src/App.css @@ -1,32 +1,8 @@ -.App { - text-align: center; -} - -.App-logo { - height: 40vmin; - pointer-events: none; -} - -@media (prefers-reduced-motion: no-preference) { - .App-logo { - animation: App-logo-spin infinite 20s linear; - } -} - -.App-header { - background-color: #282c34; - min-height: 100vh; - display: flex; - flex-direction: column; - align-items: center; - justify-content: center; - font-size: calc(10px + 2vmin); - color: white; -} - -.App-link { - color: #61dafb; -} +/*@media (prefers-reduced-motion: no-preference) {*/ +/* .App-logo {*/ +/* animation: App-logo-spin infinite 20s linear;*/ +/* }*/ +/*}*/ @keyframes App-logo-spin { from { @@ -36,3 +12,7 @@ transform: rotate(360deg); } } + +button, a { + cursor: pointer; +} diff --git a/src/App.js b/src/App.js index c91cfe0..275dc52 100644 --- a/src/App.js +++ b/src/App.js @@ -1,18 +1,11 @@ -import logo from './logo.svg'; + import './App.css'; +import LoginPage from './pages/LoginPage'; function App() { return ( -
-
- logo -

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

-

- DigiFi Office -

-
+
+
); } diff --git a/src/assets/digifi-400x200.png b/src/assets/digifi-400x200.png new file mode 100644 index 0000000..d417fdf Binary files /dev/null and b/src/assets/digifi-400x200.png differ diff --git a/src/assets/download/andriod.jpg b/src/assets/download/andriod.jpg new file mode 100644 index 0000000..0c05410 Binary files /dev/null and b/src/assets/download/andriod.jpg differ diff --git a/src/assets/download/apple.jpg b/src/assets/download/apple.jpg new file mode 100644 index 0000000..b0e1771 Binary files /dev/null and b/src/assets/download/apple.jpg differ diff --git a/src/assets/first-background.jpg b/src/assets/first-background.jpg new file mode 100644 index 0000000..41c4732 Binary files /dev/null and b/src/assets/first-background.jpg differ diff --git a/src/assets/login-bg.jpg b/src/assets/login-bg.jpg new file mode 100644 index 0000000..8525b77 Binary files /dev/null and b/src/assets/login-bg.jpg differ diff --git a/src/components/InputText.jsx b/src/components/InputText.jsx new file mode 100644 index 0000000..d2bee93 --- /dev/null +++ b/src/components/InputText.jsx @@ -0,0 +1,9 @@ +import React from 'react' + +export default function InputText({id, name, type='text', value, handleChange}) { + return ( +
+ +
+ ) +} diff --git a/src/components/Label.jsx b/src/components/Label.jsx new file mode 100644 index 0000000..1673148 --- /dev/null +++ b/src/components/Label.jsx @@ -0,0 +1,7 @@ +import React from 'react' + +export default function Label({name, htmlfor, error}) { + return ( + + ) +} diff --git a/src/components/PageLoader.jsx b/src/components/PageLoader.jsx new file mode 100644 index 0000000..252ab82 --- /dev/null +++ b/src/components/PageLoader.jsx @@ -0,0 +1,12 @@ +import React from 'react' +import { FaCircleNotch } from "react-icons/fa"; + +export default function PageLoader() { + return ( +
+
+ +
+
+ ) +} diff --git a/src/components/auth/LoginCom.jsx b/src/components/auth/LoginCom.jsx new file mode 100644 index 0000000..7f79f31 --- /dev/null +++ b/src/components/auth/LoginCom.jsx @@ -0,0 +1,113 @@ +import React, { useEffect, useState } from 'react' +// import { useLocation, useNavigate } from 'react-router-dom' +// import { useMutation } from '@tanstack/react-query' + +// import myLinks from '../../myLinks' +import Label from '../Label' +import InputText from '../InputText' +import PageLoader from '../PageLoader' +// import { loginUser } from '../../services/siteServices' + +import GoogleDownload from '../../assets/download/andriod.jpg' +import IOSDownload from '../../assets/download/apple.jpg' + +export default function LoginCom() { + + const [loading, setLoading] = useState(true) + // const {state} = useLocation() + // const navigate = useNavigate() + + const [fields, setFields] = useState({ + username: '', + password: '', + }) + + const handleChange = ({target:{name, value}}) => { + setFields(prev => ({...prev, [name]:value})) + } + + // const login = useMutation({ + // mutationFn: (fields) => { + // if(!fields.username || !fields.password){ + // throw new Error('Please provide all fields marked *') + // } + // return loginUser(fields) + // }, + // onError: (error) => { + // console.log(error) + // }, + // onSuccess: (res) => { + // // const {token, room} = res?.data?.data + // // if(token){ + // // localStorage.setItem('token', token) + // // localStorage.setItem('room', room) + // // // const data = {token} + // // // dispatch(updateUserDetails({ ...data })); + // // } + // navigate(myLinks.home, {state:{proceed:'true'}}) // later add redux to dispatch state + // } + // }) + + + useEffect(()=>{ + // if(state?.proceed != 'true'){ + // return navigate(myLinks.getStarted, {replace:true}) + // } + setTimeout(()=>{ + setLoading(false) + },200) + },[]) + + return ( + <> + {loading ? + + : +
+
+
+

Digifi BackOffice

+

Welcome back, please login to your account

+
+
+
+
+
+ + {/* {login.error && + <> +
+

{login.error.message}

+
+ + } */} + +
+ {/* */} + +
+ +
+
+ + IOS Download + +
+ +
+ + IOS Download + +
+
+
+
+ } + + ) +} diff --git a/src/index.css b/src/index.css index ec2585e..aa352e1 100644 --- a/src/index.css +++ b/src/index.css @@ -1,3 +1,15 @@ +@tailwind base; +@tailwind components; +@tailwind utilities; + +html{ + scroll-behavior: smooth; +} + +*{ + transition: all .3s; +} + body { margin: 0; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', diff --git a/src/pages/LoginPage.jsx b/src/pages/LoginPage.jsx new file mode 100644 index 0000000..495ad97 --- /dev/null +++ b/src/pages/LoginPage.jsx @@ -0,0 +1,8 @@ +import React from 'react' +import LoginCom from '../components/auth/LoginCom' + +export default function LoginPage() { + return ( + + ) +} diff --git a/tailwind.config.js b/tailwind.config.js new file mode 100644 index 0000000..10c37f7 --- /dev/null +++ b/tailwind.config.js @@ -0,0 +1,10 @@ +/** @type {import('tailwindcss').Config} */ +module.exports = { + content: ["./src/**/*.{js,jsx,ts,tsx}"], + darkMode: "class", + theme: { + extend: {}, + }, + plugins: [], +} +