140 lines
4.1 KiB
JavaScript
140 lines
4.1 KiB
JavaScript
// web/src/components/BreadForm.jsx
|
|
|
|
function BreadForm({ onSubmit, loading }) {
|
|
return (
|
|
<form onSubmit={onSubmit} data-testid="bread-form">
|
|
<fieldset>
|
|
<legend>Les ingrédients de base</legend>
|
|
|
|
<label htmlFor="total_flour">
|
|
Farine totale (en grammes)
|
|
<input
|
|
type="number"
|
|
id="total_flour"
|
|
name="total_flour"
|
|
defaultValue="500"
|
|
min="1"
|
|
step="0.1"
|
|
required
|
|
/>
|
|
<small>
|
|
Indique la quantité totale de farine que tu veux dans ton pâton,
|
|
en grammes. 500 (g) est la valeur par défaut.
|
|
</small>
|
|
</label>
|
|
|
|
<label htmlFor="hydration">
|
|
Hydratation (en % de la farine)
|
|
<input
|
|
type="number"
|
|
id="hydration"
|
|
name="hydration"
|
|
defaultValue="60"
|
|
min="50"
|
|
max="100"
|
|
step="1"
|
|
required
|
|
/>
|
|
<small>
|
|
Indique le pourcentage d'eau par rapport à
|
|
la farine. La valeur par défaut est de 60 %, ce qui revient
|
|
600 g pour 1 kg de farine, ou 300 g pour 500 g.
|
|
</small>
|
|
</label>
|
|
|
|
<label htmlFor="salt">
|
|
Sel (en % de la farine)
|
|
<input
|
|
type="number"
|
|
id="salt"
|
|
name="salt"
|
|
defaultValue="1.6"
|
|
min="0"
|
|
max="2"
|
|
step="0.1"
|
|
required
|
|
/>
|
|
<small>
|
|
Indique la quantité de sel en pourcent de la farine. La valeur par
|
|
défaut est 1.6 %, ce qui revient à 16 g de sel pour
|
|
1 kg de farine, ou 8 g pour 500 g.
|
|
</small>
|
|
</label>
|
|
</fieldset>
|
|
|
|
<fieldset>
|
|
<legend>Le levain</legend>
|
|
|
|
<label htmlFor="sourdough_percentage">
|
|
Levain (en % de la farine)
|
|
<input
|
|
type="number"
|
|
id="sourdough_percentage"
|
|
name="sourdough_percentage"
|
|
defaultValue="20"
|
|
min="10"
|
|
max="100"
|
|
step="1"
|
|
required
|
|
/>
|
|
<small>
|
|
Indique la quantité de levain en pourcent de la farine. La valeur
|
|
par défaut est de 20 %, ce qui revient à 200 g pour
|
|
1 kg de farine, ou 100 g pour 500 g.
|
|
</small>
|
|
</label>
|
|
|
|
<p>
|
|
Pour calculer les quantités à ajouter au pâton pour respecter
|
|
le taux d'hydratation voulu, il faut connaître les proportions de
|
|
farine et d'eau du levain. C'est le rôle des champs suivant :
|
|
</p>
|
|
|
|
<label htmlFor="sourdough_flour_parts">
|
|
Ratio farine
|
|
<input
|
|
type="number"
|
|
id="sourdough_flour_parts"
|
|
name="sourdough_flour_parts"
|
|
defaultValue="1"
|
|
min="0.1"
|
|
step="0.1"
|
|
required
|
|
/>
|
|
<small>
|
|
Indique une valeur par exemple de 1 ou de 100 qui servira de base
|
|
à la comparaison avec la proportion d'eau (champ suivant). La
|
|
valeur par défaut est de 1.
|
|
</small>
|
|
</label>
|
|
|
|
<label htmlFor="sourdough_water_parts">
|
|
Ratio eau
|
|
<input
|
|
type="number"
|
|
id="sourdough_water_parts"
|
|
name="sourdough_water_parts"
|
|
defaultValue="1"
|
|
min="0.1"
|
|
step="0.1"
|
|
required
|
|
/>
|
|
<small>
|
|
Indique la proportion d'eau du levain, par rapport à la quantité
|
|
de farine. Un ratio de <code>1:1</code> signifie qu'il y a autant
|
|
d'eau que de farine dans le levain. C'est la même chose qu'un ratio
|
|
de <code>100:100</code>. C'est le cas où lors d'un rafraîchi, tu
|
|
ajoutes autant de farine que d'eau.
|
|
</small>
|
|
</label>
|
|
</fieldset>
|
|
|
|
<button type="submit" disabled={loading} aria-busy={loading}>
|
|
{loading ? "Calcul en cours..." : "Calculer"}
|
|
</button>
|
|
</form>
|
|
);
|
|
}
|
|
|
|
export default BreadForm;
|