diff --git a/config.yaml b/config.yaml index 0c75e1a..016f92b 100644 --- a/config.yaml +++ b/config.yaml @@ -226,7 +226,7 @@ views: - web/layouts/journeys/_partials/journeys-vehicles.html - web/layouts/journeys/_partials/journeys-local-solutions.html - web/layouts/journeys/_partials/journeys-carpool.html - - web/layouts/journeys/_partials/journeys-public-transit-motis.html + - web/layouts/journeys/_partials/journeys-public-transit-transitous.html - web/layouts/journeys/_partials/journeys-solidarity-transport.html - web/layouts/journeys/_partials/journeys-organized-carpools.html - web/layouts/journeys/search.html @@ -302,6 +302,7 @@ views: - web/layouts/solidarity_transport/_partials/driver_availabilities.html - web/layouts/solidarity_transport/_partials/driver_history.html - web/layouts/solidarity_transport/_partials/driver_documents.html + - web/layouts/solidarity_transport/_partials/driver_wallet.html - web/layouts/solidarity_transport/driver_display.html driver_journey: files: @@ -348,8 +349,14 @@ views: - web/layouts/organized_carpool/driver_display.html journey: files: + - sms/organized_carpool/request_driver.tmpl + - web/layouts/_partials/submit_with_sms.html - web/layouts/organized_carpool/_partials/journey_preview.html - web/layouts/organized_carpool/journey.html + booking_display: + files: + - web/layouts/organized_carpool/_partials/booking_map.html + - web/layouts/organized_carpool/booking_display.html administration: home: @@ -439,6 +446,8 @@ icons: tabler-icons:walk: tabler-icons:bus: tabler-icons:train: + hero:outline/map-pin: + hero:outline/flag: emails: onboarding: @@ -503,3 +512,6 @@ sms: solidarity_transport: request_driver: - sms/solidarity_transport/request_driver.tmpl + organized_carpool: + request_driver: + - sms/organized_carpool/request_driver.tmpl diff --git a/sms/organized_carpool/request_driver.tmpl b/sms/organized_carpool/request_driver.tmpl new file mode 100644 index 0000000..eb70ecf --- /dev/null +++ b/sms/organized_carpool/request_driver.tmpl @@ -0,0 +1,2 @@ +{{ define "sms_template" }}[{{ .name }}] Nouvelle demande de covoiturage solidaire le {{ .datetime }}. +Acceptez ou refusez sur {{ .baseUrl }}/ext/oc/bp/{booking_id}{{ end }} \ No newline at end of file diff --git a/web/layouts/journeys/_partials/journeys-all.html b/web/layouts/journeys/_partials/journeys-all.html index bef6860..1270696 100644 --- a/web/layouts/journeys/_partials/journeys-all.html +++ b/web/layouts/journeys/_partials/journeys-all.html @@ -21,8 +21,8 @@
{{.IconSet.Icon "tabler-icons:bus" "h-6 w-6 inline-flex mr-4"}} - {{$itinerary.StartTime.Format "15:04"}} - {{$itinerary.EndTime.Format "15:04"}} - ({{divideInt $itinerary.Duration 60}} Minutes) + {{ timeFormat $itinerary.StartTime "15:04" }} - {{ timeFormat $itinerary.EndTime "15:04" }} + ({{shortDuration $itinerary.Duration}})
diff --git a/web/layouts/journeys/_partials/journeys-organized-carpools.html b/web/layouts/journeys/_partials/journeys-organized-carpools.html index 8d52ed0..ce1a795 100644 --- a/web/layouts/journeys/_partials/journeys-organized-carpools.html +++ b/web/layouts/journeys/_partials/journeys-organized-carpools.html @@ -5,13 +5,12 @@

Aucun covoitureur solidaire disponible pour ce trajet.

{{else}} -

Covoitureurs solidaires

