import { useSolidAuth } from '@ldo/solid-react'; import React, { FunctionComponent, useCallback, useState } from 'react'; import { View } from 'react-native'; import { Button } from '../../ui/button'; import { Text } from '../../ui/text'; import { EllipsisVertical } from '../../../lib/icons/EllipsisVertical'; import { DropdownMenu, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuSeparator, DropdownMenuTrigger, } from '../../ui/dropdown-menu'; import { ThemeToggleMenu } from './ThemeToggleMenu'; import { Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, DialogTrigger, } from '../../ui/dialog'; import { Input } from '../../ui/input'; const DEFAULT_ISSUER = window.location.origin; export const SignInMenu: FunctionComponent = () => { const [idpValue, setIdpValue] = useState(''); const [, setIdpError] = useState(); const { login, signUp } = useSolidAuth(); const onIdpSubmit = useCallback(async () => { setIdpError(undefined); try { await login(idpValue); } catch (err: unknown) { if (err instanceof Error) { setIdpError(err.message); } else { setIdpError('Could not log in'); } } }, [idpValue, login]); const renderButtonGroup = () => { return (