From c9a8a77e96d905106c6326196b2cc7da6df46d7a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=9C=5Bkou95shik=5D=E2=80=9D?= <“[kou95shik@gmail.com]”> Date: Mon, 22 Jul 2024 19:56:15 +0530 Subject: [PATCH] Added Features Dark/Light Mode --- public/index.html | 10 ++- src/App.js | 12 ++-- src/Component/Contact.css | 6 +- .../Documetation/Internship/internpage.css | 3 + src/Component/FAQ.css | 3 +- src/Component/Footer.css | 49 +++++++------- src/Component/Header.js | 5 +- src/Component/Home.jsx | 7 +- src/Component/Navbar.jsx | 49 ++++++++++++-- src/Component/style.css | 46 ++++++++----- src/Style/Home.css | 34 +++++----- src/Style/Home.scss | 6 +- src/Theme.js | 54 +++++++++++++++ src/assets/day.png | Bin 0 -> 2351 bytes src/assets/logo-black.png | Bin 0 -> 6489 bytes src/assets/logo-white.png | Bin 0 -> 5674 bytes src/assets/night.png | Bin 0 -> 2255 bytes src/assets/search-b.png | Bin 0 -> 1544 bytes src/assets/search-w.png | Bin 0 -> 1018 bytes src/index.css | 63 ++++++++++++++++-- src/index.js | 6 ++ 21 files changed, 271 insertions(+), 82 deletions(-) create mode 100644 src/Theme.js create mode 100644 src/assets/day.png create mode 100644 src/assets/logo-black.png create mode 100644 src/assets/logo-white.png create mode 100644 src/assets/night.png create mode 100644 src/assets/search-b.png create mode 100644 src/assets/search-w.png diff --git a/public/index.html b/public/index.html index d8eb94c3..edc9ac79 100644 --- a/public/index.html +++ b/public/index.html @@ -8,6 +8,8 @@ + + + + \ No newline at end of file diff --git a/src/App.js b/src/App.js index 7c509557..4436dd0d 100644 --- a/src/App.js +++ b/src/App.js @@ -7,10 +7,14 @@ import InternPage from "./Component/Documetation/Internship/InternPage"; import Footer from "./Component/Footer"; import Contact from "./Component/Contact"; import Blog from "./Component/Documetation/Blog"; -import { useState } from "react"; +import { useState , useContext } from "react"; +import "./index.css" +import { ThemeContext } from "./Theme"; function App() { + const { theme } = useContext(ThemeContext); + // const [theme, setTheme] = useState('light'); const [loading, setLoading] = useState(true); const spinner = document.getElementById("spinner"); if (spinner) { @@ -21,8 +25,8 @@ function App() { } return( !loading && ( -
- +
+ }/> }/> @@ -31,7 +35,7 @@ function App() { }/> }/> -
+
) ); } diff --git a/src/Component/Contact.css b/src/Component/Contact.css index 9eacb5e4..f6cecbb7 100644 --- a/src/Component/Contact.css +++ b/src/Component/Contact.css @@ -6,10 +6,10 @@ flex-direction: column; gap:20px; justify-content:space-evenly; - color:white; + color: var(--text-primary); } h1{ - color:white; + color: var(--text-primary); } input{ @@ -18,7 +18,7 @@ input{ padding-left: 50px; border-radius: 60px; border:none; - color: white; + color: var(--text-primary); border: 1px solid white; background: transparent; } diff --git a/src/Component/Documetation/Internship/internpage.css b/src/Component/Documetation/Internship/internpage.css index 4a9ec818..4bb48c96 100644 --- a/src/Component/Documetation/Internship/internpage.css +++ b/src/Component/Documetation/Internship/internpage.css @@ -8,6 +8,9 @@ body { background-color: black; + + /* new color added */ + /* background-color: var(--bg-navbar); */ } .internBox { diff --git a/src/Component/FAQ.css b/src/Component/FAQ.css index f10eb3e8..1697ba91 100644 --- a/src/Component/FAQ.css +++ b/src/Component/FAQ.css @@ -23,7 +23,8 @@ margin-bottom: 2rem; font-weight: 700; text-align: center; - color: #ffffff; + /* color: #ffffff; */ + color: var(--text-primary); } @media screen and (max-width:768px) { diff --git a/src/Component/Footer.css b/src/Component/Footer.css index b70721d6..6cc036cb 100644 --- a/src/Component/Footer.css +++ b/src/Component/Footer.css @@ -1,9 +1,9 @@ .footer { - background-color: #000000; + background-color: var(--bg-primary); color: #ffffff; padding: 40px 20px; } - + .footer-wrapper { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); @@ -11,13 +11,13 @@ max-width: 1200px; margin: 0 auto; } - + .footer-section { text-align: left; margin-left: 3rem; margin-bottom: 3rem; } - + .footer-title { display: flex; align-items: center; @@ -25,7 +25,7 @@ color: #8a2be2; margin-bottom: 10px; } - + /* .footer-favicon { margin-right: 10px; width: 30px; @@ -42,28 +42,28 @@ .footer-pera { font-size: 1.1em; margin: 10px 0; - color: #ccc; + color: var(--bg-navbar1); } - + .footer-heading { font-size: 1.4em; color: #8a2be2; margin-bottom: 10px; } - + /* .footer-links { list-style: none; padding: 0; font-size: 1em; } - + .footer-links li { margin: 5px 0; cursor: none; color: #ccc; transition: color 0.3s; } - + .footer-links li:hover { color: #8a2be2; cursor: none; @@ -73,18 +73,18 @@ list-style-type: none; padding: 0; } - + .footer-links li { font-size: 18px; cursor: pointer; margin-bottom: 10px; } - + .footer-links li span { position: relative; - color: white; + color: var(--bg-navbar1); } - + .footer-links li span::after { content: ''; position: absolute; @@ -95,35 +95,35 @@ background-color: white; transition: all 0.3s ease-in-out; } - + .footer-links li:hover span { color: #8a2be2; } - + .footer-links li:hover span::after { width: 100%; background-color: #8a2be2; } - - + + .footer-social-icons { display: flex; gap: 15px; margin: 10px 0; } - + .footer-social-icons a { - color: #ccc; + color: var(--bg-navbar1); font-size: 1.5em; transition: color 0.3s, transform 0.3s; } - + .footer-social-icons a:hover { color: #8a2be2; transform: scale(1.2); } - + .footer-qr { width: 110px; margin: 14 auto 1.5px; @@ -133,17 +133,18 @@ } .rate-us{ margin-top: 0.2rem; + color: var(--bg-navbar1); } .copy { text-align: center; padding: 20px 0; border-top: 1px solid #333; font-size: 0.9em; + color: var(--bg-navbar1); } - + @media screen and (max-width: 600px) { .copy { font-size: 0.8em; } } - \ No newline at end of file diff --git a/src/Component/Header.js b/src/Component/Header.js index c94d892e..66fad062 100644 --- a/src/Component/Header.js +++ b/src/Component/Header.js @@ -2,9 +2,12 @@ import React from 'react' import './h.css' function Header() { return ( +
-lorem + lorem
+ + ) } diff --git a/src/Component/Home.jsx b/src/Component/Home.jsx index b6164f59..e5e1b62a 100644 --- a/src/Component/Home.jsx +++ b/src/Component/Home.jsx @@ -36,6 +36,7 @@ function Home() { return ( +
@@ -68,7 +69,7 @@ function Home() {
About us
- +

Find your first internship

Kickstart Your Career: Discover Your First Internship Today!

@@ -158,8 +159,8 @@ function Home() {
MIT License

Code of Conduct

- - + +
return ( <>
@@ -117,10 +154,12 @@ function Navbar() {
{}
+ {/* {toggle_mode()}} src={theme == 'light' ? toogle_light : toogle_dark} alt="" + className="toggle-icon"/> */}
- + ); } diff --git a/src/Component/style.css b/src/Component/style.css index 06ad0b49..6f8ef70f 100644 --- a/src/Component/style.css +++ b/src/Component/style.css @@ -1,10 +1,12 @@ + .Navbar { display: flex; - background-color: black; + background-color: var(--bg-navbar); position: sticky; top: 0px; - background-color: #020c0c; - color: rgb(148, 22, 233); + /* background-color: #020c0c; */ + /* color: rgb(148, 22, 233); */ + color: var(--text-secondary); /* font-size: 2em; */ /* font-weight: 400; */ justify-content: space-between; @@ -44,8 +46,12 @@ user-select:none; gap: 10px; grid-template-columns: repeat(4, 1fr); margin: 20px; + transition: 0.5s; } +.container.dark{ + background: #bd2020; +} .wrapper img { width: 224px; @@ -56,7 +62,7 @@ user-select:none; } .wrapper { - border: 2px solid rgba(0, 0, 0, 0.427); + border: 2px solid rgba(185, 58, 58, 0.427); } .button-box { @@ -78,30 +84,40 @@ user-select:none; font-size: 0.95rem; font-weight: 400; } +.toggle-icon{ + width: 50px; + cursor: pointer; + margin-left: 18px; + margin-top: 0px; + color: var(--bg-navbar1); + /* text-decoration: none; */ +} .link{ text-decoration: none; font-size: 1.2em; line-height: 2.6; - color: rgb(148, 22, 233) ; + /* color: rgb(148, 22, 233) ; */ + color: var(--text-secondary); position: relative; /* transition: all 0.4s; */ transition: color 0.4s; } .link:hover{ color: rgb(255, 255, 255); - + } .link::after{ content:''; height:2px; width:0; - background:#A020F0; + /* background:#A020F0; */ + position:absolute; left:0; bottom:-8px; opacity: 1; transition:width 0.4s ease; - pointer-events: none; + pointer-events: none; } .link:hover::after, .link:focus::after{ @@ -147,7 +163,7 @@ user-select:none; &:hover{ outline-color: rgb(68, 0, 132); } -}` +} .link{ text-decoration: none; @@ -158,25 +174,25 @@ user-select:none; font-size:1.4em !important ; margin-left: 1%; /* text-align: start; */ - } + } .nav-icons{ display: none; - } - + } + } @media screen and (max-width:320px) { .left-sight{ font-size:80% ; margin-left: 1% !important; /* text-align: start; */ - } + } .nav-icons{ display: none; - } + } .sidebar{ gap: 0%; font-size: 1em; - } + } } @media screen and (max-width:682px) { .cart-item { diff --git a/src/Style/Home.css b/src/Style/Home.css index 46acdbdc..b4e3904c 100644 --- a/src/Style/Home.css +++ b/src/Style/Home.css @@ -12,14 +12,14 @@ /* z-index: 99; */ font-size: 20px; - display: none; + display: none; background-color:#9f40f7; - color: white; + color: white; border: none; width: 40px; - height: 40px; - border-radius: 50%; + height: 40px; + border-radius: 50%; cursor: none; opacity: 1; transition: opacity 0.5s; @@ -28,13 +28,13 @@ } #scrollToTopBtn.show { - display: block; + display: block; opacity: 1; } #scrollToTopBtn:hover { - opacity: 0.8; + opacity: 0.8; transform: scale(1.09); - background-image: radial-gradient(circle at center, rgba(157, 150, 150, 0.2) 0%, rgba(255, 255, 255, 0) 70%); + background-image: radial-gradient(circle at center, rgba(197, 48, 48, 0.701) 0%, rgba(255, 255, 255, 0) 70%); background-color:#8400ff; } @@ -43,7 +43,7 @@ bottom: 20px; right: 20px; background-color: #ffcc00; - color: black; + color: rgb(179, 45, 45); padding: 10px 20px; border-radius: 5px; font-size: 14px; @@ -53,7 +53,7 @@ width: 100%; height: 100vh !important; padding-top: 40px; - background-color: rgb(0, 3, 14); + background-color: rgb(19, 61, 214); display: flex; flex-direction: column; gap: 10px; @@ -97,7 +97,7 @@ margin-top: 100px; width: 100%; height: 80vh; - background-color: black; + background-color: rgb(195, 41, 41); } .bx-2 { @@ -135,7 +135,7 @@ } .page_1 { display: grid; - color: white; + color: var(--text-primary); margin-block: 70px; } .page_1 .wrapper_p1 { @@ -154,8 +154,8 @@ bottom: 0; background-image: url(../image/web_backgourd.jpg); background-size: cover; - background-position: center; - filter: blur(10px); + background-position: center; + filter: blur(10px); z-index: -1; } @@ -175,13 +175,13 @@ /* padding: 8px; */ transition: transform 0.3s ease-in-out, background-color 0.3s ease-in-out; /* Added transition */ border-radius: 8px; - max-width: 500px; + max-width: 500px; } .page_1 .wrapper_p1 .wrapper-bx-2 .wrapper-bx-2-0 { display: grid; /* grid-template-columns: 1fr 3fr; */ - grid-template-columns: 1fr 3fr; + grid-template-columns: 1fr 3fr; } .page_1 .wrapper_p1 .wrapper-bx-2-0 .wrapper-subbx { text-align: justify; @@ -212,7 +212,7 @@ color: blueviolet; transform: scale(1.05); /* Slightly scale up on hover */ background-color: rgba(0, 0, 0, 0.2); /* Change background color on hover */ - box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); + box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); } .sub_title { font-weight: 600; @@ -220,7 +220,7 @@ word-spacing: 1px; margin-block: 6px; font-size: 3.5em; - text-shadow: 1px 1px 5px black; + text-shadow: 1px 1px 5px rgb(0, 0, 0); text-align: center; animation: fadeInDown 1s ease-in-out; margin-top: 2rem; diff --git a/src/Style/Home.scss b/src/Style/Home.scss index fc13f2df..249efc9f 100644 --- a/src/Style/Home.scss +++ b/src/Style/Home.scss @@ -3,7 +3,7 @@ padding: 0; box-sizing: border-box; } -$backgournd: black; +$backgournd: rgb(0, 0, 0); $fontColor: rgba(133, 133, 137, 0.982); $primaryColor: blueviolet; $secondaryColor: rgb(255, 0, 162); @@ -12,7 +12,7 @@ $secondaryColor: rgb(255, 0, 162); width: 100%; height: 100vh !important; padding-top: 40px; - background-color: rgb(0, 3, 14); + background-color: rgb(23, 64, 213); display: flex; flex-direction: column; gap: 10px; @@ -56,7 +56,7 @@ $secondaryColor: rgb(255, 0, 162); margin-top: 100px; width: 100%; height: 80vh; - background-color: black; + background-color: rgb(0, 0, 0); } // image .bx-2 { diff --git a/src/Theme.js b/src/Theme.js new file mode 100644 index 00000000..0c409de9 --- /dev/null +++ b/src/Theme.js @@ -0,0 +1,54 @@ +import React, { useEffect, createContext, useState } from "react"; + +const ThemeContext = createContext(); + +const getTheme = () => { + const theme = localStorage.getItem("theme"); + if (!theme) { + // Default theme is taken as dark-theme + localStorage.setItem("theme", "dark-theme"); + return "dark-theme"; + } else { + return theme; + } +}; + +const ThemeProvider = ({ children }) => { + const [theme, setTheme] = useState(getTheme); +const [isDarkTheme , setIsDarkTheme] = useState(false); + + function toggleTheme() { + if (theme === "dark-theme") { + setTheme("light-theme"); + setIsDarkTheme(!isDarkTheme) + } else { + setTheme("dark-theme"); + setIsDarkTheme(!isDarkTheme) + + } + }; + + useEffect(() => { + const refreshTheme = () => { + localStorage.setItem("theme", theme); + }; + + refreshTheme(); + }, [theme]); + + return ( + + {children} + + ); +}; + +export { ThemeContext, ThemeProvider }; \ No newline at end of file diff --git a/src/assets/day.png b/src/assets/day.png new file mode 100644 index 0000000000000000000000000000000000000000..1b9ac57ab19e83c6db7ec1d91bb0fbb0287ebab0 GIT binary patch literal 2351 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 literal 0 HcmV?d00001 diff --git a/src/assets/logo-white.png b/src/assets/logo-white.png new file mode 100644 index 0000000000000000000000000000000000000000..9f3848eb8141015a393ef4503a3418d02348407f GIT binary patch literal 5674 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 F^?yEp!TtaM literal 0 HcmV?d00001 diff --git a/src/assets/night.png b/src/assets/night.png new file mode 100644 index 0000000000000000000000000000000000000000..01f2a46809b735a9ba274941480e781b6fbc7298 GIT binary patch literal 2255 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 literal 0 HcmV?d00001 diff --git a/src/assets/search-w.png b/src/assets/search-w.png new file mode 100644 index 0000000000000000000000000000000000000000..cc30a7981196544613314f1a6d17470d61f922ec GIT binary patch literal 1018 zcmVPx&v`IukRA>e5m`P|9Q4oe_Jh`DJE{SVAL`34n^(aC>A>cwZL|l*{hD6Efm5m)-FEG3j+yPPJ3Nn{$Wy-E+EDkFvdPf8>P=4rB{0#wILKORSGXFToTkJMPxc(Ch{Fij89d>8Wb*Piib`s zBJUI-S#?GVF)qtee=89Zxa4 z3jJF~5AAlGEub+7mH=%N@d19eRuhFo<1EnPa1DhMv$hK^mdQ5i0|ozzW#_Zw5t{C}WGjY2b=$R()7r zdp%J>aU%%&8JozF*AucJlRc?C5#<&d=BfLcyo2B?XkyiPon!97RLRfW;hM6TV^@v3 zs@z?B3N(-{owgS>dI!>*M4Bvl5vs-V#LRn**3qS1>lBi!C-3(ThtJ0xbt@A!?|lJz zKXMNAIT~k%TKTXaWNi@OR%McmqrAckjI4_@uz~~{F6J-+j0MF&Uf{n4veInjV(Z~( z2K5^ltTz)&&I6tN;K207*qoM6N<$f^4|RMF0Q* literal 0 HcmV?d00001 diff --git a/src/index.css b/src/index.css index 928c0962..444de260 100644 --- a/src/index.css +++ b/src/index.css @@ -1,8 +1,33 @@ +/* Root */ +:root { + --primary-blue: rgb(70, 70, 138); + --secondary-blue: rgb(16, 215, 233); + + --text-primary-light: rgb(52, 161, 224); + --text-primary-dark: rgb(255, 255, 255); + + --text-secondary-light: rgb(28, 166, 157); + --text-secondary-dark: #9f40f7; + + --bg-primary-light: rgb(59, 22, 101); + --bg-primary-dark: rgb(142, 125, 185); + + --bg-secondary-light: rgb(154, 186, 66); + --bg-secondary-dark: rgb(255, 255, 255); + + --bg-navbar-light: rgb(23, 23, 66); + --bg-navbar-dark: rgba(223, 212, 233, 0.797); + /*---------- */ + --bg-navbar1-light: white; + --bg-navbar1-dark: black; +} +/* root ends here */ *{ cursor:none; } body { + background-color: var(--bg-navbar); /* margin: 0; */ font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', @@ -12,7 +37,7 @@ body { /* background-image: url(./image/web_backgourd.jpg); backdrop-filter: blur(10px); */ background-size: 100vw !important; - + overflow-x: hidden; position: relative; } @@ -30,11 +55,41 @@ code { top: 0; left: 0; width: 100%; - height: 5px; - z-index: 9999; + height: 5px; + z-index: 9999; } .scroll-progress-bar { height: 100%; - background-color: #9f40f7; + background-color: #9f40f7; +} + + +/* new styles */ + + +.light-theme { + --text-primary: var(--text-primary-light); + --text-secondary: var(--text-secondary-light); + /*---------- ---------*/ + --bg-primary: var(--bg-primary-light); + --bg-secondary: var(--bg-secondary-light); + /*----------- ---------*/ + --bg-navbar: var(--bg-navbar-light); + /*-------- ---------*/ + --bg-navbar1: var(--bg-navbar1-light); +} + +.dark-theme { + --text-primary: var(--text-primary-dark); + --text-secondary: var(--text-secondary-dark); + + /*---------- ---------*/ + + --bg-primary: var(--bg-primary-dark); + --bg-secondary: var(--bg-secondary-dark); + /*----------- ---------*/ + --bg-navbar: var(--bg-navbar-dark); + /*---------- ----------*/ + --bg-navbar1: var(--bg-navbar1-dark); } \ No newline at end of file diff --git a/src/index.js b/src/index.js index 173da984..065aa769 100644 --- a/src/index.js +++ b/src/index.js @@ -7,13 +7,19 @@ import { Provider } from 'react-redux'; import Store from './Redux/Store/Store'; import ScrollProgressBar from './Component/ProgressBar'; import { ScrollToTop } from './Component/ScrollToTop' +import { ThemeProvider } from './Theme'; const root = ReactDOM.createRoot(document.getElementById('root')); root.render( + + + + + );