1 <% search_query = if params[:query]
3 elsif params[:lat] && params[:lon]
4 "#{params[:lat]}, #{params[:lon]}"
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") %>
15 <%= button_tag :class => "btn btn-primary p-1", :title => t("site.search.submit_text") do %>
16 <%= inline_svg_tag "search/magnifying_glass.svg" %>
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" %>
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}") %>
37 <%= options = %w[graphhopper fossgis_osrm fossgis_valhalla].map do |engine|
38 [t("site.search.providers.#{engine}"), engine, { :disabled => true }]
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>
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)" />
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" %>
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)" />
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" %>
69 <%= button_tag inline_svg_tag("search/reverse_directions.svg", :class => "d-block"),
71 :class => "reverse_directions btn btn-outline-secondary border-0 p-1",
72 :title => t("site.search.reverse_directions_text") %>