feat(navigation): add qualification course link
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
This commit is contained in:
parent
d04b2d3ecb
commit
8e9262ca68
1 changed files with 7 additions and 5 deletions
|
|
@ -5,6 +5,7 @@ import {
|
||||||
Bird,
|
Bird,
|
||||||
Bomb,
|
Bomb,
|
||||||
ChevronsUpDown,
|
ChevronsUpDown,
|
||||||
|
Crosshair,
|
||||||
FileTextIcon,
|
FileTextIcon,
|
||||||
LogOut,
|
LogOut,
|
||||||
Radio,
|
Radio,
|
||||||
|
|
@ -30,7 +31,6 @@ import {
|
||||||
SidebarMenuItem,
|
SidebarMenuItem,
|
||||||
useSidebar,
|
useSidebar,
|
||||||
} from "@/components/ui/sidebar";
|
} from "@/components/ui/sidebar";
|
||||||
import type { User } from "@/payload-types";
|
|
||||||
import { ImpersonationModal } from "@/components/frontend/impersonation/ImpersonationModal";
|
import { ImpersonationModal } from "@/components/frontend/impersonation/ImpersonationModal";
|
||||||
import { getImpersonationUsers } from "@/app/(frontend)/impersonate/actions";
|
import { getImpersonationUsers } from "@/app/(frontend)/impersonate/actions";
|
||||||
|
|
||||||
|
|
@ -52,7 +52,6 @@ export function NavUser({
|
||||||
const [loggingOut, setLoggingOut] = useState(false);
|
const [loggingOut, setLoggingOut] = useState(false);
|
||||||
const [showImpersonationModal, setShowImpersonationModal] = useState(false);
|
const [showImpersonationModal, setShowImpersonationModal] = useState(false);
|
||||||
const [impersonationUsers, setImpersonationUsers] = useState<any[]>([]);
|
const [impersonationUsers, setImpersonationUsers] = useState<any[]>([]);
|
||||||
const [loadingImpersonationUsers, setLoadingImpersonationUsers] = useState(false);
|
|
||||||
|
|
||||||
const primaryLine = showCallsign ? user.username : user.displayName;
|
const primaryLine = showCallsign ? user.username : user.displayName;
|
||||||
const secondaryLine = showCallsign ? user.displayName : user.username;
|
const secondaryLine = showCallsign ? user.displayName : user.username;
|
||||||
|
|
@ -71,14 +70,11 @@ export function NavUser({
|
||||||
};
|
};
|
||||||
|
|
||||||
const handleOpenImpersonationModal = async () => {
|
const handleOpenImpersonationModal = async () => {
|
||||||
setLoadingImpersonationUsers(true);
|
|
||||||
try {
|
try {
|
||||||
const users = await getImpersonationUsers();
|
const users = await getImpersonationUsers();
|
||||||
setImpersonationUsers(users);
|
setImpersonationUsers(users);
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error("Failed to load impersonation users:", error);
|
console.error("Failed to load impersonation users:", error);
|
||||||
} finally {
|
|
||||||
setLoadingImpersonationUsers(false);
|
|
||||||
}
|
}
|
||||||
setShowImpersonationModal(true);
|
setShowImpersonationModal(true);
|
||||||
};
|
};
|
||||||
|
|
@ -154,6 +150,12 @@ export function NavUser({
|
||||||
Radio Traffic
|
Radio Traffic
|
||||||
</Link>
|
</Link>
|
||||||
</DropdownMenuItem>
|
</DropdownMenuItem>
|
||||||
|
<DropdownMenuItem asChild>
|
||||||
|
<Link href="/qualification">
|
||||||
|
<Crosshair />
|
||||||
|
Qualification Course
|
||||||
|
</Link>
|
||||||
|
</DropdownMenuItem>
|
||||||
</DropdownMenuGroup>
|
</DropdownMenuGroup>
|
||||||
<DropdownMenuSeparator />
|
<DropdownMenuSeparator />
|
||||||
<DropdownMenuGroup>
|
<DropdownMenuGroup>
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue