-
-
-
-
-
+
);
}
diff --git a/src/components/Header.tsx b/src/components/Header.tsx
index 2f28839c..5cb1a929 100644
--- a/src/components/Header.tsx
+++ b/src/components/Header.tsx
@@ -1,8 +1,10 @@
import { Link } from "react-router-dom";
import { SidebarTrigger } from "./ui/sidebar";
import { HoverPopover } from "./HoverPopover";
-import { Separator, ButtonDarkMode } from "@stacklok/ui-kit";
+import { Separator, ButtonDarkMode, MenuItem } from "@stacklok/ui-kit";
import { WorkspacesSelection } from "@/features/workspace/components/workspaces-selection";
+import { BookOpenText, Download, ShieldCheck } from "lucide-react";
+import { Continue, Copilot, Discord, Github, Youtube } from "./icons";
export function Header({ hasError }: { hasError?: boolean }) {
return (
@@ -30,47 +32,57 @@ export function Header({ hasError }: { hasError?: boolean }) {
- }>
+ About certificate security
+
+ } href="/certificates">
+ Download certificates
+
+
+
+
+ }>
+ Set up in Continue
+
+ } href="/help/copilot-setup">
+ Set up in Copilot
+
+
+ }
>
- Download
-
-
+
+
+
+ }
>
- Certificate Security
-
-
+ Discord
+
-
- }
>
- Set up in Continue
-
-
+
+ }
>
- Set up in Copilot
-
+ YouTube
+
-
-
diff --git a/src/components/HoverPopover.tsx b/src/components/HoverPopover.tsx
index 036b6ce2..5197963c 100644
--- a/src/components/HoverPopover.tsx
+++ b/src/components/HoverPopover.tsx
@@ -1,25 +1,31 @@
-import { ReactNode } from "react";
-import { twMerge } from "tailwind-merge";
+import { Button, DropdownMenu, MenuTrigger, Popover } from "@stacklok/ui-kit";
+import { OverlayTriggerStateContext } from "react-aria-components";
+import { ReactNode, useContext } from "react";
+import { ChevronDown, ChevronUp } from "lucide-react";
+
+function PopoverIcon() {
+ const { isOpen = false } = useContext(OverlayTriggerStateContext) ?? {};
+
+ return isOpen ?
:
;
+}
export function HoverPopover({
children,
title,
- className
}: {
title: ReactNode;
children: ReactNode;
- className?: string
+ className?: string;
}) {
return (
-
+
+
+
+ {children}
+
+
);
}
diff --git a/src/components/icons/Continue.tsx b/src/components/icons/Continue.tsx
new file mode 100644
index 00000000..00acb879
--- /dev/null
+++ b/src/components/icons/Continue.tsx
@@ -0,0 +1,15 @@
+import type { SVGProps } from "react";
+const SvgContinue = (props: SVGProps
) => (
+
+);
+export default SvgContinue;
diff --git a/src/components/icons/Copilot.tsx b/src/components/icons/Copilot.tsx
new file mode 100644
index 00000000..6f20d1eb
--- /dev/null
+++ b/src/components/icons/Copilot.tsx
@@ -0,0 +1,15 @@
+import type { SVGProps } from "react";
+const SvgCopilot = (props: SVGProps) => (
+
+);
+export default SvgCopilot;
diff --git a/src/components/icons/Discord.tsx b/src/components/icons/Discord.tsx
new file mode 100644
index 00000000..8062dbd1
--- /dev/null
+++ b/src/components/icons/Discord.tsx
@@ -0,0 +1,15 @@
+import type { SVGProps } from "react";
+const SvgDiscord = (props: SVGProps) => (
+
+);
+export default SvgDiscord;
diff --git a/src/components/icons/Github.tsx b/src/components/icons/Github.tsx
new file mode 100644
index 00000000..e6f6d288
--- /dev/null
+++ b/src/components/icons/Github.tsx
@@ -0,0 +1,17 @@
+import type { SVGProps } from "react";
+const SvgGithub = (props: SVGProps) => (
+
+);
+export default SvgGithub;
diff --git a/src/components/icons/Youtube.tsx b/src/components/icons/Youtube.tsx
new file mode 100644
index 00000000..b3aeda65
--- /dev/null
+++ b/src/components/icons/Youtube.tsx
@@ -0,0 +1,17 @@
+import type { SVGProps } from "react";
+const SvgYoutube = (props: SVGProps) => (
+
+);
+export default SvgYoutube;
diff --git a/src/components/icons/index.ts b/src/components/icons/index.ts
new file mode 100644
index 00000000..b1107dfe
--- /dev/null
+++ b/src/components/icons/index.ts
@@ -0,0 +1,5 @@
+export { default as Continue } from "./Continue";
+export { default as Copilot } from "./Copilot";
+export { default as Discord } from "./Discord";
+export { default as Github } from "./Github";
+export { default as Youtube } from "./Youtube";