diff --git a/web/layouts/journeys/_partials/journeys-public-transit-motis.html b/web/layouts/journeys/_partials/journeys-public-transit-transitous.html similarity index 89% rename from web/layouts/journeys/_partials/journeys-public-transit-motis.html rename to web/layouts/journeys/_partials/journeys-public-transit-transitous.html index 8ae1a9f..05989c9 100644 --- a/web/layouts/journeys/_partials/journeys-public-transit-motis.html +++ b/web/layouts/journeys/_partials/journeys-public-transit-transitous.html @@ -2,8 +2,8 @@ {{ range .ViewState.journeys }}
-
{{ .StartTime.Format "15:04" }} - {{ .EndTime.Format "15:04" }}
-
{{ divideInt .Duration 60 }} Minutes
+
{{ timeFormat .StartTime "15:04" }} - {{ timeFormat .EndTime "15:04" }}
+
{{ shortDuration .Duration }}
{{ else }}
-

Attendre {{ divideInt .Duration 60 }} minutes

+

Attendre {{ shortDuration .Duration }}

{{ end }}
@@ -57,7 +57,7 @@
-

Départ {{.StartTime.Format "15:04"}} - Arrivée {{.EndTime.Format "15:04"}}

+

Départ {{timeFormat .StartTime "15:04"}} - Arrivée {{timeFormat .EndTime "15:04"}}

De {{.From.Name}} à {{.To.Name}}

@@ -87,7 +87,7 @@
-

Départ {{.StartTime.Format "15:04"}} - Arrivée {{.EndTime.Format "15:04"}}

+

Départ {{timeFormat .StartTime "15:04"}} - Arrivée {{timeFormat .EndTime "15:04"}}

De {{.From.Name}} à {{.To.Name}}

diff --git a/web/layouts/organized_carpool/_partials/booking_map.html b/web/layouts/organized_carpool/_partials/booking_map.html new file mode 100644 index 0000000..cf39847 --- /dev/null +++ b/web/layouts/organized_carpool/_partials/booking_map.html @@ -0,0 +1,180 @@ +{{ define "organized_carpool_map" }} +
+ +{{ end }} diff --git a/web/layouts/organized_carpool/_partials/bookings_list.html b/web/layouts/organized_carpool/_partials/bookings_list.html index 0f7dbfc..33c179e 100644 --- a/web/layouts/organized_carpool/_partials/bookings_list.html +++ b/web/layouts/organized_carpool/_partials/bookings_list.html @@ -40,32 +40,32 @@ {{range .ViewState.bookings}}
- + - diff --git a/web/layouts/organized_carpool/_partials/journey_preview.html b/web/layouts/organized_carpool/_partials/journey_preview.html index 38fd900..19dcfdd 100644 --- a/web/layouts/organized_carpool/_partials/journey_preview.html +++ b/web/layouts/organized_carpool/_partials/journey_preview.html @@ -12,11 +12,23 @@
Départ passager
-
{{(index .journey.Features 0).Properties.MustString "label"}}
+
+ {{ if .journey.ExtraMembers.passenger_pickup }} + {{ .journey.ExtraMembers.passenger_pickup.properties.label }} + {{ else }} + Adresse non disponible + {{ end }} +
Destination passager
-
{{(index .journey.Features 1).Properties.MustString "label"}}
+
+ {{ if .journey.ExtraMembers.passenger_drop }} + {{ .journey.ExtraMembers.passenger_drop.properties.label }} + {{ else }} + Adresse non disponible + {{ end }} +
Départ conducteur
diff --git a/web/layouts/organized_carpool/booking_display.html b/web/layouts/organized_carpool/booking_display.html new file mode 100644 index 0000000..cf1c20e --- /dev/null +++ b/web/layouts/organized_carpool/booking_display.html @@ -0,0 +1,168 @@ +{{define "content"}} +
+

+ Covoiturage solidaire +

+ + {{ if eq .ViewState.booking.Status.String "WAITING_DRIVER_CONFIRMATION"}} +
Attente confirmation
+ {{ else if eq .ViewState.booking.Status.String "CONFIRMED"}} +
Confirmé
+ {{ else if eq .ViewState.booking.Status.String "CANCELLED"}} +
Annulé
+ {{ end }} + +
+ {{if eq .ViewState.booking.Status.String "WAITING_DRIVER_CONFIRMATION" }} + + + + {{end}} + + {{if ne .ViewState.booking.Status.String "WAITING_DRIVER_CONFIRMATION" }} + + + + {{end}} + + {{if ne .ViewState.booking.Status.String "CANCELLED" }} + {{$dialog := "cancel"}} +
+ + +
+ {{end}} + + + + + + {{if eq .ViewState.booking.Status.String "CANCELLED" }} + + + + {{end}} +
+
+ +
+
+ +
+
+

