Parcourir la source

feat: support login by given mail (#4991)

tags/0.6.11
Joel il y a 1 an
Parent
révision
efecdccf35
Aucun compte lié à l'adresse e-mail de l'auteur
3 fichiers modifiés avec 9 ajouts et 4 suppressions
  1. 2
    1
      web/app/layout.tsx
  2. 5
    3
      web/app/signin/normalForm.tsx
  3. 2
    0
      web/config/index.ts

+ 2
- 1
web/app/layout.tsx Voir le fichier

data-api-prefix={process.env.NEXT_PUBLIC_API_PREFIX} data-api-prefix={process.env.NEXT_PUBLIC_API_PREFIX}
data-pubic-api-prefix={process.env.NEXT_PUBLIC_PUBLIC_API_PREFIX} data-pubic-api-prefix={process.env.NEXT_PUBLIC_PUBLIC_API_PREFIX}
data-public-edition={process.env.NEXT_PUBLIC_EDITION} data-public-edition={process.env.NEXT_PUBLIC_EDITION}
data-public-support-mail-login={process.env.NEXT_PUBLIC_SUPPORT_MAIL_LOGIN}
data-public-sentry-dsn={process.env.NEXT_PUBLIC_SENTRY_DSN} data-public-sentry-dsn={process.env.NEXT_PUBLIC_SENTRY_DSN}
data-public-maintenance-notice={process.env.NEXT_PUBLIC_MAINTENANCE_NOTICE} data-public-maintenance-notice={process.env.NEXT_PUBLIC_MAINTENANCE_NOTICE}
data-public-site-about={process.env.NEXT_PUBLIC_SITE_ABOUT} data-public-site-about={process.env.NEXT_PUBLIC_SITE_ABOUT}
> >
<Topbar/>
<Topbar />
<BrowerInitor> <BrowerInitor>
<SentryInitor> <SentryInitor>
<I18nServer>{children}</I18nServer> <I18nServer>{children}</I18nServer>

+ 5
- 3
web/app/signin/normalForm.tsx Voir le fichier

import Link from 'next/link' import Link from 'next/link'
import Toast from '../components/base/toast' import Toast from '../components/base/toast'
import style from './page.module.css' import style from './page.module.css'
import { IS_CE_EDITION, apiPrefix } from '@/config'
import { IS_CE_EDITION, SUPPORT_MAIL_LOGIN, apiPrefix } from '@/config'
import Button from '@/app/components/base/button' import Button from '@/app/components/base/button'
import { login, oauth } from '@/service/common' import { login, oauth } from '@/service/common'
import { getPurifyHref } from '@/utils' import { getPurifyHref } from '@/utils'


const NormalForm = () => { const NormalForm = () => {
const { t } = useTranslation() const { t } = useTranslation()
const useEmailLogin = IS_CE_EDITION || SUPPORT_MAIL_LOGIN

const router = useRouter() const router = useRouter()


const [state, dispatch] = useReducer(reducer, { const [state, dispatch] = useReducer(reducer, {


<div className="w-full mx-auto mt-8"> <div className="w-full mx-auto mt-8">
<div className="bg-white "> <div className="bg-white ">
{!IS_CE_EDITION && (
{!useEmailLogin && (
<div className="flex flex-col gap-3 mt-6"> <div className="flex flex-col gap-3 mt-6">
<div className='w-full'> <div className='w-full'>
<a href={getPurifyHref(`${apiPrefix}/oauth/login/github`)}> <a href={getPurifyHref(`${apiPrefix}/oauth/login/github`)}>
)} )}


{ {
IS_CE_EDITION && <>
useEmailLogin && <>
{/* <div className="relative mt-6"> {/* <div className="relative mt-6">
<div className="absolute inset-0 flex items-center" aria-hidden="true"> <div className="absolute inset-0 flex items-center" aria-hidden="true">
<div className="w-full border-t border-gray-300" /> <div className="w-full border-t border-gray-300" />

+ 2
- 0
web/config/index.ts Voir le fichier

const EDITION = process.env.NEXT_PUBLIC_EDITION || globalThis.document?.body?.getAttribute('data-public-edition') || 'SELF_HOSTED' const EDITION = process.env.NEXT_PUBLIC_EDITION || globalThis.document?.body?.getAttribute('data-public-edition') || 'SELF_HOSTED'
export const IS_CE_EDITION = EDITION === 'SELF_HOSTED' export const IS_CE_EDITION = EDITION === 'SELF_HOSTED'


export const SUPPORT_MAIL_LOGIN = !!(process.env.NEXT_PUBLIC_SUPPORT_MAIL_LOGIN || globalThis.document?.body?.getAttribute('data-public-support-mail-login'))

export const TONE_LIST = [ export const TONE_LIST = [
{ {
id: 1, id: 1,

Chargement…
Annuler
Enregistrer