1
1
import React from "react" ;
2
2
import { useDispatch , useSelector } from 'react-redux' ;
3
+ import { useEffect } from "react" ;
4
+ import $ from "jquery" ; // Import jQuery
5
+ import "bootstrap" ; // Import Bootstrap JavaScript
3
6
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome' ;
4
7
import { IMAGE_BASE_URL } from "../config" ;
5
- // import Blog from '../components/Blog';
6
8
import { Link } from "react-router-dom" ;
7
9
8
10
const AdminDashboard = ( ) => {
9
11
10
12
const { setting } = useSelector ( ( state ) => state . setting ) ;
11
13
14
+ useEffect ( ( ) => {
15
+ const handleClick = ( ) => {
16
+ $ ( 'body' ) . toggleClass ( 'sidebar-toggled' ) ;
17
+ $ ( '.sidebar' ) . toggleClass ( 'toggled' ) ;
18
+
19
+ // Listen for the collapse transition to complete
20
+ $ ( '.sidebar .collapse' ) . on ( 'transitionend' , function ( ) {
21
+ if ( $ ( '.sidebar' ) . hasClass ( 'toggled' ) ) {
22
+ $ ( '.sidebar .collapse' ) . collapse ( 'hide' ) ;
23
+ }
24
+ } ) ;
25
+ } ;
26
+
27
+ // Check if jQuery is loaded before adding the event listener
28
+ if ( $ ) {
29
+ $ ( '#sidebarToggleTop' ) . on ( 'click' , handleClick ) ;
30
+ } else {
31
+ console . log ( 'jQuery is not loaded' ) ;
32
+ }
33
+
34
+ // Clean up the event listener
35
+ return ( ) => {
36
+ $ ( '#sidebarToggleTop' ) . off ( 'click' , handleClick ) ;
37
+ } ;
38
+ } , [ ] ) ; // Empty dependency array ensures the effect runs only once
39
+
12
40
return (
13
41
< >
14
42
< div id = "wrapper" >
15
43
16
44
< ul class = "navbar-nav bg-gradient-primary sidebar sidebar-dark accordion" id = "accordionSidebar" >
17
45
18
- < Link to = '/' className = "sidebar-brand d-flex align-items-center justify-content-center" >
19
- < img src = { IMAGE_BASE_URL + setting . site_logo } alt = 'logo' className = 'logo-style' />
20
- < div class = "sidebar-brand-text mx-3" > Dashboard</ div >
46
+ < Link to = '/' className = "sidebar-brand d-flex flex-column align-items-center justify-content-center" >
47
+ < img
48
+ src = { setting . site_logo !== undefined ? IMAGE_BASE_URL + setting . site_logo : '../assets/Today_Talks_Logo.png' }
49
+ alt = 'logo'
50
+ className = 'logo-style'
51
+ />
21
52
</ Link >
22
53
23
- < hr class = "sidebar-divider my-0 " />
54
+ < hr class = "sidebar-divider" />
24
55
25
56
< li class = "nav-item active" >
26
57
< Link to = '/' className = "nav-link" > < FontAwesomeIcon icon = "fa-solid fa-user" />
@@ -31,23 +62,12 @@ const AdminDashboard = () => {
31
62
32
63
< hr class = "sidebar-divider" />
33
64
34
- < div class = "sidebar-heading" >
35
- Authentication
36
- </ div >
37
-
38
65
< li class = "nav-item" >
39
66
< a class = "nav-link collapsed" href = "#" data-toggle = "collapse" data-target = "#collapseTwo"
40
67
aria-expanded = "true" aria-controls = "collapseTwo" >
41
68
< FontAwesomeIcon icon = "fa-solid fa-right-to-bracket" />
42
69
< span > Login</ span >
43
70
</ a >
44
- < div id = "collapseTwo" class = "collapse" aria-labelledby = "headingTwo" data-parent = "#accordionSidebar" >
45
- < div class = "bg-white py-2 collapse-inner rounded" >
46
- < h6 class = "collapse-header" > Custom Components:</ h6 >
47
- < a class = "collapse-item" href = "buttons.html" > Buttons</ a >
48
- < a class = "collapse-item" href = "cards.html" > Cards</ a >
49
- </ div >
50
- </ div >
51
71
</ li >
52
72
53
73
< li class = "nav-item" >
@@ -56,21 +76,8 @@ const AdminDashboard = () => {
56
76
< FontAwesomeIcon icon = "fa-solid fa-registered" />
57
77
< span > Register</ span >
58
78
</ a >
59
- < div id = "collapseUtilities" class = "collapse" aria-labelledby = "headingUtilities"
60
- data-parent = "#accordionSidebar" >
61
- < div class = "bg-white py-2 collapse-inner rounded" >
62
- < h6 class = "collapse-header" > Custom Utilities:</ h6 >
63
- < a class = "collapse-item" href = "utilities-color.html" > Colors</ a >
64
- < a class = "collapse-item" href = "utilities-border.html" > Borders</ a >
65
- < a class = "collapse-item" href = "utilities-animation.html" > Animations</ a >
66
- < a class = "collapse-item" href = "utilities-other.html" > Other</ a >
67
- </ div >
68
- </ div >
69
79
</ li >
70
-
71
80
< hr class = "sidebar-divider" />
72
-
73
-
74
81
</ ul >
75
82
76
83
< div id = "content-wrapper" class = "d-flex flex-column" >
0 commit comments