]> git.openstreetmap.org Git - rails.git/blobdiff - app/views/layouts/site.html.erb
starting to cleanup+style map controls.
[rails.git] / app / views / layouts / site.html.erb
index 4ee763d4308e2a0e5f4b68ac2a9307f051aa16ec..0ba203fde18a1c0e4b0c9b31a551a51ebdd11ca9 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' %>">
-  <head>
-    <meta name="viewport" content="width=device-width, minimum-scale=1.0, maximum-scale=1.0"/>
-    <%= javascript_strings %>
-    <%= javascript_include_tag 'prototype' %>
-    <%= javascript_include_tag 'site' %>
-    <%= javascript_include_tag 'menu' %>
-    <!--[if lt IE 7]><%= javascript_include_tag 'pngfix' %><![endif]--> <!-- thanks, microsoft! -->
-    <%= stylesheet_link_tag 'common' %>
-    <!--[if IE]><%= stylesheet_link_tag 'large', :media => "screen" %><![endif]--> <!-- IE is totally broken with CSS media queries -->
-    <%= stylesheet_link_tag 'small', :media => "only screen and (max-width: 481px)" %>
-    <%= stylesheet_link_tag 'large', :media => "screen and (min-width: 482px)" %> 
-    <%= stylesheet_link_tag 'print', :media => "print" %>
-    <%= tag("link", { :rel => "search", :type => "application/opensearchdescription+xml", :title => "OpenStreetMap Search", :href => "/opensearch/osm.xml" }) %>
-    <%= tag("meta", { :name => "description", :content => "OpenStreetMap is the free wiki world map." }) %>
-    <%= style_rules %>
-    <%= yield :head %>
-    <title><%= t 'layouts.project_name.title' %><%= ' | '+ h(@title) if @title %></title>
-  </head>
-  <body>
-    <div id="content">
-      <% if flash[:error] %>
-        <div id="error"><%= flash[:error] %></div>
-      <% end %>
-      <% if flash[:warning] %>
-        <div id="warning"><%= flash[:warning] %></div>
-      <% end %>
-      <% if flash[:notice] %>
-        <div id="notice"><%= flash[:notice] %></div>
-      <% end %>
-
-      <%= yield %>
-    </div>
-
-    <span id="greeting">
-      <% if @user and @user.id %>
-        <span id="full-greeting"><%= 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.request_uri}, {:id => 'logoutanchor', :title => t('layouts.logout_tooltip'), :method => :post, :href => url_for(:controller => 'user', :action => 'logout', :referer => request.request_uri)}%>
-      <% else %>
-        <%= link_to t('layouts.log_in'), {:controller => 'user', :action => 'login', :referer => request.request_uri}, {: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>
-
-    <div>
-      <ul id="tabnav">
-        <%
-        viewclass = ''
-        editclass = ''
-        historyclass = ''
-        exportclass = ''
-        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'
-        diaryclass = 'active' if params['controller'] == 'diary_entry'
-        %>
-        <li><%= link_to t('layouts.view'), {:controller => 'site', :action => 'index'}, {:id => 'viewanchor', :title => t('layouts.view_tooltip'), :class => viewclass} %></li>
-        <li><%= link_to t('layouts.edit'), {: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>
-        <% if params['controller'] == 'site' and (params['action'] == 'index' or params['action'] == 'export') %>
-        <li><%= link_to_remote t('layouts.export'), {:url => {:controller => 'export', :action => 'start'}}, {:id => 'exportanchor', :title => t('layouts.export_tooltip'), :class => exportclass, :href => url_for(:controller => 'site', :action => 'export')} %></li>
-        <% else %>
-        <li><%= link_to t('layouts.export'), {:controller => 'site', :action => 'export'}, {:id => 'exportanchor', :title => t('layouts.export_tooltip'), :class => exportclass} %></li>
-        <% end %>
-        <li><%= link_to t('layouts.gps_traces'), {:controller => 'trace', :action => 'list', :display_name => nil}, {:id => 'traceanchor', :title => t('layouts.gps_traces_tooltip'), :class => traceclass} %></li>
-        <li><%= link_to t('layouts.user_diaries'), {:controller => 'diary_entry', :action => 'list', :display_name => nil}, {:id => 'diaryanchor', :title => t('layouts.user_diaries_tooltip'), :class => diaryclass} %></li>
-      </ul>
-    </div>
-
-    <div id="editmenu">
-      <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'} %></li>
-        <% end %>
-      </ul>
+<!DOCTYPE html>
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<%= I18n.locale %>" lang="<%= I18n.locale %>" dir="<%= dir %>">
+  <%= render :partial => "layouts/head" %>
+  <body class="<%= params[:controller] %> <%= params[:controller] %>-<%= params[:action] %>">
+    <div id="small-title">
+      <%= link_to(image_tag("osm_logo.png", :size => "16x16", :alt => t('layouts.logo.alt_text')), root_path) %>
+      <h1><%= t 'layouts.project_name.h1' %></h1>
     </div>
     </div>
-
-    <script type="text/javascript">
-      createMenu("editanchor", "editmenu", 1000);
-    </script>
-
-    <div id="left">
-
+        <div id="left">
       <div id="logo">
       <div id="logo">
-        <center>
-          <h1><%= t 'layouts.project_name.h1' %></h1>
-          <%= link_to(image_tag("osm_logo.png", :size => "120x120", :border => 0, :alt => t('layouts.logo.alt_text')), :controller => 'site', :action => 'index') %><br/>
-          <h2 class="nowrap"><%= t('layouts.tag_line') %></h2>
-        </center>
+        <%= link_to(image_tag("osm_logo.png",
+          :size => "120x120",
+          :alt => t('layouts.logo.alt_text')),
+          root_path) %>
+        <h1><%= t 'layouts.project_name.h1' %></h1>
+        <h2><%= t('layouts.tag_line') %></h2>
       </div>
       </div>
-
+      <%= yield :optionals %>
       <% unless @user %>
       <% unless @user %>
-      <div id="intro">
-        <p>
-          <%= t 'layouts.intro_1' %>
-        </p>
+      <div class="sidebar-copy intro">
+        <p><%= t 'layouts.intro_1' %></p>
         <p>
         <p>
-          <%= t 'layouts.intro_2' %>
-        </p>
-        <p>
-        <%= t 'layouts.intro_3', 
-              :ucl => link_to(t('layouts.intro_3_ucl'), "http://www.vr.ucl.ac.uk"), 
-              :bytemark => link_to(t('layouts.intro_3_bytemark'), "http://www.bytemark.co.uk"),
-              :partners => link_to(t('layouts.intro_3_partners'), t('layouts.intro_3_partners_url')) %>
+        <%= 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'), copyright_path),
+          :create_account => link_to(t('layouts.intro_2_create_account'), user_new_path)
+        %>
         </p>
       </div>
       <% end %>
         </p>
       </div>
       <% end %>
-
       <% if STATUS == :database_offline or STATUS == :api_offline %>
       <% if STATUS == :database_offline or STATUS == :api_offline %>
-      <div id="alert">
-        <%= t 'layouts.osm_offline' %>
+      <div class="sidebar-alert">
+        <p><%= t 'layouts.osm_offline' %></p>
       </div>
       <% elsif STATUS == :database_readonly or STATUS == :api_readonly %>
       </div>
       <% elsif STATUS == :database_readonly or STATUS == :api_readonly %>
-      <div id="alert">
-        <%= t 'layouts.osm_read_only' %>
+      <div class="sidebar-alert">
+        <p><%= t 'layouts.osm_read_only' %></p>
       </div>
       <% end %>
       </div>
       <% end %>
+      <ul id="left_menu" class="left_menu">
+        <li>
+          <h4><%= t'layouts.help' %></h4>
+          <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'), copyright_path %></li>
+          </ul>
+        </li>
+        <li>
+          <h4><%= t'layouts.community' %></h4>
+          <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'), diary_path, {
+              :title => t('layouts.user_diaries_tooltip')
+            }) %></li>
+          </ul>
+        </li>
+        <li>
+          <h4><%= link_to t('layouts.gps_traces'), traces_path, {
+            :id => 'traceanchor',
+            :title => t('layouts.gps_traces_tooltip')
+          } %></h4>
+        </li>
+        <%= yield :left_menu %>
+      </ul>
+      <div class='ad-container inner11'>
+        <div class='ads'>
+          <%= ad = [{:image => 'sotm-birmingham-ad.png',
+                     :title => 'State of the Map Birmingham',
+                     :href =>'http://stateofthemap.org/'},
+                    {:image => 'donate-ad.png',
+                     :title => 'Server Donation Drive',
+                     :href =>'http://donate.openstreetmap.org/'}].sample
 
 
-      <% if false %>
-      <div id="donate" class="notice">
-        <%= t 'layouts.donate', :link => "<a href=\"http://donate.openstreetmap.org/\">#{t('layouts.donate_link_text')}</a>" %>
+              link_to ad[:href], :title => ad[:title] do
+                image_tag ad[:image], :class => :ad
+              end
+          %>
+        </div>
+      </div>
+      <a title="<%= h(t('layouts.make_a_donation.title')) %>" href="http://donate.openstreetmap.org/" class="donate">
+        <span class='icon donate'></span>
+        <span><%= h(t('layouts.make_a_donation.text')) %></span>
+      </a>
+      <div class='sidebar-copy'>
+        <p class='deemphasize'><%= 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>
+    </div>
+    <div id='top-bar'>
+      <ul class='secondary-actions' id="greeting">
+         <% if @user and @user.id %>
+           <li id="full-greeting"><%=link_to h(@user.display_name), user_path(:display_name => @user.display_name), :title => t('layouts.welcome_user_link_tooltip') %></li>
+           <li><%= yield :greeting %></li>
+           <li><%= render :partial => "layouts/inbox" %></li>
+           <li><%= link_to t('layouts.logout'), logout_path(:session => request.session_options[:id], :referer => request.fullpath), {:id => 'logoutanchor', :title => t('layouts.logout_tooltip')}%></li>
+         <% else %>
+           <li><%= link_to t('layouts.log_in'), login_path(:referer => request.fullpath), {:id => 'loginanchor', :title => t('layouts.log_in_tooltip')} %></li>
+           <li><%= link_to t('layouts.sign_up'), user_new_path, {:id => 'registeranchor', :title => t('layouts.sign_up_tooltip')} %></li>
+         <% end %>
+      </ul>
+      <ul id="tabnav">
+        <li><%= link_to t('layouts.view'), root_path, {
+          :id => 'viewanchor',
+          :title => t('layouts.view_tooltip'),
+          :class => 'geolink llz layers'
+        } %></li>
+        <li><%= link_to h(t('layouts.edit')) + content_tag(:span, "▼", :class => "menuicon"), edit_path, {
+          :id => 'editanchor',
+          :title => t('javascripts.site.edit_tooltip'),
+          :data => { :minzoom => 13, :editor => preferred_editor },
+          :class => 'geolink llz object disabled'
+        } %></li>
+        <li><%= link_to t('layouts.history'), browse_changesets_path, {
+          :id => 'historyanchor',
+          :data => { :minzoom => 11 },
+          :title => t('javascripts.site.history_tooltip'),
+          :class => 'geolink bbox'
+        } %></li>
+        <li><%= link_to t('layouts.export'), export_path, {
+          :id => 'exportanchor',
+          :title => t('layouts.export_tooltip'),
+          :data => { :url => url_for(:controller => :export, :action => :start) },
+          :class => 'geolink llz layers'
+        } %></li>
+      </ul>
+    </div>
+    <div id="editmenu" class="menu">
+      <ul>
+        <% Editors::RECOMMENDED_EDITORS.each do |editor| %>
+          <li><%= link_to t('layouts.edit_with',
+            :editor => t("editor.#{editor}.description")),
+            edit_path(:editor => editor), {
+            :data => { :editor => editor },
+            :class => "geolink llz object"
+          } %></li>
+        <% end %>
+        <%= yield :editmenu %>
+      </ul>
+    </div>
+    <script type="text/javascript">
+      createMenu("editanchor", "editmenu", "left");
+    </script>
+    <div class="wrapper">
+      <%= render :partial => "layouts/flash", :locals => { :flash => flash } %>
+      <% if content_for? :heading %>
+      <div class="content-heading">
+        <%= yield :heading %>
       </div>
       <% end %>
       </div>
       <% end %>
