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 ( return (
<WrapForm> <WrapForm>
<H1>{seenBefore ? `Welcome back ${seenUser}` : 'Welcome'}</H1> <H1>{seenBefore ? `Welcome back ${seenUser}` : 'Welcome'}</H1>
<H4>Sign in to FreeSewing</H4> <fieldset className="tw:daisy-fieldset tw:border-base-300 tw:border tw:rounded-box tw:p-4 tw:mb-4">
{!seenBefore && ( <legend className="tw:daisy-fieldset-legend">Sign in to FreeSewing</legend>
<StringInput {!seenBefore && (
label="Your Email address, Username, or User #" <StringInput
update={setUsername} label="Your Email address, Username, or User #"
placeholder="Your Email address, Username, or User #" update={setUsername}
value={username} placeholder="Your Email address, Username, or User #"
valid={(val) => val.length > 1} 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}
/> />
<button className={btnClasses} tabIndex="-1" role="button" onClick={signinHandler}> )}
{magicLink ? (
<button
className={`${btnClasses} tw:daisy-btn-lg`}
tabIndex="-1"
role="button"
onClick={signinHandler}
>
{signInFailed ? ( {signInFailed ? (
noBueno noBueno
) : ( ) : (
<> <>
<span className="tw:hidden tw:lg:block"> <span className="tw:hidden tw:lg:block">
<KeyIcon /> <EmailIcon />
</span> </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"> <span className="tw:hidden tw:lg:block">
<LockIcon /> <EmailIcon />
</span> </span>
</> </>
)} )}
</button> </button>
</> ) : (
)} <>
<button <PasswordInput
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`} label="Your Password"
onClick={() => setMagicLink(!magicLink)} update={setPassword}
> current={password}
<span className="tw:hidden tw:lg:block">{magicLink ? <LockIcon /> : <EmailIcon />}</span> valid={(val) => val.length > 0}
{magicLink ? 'Use your password' : 'Email me a sign-in link'} onKeyDown={triggerSubmit}
<span className="tw:hidden tw:lg:block">{magicLink ? <KeyIcon /> : <EmailIcon />}</span> />
</button> <button className={btnClasses} tabIndex="-1" role="button" onClick={signinHandler}>
<div className="tw:grid tw:grid-cols-1 tw:md:grid-cols-2 tw:gap-2 tw:items-center tw:mt-2"> {signInFailed ? (
{['Google', 'Github'].map((provider) => ( noBueno
<button ) : (
key={provider} <>
id={provider} <span className="tw:hidden tw:lg:block">
className={`${horFlexClasses} tw:daisy-btn tw:daisy-btn-secondary`} <KeyIcon />
onClick={() => initOauth(provider)} </span>
> <span className="tw:pl-2">Sign in</span>
{provider === 'Google' ? <GoogleIcon stroke={0} /> : <GitHubIcon />} <span className="tw:hidden tw:lg:block">
<span>Sign in with {provider}</span> <LockIcon />
</button> </span>
))} </>
</div> )}
</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 ? ( {seenBefore ? (
<button <button
className={`${horFlexClasses} tw:daisy-btn tw:daisy-btn-neutral tw:daisy-btn-outline tw:mt-2 tw:w-full`} 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`} 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" href="/signup"
> >
<FreeSewingIcon className="tw:h-10 tw:w-10" /> <span className="tw:text-neutral-content">
Sign up here <FreeSewingIcon className="tw:h-8 tw:w-8" />
</span>
<span className="tw:text-neutral-content">Sign up here</span>
</Link> </Link>
)} )}
</WrapForm> </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> <fieldset className="tw:daisy-fieldset tw:border-base-300 tw:border tw:rounded-box tw:p-4 tw:mb-4">
<form onSubmit={signupHandler}> <legend className="tw:daisy-fieldset-legend">Sign up for FreeSewing</legend>
<EmailInput <form onSubmit={signupHandler}>
id="signup-email" <EmailInput
label="Email address" id="signup-email"
current={email} label="Email address"
original={''} current={email}
valid={() => emailValid} original={''}
placeholder="Email address" valid={() => emailValid}
update={updateEmail} placeholder="Email address"
/> update={updateEmail}
<IconButton />
onClick={signupHandler} <IconButton
btnProps={{ type: 'submit' }} onClick={signupHandler}
className="tw:lg:w-full tw:grow tw:mt-2" btnProps={{ type: 'submit' }}
> className="tw:lg:w-full tw:grow tw:mt-2"
<EmailIcon /> >
Email me a sign-up link <EmailIcon />
</IconButton> Email me a sign-up link
</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
</IconButton> </IconButton>
<div className="tw:flex tw:flex-row tw:justify-center tw:mt-2"> </form>
<IconButton color="ghost" onClick={() => setShowAll(false)}> </fieldset>
<DownIcon className="tw:w-6 tw:h-6 tw:rotate-180" /> <IconButton color="neutral" href="/signin" className="tw:daisy-btn-lg tw:mt-4">
Fewer options <span className="tw:hidden tw:md:block tw:text-neutral-content">
<DownIcon className="tw:w-6 tw:h-6 tw:rotate-180" /> <KeyIcon className="tw:h-8 tw:w-8" />
</IconButton> </span>
</div> <span className="tw:text-neutral-content">Sign in here</span>
</> </IconButton>
) : (
<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>
)}
</> </>
)} )}
</div> </div>

View file

@ -129,7 +129,7 @@ html[data-theme='dark'] {
--color-secondary-content: oklch(0.145 0 0); --color-secondary-content: oklch(0.145 0 0);
--color-accent: oklch(0.833 0.145 321.434); --color-accent: oklch(0.833 0.145 321.434);
--color-accent-content: oklch(0.145 0 0); --color-accent-content: oklch(0.145 0 0);
--color-neutral: oklch(0.87 0 0); --color-neutral: oklch(0.708 0 0);
--color-neutral-content: oklch(0.145 0 0); --color-neutral-content: oklch(0.145 0 0);
--color-info: oklch(0.945 0.129 101.54); --color-info: oklch(0.945 0.129 101.54);
--color-info-content: oklch(0.145 0 0); --color-info-content: oklch(0.145 0 0);