Détails du covoiturage

+

Informations sur le trajet

+
+
+
+ + +
+
Départ conducteur
+
+ {{ .ViewState.driverDepartureAddress }} +
+
+
+
Prise en charge passager
+
+ {{ .ViewState.booking.PassengerPickupAddress }} +
+
+
+
Dépose passager
+
+ {{ .ViewState.booking.PassengerDropAddress }} +
+
+
+
Arrivée conducteur
+
+ {{ if .ViewState.driverArrivalAddress }} + {{ .ViewState.driverArrivalAddress }} + {{ end }} +
+
+
+
Date et heure
+
+ {{ timeFormat .ViewState.booking.PassengerPickupDate.AsTime "02/01/2006 15:04" }} +
+
+
+
Prix
+
+ {{ if .ViewState.booking.Price }} + {{ if eq .ViewState.booking.Price.Type.String "FREE" }} + Gratuit + {{ else if eq .ViewState.booking.Price.Type.String "PAYING" }} + {{ printf "%.2f" .ViewState.booking.Price.Amount }} {{ .ViewState.booking.Price.Currency }} + {{ else }} + Prix non défini + {{ end }} + {{ else }} + Prix non disponible + {{ end }} +
+
+
+
+
+ + +
+
+
+ {{ template "organized_carpool_map" .ViewState }} +
+
+
+
+
+ +{{ end }} diff --git a/web/layouts/organized_carpool/journey.html b/web/layouts/organized_carpool/journey.html index df37fe6..ee9b3bc 100644 --- a/web/layouts/organized_carpool/journey.html +++ b/web/layouts/organized_carpool/journey.html @@ -5,11 +5,32 @@
{{template "journey_preview" (dict "journey" .ViewState.journey "driver" .ViewState.driver "passenger" .ViewState.passenger "beneficiaries" .ViewState.beneficiaries)}} {{if ne .ViewState.passenger.ID ""}} -
+
- +
+ + +
+ {{template "submit_with_sms" + dict "IconSet" .IconSet + "Viewstate" .ViewState + "ComponentState" (dict "submitText" "Envoyer la demande de covoiturage" + "doNotSendOption" true) + "SMSState" (dict "name" (.ViewState.config.GetString "service_name") + "datetime" (or (timeFormat .ViewState.journey.ExtraMembers.departure_date "02/01/2006") "À définir") + "baseUrl" (.ViewState.config.GetString "base_url") )}}
{{end}} diff --git a/web/layouts/organized_carpool/overview.html b/web/layouts/organized_carpool/overview.html index 475cef3..01006d8 100644 --- a/web/layouts/organized_carpool/overview.html +++ b/web/layouts/organized_carpool/overview.html @@ -4,7 +4,7 @@

Covoiturage solidaire

+
{{template "carpool_bookings_list" .}}
+
{{template "carpool_drivers_list" .}}
-
1
-
{{template "carpool_bookings_list" .}}
diff --git a/web/layouts/solidarity_transport/_partials/driver_wallet.html b/web/layouts/solidarity_transport/_partials/driver_wallet.html new file mode 100644 index 0000000..5b7251f --- /dev/null +++ b/web/layouts/solidarity_transport/_partials/driver_wallet.html @@ -0,0 +1,46 @@ +{{define "driver_wallet"}} +
+
+

Solde : {{if .ViewState.driver.Data.wallet}}{{ printf "%.2f" .ViewState.driver.Data.wallet }}{{else}}0{{end}} €

