mirror of
https://github.com/tomru/pfadi-bussle.git
synced 2026-03-04 06:57:12 +01:00
add spinner to button
This commit is contained in:
@@ -3,6 +3,7 @@ import Contact from './contact'
|
|||||||
import BookProvider, { BookContext } from '../../context/book'
|
import BookProvider, { BookContext } from '../../context/book'
|
||||||
import DateSelect from './dateSelect'
|
import DateSelect from './dateSelect'
|
||||||
import Reason from './reason'
|
import Reason from './reason'
|
||||||
|
import Button from '../button'
|
||||||
|
|
||||||
function BookForm() {
|
function BookForm() {
|
||||||
const { onSubmit, state, forgetData } = useContext(BookContext)
|
const { onSubmit, state, forgetData } = useContext(BookContext)
|
||||||
@@ -32,9 +33,9 @@ function BookForm() {
|
|||||||
)}
|
)}
|
||||||
<Contact />
|
<Contact />
|
||||||
<div className="flex items-end">
|
<div className="flex items-end">
|
||||||
<button type="submit" disabled={postData} className="btn btn-blue">
|
<Button type="submit" loading={!!postData} disabled={postData}>
|
||||||
{postData ? 'Speichern...' : 'Absenden'}
|
{postData ? 'Speichern...' : 'Absenden'}
|
||||||
</button>
|
</Button>
|
||||||
{postDataError && (
|
{postDataError && (
|
||||||
<div className="error-message flex-grow">{postDataError}</div>
|
<div className="error-message flex-grow">{postDataError}</div>
|
||||||
)}
|
)}
|
||||||
|
|||||||
13
components/button.tsx
Normal file
13
components/button.tsx
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
const Button = ({ children, loading = false, ...rest }) => {
|
||||||
|
return (<button className="btn btn-blue" {...rest}>
|
||||||
|
{loading &&
|
||||||
|
<svg className="inline animate-spin -ml-1 mr-3 h-4 w-4 text-white" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24">
|
||||||
|
<circle className="opacity-25" cx="12" cy="12" r="10" stroke="currentColor" stroke-width="4"></circle>
|
||||||
|
<path className="opacity-75" fill="currentColor" d="M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"></path>
|
||||||
|
</svg>
|
||||||
|
}
|
||||||
|
{children}
|
||||||
|
</button>);
|
||||||
|
}
|
||||||
|
|
||||||
|
export default Button;
|
||||||
Reference in New Issue
Block a user