Skip to content

Commit

Permalink
Add error message to upload flow (#8334)
Browse files Browse the repository at this point in the history
  • Loading branch information
DejayJD committed May 3, 2024
1 parent 37d78f3 commit b8f5990
Showing 1 changed file with 29 additions and 6 deletions.
Original file line number Diff line number Diff line change
@@ -1,30 +1,53 @@
import { useContext } from 'react'
import { useContext, useEffect, useState } from 'react'

import { Button, IconCloudUpload } from '@audius/harmony'
import { Button, Flex, IconCloudUpload, IconError, Text } from '@audius/harmony'
import { useFormikContext } from 'formik'

import { UploadFormScrollContext } from '../UploadPage'

import styles from './AnchoredSubmitRow.module.css'

const messages = {
complete: 'Complete Upload'
complete: 'Complete Upload',
fixErrors: 'Fix errors to continue your upload.'
}

export const AnchoredSubmitRow = () => {
const scrollToTop = useContext(UploadFormScrollContext)
const { isValid } = useFormikContext()
const [showError, setShowError] = useState(false)

// Whenever the error stops showing, reset our error state until they break the form again AND try to submit again
useEffect(() => {
if (isValid) {
setShowError(false)
}
}, [isValid])

return (
<>
<div className={styles.buttonRow}>
<Flex className={styles.buttonRow} gap='m'>
<Button
variant='primary'
size='default'
iconRight={IconCloudUpload}
onClick={scrollToTop}
onClick={() => {
scrollToTop()
setShowError(true)
}}
type='submit'
>
{messages.complete}
</Button>
</div>
{showError && !isValid ? (
<Flex alignItems='center' gap='xs'>
<IconError color='danger' size='s' />
<Text color='danger' size='s' variant='body'>
{messages.fixErrors}
</Text>
</Flex>
) : null}
</Flex>
<div className={styles.placeholder} />
</>
)
Expand Down

0 comments on commit b8f5990

Please sign in to comment.