1
- "use client" ;
2
- import { useState } from "react" ;
3
- import { signOut } from "next-auth/react" ;
4
- import { BsFillMoonStarsFill } from "react-icons/bs" ;
1
+ 'use client' ;
2
+ import { useState } from 'react' ;
3
+ import { signOut } from 'next-auth/react' ;
4
+ import { BsFillMoonStarsFill } from 'react-icons/bs' ;
5
+ import Link from 'next/link' ;
5
6
6
7
function Navbar ( ) {
7
8
const [ isDropdownOpen , setIsDropdownOpen ] = useState ( false ) ;
@@ -16,60 +17,88 @@ function Navbar() {
16
17
} ;
17
18
18
19
return (
19
- < div className = { darkMode ? "dark" : "" } >
20
- < nav className = "border-gray-200 bg-gray-50 dark:bg-gray-800 dark:border-gray-700" >
21
- < div className = "max-w-screen-xl flex flex-wrap items-center justify-between mx-auto p-4" >
22
- < a href = "#" className = "flex items-center" >
23
- < img src = "/assets/images/pagepocket-logo.jpg" className = "h-8 mr-3" alt = "Page Pocket Logo" />
24
- < span className = "self-center text-2xl font-semibold whitespace-nowrap dark:text-white" > Page Pocket</ span >
25
- </ a >
26
- < div className = "flex items-center" > { /* Container for icons */ }
27
- < button
28
- data-collapse-toggle = "navbar-hamburger"
29
- type = "button"
30
- className = "inline-flex items-center justify-center p-2 w-10 h-10 ml-3 text-sm text-gray-500 rounded-lg hover:bg-gray-100 focus:outline-none focus:ring-2 focus:ring-gray-200 dark:text-gray-400 dark:hover-bg-gray-700 dark:focus:ring-gray-600"
31
- aria-controls = "navbar-hamburger"
32
- aria-expanded = { isDropdownOpen }
33
- onClick = { toggleDropdown }
34
- >
35
- < span className = "sr-only" > Open main menu</ span >
36
- < svg
37
- className = "w-5 h-5"
38
- aria-hidden = "true"
39
- xmlns = "http://www.w3.org/2000/svg"
40
- fill = "none"
41
- viewBox = "0 0 17 14"
20
+ < div className = { darkMode ? 'dark' : '' } >
21
+ < nav className = "border-gray-200 bg-gray-50 dark:bg-gray-800 dark:border-gray-700" >
22
+ < div className = "max-w-screen-xl flex flex-wrap items-center justify-between mx-auto p-4" >
23
+ < a href = "/" className = "flex items-center" >
24
+ < img src = "/assets/images/pagepocket-logo.jpg" className = "h-8 mr-3" alt = "Page Pocket Logo" />
25
+ < span className = "self-center text-2xl font-semibold whitespace-nowrap dark:text-white" > Page Pocket</ span >
26
+ </ a >
27
+ < div className = "flex items-center gap-5" >
28
+ { ' ' }
29
+ { /* Container for icons */ }
30
+ < button
31
+ data-collapse-toggle = "navbar-hamburger"
32
+ type = "button"
33
+ className = "inline-flex items-center justify-center p-2 w-10 h-10 ml-3 text-sm text-gray-500 rounded-lg hover:bg-gray-100 focus:outline-none focus:ring-2 focus:ring-gray-200 dark:text-gray-400 dark:hover-bg-gray-700 dark:focus:ring-gray-600"
34
+ aria-controls = "navbar-hamburger"
35
+ aria-expanded = { isDropdownOpen }
36
+ onClick = { toggleDropdown }
42
37
>
43
- < path stroke = "currentColor" stroke-linecap = "round" stroke-linejoin = "round" stroke-width = "2" d = "M1 1h15M1 7h15M1 13h15" />
44
- </ svg >
45
- </ button >
46
- < BsFillMoonStarsFill
47
- onClick = { ( ) => setDarkMode ( ! darkMode ) }
48
- className = "cursor-pointer text-2xl ml-3" // Add margin for spacing
49
- />
50
- </ div >
38
+ < span className = "sr-only" > Open main menu</ span >
39
+ < svg
40
+ className = "w-5 h-5"
41
+ aria-hidden = "true"
42
+ xmlns = "http://www.w3.org/2000/svg"
43
+ fill = "none"
44
+ viewBox = "0 0 17 14"
45
+ >
46
+ < path
47
+ stroke = "currentColor"
48
+ strokeLinecap = "round"
49
+ strokeLinejoin = "round"
50
+ strokeWidth = "2"
51
+ d = "M1 1h15M1 7h15M1 13h15"
52
+ />
53
+ </ svg >
54
+ </ button >
55
+ < BsFillMoonStarsFill
56
+ onClick = { ( ) => setDarkMode ( ! darkMode ) }
57
+ className = "cursor-pointer text-2xl ml-3" // Add margin for spacing
58
+ />
59
+ < Link className = " font-bold dark:text-white dark:hover:text-[#633CFF] hover:text-[#633CFF]" href = "/login" >
60
+ Login
61
+ </ Link >
62
+ </ div >
51
63
< div className = { `w-full ${ isDropdownOpen ? 'block' : 'hidden' } ` } id = "navbar-hamburger" >
52
64
< ul className = "flex flex-col font-medium mt-4 rounded-lg bg-gray-50 dark:bg-gray-800 dark:border-gray-700" >
53
65
< li >
54
- < a href = "/profile" className = "block py-2 pl-3 pr-4 text-white bg-blue-700 rounded dark:bg-blue-600" aria-current = "page" onClick = { closeDropdown } >
66
+ < a
67
+ href = "/profile"
68
+ className = "block py-2 pl-3 pr-4 text-white bg-blue-700 rounded dark:bg-blue-600"
69
+ aria-current = "page"
70
+ onClick = { closeDropdown }
71
+ >
55
72
Profile
56
73
</ a >
57
74
</ li >
58
75
< li >
59
- < a href = "/register" className = "block py-2 pl-3 pr-4 text-gray-900 rounded hover:bg-gray-100 dark:text-gray-400 dark:hover-bg-gray-700 dark:hover:text-white" onClick = { closeDropdown } >
76
+ < a
77
+ href = "/register"
78
+ className = "block py-2 pl-3 pr-4 text-gray-900 rounded hover:bg-gray-100 dark:text-gray-400 dark:hover-bg-gray-700 dark:hover:text-white"
79
+ onClick = { closeDropdown }
80
+ >
60
81
Sign Up
61
82
</ a >
62
83
</ li >
63
84
< li >
64
- < a href = "/login" className = "block py-2 pl-3 pr-4 text-gray-900 rounded hover:bg-gray-100 dark:text-gray-400 md:dark:hover-text-white dark:hover-bg-gray-700 dark:hover:text-white" onClick = { closeDropdown } >
85
+ < a
86
+ href = "/login"
87
+ className = "block py-2 pl-3 pr-4 text-gray-900 rounded hover:bg-gray-100 dark:text-gray-400 md:dark:hover-text-white dark:hover-bg-gray-700 dark:hover:text-white"
88
+ onClick = { closeDropdown }
89
+ >
65
90
Login
66
91
</ a >
67
92
</ li >
68
93
< li >
69
- < a href = "#" className = "block py-2 pl-3 pr-4 text-gray-900 rounded hover-bg-gray-100 dark:text-gray-400 dark:hover-bg-gray-700 dark:hover:text-white" onClick = { ( ) => {
70
- closeDropdown ( ) ;
71
- signOut ( ) ;
72
- } } >
94
+ < a
95
+ href = "#"
96
+ className = "block py-2 pl-3 pr-4 text-gray-900 rounded hover-bg-gray-100 dark:text-gray-400 dark:hover-bg-gray-700 dark:hover:text-white"
97
+ onClick = { ( ) => {
98
+ closeDropdown ( ) ;
99
+ signOut ( ) ;
100
+ } }
101
+ >
73
102
Sign Out
74
103
</ a >
75
104
</ li >
0 commit comments