|
1 |
| -import React, { useState } from 'react'; |
| 1 | +import React, { useEffect, useState } from 'react'; |
2 | 2 | import logo from '@/assets/images/logo.png';
|
3 | 3 | import { Link, useNavigate } from 'react-router-dom';
|
4 | 4 | import courses from '@/data/courseData';
|
| 5 | +import { useTheme } from '@/context/ThemeContext'; |
| 6 | + |
5 | 7 |
|
6 | 8 | function Navbar({ loggedin }) {
|
7 | 9 | const [searchTerm, setSearchTerm] = useState('');
|
8 | 10 | const [suggestions, setSuggestions] = useState([]);
|
| 11 | + const { theme, toggleTheme } = useTheme(); |
9 | 12 | const navigate = useNavigate();
|
10 | 13 |
|
11 | 14 | const handleSearchChange = (event) => {
|
@@ -39,7 +42,7 @@ function Navbar({ loggedin }) {
|
39 | 42 | };
|
40 | 43 |
|
41 | 44 | return (
|
42 |
| - <nav className="navbar navbar-expand-lg sticky-top bg-body-tertiary"> |
| 45 | + <nav className={`navbar navbar-expand-lg sticky-top bg-body-tertiary navbar-${theme}`}> |
43 | 46 | <div className="container-fluid">
|
44 | 47 | <button
|
45 | 48 | className="navbar-toggler"
|
@@ -111,9 +114,23 @@ function Navbar({ loggedin }) {
|
111 | 114 | </ul>
|
112 | 115 | </li>
|
113 | 116 | </ul>
|
114 |
| - |
| 117 | + <span className="me-3"> |
| 118 | + <button |
| 119 | + className="btn clk rounded-circle" |
| 120 | + onClick={toggleTheme} |
| 121 | + data-bs-toggle="tooltip" |
| 122 | + title={`Switch to ${theme === 'light' ? 'Dark' : 'Light'} Mode`} |
| 123 | + > |
| 124 | + {theme === 'light' ? ( |
| 125 | + <i className="fa-solid fa-moon"></i> |
| 126 | + ) : ( |
| 127 | + <i className="fa-solid fa-sun"></i> |
| 128 | + )} |
| 129 | + </button> |
| 130 | + </span> |
115 | 131 | {loggedin === 'true' ? (
|
116 | 132 | <div className="d-flex align-items-center flex-column flex-lg-row">
|
| 133 | + |
117 | 134 | <div className="me-2 mb-2 mb-lg-0 position-relative">
|
118 | 135 | <form className="input-group" onSubmit={handleSearchSubmit}>
|
119 | 136 | <span className="input-group-text" id="basic-addon1">
|
|
0 commit comments