diff --git a/compass/README.md b/compass/README.md index 5ce4a7c..c403366 100644 --- a/compass/README.md +++ b/compass/README.md @@ -24,8 +24,8 @@ This project uses [`next/font`](https://nextjs.org/docs/basic-features/font-opti To learn more about Next.js, take a look at the following resources: -- [Next.js Documentation](https://nextjs.org/docs) - learn about Next.js features and API. -- [Learn Next.js](https://nextjs.org/learn) - an interactive Next.js tutorial. +- [Next.js Documentation](https://nextjs.org/docs) - learn about Next.js features and API. +- [Learn Next.js](https://nextjs.org/learn) - an interactive Next.js tutorial. You can check out [the Next.js GitHub repository](https://github.com/vercel/next.js/) - your feedback and contributions are welcome! diff --git a/compass/app/home/layout.tsx b/compass/app/home/layout.tsx index ec67157..b98493c 100644 --- a/compass/app/home/layout.tsx +++ b/compass/app/home/layout.tsx @@ -15,8 +15,7 @@ export default function RootLayout({ const [isSidebarOpen, setIsSidebarOpen] = useState(true); const [user, setUser] = useState(); const router = useRouter(); - const [loading, setLoading] = useState(true); - + const [loading, setLoading] = useState(true); useEffect(() => { async function getUser() { diff --git a/compass/components/RootLayout.tsx b/compass/components/RootLayout.tsx index 8b0307e..0e4c842 100644 --- a/compass/components/RootLayout.tsx +++ b/compass/components/RootLayout.tsx @@ -33,7 +33,7 @@ export default function RootLayout({ ); const user: User = await userData.json(); - setUser(user); // Set user data after fetching + setUser(user); // Set user data after fetching } getUser(); diff --git a/compass/components/Sidebar/LoadingIcon.module.css b/compass/components/Sidebar/LoadingIcon.module.css index 2b0c9d2..7c2947e 100644 --- a/compass/components/Sidebar/LoadingIcon.module.css +++ b/compass/components/Sidebar/LoadingIcon.module.css @@ -9,7 +9,6 @@ margin-bottom: 20px; } - @keyframes spin { 0% { transform: rotate(0deg); /* Start position */ diff --git a/compass/components/Sidebar/LoadingIcon.tsx b/compass/components/Sidebar/LoadingIcon.tsx index ddf3eb3..508d4dc 100644 --- a/compass/components/Sidebar/LoadingIcon.tsx +++ b/compass/components/Sidebar/LoadingIcon.tsx @@ -11,4 +11,4 @@ const LoadingIcon = () => { ); }; -export default LoadingIcon; \ No newline at end of file +export default LoadingIcon; diff --git a/compass/components/Sidebar/Sidebar.tsx b/compass/components/Sidebar/Sidebar.tsx index 232eda7..7ab2135 100644 --- a/compass/components/Sidebar/Sidebar.tsx +++ b/compass/components/Sidebar/Sidebar.tsx @@ -9,7 +9,7 @@ import { LockClosedIcon, } from "@heroicons/react/24/solid"; import { SidebarItem } from "./SidebarItem"; -import styles from "./LoadingIcon.module.css" +import styles from "./LoadingIcon.module.css"; import { UserProfile } from "../resource/UserProfile"; import LoadingIcon from "./LoadingIcon"; @@ -67,16 +67,20 @@ const Sidebar: React.FC = ({ - {/* Loading indicator*/} - {isLoading && ( + {/* Loading indicator*/} + {isLoading && (
- {/* Spinner */} +
)}
- +
{/* navigation menu */} @@ -91,6 +95,7 @@ const Sidebar: React.FC = ({ text="Admin" active={true} redirect="/admin" + onClick={setIsLoading} /> )} @@ -99,24 +104,28 @@ const Sidebar: React.FC = ({ text="Home" active={true} redirect="/home" + onClick={setIsLoading} /> } text="Resources" active={true} redirect="/resource" + onClick={setIsLoading} /> } text="Services" active={true} redirect="/service" + onClick={setIsLoading} /> } text="Training Manuals" active={true} redirect="/training-manuals" + onClick={setIsLoading} />
diff --git a/compass/components/Sidebar/SidebarItem.tsx b/compass/components/Sidebar/SidebarItem.tsx index 34d3541..475f7b5 100644 --- a/compass/components/Sidebar/SidebarItem.tsx +++ b/compass/components/Sidebar/SidebarItem.tsx @@ -5,6 +5,7 @@ interface SidebarItemProps { text: string; active: boolean; redirect: string; + onClick: React.Dispatch>; } export const SidebarItem: React.FC = ({ @@ -12,9 +13,11 @@ export const SidebarItem: React.FC = ({ text, active, redirect, + onClick, }) => { return ( onClick(true)} href={redirect} className={ active diff --git a/compass/components/resource/UserProfile.tsx b/compass/components/resource/UserProfile.tsx index 3d9f544..6d3c291 100644 --- a/compass/components/resource/UserProfile.tsx +++ b/compass/components/resource/UserProfile.tsx @@ -11,9 +11,8 @@ const handleClick = async ( event: React.MouseEvent, setLoading: React.Dispatch> ) => { - setLoading(true); // Set loading to true + setLoading(true); await signOut(); - setLoading(false); // Reset loading after sign-out completes }; export const UserProfile = ({ name, email, setLoading }: UserProfileProps) => {