- Restructure: move backend from new_project/ to backend/ - Add full React/TypeScript frontend (37 pages, 17 services, 16 type defs, 11 query hooks) - Add docs/ with SRS specs, user stories, and workflow documentation - Update .gitignore for new directory layout Workflows implemented: WF1 User Signup, WF2 Placement Test, WF3 Exam Configuration, WF4 General English Exam, WF5 Course Generation, WF6 Entity Student Onboarding, AI Course Generation, Adaptive Learning Engine UI, White-Label Branding, Score Release Made-with: Cursor
29 lines
751 B
TypeScript
29 lines
751 B
TypeScript
import { NavLink as RouterNavLink, NavLinkProps } from "react-router-dom";
|
|
import { forwardRef } from "react";
|
|
import { cn } from "@/lib/utils";
|
|
|
|
interface NavLinkCompatProps extends Omit<NavLinkProps, "className"> {
|
|
className?: string;
|
|
activeClassName?: string;
|
|
pendingClassName?: string;
|
|
}
|
|
|
|
const NavLink = forwardRef<HTMLAnchorElement, NavLinkCompatProps>(
|
|
({ className, activeClassName, pendingClassName, to, ...props }, ref) => {
|
|
return (
|
|
<RouterNavLink
|
|
ref={ref}
|
|
to={to}
|
|
className={({ isActive, isPending }) =>
|
|
cn(className, isActive && activeClassName, isPending && pendingClassName)
|
|
}
|
|
{...props}
|
|
/>
|
|
);
|
|
},
|
|
);
|
|
|
|
NavLink.displayName = "NavLink";
|
|
|
|
export { NavLink };
|