]> git.openstreetmap.org Git - rails.git/blob - app/views/layouts/_search.html.erb
Merge remote-tracking branch 'upstream/pull/6285'
[rails.git] / app / views / layouts / _search.html.erb
1 <% search_query = if params[:query]
2                     params[:query]
3                   elsif params[:lat] && params[:lon]
4                     "#{params[:lat]}, #{params[:lon]}"
5                   end %>
6
7 <%= tag.div :class => ["search_forms", *extra_classes] do %>
8   <form method="GET" action="<%= search_path %>" class="search_form bg-body-secondary p-2">
9     <div class="d-flex gap-2">
10       <div class="input-group flex-nowrap">
11         <%= text_field_tag "query", search_query, :placeholder => t("site.search.search"), :autofocus => autofocus, :autocomplete => "on", :class => "form-control z-0 py-1 px-2", :dir => "auto" %>
12         <div class="input-group-text border-start-0 p-0 position-relative">
13           <%= button_tag t("site.search.where_am_i"), :type => "button", :class => "describe_location position-absolute end-0 m-1 btn btn-outline-primary border-0 p-1 text-primary link-body-emphasis link-opacity-100-hover", :title => t("site.search.where_am_i_title") %>
14         </div>
15         <%= button_tag :class => "btn btn-primary p-1", :title => t("site.search.submit_text") do %>
16           <%= inline_svg_tag "search/magnifying_glass.svg" %>
17         <% end %>
18       </div>
19       <%= link_to directions_path, :class => "btn btn-primary p-1 switch_link", :title => t("site.search.get_directions_title") do %>
20         <%= inline_svg_tag "search/directions.svg", :class => "align-bottom" %>
21       <% end %>
22     </div>
23   </form>
24
25   <form method="GET" action="<%= directions_path %>" class="directions_form bg-body-secondary p-2">
26     <div class="d-flex flex-column gap-2">
27       <div class="d-flex gap-2 align-items-center">
28         <div class="btn-group routing_modes" role="group">
29           <% %w[car bicycle foot].each do |mode| %>
30             <%= radio_button_tag "modes", mode, false, { :class => "btn-check", :autocomplete => "off", :disabled => true } %>
31             <%= label_tag "modes_#{mode}",
32                           inline_svg_tag("search/#{mode}.svg", :class => "d-block"),
33                           :class => "btn btn-outline-secondary px-2",
34                           :title => t("site.search.modes.#{mode}") %>
35           <% end %>
36         </div>
37         <%= options = %w[graphhopper fossgis_osrm fossgis_valhalla].map do |engine|
38               [t("site.search.providers.#{engine}"), engine, { :disabled => true }]
39             end
40             select_tag "routing_engines",
41                        grouped_options_for_select({ t("site.search.providers.description") => options }),
42                        :class => "form-select py-1 px-2",
43                        :title => t("site.search.providers.description") %>
44         <button type="button" class="btn-close flex-shrink-0 p-2 rounded-5" aria-label="<%= t("javascripts.close") %>"></button>
45       </div>
46       <div class="d-flex gap-2 align-items-center">
47         <div class="d-flex flex-column gap-1 flex-grow-1">
48           <div class="d-flex align-items-center">
49             <div class="routing_marker_column position-absolute">
50               <span data-type="from" draggable="true">
51                 <svg viewBox="0 0 25 40">
52                   <use href="#pin-play" color="var(--marker-green)" />
53                 </svg>
54               </span>
55             </div>
56             <%= text_field_tag "route_from", params[:from], :placeholder => t("site.search.from"), :autocomplete => "on", :class => "form-control py-1 px-2 ps-4", :dir => "auto" %>
57           </div>
58           <div class="d-flex align-items-center">
59             <div class="routing_marker_column position-absolute">
60               <span data-type="to" draggable="true">
61                 <svg viewBox="0 0 25 40">
62                   <use href="#pin-stop" color="var(--marker-red)" />
63                 </svg>
64               </span>
65             </div>
66             <%= text_field_tag "route_to", params[:to], :placeholder => t("site.search.to"), :autocomplete => "on", :class => "form-control py-1 px-2 ps-4", :dir => "auto" %>
67           </div>
68         </div>
69         <%= button_tag inline_svg_tag("search/reverse_directions.svg", :class => "d-block"),
70                        :type => "button",
71                        :class => "reverse_directions btn btn-outline-secondary border-0 p-1",
72                        :title => t("site.search.reverse_directions_text") %>
73       </div>
74     </div>
75   </form>
76 <% end %>