{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "oauth-screen",
  "type": "registry:block",
  "title": "OAuth Screen",
  "description": "A screen allowing users to sign in with OAuth providers.",
  "dependencies": [
    "@invertase/firebaseui-react"
  ],
  "registryDependencies": [
    "card",
    "https://fir-ui-shadcn-registry.web.app/r/policies.json",
    "https://fir-ui-shadcn-registry.web.app/r/multi-factor-auth-assertion-screen.json",
    "https://fir-ui-shadcn-registry.web.app/r/redirect-error.json"
  ],
  "files": [
    {
      "path": "src/components/oauth-screen.tsx",
      "content": "\"use client\";\n\nimport { getTranslation } from \"@invertase/firebaseui-core\";\nimport { type User } from \"firebase/auth\";\nimport { type PropsWithChildren } from \"react\";\nimport { useUI, useOnUserAuthenticated } from \"@invertase/firebaseui-react\";\nimport { Card, CardContent, CardHeader, CardDescription, CardTitle } from \"@/components/ui/card\";\nimport { Policies } from \"@/components/policies\";\nimport { MultiFactorAuthAssertionScreen } from \"@/components/multi-factor-auth-assertion-screen\";\nimport { RedirectError } from \"@/components/redirect-error\";\n\nexport type OAuthScreenProps = PropsWithChildren<{\n  onSignIn?: (user: User) => void;\n}>;\n\nexport function OAuthScreen({ children, onSignIn }: OAuthScreenProps) {\n  const ui = useUI();\n\n  const titleText = getTranslation(ui, \"labels\", \"signIn\");\n  const subtitleText = getTranslation(ui, \"prompts\", \"signInToAccount\");\n\n  useOnUserAuthenticated(onSignIn);\n\n  if (ui.multiFactorResolver) {\n    return <MultiFactorAuthAssertionScreen />;\n  }\n\n  return (\n    <div className=\"max-w-sm mx-auto\">\n      <Card>\n        <CardHeader>\n          <CardTitle>{titleText}</CardTitle>\n          <CardDescription>{subtitleText}</CardDescription>\n        </CardHeader>\n        <CardContent>\n          <div className=\"space-y-2\">{children}</div>\n          <div className=\"mt-4 space-y-4\">\n            <RedirectError />\n            <Policies />\n          </div>\n        </CardContent>\n      </Card>\n    </div>\n  );\n}\n",
      "type": "registry:component"
    }
  ],
  "meta": {
    "version": "0.0.2"
  }
}