rose-squared-sdk 0.1.0

Privacy-preserving encrypted search SDK implementing the SWiSSSE protocol with forward/backward security and volume-hiding, compilable to WebAssembly
Documentation
import { Link, useLocation } from "react-router-dom";
import { NavigationMenu, NavigationMenuItem, NavigationMenuList, navigationMenuTriggerStyle } from "@/components/ui/navigation-menu";
import { Activity } from "lucide-react";
import { cn } from "@/lib/utils";

export function Navbar() {
  const location = useLocation();

  if (location.pathname === "/") return null; // Hide navbar on home page

  return (
    <div className="border-b border-slate-800 bg-slate-950/50 backdrop-blur-xl supports-[backdrop-filter]:bg-slate-950/20 sticky top-0 z-50 w-full text-white">
      <div className="container flex h-16 items-center px-4 max-w-7xl mx-auto">
        <Link to="/" className="flex items-center space-x-2 mr-6">
          <Activity className="h-6 w-6 text-primary" />
          <span className="font-bold inline-block text-lg">RO(SE)² Vault</span>
        </Link>
        <NavigationMenu>
          <NavigationMenuList>
            <NavigationMenuItem>
              <Link to="/add" className={cn(navigationMenuTriggerStyle(), location.pathname === '/add' && 'bg-accent text-accent-foreground font-medium bg-slate-800/50')}>
                Add Document
              </Link>
            </NavigationMenuItem>
            <NavigationMenuItem>
              <Link to="/search" className={cn(navigationMenuTriggerStyle(), location.pathname === '/search' && 'bg-accent text-accent-foreground font-medium bg-slate-800/50')}>
                Search
              </Link>
            </NavigationMenuItem>
            <NavigationMenuItem>
              <Link to="/delete" className={cn(navigationMenuTriggerStyle(), location.pathname === '/delete' && 'bg-accent text-accent-foreground font-medium bg-slate-800/50')}>
                Delete
              </Link>
            </NavigationMenuItem>
          </NavigationMenuList>
        </NavigationMenu>
      </div>
    </div>
  );
}