+ + +
+ +
+{{end}} \ No newline at end of file diff --git a/web/layouts/solidarity_transport/driver_display.html b/web/layouts/solidarity_transport/driver_display.html index 02bffcb..45992d2 100644 --- a/web/layouts/solidarity_transport/driver_display.html +++ b/web/layouts/solidarity_transport/driver_display.html @@ -128,7 +128,9 @@ --> - + + + @@ -145,7 +147,12 @@ class="whitespace-nowrap py-4 px-1 border-b-2 font-medium text-sm" :class="tab == 'documents' ? 'border-co-blue text-co-blue' : 'border-transparent text-gray-500 hover:text-gray-700 hover:border-gray-300'"> Documents - + + + Compte mobilité + @@ -157,6 +164,7 @@
{{template "driver_files" .}}
+
{{template "driver_wallet" .}}
{{template "driver_history" .}}
diff --git a/web/public/css/main.css b/web/public/css/main.css index 817803a..c339a31 100644 --- a/web/public/css/main.css +++ b/web/public/css/main.css @@ -701,6 +701,9 @@ .h-50 { height: calc(var(--spacing) * 50); } + .h-96 { + height: calc(var(--spacing) * 96); + } .h-full { height: 100%; } @@ -716,6 +719,12 @@ .max-h-screen { max-height: 100vh; } + .min-h-96 { + min-height: calc(var(--spacing) * 96); + } + .min-h-100 { + min-height: calc(var(--spacing) * 100); + } .min-h-full { min-height: 100%; } @@ -761,9 +770,6 @@ .w-48 { width: calc(var(--spacing) * 48); } - .w-100 { - width: calc(var(--spacing) * 100); - } .w-auto { width: auto; } @@ -803,6 +809,9 @@ .min-w-full { min-width: 100%; } + .min-w-max { + min-width: max-content; + } .min-w-screen { min-width: 100vw; } @@ -1243,6 +1252,9 @@ .gap-6 { gap: calc(var(--spacing) * 6); } + .gap-8 { + gap: calc(var(--spacing) * 8); + } .-space-y-px { :where(& > :not(:last-child)) { --tw-space-y-reverse: 0; @@ -3594,6 +3606,11 @@ grid-template-columns: repeat(1, minmax(0, 1fr)); } } + .lg\:grid-cols-2 { + @media (width >= 64rem) { + grid-template-columns: repeat(2, minmax(0, 1fr)); + } + } .lg\:grid-cols-3 { @media (width >= 64rem) { grid-template-columns: repeat(3, minmax(0, 1fr)); @@ -3672,13 +3689,6 @@ } } } - .dark\:focus-visible\:outline-indigo-500 { - @media (prefers-color-scheme: dark) { - &:focus-visible { - outline-color: var(--color-indigo-500); - } - } - } } @font-face { font-family: "Manometer";
- Covoitureurs disponibles + Covoitureurs solidaires @@ -41,7 +40,7 @@ {{ .Distance }} km + href="/app/organized-carpool/drivers/{{$driver.ID}}/journeys/{{.Id}}"> Organiser
- - {{ (index $.ViewState.drivers_map .DriverId).Data.first_name }} - {{ (index $.ViewState.drivers_map .DriverId).Data.last_name }} + + {{ (index $.ViewState.drivers_map .Driver.Id).Data.first_name }} + {{ (index $.ViewState.drivers_map .Driver.Id).Data.last_name }} - - {{ (index $.ViewState.passengers_map .PassengerId).Data.first_name }} - {{ (index $.ViewState.passengers_map .PassengerId).Data.last_name }} + + {{ (index $.ViewState.passengers_map .Passenger.Id).Data.first_name }} + {{ (index $.ViewState.passengers_map .Passenger.Id).Data.last_name }} - {{ .Journey.PassengerPickup.Properties.label }} + + {{ .PassengerPickupAddress }} + + {{ .PassengerDropAddress }} - {{ .Journey.PassengerDrop.Properties.label }} + {{ timeFormat .PassengerPickupDate.AsTime "02/01/2006 15:04" }} - {{ .Journey.PassengerPickupDate.Format "02/01/2006 15:04" }} - - {{ if eq .Status "WAITING_CONFIRMATION"}} + {{ if eq .Status.String "WAITING_DRIVER_CONFIRMATION"}} Attente confirmation - {{ else if eq .Status "VALIDATED"}} + {{ else if eq .Status.String "VALIDATED"}} Validé - {{ else if eq .Status "CANCELLED"}} + {{ else if eq .Status.String "CANCELLED"}} Annulé {{ end }}