package renderer import ( "net/http" mobilityaccountsstorage "git.coopgo.io/coopgo-platform/mobility-accounts/storage" ) const solidarityTransportMenu = "solidarity_transport" func (renderer *Renderer) SolidarityTransportOverview(w http.ResponseWriter, r *http.Request, drivers any, driversMap any, passengersMap any, bookings any, bookingsHistory any, filters any, hist_filters any, tab string) { files := renderer.ThemeConfig.GetStringSlice("views.solidarity_transport.overview.files") state := NewState(r, renderer.ThemeConfig, solidarityTransportMenu) state.ViewState = map[string]any{ "drivers": drivers, "drivers_map": driversMap, "passengers_map": passengersMap, "bookings": bookings, "bookings_history": bookingsHistory, "filters": filters, "hist_filters": hist_filters, "tab": tab, } renderer.Render("solidarity transport overview", w, r, files, state) } func (renderer *Renderer) SolidarityTransportCreateDriver(w http.ResponseWriter, r *http.Request) { files := renderer.ThemeConfig.GetStringSlice("views.solidarity_transport.driver_create.files") profileFields := renderer.GlobalConfig.Get("modules.solidarity_transport.drivers.profile_optional_fields") state := NewState(r, renderer.ThemeConfig, solidarityTransportMenu) state.ViewState = map[string]any{ "profile_optional_fields": profileFields, } renderer.Render("solidarity transport driver creation", w, r, files, state) } func (renderer *Renderer) SolidarityTransportUpdateDriver(w http.ResponseWriter, r *http.Request, driver any) { files := renderer.ThemeConfig.GetStringSlice("views.solidarity_transport.driver_update.files") profileFields := renderer.GlobalConfig.Get("modules.solidarity_transport.drivers.profile_optional_fields") state := NewState(r, renderer.ThemeConfig, solidarityTransportMenu) state.ViewState = map[string]any{ "driver": driver, "profile_optional_fields": profileFields, } renderer.Render("solidarity transport driver update", w, r, files, state) } func (renderer *Renderer) SolidarityTransportDriverDisplay(w http.ResponseWriter, r *http.Request, driver mobilityaccountsstorage.Account, availabilities any, documents any, bookings any, stats map[string]any, walletBalance float64) { files := renderer.ThemeConfig.GetStringSlice("views.solidarity_transport.driver_display.files") profileFields := renderer.GlobalConfig.Get("modules.solidarity_transport.drivers.profile_optional_fields") state := NewState(r, renderer.ThemeConfig, solidarityTransportMenu) drivers_file_types := renderer.GlobalConfig.GetStringSlice("modules.solidarity_transport.drivers.documents_types") file_types_map := renderer.GlobalConfig.GetStringMapString("storage.files.file_types") state.ViewState = map[string]any{ "driver": driver, "availabilities": availabilities, "bookings": bookings, "documents": documents, "drivers_file_types": drivers_file_types, "file_types_map": file_types_map, "stats": stats, "profile_optional_fields": profileFields, "wallet_balance": walletBalance, } renderer.Render("solidarity transport driver creation", w, r, files, state) } func (renderer *Renderer) SolidarityTransportDriverJourney(w http.ResponseWriter, r *http.Request, driverJourney any, driver any, passenger any, beneficiaries any, passengerWalletBalance float64) { files := renderer.ThemeConfig.GetStringSlice("views.solidarity_transport.driver_journey.files") state := NewState(r, renderer.ThemeConfig, solidarityTransportMenu) state.ViewState = map[string]any{ "driver": driver, "passenger": passenger, "beneficiaries": beneficiaries, "driver_journey": driverJourney, "config": renderer.GlobalConfig, "passenger_wallet_balance": passengerWalletBalance, } renderer.Render("solidarity transport driver creation", w, r, files, state) } func (renderer *Renderer) SolidarityTransportBookingDisplay(w http.ResponseWriter, r *http.Request, booking any, driver any, passenger any, passengerWalletBalance float64) { files := renderer.ThemeConfig.GetStringSlice("views.solidarity_transport.booking_display.files") state := NewState(r, renderer.ThemeConfig, solidarityTransportMenu) state.ViewState = map[string]any{ "driver": driver, "passenger": passenger, "booking": booking, "passenger_wallet_balance": passengerWalletBalance, } renderer.Render("booking display", w, r, files, state) }