Files
smesh/src/components/LoginDialog/index.tsx
2025-01-07 23:26:05 +08:00

46 lines
1.1 KiB
TypeScript

import {
Dialog,
DialogContent,
DialogDescription,
DialogHeader,
DialogTitle
} from '@/components/ui/dialog'
import { Drawer, DrawerContent } from '@/components/ui/drawer'
import { useScreenSize } from '@/providers/ScreenSizeProvider'
import { Dispatch } from 'react'
import AccountManager from '../AccountManager'
export default function LoginDialog({
open,
setOpen
}: {
open: boolean
setOpen: Dispatch<boolean>
}) {
const { isSmallScreen } = useScreenSize()
if (isSmallScreen) {
return (
<Drawer open={open} onOpenChange={setOpen}>
<DrawerContent className="max-h-[90vh]">
<div className="flex flex-col p-4 gap-4 overflow-auto">
<AccountManager close={() => setOpen(false)} />
</div>
</DrawerContent>
</Drawer>
)
}
return (
<Dialog open={open} onOpenChange={setOpen}>
<DialogContent className="w-96">
<DialogHeader>
<DialogTitle className="hidden" />
<DialogDescription className="hidden" />
</DialogHeader>
<AccountManager close={() => setOpen(false)} />
</DialogContent>
</Dialog>
)
}