]> git.openstreetmap.org Git - rails.git/blobdiff - app/views/layouts/site.html.erb
Merge pull request #5362 from AntonKhorev/color-mode-preference-map
[rails.git] / app / views / layouts / site.html.erb
index 4c12bfe141d0ff589187ae3f05a719b6ea3b1506..f02f024a57a69e84905c76122f1b16ff053e8f20 100644 (file)
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<%= I18n.locale %>" lang="<%= I18n.locale %>" dir="<%= t'html.dir' %>">
+<!DOCTYPE html>
+<%= tag.html :lang => I18n.locale,
+             :dir => dir,
+             :data => { :bs_theme => (preferred_color_scheme(:site) if preferred_color_scheme(:site) != "auto") } do %>
   <%= render :partial => "layouts/head" %>
   <%= render :partial => "layouts/head" %>
-  <body class="<%= params[:controller] %>">
-    <div id="small-title">
-      <%= link_to(image_tag("osm_logo.png", :size => "16x16", :border => 0, :alt => t('layouts.logo.alt_text')), :controller => 'site', :action => 'index') %>
-      <h1><%= t 'layouts.project_name.h1' %></h1>
-    </div>
-    <div id="content" class="<%= params[:controller] %>_<%= params[:action] %>">
-      <%= render :partial => "layouts/flash", :locals => { :flash => flash } %>
-
-      <%= yield %>
-    </div>
-
-    <div id='top-bar'>
-      <span id="greeting">
-         <% if @user and @user.id %>
-           <span id="full-greeting"><%= raw(t 'layouts.welcome_user', :user_link => (link_to h(@user.display_name), {:controller => 'user', :action => 'view', :display_name => @user.display_name}, :title => t('layouts.welcome_user_link_tooltip'))) %></span> 
-           <span id="small-greeting"><%= link_to t('layouts.welcome_user_link_tooltip'), {:controller => 'user', :action => 'view', :display_name => @user.display_name} %></span> | 
-           <%= yield :greeting %>
-           <%= render :partial => "layouts/inbox" %> |
-           <%= link_to t('layouts.logout'), {:controller => 'user', :action => 'logout', :session => request.session_options[:id], :referer => request.fullpath}, {:id => 'logoutanchor', :title => t('layouts.logout_tooltip')}%>
-         <% else %>
-           <%= link_to t('layouts.log_in'), {:controller => 'user', :action => 'login', :referer => request.fullpath}, {:id => 'loginanchor', :title => t('layouts.log_in_tooltip')} %> |
-           <%= link_to t('layouts.sign_up'), {:controller => 'user', :action => 'new'}, {:id => 'registeranchor', :title => t('layouts.sign_up_tooltip')} %>
-         <% end %>
-      </span>
-      <ul id="tabnav">
-        <%
-        viewclass = 'geolink llz layers'
-        editclass = 'geolink llz object minzoom13 disabled'
-        historyclass = 'geolink bbox minzoom11'
-        exportclass = 'geolink llz layers'
-        traceclass = ''
-        viewclass += ' active' if params['controller'] == 'site' and params['action'] == 'index' 
-        editclass += ' active' if params['controller'] == 'site' and params['action'] == 'edit' 
-        historyclass += ' active' if params['controller'] == 'changeset' and params['action'] == 'list' 
-        exportclass += ' active' if params['controller'] == 'site' and params['action'] == 'export'
-        traceclass += ' active' if params['controller'] == 'trace'
-        %>
-        <li><%= link_to t('layouts.view'), {:controller => 'site', :action => 'index'}, {:id => 'viewanchor', :title => t('layouts.view_tooltip'), :class => viewclass} %></li>
-        <li><%= link_to h(t('layouts.edit')) + '&nbsp;&#x25be;'.html_safe, {:controller => 'site', :action => 'edit'}, {:id => 'editanchor', :title => t('javascripts.site.edit_tooltip'), :class => editclass} %></li>
-        <li><%= link_to t('layouts.history'), {:controller => 'changeset', :action => 'list' }, {:id => 'historyanchor', :title => t('javascripts.site.history_tooltip'), :class => historyclass} %></li>
-        <li><%= link_to t('layouts.export'), {:controller => 'site', :action => 'export'}, {:id => 'exportanchor', :title => t('layouts.export_tooltip'), :class => exportclass} %></li>
-        <li><%= link_to t('layouts.gps_traces'), {:controller => 'trace', :action => 'list', :display_name => nil, :tag => nil, :page => nil}, {:id => 'traceanchor', :title => t('layouts.gps_traces_tooltip'), :class => traceclass} %></li>
-      </ul>
-    </div>
-
-    <div id="editmenu" class="menu">
-      <ul>
-        <% Editors::ALL_EDITORS.each do |editor| %>
-          <li><%= link_to t('layouts.edit_with', :editor => t("editor.#{editor}.description")), {:controller => 'site', :action => 'edit', :editor => editor}, {:id => editor + 'anchor', :class => "geolink llz object"} %></li>
-        <% end %>
-      </ul>
-    </div>
-
-    <script type="text/javascript">
-      createMenu("editanchor", "editmenu", 1000, "left");
-    </script>
-
-    <div id="left">
-      <div id="logo">
-        <%= link_to(image_tag("osm_logo.png", :size => "120x120", :border => 0, :alt => t('layouts.logo.alt_text')), :controller => 'site', :action => 'index') %><br/>
-        <h1><%= t 'layouts.project_name.h1' %></h1>
-        <h2 class="nowrap"><%= t('layouts.tag_line') %></h2>
-      </div>
-
-      <%= yield :optionals %>
-
-      <% unless @user %>
-      <div class="sidebar-copy">
-        <p>
-          <%= t 'layouts.intro_1' %>
-        </p>
-        <p>
-        <%= t 'layouts.intro_2_html',
-                :download => link_to(t('layouts.intro_2_download'), "http://planet.openstreetmap.org/"),
-                :use => link_to(t('layouts.intro_2_use'), t('layouts.intro_2_use_url')),
-                :license => link_to(t('layouts.intro_2_license'),
-                                   url_for({:controller => 'site', :action => 'copyright'})),
-                :create_account => link_to(t('layouts.intro_2_create_account'),
-                                   url_for({:controller => 'user', :action => 'new'}))
-        %>
-        </p>
-      </div>
-      <% end %>
-
-      <% if STATUS == :database_offline or STATUS == :api_offline %>
-      <div id="alert">
-        <%= t 'layouts.osm_offline' %>
-      </div>
-      <% elsif STATUS == :database_readonly or STATUS == :api_readonly %>
-      <div id="alert">
-        <%= t 'layouts.osm_read_only' %>
-      </div>
-      <% end %>
-
-      <% if false %>
-      <div id="donate" class="notice">
-        <%= raw t 'layouts.donate', :link => "<a href=\"http://donate.openstreetmap.org/\">#{t('layouts.donate_link_text')}</a>" %>
-      </div>
-      <% end %>
-
-      <div id="left_menu" class="left_menu">
-        <ul>
-          <%= yield :left_menu %>
-          <li><%= t'layouts.help' %>
-              <ul>
-              <li><%= link_to(t('layouts.help_centre'), t('layouts.help_url'), :title => t('layouts.help_title')) %></li>
-              <li><%= link_to(t('layouts.documentation'), t('layouts.wiki_url'), :title => t('layouts.documentation_title')) %></li>
-              <li><%= link_to t('layouts.copyright'), {:controller => 'site', :action => 'copyright'} %></li>
-              </ul>
-          </li>
-          <li><%= t'layouts.community' %>
-              <ul>
-              <li><a href="http://blogs.openstreetmap.org/" title="<%= t 'layouts.community_blogs_title' %>"><%= t 'layouts.community_blogs' %></a></li>
-              <li><a href="http://www.osmfoundation.org" title="<%= t 'layouts.foundation_title' %>"><%= t 'layouts.foundation' %></a></li>
-              <li><%= link_to(t('layouts.user_diaries'), {
-                  :controller => 'diary_entry',
-                  :action => 'list',
-                  :display_name => nil
-              }, {
-                  :title => t('layouts.user_diaries_tooltip')
-              }) %></li>
-              </ul>
-          </li>
-        </ul>
-      </div>
-
-      <div class="donate">
-        <a href="http://donate.openstreetmap.org/" title="<%= h(t('layouts.make_a_donation.title')) %>"><%= h(t('layouts.make_a_donation.text')) %></a>
-      </div>
-      <div class='sidebar-copy'>
-          <p><%= t 'layouts.partners_html',
-              :ucl => link_to(t('layouts.partners_ucl'), "http://www.vr.ucl.ac.uk"),
-              :ic => link_to(t('layouts.partners_ic'), "http://www.imperial.ac.uk/"),
-              :bytemark => link_to(t('layouts.partners_bytemark'), "http://www.bytemark.co.uk"),
-              :partners => link_to(t('layouts.partners_partners'), t('layouts.partners_url')) %>
-          </p>
-      </div>
-
-    <script type="text/javascript">
-    $(document).ready(function () {
-      var auth_token = $("meta[name=csrf-token]").attr("content");
-
-      $("form input[name=authenticity_token]").val(auth_token);
-    });
-    </script>
-
-    <% if defined?(PIWIK_LOCATION) and defined?(PIWIK_SITE) -%>
-    <%= render :partial => "layouts/piwik" %>
+  <%= tag.body :class => body_class,
+               :data => { :map_theme => (preferred_color_scheme(:map) if preferred_color_scheme(:map) != "auto") } do %>
+    <%= render :partial => "layouts/header" %>
+    <%= render :partial => "layouts/content" %>
+    <% if defined?(Settings.matomo) -%>
+    <noscript><p><img src="<%= request.protocol %><%= Settings.matomo["location"] %>/matomo.php?idsite=<%= Settings.matomo["site"] %>" class="matomo" alt="" /></p></noscript>
     <% end -%>
     <% end -%>
-  </body>
-</html>
+  <% end %>
+<% end %>