Adapt react-client to use the real backend API (#1545)

Co-authored-by: Philip Molares <philip.molares@udo.edu>
Co-authored-by: Tilman Vatteroth <git@tilmanvatteroth.de>
This commit is contained in:
Erik Michelson 2022-04-15 23:03:15 +02:00 committed by GitHub
parent 3399ed2023
commit 26f90505ff
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
227 changed files with 4726 additions and 2310 deletions

View file

@ -17,9 +17,7 @@ import Link from 'next/link'
export const CoverButtons: React.FC = () => {
useTranslation()
const userExists = useApplicationState((state) => !!state.user)
const anyAuthProviderActivated = useApplicationState((state) =>
Object.values(state.config.authProviders).includes(true)
)
const anyAuthProviderActivated = useApplicationState((state) => state.config.authProviders.length > 0)
if (userExists) {
return null

View file

@ -7,18 +7,16 @@
import { useEffect, useState } from 'react'
import { useTranslation } from 'react-i18next'
import { fetchFrontPageContent } from '../requests'
import { useCustomizeAssetsUrl } from '../../../hooks/common/use-customize-assets-url'
export const useIntroPageContent = (): string[] | undefined => {
const { t } = useTranslation()
const [content, setContent] = useState<string[] | undefined>(undefined)
const customizeAssetsUrl = useCustomizeAssetsUrl()
useEffect(() => {
fetchFrontPageContent(customizeAssetsUrl)
fetchFrontPageContent()
.then((content) => setContent(content.split('\n')))
.catch(() => setContent(undefined))
}, [customizeAssetsUrl, t])
}, [t])
return content
}

View file

@ -1,17 +1,20 @@
/*
* SPDX-FileCopyrightText: 2021 The HedgeDoc developers (see AUTHORS file)
* SPDX-FileCopyrightText: 2022 The HedgeDoc developers (see AUTHORS file)
*
* SPDX-License-Identifier: AGPL-3.0-only
*/
import { defaultFetchConfig, expectResponseCode } from '../../api/utils'
import { customizeAssetsUrl } from '../../utils/customize-assets-url'
import { defaultConfig } from '../../api/common/default-config'
export const fetchFrontPageContent = async (customizeAssetsUrl: string): Promise<string> => {
export const fetchFrontPageContent = async (): Promise<string> => {
const response = await fetch(customizeAssetsUrl + 'intro.md', {
...defaultFetchConfig,
...defaultConfig,
method: 'GET'
})
expectResponseCode(response)
if (response.status !== 200) {
throw new Error('Error fetching intro content')
}
return await response.text()
}