diff --git a/ee/tabby-ui/app/(home)/page.tsx b/ee/tabby-ui/app/(home)/page.tsx index 19ea1c57541e..8bde970b0007 100644 --- a/ee/tabby-ui/app/(home)/page.tsx +++ b/ee/tabby-ui/app/(home)/page.tsx @@ -3,7 +3,10 @@ import { useState } from 'react' import { useRouter } from 'next/navigation' import { noop } from 'lodash-es' +import Link from 'next/link' +import { useTheme } from 'next-themes' +import { cn } from '@/lib/utils' import { graphql } from '@/lib/gql/generates' import { useHealth } from '@/lib/hooks/use-health' import { useMe } from '@/lib/hooks/use-me' @@ -11,7 +14,7 @@ import { useExternalURL } from '@/lib/hooks/use-network-setting' import { useIsChatEnabled } from '@/lib/hooks/use-server-info' import { useSignOut } from '@/lib/tabby/auth' import { useMutation } from '@/lib/tabby/gql' -import { Button } from '@/components/ui/button' +import { Button, buttonVariants } from '@/components/ui/button' import { CardContent, CardFooter } from '@/components/ui/card' import { IconChat, @@ -20,7 +23,9 @@ import { IconLogout, IconMail, IconRotate, - IconSpinner + IconSpinner, + IconVSCode, + IconJetBrains } from '@/components/ui/icons' import { Input } from '@/components/ui/input' import { Label } from '@/components/ui/label' @@ -41,6 +46,7 @@ const resetUserAuthTokenDocument = graphql(/* GraphQL */ ` function Configuration({ className }: { className?: string }) { const [{ data }, reexecuteQuery] = useMe() const externalUrl = useExternalURL() + const { theme } = useTheme() const resetUserAuthToken = useMutation(resetUserAuthTokenDocument, { onCompleted: () => reexecuteQuery() @@ -100,6 +106,24 @@ function Configuration({ className }: { className?: string }) { for details + +
+ + +

VS Code

+ + + +

JetBrains

+ + +
) } diff --git a/ee/tabby-ui/components/ui/icons.tsx b/ee/tabby-ui/components/ui/icons.tsx index 28dfb7da1336..62d0529f162b 100644 --- a/ee/tabby-ui/components/ui/icons.tsx +++ b/ee/tabby-ui/components/ui/icons.tsx @@ -1414,6 +1414,46 @@ const IconGitFork = ({ ) +function IconVSCode({ className, ...props }: React.ComponentProps<'svg'>) { + return ( + + + + ) +} + +function IconJetBrains({ className, ...props }: React.ComponentProps<'svg'>) { + return ( + + + + + ) +} + export { IconEdit, IconNextChat, @@ -1487,5 +1527,7 @@ export { IconMail, IconChevronsDownUp, IconStar, - IconGitFork + IconGitFork, + IconVSCode, + IconJetBrains }