-
-      <div id="left_menu" class="left_menu">
-        <ul>
-          <li><%= t 'layouts.help_and_wiki',
-              :help => link_to(t('layouts.help'), t('layouts.help_url'), :title => t('layouts.help_title')),
-              :wiki => link_to(t('layouts.wiki'), t('layouts.wiki_url'), :title => t('layouts.wiki_title'))
-          %></li>
-          <li><%= link_to t('layouts.copyright'), {:controller => 'site', :action => 'copyright'} %></li>
-          <li><a href="http://blogs.openstreetmap.org/" title="<%= t 'layouts.community_blogs_title' %>"><%= t 'layouts.community_blogs' %></a></li>
-          <li><a href="<%= t 'layouts.shop_url' %>" title="<%= t 'layouts.shop_tooltip' %>"><%= t 'layouts.shop' %></a></li>
-          <%= yield :left_menu %>
-        </ul>
+      <div id="content" class="clearfix">
+        <%= yield %>
       </div>
       </div>
-
-      <%= yield :optionals %>
-
-      <center>
-        <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>
-      </center>
     </div>
     </div>
+    <% if defined?(PIWIK_LOCATION) and defined?(PIWIK_SITE) -%>
+    <noscript><p><img src="<%= request.protocol %><%= PIWIK_LOCATION %>/piwik.php?idsite=<%= PIWIK_SITE %>" style="border:0" alt="" /></p></noscript>
+    <% end -%>
   </body>
 </html>
   </body>
 </html>