mirror of
https://github.com/hedgedoc/hedgedoc.git
synced 2025-05-13 14:44:43 -04:00
Add new loading animation
Signed-off-by: Tilman Vatteroth <git@tilmanvatteroth.de>
This commit is contained in:
parent
85eff24be1
commit
bd58bca39c
7 changed files with 242 additions and 72 deletions
|
@ -0,0 +1,39 @@
|
|||
/*
|
||||
* SPDX-FileCopyrightText: 2022 The HedgeDoc developers (see AUTHORS file)
|
||||
*
|
||||
* SPDX-License-Identifier: AGPL-3.0-only
|
||||
*/
|
||||
|
||||
import React, { useMemo } from 'react'
|
||||
import styles from './animations.module.scss'
|
||||
import { ForkAwesomeIcon } from '../../common/fork-awesome/fork-awesome-icon'
|
||||
import { IconRow } from './icon-row'
|
||||
import { createNumberRangeArray } from '../../common/number-range/number-range'
|
||||
|
||||
export interface HedgeDocLogoProps {
|
||||
error: boolean
|
||||
}
|
||||
|
||||
/**
|
||||
* Shows a loading animation.
|
||||
*
|
||||
* @param error Defines if the error animation should be shown instead
|
||||
*/
|
||||
export const LoadingAnimation: React.FC<HedgeDocLogoProps> = ({ error }) => {
|
||||
const iconRows = useMemo(() => createNumberRangeArray(12).map((index) => <IconRow key={index} />), [])
|
||||
|
||||
return (
|
||||
<div className={`position-relative ${error ? styles.error : ''}`}>
|
||||
<div className={styles.logo}>
|
||||
<div>
|
||||
<ForkAwesomeIcon icon={'pencil'} className={styles.background} size={'5x'}></ForkAwesomeIcon>
|
||||
</div>
|
||||
<div className={`${styles.overlay}`}>
|
||||
<ForkAwesomeIcon icon={'pencil'} size={'5x'}></ForkAwesomeIcon>
|
||||
</div>
|
||||
</div>
|
||||
<div className={styles.pulse}></div>
|
||||
<div className={styles.rows}>{iconRows}</div>
|
||||
</div>
|
||||
)
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue