1 # frozen_string_literal: true
3 module ChangesetsHelper
4 def changeset_user_link(changeset)
5 if changeset.user.status == "deleted"
6 t("users.no_such_user.deleted")
7 elsif changeset.user.data_public?
8 link_to changeset.user.display_name, changeset.user, :class => "mw-100 d-inline-block align-bottom text-truncate text-wrap", :dir => "auto"
14 def changeset_details(changeset)
15 if changeset.closed_at > Time.now.utc
17 time = time_ago_in_words(changeset.created_at, :scope => :"datetime.distance_in_words_ago")
18 title = l(changeset.created_at)
19 datetime = changeset.created_at.xmlschema
22 time = time_ago_in_words(changeset.closed_at, :scope => :"datetime.distance_in_words_ago")
23 title = safe_join([t("changesets.show.created", :when => l(changeset.created_at)), " ".html_safe, t("changesets.show.closed", :when => l(changeset.closed_at))])
24 datetime = changeset.closed_at.xmlschema
27 if params.key?(:display_name)
28 t "changesets.show.#{action}_ago_html", :time_ago => tag.time(time, :title => title, :datetime => datetime)
30 t "changesets.show.#{action}_ago_by_html", :time_ago => tag.time(time, :title => title, :datetime => datetime),
31 :user => changeset_user_link(changeset)
35 def changeset_index_title(params, user)
36 if params[:friends] && user
37 t "changesets.index.title_followed"
38 elsif params[:nearby] && user
39 t "changesets.index.title_nearby"
40 elsif params[:display_name]
41 t "changesets.index.title_user", :user => params[:display_name]
43 t "changesets.index.title"
47 def changeset_data(changeset)
48 changeset_data = { :id => changeset.id }
50 if changeset.bbox_valid?
51 bbox = changeset.bbox.to_unscaled
52 changeset_data[:bbox] = {
53 :minlon => bbox.min_lon,
54 :minlat => bbox.min_lat,
55 :maxlon => bbox.max_lon,
56 :maxlat => bbox.max_lat