]> git.openstreetmap.org Git - rails.git/blobdiff - app/views/layouts/map.html.erb
Merge remote-tracking branch 'upstream/pull/5179'
[rails.git] / app / views / layouts / map.html.erb
index d6ac18a66d8f884410d1cacff5fbe3b675a78206..0630dace5bc0f93e3ebbbae7e646f7a216a5cc5f 100644 (file)
@@ -4,66 +4,85 @@
 
 <% content_for(:body_class) { "map-layout" } %>
 
-<% if @user and !@user.home_lon.nil? and !@user.home_lat.nil? %>
+<% if current_user&.home_location? %>
   <% content_for :greeting do %>
     <%= link_to t("layouts.home"),
                 "#",
                 :id => "homeanchor",
-                :class => "set_position",
-                :data => { :lat => @user.home_lat,
-                           :lon => @user.home_lon,
+                :class => "set_position dropdown-item",
+                :data => { :lat => current_user.home_lat,
+                           :lon => current_user.home_lon,
                            :zoom => 15 } %>
   <% end %>
 <% end %>
 
-<% content_for :content do %>
-  <div id="sidebar">
-    <%= form_tag search_path, :id => "search_form" do %>
-      <%= submit_tag t('site.search.submit_text') %>
-      <div id='query_wrapper'>
-        <%= text_field_tag :query, params[:query],
-                           :placeholder => t('site.search.search') %>
-        <%= link_to t('site.search.where_am_i'), '#', { :id => "describe_location", :title => t('site.search.where_am_i_title') } %>
-      </div>
-    <% end %>
+<% content_for :header do %>
+  <%= render :partial => "layouts/search", :locals => { :autofocus => false } %>
+<% end %>
 
-    <div id="sidebar_content">
-      <% if STATUS == :database_offline or STATUS == :api_offline %>
-        <p class="error"><%= t 'layouts.osm_offline' %></p>
-      <% elsif STATUS == :database_readonly or STATUS == :api_readonly %>
-        <p class="error"><%= t 'layouts.osm_read_only' %></p>
-      <% end %>
+<% content_for :content do %>
+  <div id="sidebar" class="bg-body z-1">
+    <%= render :partial => "layouts/search", :locals => { :autofocus => true } %>
 
+    <div id="flash">
       <%= render :partial => "layouts/flash" %>
+    </div>
+
+    <div id="browse_status"></div>
 
+    <div id="sidebar_loader" class="my-3 text-center loader">
+      <div class="spinner-border" role="status">
+        <span class="visually-hidden"><%= t("browse.start_rjs.loading") %></span>
+      </div>
+    </div>
+
+    <div id="sidebar_content" class="p-3">
       <%= yield %>
     </div>
+
+    <% unless current_user %>
+      <div class="welcome p-3" hidden>
+        <%= render "sidebar_header", :title => t("layouts.intro_header") %>
+        <p class="fs-6 fw-light"><%= t "layouts.intro_text" %></p>
+        <p class="fs-6 fw-light"><%= t "layouts.hosting_partners_2024_html",
+                                       :fastly => link_to(t("layouts.partners_fastly"), "https://www.fastly.com/"),
+                                       :corpmembers => link_to(t("layouts.partners_corpmembers"), "https://osmfoundation.org/wiki/Corporate_Members"),
+                                       :partners => link_to(t("layouts.partners_partners"), "https://hardware.openstreetmap.org/thanks/") %>
+        </p>
+        <div class="d-flex gap-2">
+          <a class="btn btn-primary w-100 d-flex align-items-center justify-content-center" href="<%= about_path %>"><%= t("layouts.learn_more") %></a>
+          <a class="btn btn-primary w-100 d-flex align-items-center justify-content-center" href="<%= user_new_path %>"><%= t("layouts.start_mapping") %></a>
+        </div>
+      </div>
+    <% end %>
+
+    <%= render :partial => "layouts/banner" %>
   </div>
 
   <noscript>
-    <div id="noscript">
-      <p><%= t 'site.index.js_1' %></p>
-      <p><%= t 'site.index.js_2' %></p>
+    <div class="mt-5 p-3">
+      <p><%= t "site.index.js_1" %></p>
+      <p><%= t "site.index.js_2" %></p>
     </div>
   </noscript>
 
-  <div id="map-ui">
+  <div id="map-ui" class="bg-body z-2">
   </div>
 
-  <div id="map" tabindex="2">
+  <div id="map" tabindex="2" class="bg-body-secondary z-0">
   </div>
 
-  <div id="attribution">
-    <table width="100%">
+  <div id="attribution" class="d-none">
+    <table>
       <tr>
-        <td class="attribution_license"><%= t 'site.index.license.license_url' %></td>
-        <td class="attribution_project"><%= t 'site.index.license.project_url' %></td>
+        <td><%= t "site.index.license.license_url" %></td>
+        <td><%= t "site.index.license.project_url" %></td>
       </tr>
       <tr>
-        <td colspan="2" class="attribution_notice"><%= t 'site.index.license.copyright' %></td>
+        <td colspan="2" class="attribution_notice"><%= t "site.index.license.copyright" %></td>
       </tr>
     </table>
   </div>
 <% end %>
 
-<%= render :template => 'layouts/site' %>
+<%= render :template => "layouts/site" %>