<% 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 :header do %>
- <%= render :partial => "layouts/search" %>
+ <%= render :partial => "layouts/search", :locals => { :autofocus => false } %>
<% end %>
<% content_for :content do %>
- <div id="sidebar">
- <%= render :partial => "layouts/search" %>
+ <div id="sidebar" class="bg-body z-1">
+ <%= render :partial => "layouts/search", :locals => { :autofocus => true } %>
- <% 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 %>
+ <div id="flash">
+ <%= render :partial => "layouts/flash" %>
+ </div>
<div id="browse_status"></div>
- <div id="sidebar_loader" style="display: none;">
- <img alt="<%= t('browse.start_rjs.loading') %>" class="loader" src="<%= image_path("searching.gif") %>">
+ <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">
- <%= render :partial => "layouts/flash" %>
+ <div id="sidebar_content" class="p-3">
<%= yield %>
</div>
- <% unless @user %>
- <div class="welcome">
- <h2><%= t 'layouts.intro_header' %></h2>
- <p><%= t 'layouts.intro_text' %></p>
- <a class="button learn-more" href="<%= about_path %>"><%= t('layouts.learn_more') %></a>
- <a class="button sign-up" href="<%= user_new_path %>"><%= t('layouts.sign_up') %></a>
+ <% 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="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" %>