summaryrefslogtreecommitdiffhomepage
path: root/packages/app/src/ui/link.tsx
diff options
context:
space:
mode:
authorDax <[email protected]>2025-09-15 03:28:08 -0400
committerGitHub <[email protected]>2025-09-15 03:28:08 -0400
commit725104572e2b6d64dcfc145d4748124186427c7b (patch)
treedaf5b26437fd267bc41848e0578ed13d1b43bb52 /packages/app/src/ui/link.tsx
parent4954edf8aeb5b8b395fc4f4e91b7fe36cfab212d (diff)
downloadopencode-725104572e2b6d64dcfc145d4748124186427c7b.tar.gz
opencode-725104572e2b6d64dcfc145d4748124186427c7b.zip
feat: add desktop/web app package (#2606)
Co-authored-by: adamdotdevin <[email protected]> Co-authored-by: Adam <[email protected]> Co-authored-by: GitHub Action <[email protected]>
Diffstat (limited to 'packages/app/src/ui/link.tsx')
-rw-r--r--packages/app/src/ui/link.tsx15
1 files changed, 15 insertions, 0 deletions
diff --git a/packages/app/src/ui/link.tsx b/packages/app/src/ui/link.tsx
new file mode 100644
index 000000000..a75a059ec
--- /dev/null
+++ b/packages/app/src/ui/link.tsx
@@ -0,0 +1,15 @@
+import { A } from "@solidjs/router"
+import { splitProps } from "solid-js"
+import type { ComponentProps } from "solid-js"
+import { getButtonClasses } from "./button"
+
+export interface LinkProps extends ComponentProps<typeof A> {
+ variant?: "primary" | "secondary" | "outline" | "ghost"
+ size?: "sm" | "md" | "lg"
+}
+
+export function Link(props: LinkProps) {
+ const [local, others] = splitProps(props, ["variant", "size", "class"])
+ const classes = local.variant ? getButtonClasses(local.variant, local.size, local.class) : local.class
+ return <A class={classes} {...others} />
+}