summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorOliver <oliver@mohlin.dev>2025-05-26 13:33:23 +0200
committerTobias Järvelöv <tobias.jarvelov@mullvad.net>2025-05-27 21:33:16 +0200
commit0d5b339c356b6c3844abef92ddea8ec5bd7370af (patch)
treeaab878e633879544483fde72374ff7e1fe899046
parent2a28c60c910976f5d18e6d56bf6224bf39b2fc5b (diff)
downloadmullvadvpn-0d5b339c356b6c3844abef92ddea8ec5bd7370af.tar.xz
mullvadvpn-0d5b339c356b6c3844abef92ddea8ec5bd7370af.zip
Add Link context
-rw-r--r--desktop/packages/mullvad-vpn/src/renderer/lib/components/link/LinkContext.tsx28
1 files changed, 28 insertions, 0 deletions
diff --git a/desktop/packages/mullvad-vpn/src/renderer/lib/components/link/LinkContext.tsx b/desktop/packages/mullvad-vpn/src/renderer/lib/components/link/LinkContext.tsx
new file mode 100644
index 0000000000..128428c081
--- /dev/null
+++ b/desktop/packages/mullvad-vpn/src/renderer/lib/components/link/LinkContext.tsx
@@ -0,0 +1,28 @@
+import React from 'react';
+
+import { LinkProps } from './Link';
+
+interface LinkContextProps {
+ color?: LinkProps['color'];
+ variant?: LinkProps['variant'];
+}
+
+const LinkContext = React.createContext<LinkContextProps | undefined>(undefined);
+
+export const useLinkContext = (): LinkContextProps => {
+ const context = React.useContext(LinkContext);
+ if (!context) {
+ throw new Error('useLinkContext must be used within a LinkProvider');
+ }
+ return context;
+};
+
+interface LinkProviderProps {
+ color?: LinkContextProps['color'];
+ variant?: LinkContextProps['variant'];
+ children: React.ReactNode;
+}
+
+export function LinkProvider({ color, variant, children }: LinkProviderProps) {
+ return <LinkContext.Provider value={{ color, variant }}>{children}</LinkContext.Provider>;
+}