mirror of
https://github.com/Freika/dawarich.git
synced 2026-01-11 09:41:40 -05:00
Update distance unit in trip page
This commit is contained in:
parent
1b0de3e3af
commit
6defd4d8d0
5 changed files with 15 additions and 15 deletions
|
|
@ -17,7 +17,7 @@ class TripsController < ApplicationController
|
|||
@photo_sources = @trip.photo_sources
|
||||
|
||||
if @trip.path.blank? || @trip.distance.blank? || @trip.visited_countries.blank?
|
||||
Trips::CalculateAllJob.perform_later(@trip.id)
|
||||
Trips::CalculateAllJob.perform_later(@trip.id, current_user.safe_settings.distance_unit)
|
||||
end
|
||||
end
|
||||
|
||||
|
|
|
|||
|
|
@ -3,9 +3,9 @@
|
|||
class Trips::CalculateAllJob < ApplicationJob
|
||||
queue_as :default
|
||||
|
||||
def perform(trip_id)
|
||||
def perform(trip_id, distance_unit = 'km')
|
||||
Trips::CalculatePathJob.perform_later(trip_id)
|
||||
Trips::CalculateDistanceJob.perform_later(trip_id)
|
||||
Trips::CalculateCountriesJob.perform_later(trip_id)
|
||||
Trips::CalculateDistanceJob.perform_later(trip_id, distance_unit)
|
||||
Trips::CalculateCountriesJob.perform_later(trip_id, distance_unit)
|
||||
end
|
||||
end
|
||||
|
|
|
|||
|
|
@ -3,23 +3,23 @@
|
|||
class Trips::CalculateCountriesJob < ApplicationJob
|
||||
queue_as :default
|
||||
|
||||
def perform(trip_id)
|
||||
def perform(trip_id, distance_unit)
|
||||
trip = Trip.find(trip_id)
|
||||
|
||||
trip.calculate_countries
|
||||
trip.save!
|
||||
|
||||
broadcast_update(trip)
|
||||
broadcast_update(trip, distance_unit)
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def broadcast_update(trip)
|
||||
def broadcast_update(trip, distance_unit)
|
||||
Turbo::StreamsChannel.broadcast_update_to(
|
||||
"trip_#{trip.id}",
|
||||
target: "trip_countries",
|
||||
partial: "trips/countries",
|
||||
locals: { trip: trip }
|
||||
locals: { trip: trip, distance_unit: distance_unit }
|
||||
)
|
||||
end
|
||||
end
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@ class Trip < ApplicationRecord
|
|||
after_update :enqueue_calculation_jobs, if: -> { saved_change_to_started_at? || saved_change_to_ended_at? }
|
||||
|
||||
def enqueue_calculation_jobs
|
||||
Trips::CalculateAllJob.perform_later(id)
|
||||
Trips::CalculateAllJob.perform_later(id, user.safe_settings.distance_unit)
|
||||
end
|
||||
|
||||
def points
|
||||
|
|
|
|||
|
|
@ -2,23 +2,23 @@
|
|||
<div class="card bg-base-200 shadow-lg">
|
||||
<div class="card-body p-4">
|
||||
<div class="stat-title text-xs">Distance</div>
|
||||
<div class="stat-value text-lg"><%= @trip.distance %> <%= current_user.safe_settings.distance_unit %></div>
|
||||
<div class="stat-value text-lg"><%= trip.distance %> <%= distance_unit %></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card bg-base-200 shadow-lg">
|
||||
<div class="card-body p-4">
|
||||
<div class="stat-title text-xs">Duration</div>
|
||||
<div class="stat-value text-lg"><%= trip_duration(@trip) %></div>
|
||||
<div class="stat-value text-lg"><%= trip_duration(trip) %></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card bg-base-200 shadow-lg">
|
||||
<div class="card-body p-4">
|
||||
<div class="stat-title text-xs">Countries</div>
|
||||
<div class="stat-value text-lg">
|
||||
<% if @trip.countries.any? %>
|
||||
<%= @trip.countries.join(', ') %>
|
||||
<% elsif @trip.visited_countries.present? %>
|
||||
<%= @trip.visited_countries.join(', ') %>
|
||||
<% if trip.countries.any? %>
|
||||
<%= trip.countries.join(', ') %>
|
||||
<% elsif trip.visited_countries.present? %>
|
||||
<%= trip.visited_countries.join(', ') %>
|
||||
<% else %>
|
||||
<span>Countries are being calculated...</span>
|
||||
<span class="loading loading-dots loading-sm"></span>
|
||||
|
|
|
|||
Loading…
Reference in a new issue