fix(frontend): Step3 - Amélioration genre + ajout fichiers Docker
- Suppression label 'Genre', boutons radio centrés (Fille/Garçon) - Réduction espacements pour éviter dépassement - Ajout docker-compose.yml et Dockerfiles depuis master Ticket #38
This commit is contained in:
@@ -0,0 +1,16 @@
|
||||
# Stage builder
|
||||
FROM ghcr.io/cirruslabs/flutter:3.19.0 AS builder
|
||||
WORKDIR /app
|
||||
COPY pubspec.* ./
|
||||
RUN flutter pub get
|
||||
COPY . .
|
||||
RUN flutter build web --release
|
||||
|
||||
# Stage production
|
||||
FROM nginx:alpine
|
||||
COPY nginx.conf /etc/nginx/conf.d/default.conf
|
||||
COPY --from=builder /app/build/web /usr/share/nginx/html
|
||||
|
||||
EXPOSE 80
|
||||
|
||||
CMD ["nginx", "-g", "daemon off;"]
|
||||
@@ -1 +1 @@
|
||||
flutter.sdk=C:\\Users\\marti\\dev\\flutter
|
||||
flutter.sdk=/home/deploy/snap/flutter/common/flutter
|
||||
@@ -408,7 +408,7 @@ class _ChildCardWidgetState extends State<_ChildCardWidget> {
|
||||
),
|
||||
),
|
||||
),
|
||||
const SizedBox(height: 12.0 * 1.1), // Augmenté pour plus d'espace après la photo
|
||||
const SizedBox(height: 8.0 * 1.1),
|
||||
Row(
|
||||
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||
children: [
|
||||
@@ -416,7 +416,7 @@ class _ChildCardWidgetState extends State<_ChildCardWidget> {
|
||||
Switch(value: widget.childData.isUnbornChild, onChanged: widget.onToggleIsUnborn, activeColor: Theme.of(context).primaryColor),
|
||||
],
|
||||
),
|
||||
const SizedBox(height: 9.0 * 1.1), // 9.9
|
||||
const SizedBox(height: 6.0 * 1.1)
|
||||
CustomAppTextField(
|
||||
controller: _firstNameController,
|
||||
labelText: 'Prénom',
|
||||
@@ -432,33 +432,28 @@ class _ChildCardWidgetState extends State<_ChildCardWidget> {
|
||||
enabled: true,
|
||||
fieldHeight: 55.0 * 1.1, // 60.5
|
||||
),
|
||||
const SizedBox(height: 9.0 * 1.1), // 9.9
|
||||
const SizedBox(height: 6.0 * 1.1),
|
||||
Row(
|
||||
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||
mainAxisAlignment: MainAxisAlignment.center,
|
||||
children: [
|
||||
Text('Genre', style: GoogleFonts.merienda(fontSize: 16 * 1.1, fontWeight: FontWeight.w600)),
|
||||
Row(
|
||||
children: [
|
||||
Radio<String>(
|
||||
value: 'H',
|
||||
groupValue: widget.childData.gender,
|
||||
onChanged: (value) => widget.onGenderChanged(value!),
|
||||
activeColor: Theme.of(context).primaryColor,
|
||||
),
|
||||
Text('H', style: GoogleFonts.merienda(fontSize: 16 * 1.1)),
|
||||
const SizedBox(width: 20),
|
||||
Radio<String>(
|
||||
value: 'F',
|
||||
groupValue: widget.childData.gender,
|
||||
onChanged: (value) => widget.onGenderChanged(value!),
|
||||
activeColor: Theme.of(context).primaryColor,
|
||||
),
|
||||
Text('F', style: GoogleFonts.merienda(fontSize: 16 * 1.1)),
|
||||
],
|
||||
Radio<String>(
|
||||
value: 'F',
|
||||
groupValue: widget.childData.gender,
|
||||
onChanged: (value) => widget.onGenderChanged(value!),
|
||||
activeColor: Theme.of(context).primaryColor,
|
||||
),
|
||||
Text('Fille', style: GoogleFonts.merienda(fontSize: 16 * 1.1)),
|
||||
const SizedBox(width: 20),
|
||||
Radio<String>(
|
||||
value: 'H',
|
||||
groupValue: widget.childData.gender,
|
||||
onChanged: (value) => widget.onGenderChanged(value!),
|
||||
activeColor: Theme.of(context).primaryColor,
|
||||
),
|
||||
Text('Garçon', style: GoogleFonts.merienda(fontSize: 16 * 1.1)),
|
||||
],
|
||||
),
|
||||
const SizedBox(height: 9.0 * 1.1), // 9.9
|
||||
const SizedBox(height: 6.0 * 1.1)
|
||||
CustomAppTextField(
|
||||
controller: _dobController,
|
||||
labelText: widget.childData.isUnbornChild ? 'Date prévisionnelle de naissance' : 'Date de naissance',
|
||||
@@ -468,7 +463,7 @@ class _ChildCardWidgetState extends State<_ChildCardWidget> {
|
||||
suffixIcon: Icons.calendar_today,
|
||||
fieldHeight: 55.0 * 1.1, // 60.5
|
||||
),
|
||||
const SizedBox(height: 11.0 * 1.1), // 12.1
|
||||
const SizedBox(height: 8.0 * 1.1),
|
||||
Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: [
|
||||
@@ -476,14 +471,14 @@ class _ChildCardWidgetState extends State<_ChildCardWidget> {
|
||||
label: 'Consentement photo',
|
||||
value: widget.childData.photoConsent,
|
||||
onChanged: widget.onTogglePhotoConsent,
|
||||
checkboxSize: 22.0 * 1.1, // 24.2
|
||||
checkboxSize: 22.0 * 1.1,
|
||||
),
|
||||
const SizedBox(height: 6.0 * 1.1), // 6.6
|
||||
const SizedBox(height: 4.0 * 1.1),
|
||||
AppCustomCheckbox(
|
||||
label: 'Naissance multiple',
|
||||
value: widget.childData.multipleBirth,
|
||||
onChanged: widget.onToggleMultipleBirth,
|
||||
checkboxSize: 22.0 * 1.1, // 24.2
|
||||
checkboxSize: 22.0 * 1.1,
|
||||
),
|
||||
],
|
||||
),
|
||||
|
||||
@@ -0,0 +1,13 @@
|
||||
server {
|
||||
listen 80;
|
||||
server_name ynov.ptits-pas.fr;
|
||||
|
||||
location / {
|
||||
root /usr/share/nginx/html;
|
||||
index index.html;
|
||||
try_files $uri $uri/ /index.html;
|
||||
}
|
||||
|
||||
# Gestion des erreurs
|
||||
error_page 404 /index.html;
|
||||
}
|
||||
Reference in New Issue
Block a user