From 98006552eb99c45ffd75686bf08a989d5b360cd2 Mon Sep 17 00:00:00 2001 From: Meng Zhang Date: Wed, 6 Dec 2023 23:08:30 +0800 Subject: [PATCH] refactor(tabby-webserver): remove next-auth (#956) * refactor(tabby-webserver): remove next-auth * add autofix-tabby-ui --- .github/workflows/autofix-tabby-ui.yml | 42 +++++++++++++ ee/tabby-ui/components/login-button.tsx | 42 ------------- ee/tabby-ui/components/user-menu.tsx | 79 ------------------------- ee/tabby-ui/package.json | 1 - ee/tabby-ui/yarn.lock | 56 ------------------ 5 files changed, 42 insertions(+), 178 deletions(-) create mode 100644 .github/workflows/autofix-tabby-ui.yml delete mode 100644 ee/tabby-ui/components/login-button.tsx delete mode 100644 ee/tabby-ui/components/user-menu.tsx diff --git a/.github/workflows/autofix-tabby-ui.yml b/.github/workflows/autofix-tabby-ui.yml new file mode 100644 index 0000000..fc5295b --- /dev/null +++ b/.github/workflows/autofix-tabby-ui.yml @@ -0,0 +1,42 @@ +name: autofix.ci + +on: + pull_request: + branches: ["main" ] + paths: + - '.github/workflows/autofix-tabby-ui.yml' + - 'ee/tabby-ui/**' + +permissions: + contents: read + +concurrency: + group: ${{ github.workflow_ref }}-${{ github.head_ref || github.ref_name }} + + # If this is enabled it will cancel current running and start latest + cancel-in-progress: true + +jobs: + autofix: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + with: + submodules: recursive + + - name: Setup Node.js + uses: actions/setup-node@v3 + with: + node-version: '18.x' + cache: yarn + cache-dependency-path: 'yarn.lock' + + - name: Install dependencies + working-directory: ./ee/tabby-ui + run: yarn install + + - name: Format + working-directory: ./ee/tabby-ui + run: yarn format:write + + - uses: autofix-ci/action@d3e591514b99d0fca6779455ff8338516663f7cc diff --git a/ee/tabby-ui/components/login-button.tsx b/ee/tabby-ui/components/login-button.tsx deleted file mode 100644 index ae8f842..0000000 --- a/ee/tabby-ui/components/login-button.tsx +++ /dev/null @@ -1,42 +0,0 @@ -'use client' - -import * as React from 'react' -import { signIn } from 'next-auth/react' - -import { cn } from '@/lib/utils' -import { Button, type ButtonProps } from '@/components/ui/button' -import { IconGitHub, IconSpinner } from '@/components/ui/icons' - -interface LoginButtonProps extends ButtonProps { - showGithubIcon?: boolean - text?: string -} - -export function LoginButton({ - text = 'Login with GitHub', - showGithubIcon = true, - className, - ...props -}: LoginButtonProps) { - const [isLoading, setIsLoading] = React.useState(false) - return ( - - ) -} diff --git a/ee/tabby-ui/components/user-menu.tsx b/ee/tabby-ui/components/user-menu.tsx deleted file mode 100644 index ce65ad9..0000000 --- a/ee/tabby-ui/components/user-menu.tsx +++ /dev/null @@ -1,79 +0,0 @@ -'use client' - -import Image from 'next/image' -import { type Session } from 'next-auth' -import { signOut } from 'next-auth/react' - -import { Button } from '@/components/ui/button' -import { - DropdownMenu, - DropdownMenuContent, - DropdownMenuItem, - DropdownMenuSeparator, - DropdownMenuTrigger -} from '@/components/ui/dropdown-menu' -import { IconExternalLink } from '@/components/ui/icons' - -export interface UserMenuProps { - user: Session['user'] -} - -function getUserInitials(name: string) { - const [firstName, lastName] = name.split(' ') - return lastName ? `${firstName[0]}${lastName[0]}` : firstName.slice(0, 2) -} - -export function UserMenu({ user }: UserMenuProps) { - return ( -
- - - - - - -
{user?.name}
-
{user?.email}
-
- - - - Vercel Homepage - - - - - signOut({ - callbackUrl: '/' - }) - } - className="text-xs" - > - Log Out - -
-
-
- ) -} diff --git a/ee/tabby-ui/package.json b/ee/tabby-ui/package.json index 53cad01..eacbe8a 100644 --- a/ee/tabby-ui/package.json +++ b/ee/tabby-ui/package.json @@ -43,7 +43,6 @@ "lodash-es": "^4.17.21", "nanoid": "^4.0.2", "next": "^13.4.7", - "next-auth": "0.0.0-manual.83c4ebd1", "next-themes": "^0.2.1", "openai-edge": "^0.5.1", "react": "^18.2.0", diff --git a/ee/tabby-ui/yarn.lock b/ee/tabby-ui/yarn.lock index 5bbcc95..7f4ca9b 100644 --- a/ee/tabby-ui/yarn.lock +++ b/ee/tabby-ui/yarn.lock @@ -50,18 +50,6 @@ dependencies: node-fetch "^2.6.1" -"@auth/core@experimental": - version "0.0.0-manual.e9863699" - resolved "https://registry.yarnpkg.com/@auth/core/-/core-0.0.0-manual.e9863699.tgz#5816c1eac2eaeaadc2f6c6cabddd782cf0db88f0" - integrity sha512-/hVzGuFw7nAZimliD8kpuKnNjvkRu+jpaVhYB/FaIXLNJFNwhbO2MgXBnr5tvLIHgRJnR5C9UN5RNpQXiFHuSA== - dependencies: - "@panva/hkdf" "^1.0.4" - cookie "0.5.0" - jose "^4.11.1" - oauth4webapi "^2.0.6" - preact "10.11.3" - preact-render-to-string "5.2.3" - "@babel/code-frame@^7.0.0", "@babel/code-frame@^7.22.13": version "7.22.13" resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.22.13.tgz#e3c1c099402598483b7a8c46a721d1038803755e" @@ -1159,11 +1147,6 @@ "@nodelib/fs.scandir" "2.1.5" fastq "^1.6.0" -"@panva/hkdf@^1.0.4": - version "1.1.1" - resolved "https://registry.yarnpkg.com/@panva/hkdf/-/hkdf-1.1.1.tgz#ab9cd8755d1976e72fc77a00f7655a64efe6cd5d" - integrity sha512-dhPeilub1NuIG0X5Kvhh9lH4iW3ZsHlnzwgwbOlgwQ2wG1IqFzsgHqmKPk3WzsdWAeaxKJxgM0+W433RmN45GA== - "@parcel/watcher-android-arm64@2.3.0": version "2.3.0" resolved "https://registry.yarnpkg.com/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.3.0.tgz#d82e74bb564ebd4d8a88791d273a3d2bd61e27ab" @@ -2724,11 +2707,6 @@ convert-source-map@^2.0.0: resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-2.0.0.tgz#4b560f649fc4e918dd0ab75cf4961e8bc882d82a" integrity sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg== -cookie@0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.5.0.tgz#d1f5d71adec6558c58f389987c366aa47e994f8b" - integrity sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw== - cosmiconfig@^8.1.0, cosmiconfig@^8.1.3: version "8.3.6" resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-8.3.6.tgz#060a2b871d66dba6c8538ea1118ba1ac16f5fae3" @@ -4352,11 +4330,6 @@ jiti@^1.18.2: resolved "https://registry.yarnpkg.com/jiti/-/jiti-1.20.0.tgz#2d823b5852ee8963585c8dd8b7992ffc1ae83b42" integrity sha512-3TV69ZbrvV6U5DfQimop50jE9Dl6J8O1ja1dvBbMba/sZ3YBEQqJ2VZRoQPVnhlzjNtU1vaXRZVrVjU4qtm8yA== -jose@^4.11.1: - version "4.14.6" - resolved "https://registry.yarnpkg.com/jose/-/jose-4.14.6.tgz#94dca1d04a0ad8c6bff0998cdb51220d473cc3af" - integrity sha512-EqJPEUlZD0/CSUMubKtMaYUOtWe91tZXTWMJZoKSbLk+KtdhNdcvppH8lA9XwVu2V4Ailvsj0GBZJ2ZwDjfesQ== - jose@^5.0.0: version "5.1.1" resolved "https://registry.yarnpkg.com/jose/-/jose-5.1.1.tgz#d61b923baa6bdeb01040afae8295a084c4b9eb58" @@ -5195,13 +5168,6 @@ natural-compare@^1.4.0: resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw== -next-auth@0.0.0-manual.83c4ebd1: - version "0.0.0-manual.83c4ebd1" - resolved "https://registry.yarnpkg.com/next-auth/-/next-auth-0.0.0-manual.83c4ebd1.tgz#224ae294c68da5c86b759b2ab67444fb17248d35" - integrity sha512-6nUXtVrZqTWvVz2NhUB/xbMyzxUSQycQWOquACwdpk63AcnZ3g01v+W0UX9paqkGIdqLPtI/pL6rA2N+MT58SQ== - dependencies: - "@auth/core" experimental - next-themes@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/next-themes/-/next-themes-0.2.1.tgz#0c9f128e847979daf6c67f70b38e6b6567856e45" @@ -5318,11 +5284,6 @@ nullthrows@^1.1.1: resolved "https://registry.yarnpkg.com/nullthrows/-/nullthrows-1.1.1.tgz#7818258843856ae971eae4208ad7d7eb19a431b1" integrity sha512-2vPPEi+Z7WqML2jZYddDIfy5Dqb0r2fze2zTxNNknZaFpVHU3mFB3R+DWeJWGVx0ecvttSGlJTI+WG+8Z4cDWw== -oauth4webapi@^2.0.6: - version "2.3.0" - resolved "https://registry.yarnpkg.com/oauth4webapi/-/oauth4webapi-2.3.0.tgz#d01aeb83b60dbe3ff9ef1c6ec4a39e29c7be7ff6" - integrity sha512-JGkb5doGrwzVDuHwgrR4nHJayzN4h59VCed6EW8Tql6iHDfZIabCJvg6wtbn5q6pyB2hZruI3b77Nudvq7NmvA== - object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" @@ -5735,18 +5696,6 @@ postcss@^8.4.21, postcss@^8.4.23, postcss@^8.4.4: picocolors "^1.0.0" source-map-js "^1.0.2" -preact-render-to-string@5.2.3: - version "5.2.3" - resolved "https://registry.yarnpkg.com/preact-render-to-string/-/preact-render-to-string-5.2.3.tgz#23d17376182af720b1060d5a4099843c7fe92fe4" - integrity sha512-aPDxUn5o3GhWdtJtW0svRC2SS/l8D9MAgo2+AWml+BhDImb27ALf04Q2d+AHqUUOc6RdSXFIBVa2gxzgMKgtZA== - dependencies: - pretty-format "^3.8.0" - -preact@10.11.3: - version "10.11.3" - resolved "https://registry.yarnpkg.com/preact/-/preact-10.11.3.tgz#8a7e4ba19d3992c488b0785afcc0f8aa13c78d19" - integrity sha512-eY93IVpod/zG3uMF22Unl8h9KkrcKIRs2EGar8hwLZZDU1lkjph303V9HZBwufh2s736U6VXuhD109LYqPoffg== - prelude-ls@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" @@ -5757,11 +5706,6 @@ prettier@^2.7.1: resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.8.8.tgz#e8c5d7e98a4305ffe3de2e1fc4aca1a71c28b1da" integrity sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q== -pretty-format@^3.8.0: - version "3.8.0" - resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-3.8.0.tgz#bfbed56d5e9a776645f4b1ff7aa1a3ac4fa3c385" - integrity sha512-WuxUnVtlWL1OfZFQFuqvnvs6MiAGk9UNsBostyBOB0Is9wb5uRESevA6rnl/rkksXaGX3GzZhPup5d6Vp1nFew== - prismjs@^1.27.0: version "1.29.0" resolved "https://registry.yarnpkg.com/prismjs/-/prismjs-1.29.0.tgz#f113555a8fa9b57c35e637bba27509dcf802dd12"