1
0
Fork 0

chore: Remove OIDC signup/signin

This commit is contained in:
joostdecock 2025-04-27 17:10:42 +02:00
parent 4324bd5988
commit 6d9e79fe59
3 changed files with 87 additions and 126 deletions

View file

@ -210,84 +210,73 @@ export const SignIn = ({ onSuccess = false, silent = false }) => {
return (
<WrapForm>
<H1>{seenBefore ? `Welcome back ${seenUser}` : 'Welcome'}</H1>
<H4>Sign in to FreeSewing</H4>
{!seenBefore && (
<StringInput
label="Your Email address, Username, or User #"
update={setUsername}
placeholder="Your Email address, Username, or User #"
value={username}
valid={(val) => val.length > 1}
/>
)}
{magicLink ? (
<button
className={`${btnClasses} tw:daisy-btn-lg`}
tabIndex="-1"
role="button"
onClick={signinHandler}
>
{signInFailed ? (
noBueno
) : (
<>
<span className="tw:hidden tw:lg:block">
<EmailIcon />
</span>
<span className="tw:pl-2">Email me a sign-in link</span>
<span className="tw:hidden tw:lg:block">
<EmailIcon />
</span>
</>
)}
</button>
) : (
<>
<PasswordInput
label="Your Password"
update={setPassword}
current={password}
valid={(val) => val.length > 0}
onKeyDown={triggerSubmit}
<fieldset className="tw:daisy-fieldset tw:border-base-300 tw:border tw:rounded-box tw:p-4 tw:mb-4">
<legend className="tw:daisy-fieldset-legend">Sign in to FreeSewing</legend>
{!seenBefore && (
<StringInput
label="Your Email address, Username, or User #"
update={setUsername}
placeholder="Your Email address, Username, or User #"
value={username}
valid={(val) => val.length > 1}
/>
<button className={btnClasses} tabIndex="-1" role="button" onClick={signinHandler}>
)}
{magicLink ? (
<button
className={`${btnClasses} tw:daisy-btn-lg`}
tabIndex="-1"
role="button"
onClick={signinHandler}
>
{signInFailed ? (
noBueno
) : (
<>
<span className="tw:hidden tw:lg:block">
<KeyIcon />
<EmailIcon />
</span>
<span className="tw:pl-2">Sign in</span>
<span className="tw:pl-2">Email me a sign-in link</span>
<span className="tw:hidden tw:lg:block">
<LockIcon />
<EmailIcon />
</span>
</>
)}
</button>
</>
)}
<button
className={`tw:block tw:md:flex tw:md:flex-row tw:md:justify-between tw:md:items-center tw:daisy-btn tw:daisy-btn-primary tw:daisy-btn-outline tw:w-full tw:mt-8`}
onClick={() => setMagicLink(!magicLink)}
>
<span className="tw:hidden tw:lg:block">{magicLink ? <LockIcon /> : <EmailIcon />}</span>
{magicLink ? 'Use your password' : 'Email me a sign-in link'}
<span className="tw:hidden tw:lg:block">{magicLink ? <KeyIcon /> : <EmailIcon />}</span>
</button>
<div className="tw:grid tw:grid-cols-1 tw:md:grid-cols-2 tw:gap-2 tw:items-center tw:mt-2">
{['Google', 'Github'].map((provider) => (
<button
key={provider}
id={provider}
className={`${horFlexClasses} tw:daisy-btn tw:daisy-btn-secondary`}
onClick={() => initOauth(provider)}
>
{provider === 'Google' ? <GoogleIcon stroke={0} /> : <GitHubIcon />}
<span>Sign in with {provider}</span>
</button>
))}
</div>
) : (
<>
<PasswordInput
label="Your Password"
update={setPassword}
current={password}
valid={(val) => val.length > 0}
onKeyDown={triggerSubmit}
/>
<button className={btnClasses} tabIndex="-1" role="button" onClick={signinHandler}>
{signInFailed ? (
noBueno
) : (
<>
<span className="tw:hidden tw:lg:block">
<KeyIcon />
</span>
<span className="tw:pl-2">Sign in</span>
<span className="tw:hidden tw:lg:block">
<LockIcon />
</span>
</>
)}
</button>
</>
)}
<button
className={`tw:block tw:md:flex tw:md:flex-row tw:md:justify-between tw:md:items-center tw:daisy-btn tw:daisy-btn-primary tw:daisy-btn-outline tw:w-full tw:mt-1`}
onClick={() => setMagicLink(!magicLink)}
>
<span className="tw:hidden tw:lg:block">{magicLink ? <LockIcon /> : <EmailIcon />}</span>
{magicLink ? 'Use your password' : 'Email me a sign-in link'}
<span className="tw:hidden tw:lg:block">{magicLink ? <KeyIcon /> : <EmailIcon />}</span>
</button>
</fieldset>
{seenBefore ? (
<button
className={`${horFlexClasses} tw:daisy-btn tw:daisy-btn-neutral tw:daisy-btn-outline tw:mt-2 tw:w-full`}
@ -301,8 +290,10 @@ export const SignIn = ({ onSuccess = false, silent = false }) => {
className={`${horFlexClasses} tw:daisy-btn tw:daisy-btn-lg tw:daisy-btn-neutral tw:mt-2 tw:hover:text-neutral-content tw:hover:no-underline`}
href="/signup"
>
<FreeSewingIcon className="tw:h-10 tw:w-10" />
Sign up here
<span className="tw:text-neutral-content">
<FreeSewingIcon className="tw:h-8 tw:w-8" />
</span>
<span className="tw:text-neutral-content">Sign up here</span>
</Link>
)}
</WrapForm>

View file

@ -152,64 +152,34 @@ export const SignUp = ({ embed = false }) => {
)
) : (
<>
<p className="tw:text-inherit">To receive a sign-up link, enter your email address</p>
<form onSubmit={signupHandler}>
<EmailInput
id="signup-email"
label="Email address"
current={email}
original={''}
valid={() => emailValid}
placeholder="Email address"
update={updateEmail}
/>
<IconButton
onClick={signupHandler}
btnProps={{ type: 'submit' }}
className="tw:lg:w-full tw:grow tw:mt-2"
>
<EmailIcon />
Email me a sign-up link
</IconButton>
</form>
{showAll ? (
<>
<div className="tw:grid tw:grid-cols-1 tw:md:grid-cols-2 tw:gap-1 tw:items-center tw:mt-1">
{['Google', 'GitHub'].map((provider) => (
<IconButton
key={provider}
id={provider}
color="secondary"
onClick={() => initOauth(provider)}
>
{provider === 'Google' ? <GoogleIcon stroke={0} /> : <GitHubIcon />}
<span>Sign up with {provider}</span>
</IconButton>
))}
</div>
<IconButton color="neutral" href="/signin" className="tw:daisy-btn-lg tw:mt-1">
<span className="tw:hidden tw:md:block">
<KeyIcon className="tw:h-10 tw:w-10" />
</span>
Sign in here
<fieldset className="tw:daisy-fieldset tw:border-base-300 tw:border tw:rounded-box tw:p-4 tw:mb-4">
<legend className="tw:daisy-fieldset-legend">Sign up for FreeSewing</legend>
<form onSubmit={signupHandler}>
<EmailInput
id="signup-email"
label="Email address"
current={email}
original={''}
valid={() => emailValid}
placeholder="Email address"
update={updateEmail}
/>
<IconButton
onClick={signupHandler}
btnProps={{ type: 'submit' }}
className="tw:lg:w-full tw:grow tw:mt-2"
>
<EmailIcon />
Email me a sign-up link
</IconButton>
<div className="tw:flex tw:flex-row tw:justify-center tw:mt-2">
<IconButton color="ghost" onClick={() => setShowAll(false)}>
<DownIcon className="tw:w-6 tw:h-6 tw:rotate-180" />
Fewer options
<DownIcon className="tw:w-6 tw:h-6 tw:rotate-180" />
</IconButton>
</div>
</>
) : (
<div className="tw:flex tw:flex-row tw:justify-center tw:mt-2">
<IconButton color="ghost" onClick={() => setShowAll(true)}>
<DownIcon />
More options
<DownIcon />
</IconButton>
</div>
)}
</form>
</fieldset>
<IconButton color="neutral" href="/signin" className="tw:daisy-btn-lg tw:mt-4">
<span className="tw:hidden tw:md:block tw:text-neutral-content">
<KeyIcon className="tw:h-8 tw:w-8" />
</span>
<span className="tw:text-neutral-content">Sign in here</span>
</IconButton>
</>
)}
</div>