Site cleanup
authorSaman Bemel-Benrud <samanpwbb@gmail.com>
Thu, 3 Jan 2013 11:20:32 +0000 (11:20 +0000)
committerTom Hughes <tom@compton.nu>
Mon, 14 Jan 2013 21:27:08 +0000 (21:27 +0000)
I set out to do a quick and dirty typography overhaul to make things
more consistent and a bit cleaner, but I kept running into things I
didn't like, so this lead me down something of a rabbit hole of design
tweaks to the OSM site.

Goals here are to have better content hierarchy, better vertical
rhythm, more consistent UI, cleaner markup with less tables, all while
keeping the basics pretty much intact. There are a lot of things I
didn't touch even though they need to be updated (lots of tables where
stuff shouldn't be tables, mostly).

Basic overview of changes:

I added a new persistent header that helps segment pages. It's now
a lot easier to know what you're looking at. The header has a page
title, a description, plus a submenu of actions.

There is now a pattern of 20px/10px margins and padding for more
rhythm and breathing room throughout the site.

I know there are other problems here or things I've missed - would
love another set of eyes to look over this! I am still getting comfortable
working on the site - it's my first time ever digging into a ruby or rails
so I'm not familiar with the templating language yet.

124 files changed:
app/assets/images/RSS.gif [deleted file]
app/assets/images/RSS.png [new file with mode: 0644]
app/assets/images/RSS.svg [new file with mode: 0644]
app/assets/images/color-palette.svg [new file with mode: 0644]
app/assets/images/new.png
app/assets/images/new.svg [new file with mode: 0644]
app/assets/images/notice.png [new file with mode: 0644]
app/assets/images/notice.svg [new file with mode: 0644]
app/assets/images/roles/administrator.png
app/assets/images/roles/administrator.svg [new file with mode: 0644]
app/assets/images/roles/blank_administrator.png
app/assets/images/roles/blank_administrator.svg [new file with mode: 0644]
app/assets/images/roles/blank_moderator.png
app/assets/images/roles/blank_moderator.svg [new file with mode: 0644]
app/assets/images/roles/moderator.png
app/assets/images/roles/moderator.svg [new file with mode: 0644]
app/assets/images/users/images/user-icons.svg [new file with mode: 0644]
app/assets/javascripts/changeset.js
app/assets/javascripts/templates/browse/feature.jst.ejs
app/assets/javascripts/templates/browse/feature_history.jst.ejs
app/assets/javascripts/templates/browse/feature_list.jst.ejs
app/assets/stylesheets/common.css.scss
app/assets/stylesheets/large.css
app/assets/stylesheets/small-rtl.css
app/assets/stylesheets/small.css.scss
app/controllers/changeset_controller.rb
app/controllers/diary_entry_controller.rb
app/helpers/application_helper.rb
app/views/browse/_changeset_details.html.erb
app/views/browse/_common_details.html.erb
app/views/browse/_containing_relation.html.erb
app/views/browse/_map.html.erb
app/views/browse/_navigation.html.erb
app/views/browse/_node_details.html.erb
app/views/browse/_paging_nav.html.erb
app/views/browse/_relation_details.html.erb
app/views/browse/_relation_member.html.erb
app/views/browse/_tag.html.erb
app/views/browse/_tag_details.html.erb
app/views/browse/_way_details.html.erb
app/views/browse/changeset.html.erb
app/views/browse/node.html.erb
app/views/browse/node_history.html.erb
app/views/browse/relation.html.erb
app/views/browse/relation_history.html.erb
app/views/browse/start.html.erb
app/views/browse/way.html.erb
app/views/browse/way_history.html.erb
app/views/changeset/_changeset.html.erb
app/views/changeset/_changeset_paging_nav.html.erb
app/views/changeset/_changesets.html.erb
app/views/changeset/list.html.erb
app/views/changeset/timeout.html.erb
app/views/diary_entry/_diary_comment.html.erb
app/views/diary_entry/_diary_entry.html.erb
app/views/diary_entry/_diary_list_entry.html.erb
app/views/diary_entry/comments.html.erb
app/views/diary_entry/edit.html.erb
app/views/diary_entry/list.html.erb
app/views/diary_entry/no_such_entry.html.erb
app/views/diary_entry/view.html.erb
app/views/export/start.html.erb
app/views/geocoder/description.html.erb
app/views/geocoder/results.html.erb
app/views/geocoder/search.html.erb
app/views/layouts/_flash.html.erb
app/views/layouts/site.html.erb
app/views/message/_message_summary.html.erb
app/views/message/_sent_message_summary.html.erb
app/views/message/inbox.html.erb
app/views/message/new.html.erb
app/views/message/no_such_message.html.erb
app/views/message/outbox.html.erb
app/views/message/read.html.erb
app/views/oauth/authorize.html.erb
app/views/oauth/authorize_failure.html.erb
app/views/oauth/authorize_success.html.erb
app/views/oauth_clients/edit.html.erb
app/views/oauth_clients/index.html.erb
app/views/oauth_clients/new.html.erb
app/views/oauth_clients/show.html.erb
app/views/redactions/edit.html.erb
app/views/redactions/index.html.erb
app/views/redactions/new.html.erb
app/views/redactions/show.html.erb
app/views/site/_home_link.html.erb
app/views/site/_sidebar.html.erb
app/views/site/copyright.html.erb
app/views/trace/_trace.html.erb
app/views/trace/_trace_optionals.html.erb
app/views/trace/create.html.erb
app/views/trace/edit.html.erb
app/views/trace/list.html.erb
app/views/trace/offline.html.erb
app/views/trace/view.html.erb
app/views/user/_contact.html.erb
app/views/user/account.html.erb
app/views/user/blocked.html.erb
app/views/user/confirm.html.erb
app/views/user/confirm_email.html.erb
app/views/user/list.html.erb
app/views/user/login.html.erb
app/views/user/logout.html.erb
app/views/user/lost_password.html.erb
app/views/user/make_friend.html.erb
app/views/user/new.html.erb
app/views/user/no_such_user.html.erb
app/views/user/remove_friend.html.erb
app/views/user/reset_password.html.erb
app/views/user/save.html.erb
app/views/user/suspended.html.erb
app/views/user/terms.html.erb
app/views/user/view.html.erb
app/views/user_blocks/_blocks.html.erb
app/views/user_blocks/blocks_by.html.erb
app/views/user_blocks/blocks_on.html.erb
app/views/user_blocks/edit.html.erb
app/views/user_blocks/index.html.erb
app/views/user_blocks/new.html.erb
app/views/user_blocks/revoke.html.erb
app/views/user_blocks/show.html.erb
config/locales/en.yml
db/structure.sql
test/functional/browse_controller_test.rb

diff --git a/app/assets/images/RSS.gif b/app/assets/images/RSS.gif
deleted file mode 100644 (file)
index b0e4adf..0000000
Binary files a/app/assets/images/RSS.gif and /dev/null differ
diff --git a/app/assets/images/RSS.png b/app/assets/images/RSS.png
new file mode 100644 (file)
index 0000000..4838e5a
Binary files /dev/null and b/app/assets/images/RSS.png differ
diff --git a/app/assets/images/RSS.svg b/app/assets/images/RSS.svg
new file mode 100644 (file)
index 0000000..bd2919e
--- /dev/null
@@ -0,0 +1,84 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   id="svg7082"
+   version="1.1"
+   inkscape:version="0.48.2 r9819"
+   width="16"
+   height="16"
+   sodipodi:docname="RSS.svg"
+   inkscape:export-filename="/Users/saman/work_repos/openstreetmap-website/app/assets/images/RSS.png"
+   inkscape:export-xdpi="90"
+   inkscape:export-ydpi="90">
+  <metadata
+     id="metadata7088">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <defs
+     id="defs7086" />
+  <sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="1182"
+     inkscape:window-height="873"
+     id="namedview7084"
+     showgrid="false"
+     inkscape:zoom="16"
+     inkscape:cx="7.6632237"
+     inkscape:cy="8.8893528"
+     inkscape:window-x="0"
+     inkscape:window-y="0"
+     inkscape:window-maximized="0"
+     inkscape:current-layer="svg7082"
+     inkscape:snap-nodes="true"
+     inkscape:object-paths="true">
+    <inkscape:grid
+       type="xygrid"
+       id="grid7111"
+       empspacing="5"
+       visible="true"
+       enabled="true"
+       snapvisiblegridlinesonly="true"
+       spacingx="0.5px"
+       spacingy="0.5px" />
+  </sodipodi:namedview>
+  <g
+     id="g8341"
+     transform="translate(31,0)">
+    <path
+       style="color:#000000;fill:#f69e42;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+       d="M 2 0 C 0.892 0 0 0.892 0 2 L 0 14 C 0 15.108 0.892 16 2 16 L 14 16 C 15.108 16 16 15.108 16 14 L 16 2 C 16 0.892 15.108 0 14 0 L 2 0 z M 4 3 L 4.5 3 C 9.5 3 13 6.5 13 11.5 L 12.96875 12 L 11 12 L 11 11.5 C 11 8 8 5 4.5 5 L 4 5 L 4 3.5 L 4 3 z M 4 6.5 L 4.5 6.5 C 7 6.5 9.5 9 9.5 11.5 L 9.5 12 L 7.5 12 L 7.5 11.5 C 7.5 10 6 8.5 4.5 8.5 L 4 8.5 L 4 6.5 z M 4.5 10 C 5.328428 10 6 10.671573 6 11.5 C 6 12.328428 5.328428 13 4.5 13 C 3.671572 13 3 12.328428 3 11.5 C 3 10.671573 3.671572 10 4.5 10 z "
+       transform="translate(-31,0)"
+       id="rect7131" />
+  </g>
+  <path
+     style="color:#000000;fill:#f69e42;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+     d="m -18,-60 c -1.108,0 -2,0.892 -2,2 l 0,12 c 0,1.108 0.892,2 2,2 l 12,0 c 1.108,0 2,-0.892 2,-2 l 0,-12 c 0,-1.108 -0.892,-2 -2,-2 l -12,0 z m 3.75,2.1875 c 4.10919,0.731197 7.331303,3.953309 8.0625,8.0625 l -1.90625,0.4375 c -0.554215,-3.370687 -3.223063,-6.039535 -6.59375,-6.59375 l 0.4375,-1.90625 z m -0.875,3.875 c 2.621108,0.378627 4.683873,2.441391 5.0625,5.0625 l -2,0.4375 c -0.203763,-1.856557 -1.643443,-3.296237 -3.5,-3.5 l 0.4375,-2 z M -15.5,-50 c 0.828427,0 1.5,0.671573 1.5,1.5 0,0.828427 -0.671573,1.5 -1.5,1.5 -0.828427,0 -1.5,-0.671573 -1.5,-1.5 0,-0.828427 0.671573,-1.5 1.5,-1.5 z"
+     id="rect7131-9"
+     inkscape:connector-curvature="0" />
+  <g
+     id="g8281"
+     transform="translate(0.5,-0.5)" />
+</svg>
diff --git a/app/assets/images/color-palette.svg b/app/assets/images/color-palette.svg
new file mode 100644 (file)
index 0000000..329288e
--- /dev/null
@@ -0,0 +1,151 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   width="744.09448819"
+   height="1052.3622047"
+   id="svg5480"
+   version="1.1"
+   inkscape:version="0.48.2 r9819"
+   sodipodi:docname="color-palette.svg">
+  <defs
+     id="defs5482" />
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="2"
+     inkscape:cx="157.80341"
+     inkscape:cy="934.71289"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer1"
+     showgrid="false"
+     inkscape:window-width="980"
+     inkscape:window-height="661"
+     inkscape:window-x="806"
+     inkscape:window-y="270"
+     inkscape:window-maximized="0"
+     inkscape:snap-nodes="false"
+     inkscape:snap-bbox="true">
+    <inkscape:grid
+       type="xygrid"
+       id="grid5488" />
+  </sodipodi:namedview>
+  <metadata
+     id="metadata5485">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer"
+     id="layer1">
+    <rect
+       style="color:#000000;fill:#222222;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:6;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+       id="rect5490"
+       width="90"
+       height="90"
+       x="20"
+       y="42.362183"
+       rx="0"
+       ry="0" />
+    <rect
+       style="color:#000000;fill:#1313ff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+       id="rect3924"
+       width="40"
+       height="40"
+       x="120"
+       y="42.362183"
+       rx="0"
+       ry="0" />
+    <rect
+       ry="0"
+       rx="0"
+       y="42.362183"
+       x="170"
+       height="40"
+       width="40"
+       id="rect5510"
+       style="color:#000000;fill:#9ed485;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+    <rect
+       style="color:#000000;fill:#cbeea7;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+       id="rect6020"
+       width="40"
+       height="40"
+       x="220"
+       y="42.362183"
+       rx="0"
+       ry="0" />
+    <rect
+       style="color:#000000;fill:#faba75;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+       id="rect6060"
+       width="40"
+       height="40"
+       x="220"
+       y="92.362183"
+       rx="0"
+       ry="0" />
+    <rect
+       ry="0"
+       rx="0"
+       y="142.36218"
+       x="170"
+       height="40"
+       width="40"
+       id="rect6062"
+       style="color:#000000;fill:#ff7070;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+    <rect
+       ry="0"
+       rx="0"
+       y="142.86218"
+       x="20.500002"
+       height="89"
+       width="89"
+       id="rect6068"
+       style="color:#000000;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#cccccc;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+    <rect
+       ry="0"
+       rx="0"
+       y="92.362183"
+       x="170"
+       height="40"
+       width="40"
+       id="rect7710"
+       style="color:#000000;fill:#f69e42;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+    <rect
+       ry="0"
+       rx="0"
+       y="92.362183"
+       x="120"
+       height="40"
+       width="40"
+       id="rect6617"
+       style="color:#000000;fill:#d7d7ff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+    <rect
+       style="color:#000000;fill:#f4f4ff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+       id="rect7127"
+       width="40"
+       height="40"
+       x="120"
+       y="142.36218"
+       rx="0"
+       ry="0" />
+  </g>
+</svg>
index 202e10eca8aff2839d598e91428029a7f44d6d73..d6355e0217adb23f6ab401bfa6b9b81ef3004db6 100644 (file)
Binary files a/app/assets/images/new.png and b/app/assets/images/new.png differ
diff --git a/app/assets/images/new.svg b/app/assets/images/new.svg
new file mode 100644 (file)
index 0000000..ef65650
--- /dev/null
@@ -0,0 +1,73 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   id="svg3864"
+   version="1.1"
+   inkscape:version="0.48.2 r9819"
+   width="16"
+   height="16"
+   sodipodi:docname="new.svg"
+   inkscape:export-filename="/Users/saman/work_repos/openstreetmap-website/app/assets/images/new.png"
+   inkscape:export-xdpi="90"
+   inkscape:export-ydpi="90">
+  <metadata
+     id="metadata3870">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <defs
+     id="defs3868" />
+  <sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="1405"
+     inkscape:window-height="1009"
+     id="namedview3866"
+     showgrid="false"
+     inkscape:zoom="1"
+     inkscape:cx="11.60995"
+     inkscape:cy="5.4274399"
+     inkscape:window-x="190"
+     inkscape:window-y="0"
+     inkscape:window-maximized="0"
+     inkscape:current-layer="svg3864"
+     fit-margin-top="0"
+     fit-margin-left="0"
+     fit-margin-right="0"
+     fit-margin-bottom="0">
+    <inkscape:grid
+       type="xygrid"
+       id="grid3920"
+       empspacing="5"
+       visible="true"
+       enabled="true"
+       snapvisiblegridlinesonly="true" />
+  </sodipodi:namedview>
+  <path
+     style="color:#000000;fill:#1313ff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+     d="M 2,0 C 0.892,0 0,0.892 0,2 l 0,12 c 0,1.108 0.892,2 2,2 l 12,0 c 1.108,0 2,-0.892 2,-2 L 16,2 C 16,0.892 15.108,0 14,0 z M 9,4 9,7 12,7 12,9 9,9 9,12 7,12 7,9 4,9 4,7 7,7 7,4 z"
+     id="rect3924"
+     inkscape:connector-curvature="0"
+     sodipodi:nodetypes="sssssssssccccccccccccc" />
+</svg>
diff --git a/app/assets/images/notice.png b/app/assets/images/notice.png
new file mode 100644 (file)
index 0000000..a2698d7
Binary files /dev/null and b/app/assets/images/notice.png differ
diff --git a/app/assets/images/notice.svg b/app/assets/images/notice.svg
new file mode 100644 (file)
index 0000000..cb779ce
--- /dev/null
@@ -0,0 +1,73 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   id="svg3864"
+   version="1.1"
+   inkscape:version="0.48.2 r9819"
+   width="16"
+   height="16"
+   sodipodi:docname="notice.svg"
+   inkscape:export-filename="/Users/saman/work_repos/openstreetmap-website/app/assets/images/notice.png"
+   inkscape:export-xdpi="90"
+   inkscape:export-ydpi="90">
+  <metadata
+     id="metadata3870">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <defs
+     id="defs3868" />
+  <sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="1405"
+     inkscape:window-height="1009"
+     id="namedview3866"
+     showgrid="false"
+     inkscape:zoom="21.536424"
+     inkscape:cx="15.375"
+     inkscape:cy="1.125"
+     inkscape:window-x="326"
+     inkscape:window-y="43"
+     inkscape:window-maximized="0"
+     inkscape:current-layer="svg3864"
+     fit-margin-top="0"
+     fit-margin-left="0"
+     fit-margin-right="0"
+     fit-margin-bottom="0"
+     inkscape:snap-bbox="true"
+     inkscape:snap-nodes="true">
+    <inkscape:grid
+       type="xygrid"
+       id="grid3920"
+       empspacing="5"
+       visible="true"
+       enabled="true"
+       snapvisiblegridlinesonly="true" />
+  </sodipodi:namedview>
+  <path
+     style="color:#000000;fill:#333333;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:6;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+     d="M 2 0 C 0.892 0 0 0.892 0 2 L 0 14 C 0 15.108 0.892 16 2 16 L 14 16 C 15.108 16 16 15.108 16 14 L 16 2 C 16 0.892 15.108 0 14 0 L 2 0 z M 7 3 L 9 3 L 9 8 L 7 8 L 7 3 z M 7 10 L 9 10 L 9 12 L 7 12 L 7 10 z "
+     id="rect7131" />
+</svg>
index b566decb400a67a81990bfe2a057bd1c14d2db70..ea363d25767894e4f65b0c30872590ee08ab5173 100644 (file)
Binary files a/app/assets/images/roles/administrator.png and b/app/assets/images/roles/administrator.png differ
diff --git a/app/assets/images/roles/administrator.svg b/app/assets/images/roles/administrator.svg
new file mode 100644 (file)
index 0000000..460d9b4
--- /dev/null
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   id="svg5873"
+   version="1.1"
+   inkscape:version="0.48.2 r9819"
+   width="20"
+   height="20"
+   sodipodi:docname="administrator.svg"
+   inkscape:export-filename="/Users/saman/work_repos/openstreetmap-website/app/assets/images/roles/administrator.png"
+   inkscape:export-xdpi="90"
+   inkscape:export-ydpi="90">
+  <metadata
+     id="metadata5879">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <defs
+     id="defs5877" />
+  <sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="640"
+     inkscape:window-height="480"
+     id="namedview5875"
+     showgrid="false"
+     inkscape:zoom="5.6568542"
+     inkscape:cx="37.573963"
+     inkscape:cy="0.44974747"
+     inkscape:window-x="733"
+     inkscape:window-y="118"
+     inkscape:window-maximized="0"
+     inkscape:current-layer="svg5873" />
+  <path
+     inkscape:connector-curvature="0"
+     style="color:#000000;fill:#f69e42;fill-opacity:1;fill-rule:nonzero;stroke:#f69e42;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+     d="M 10,2 8.125,8 2,8 6.96875,11.71875 5,18 10,14 15,18 13.03125,11.71875 18,8 11.875,8 10,2 z"
+     id="path4709" />
+</svg>
index c68f9e427169c61c0894bd30fa58d3c67d2af1b3..8f56b6ea6e856fdb753d558a96351c742b65fbe7 100644 (file)
Binary files a/app/assets/images/roles/blank_administrator.png and b/app/assets/images/roles/blank_administrator.png differ
diff --git a/app/assets/images/roles/blank_administrator.svg b/app/assets/images/roles/blank_administrator.svg
new file mode 100644 (file)
index 0000000..3e56c78
--- /dev/null
@@ -0,0 +1,89 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   id="svg5539"
+   version="1.1"
+   inkscape:version="0.48.2 r9819"
+   width="20"
+   height="20"
+   sodipodi:docname="blank_administrator.svg"
+   inkscape:export-filename="/Users/saman/work_repos/openstreetmap-website/app/assets/images/roles/blank_administrator.png"
+   inkscape:export-xdpi="90"
+   inkscape:export-ydpi="90">
+  <metadata
+     id="metadata5545">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <defs
+     id="defs5543" />
+  <sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="1031"
+     inkscape:window-height="802"
+     id="namedview5541"
+     showgrid="false"
+     inkscape:zoom="8"
+     inkscape:cx="10.953608"
+     inkscape:cy="15.654921"
+     inkscape:window-x="0"
+     inkscape:window-y="0"
+     inkscape:window-maximized="0"
+     inkscape:current-layer="svg5539">
+    <inkscape:grid
+       type="xygrid"
+       id="grid5688" />
+  </sodipodi:namedview>
+  <image
+     width="20"
+     height="20"
+     xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAABHNCSVQICAgIfAhkiAAAArVJREFU
+OI2tlU1IVFEUx3/3vZm5fszoNGX5kR8ZWaEYubAE+1LJoCCZRdSiHMqoyI0QLgxauigIgqlNtKhF
+WW6SaqNlrQosKHLScWxS+rBEsJJsSn3vtvAp0+hkUmd3eef8OPd//uc+oZTif4a2mGRhxT8Bw2Hf
+kfCbw2eEEDbABSQKIeLW2RYCOuTKPZrmlEAKkAWMAZ+An4vuMPCqzC4deYUJcm1RVZWnAMgHVgAy
+3tX/CJQyryY1tTLf7a7MrvWVHgYygCWAjFczByiiQso8r5SrdF1PISdn3SZgKZBsAbXYfIjS0BJd
+AjogsrKksNtyN8x8z8wszPZ47O7R0UkX08MZF0IYUb2YQogJ0Rfy1gnhaHY6t0YMw9RNQ4kZa6an
+e5dLmWkDMIyvhPqvfNE1zbA79ClNoAARiTyVfaGh1pq9D84BH1FK0RvcV/H2XXO3YXxXfxumOaEC
+gebhxsaSy8BupgeWgFIKpRTXbxR5enqP3/v2LRBZCDY+/maqveNQuKAg6TSwC1gFJAJiFmitoN7V
+daDp/YerH+LBBgZbxvz+ikeaJmqBEmtQtllGNNCCit7gsbZ4wPYOXxioA4qBpNj6ObbpDmwWzuTV
+a+L5LCe7eGlamgOmN+bHgj40zbRKt7si3zoRCvm/BPvOjyg1CUBunjeloWHjNqt27rbEthwMnmxR
+ylA/J4bNx09ODFRXZ9Rv375s5/MX9c8ikcEppZR60Hn0JbAesM+RLEY/+8Dg2Z6Rkfax223eTpdL
+3wFkAolOl76k8+H+K0NDrZ/7X18YTk93lM6n4W+HjvtVO4J9vk9+/5Ymq4NUQJsZFuC8eKn8YE9v
+3dDNWztPAU5AzAsExJ27VesbG3PXAh5AzucAIKHWl5F79Vp5GeCIzREq6hdgLbg2La0y40066oFV
+KhoA/AI4idurnYfhgQAAAABJRU5ErkJggg==
+"
+     id="image5547"
+     x="-70"
+     y="0" />
+  <path
+     style="color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#f69e42;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+     d="M 10 2 L 8.125 8 L 2 8 L 6.96875 11.71875 L 5 18 L 10 14 L 15 18 L 13.03125 11.71875 L 18 8 L 11.875 8 L 10 2 z "
+     id="path4709" />
+  <path
+     style="color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+     d="M 10 2 L 8.125 8 L 2 8 L 6.96875 11.71875 L 5 18 L 10 14 L 15 18 L 13.03125 11.71875 L 18 8 L 11.875 8 L 10 2 z "
+     id="path5684" />
+</svg>
index cf5ceea36d95715325965ab9e9e0d0744d8d9aee..7dc30728432a846e55ac2c1c368845b96424b032 100644 (file)
Binary files a/app/assets/images/roles/blank_moderator.png and b/app/assets/images/roles/blank_moderator.png differ
diff --git a/app/assets/images/roles/blank_moderator.svg b/app/assets/images/roles/blank_moderator.svg
new file mode 100644 (file)
index 0000000..1b2a091
--- /dev/null
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   id="svg6042"
+   version="1.1"
+   inkscape:version="0.48.2 r9819"
+   width="20"
+   height="20"
+   sodipodi:docname="blank_moderator.svg"
+   inkscape:export-filename="/Users/saman/work_repos/openstreetmap-website/app/assets/images/roles/blank_moderator.png"
+   inkscape:export-xdpi="90"
+   inkscape:export-ydpi="90">
+  <metadata
+     id="metadata6048">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <defs
+     id="defs6046" />
+  <sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="1264"
+     inkscape:window-height="776"
+     id="namedview6044"
+     showgrid="false"
+     inkscape:zoom="1"
+     inkscape:cx="10"
+     inkscape:cy="10"
+     inkscape:window-x="0"
+     inkscape:window-y="0"
+     inkscape:window-maximized="0"
+     inkscape:current-layer="svg6042" />
+  <path
+     inkscape:connector-curvature="0"
+     style="color:#000000;fill:#1313ff;fill-opacity:1;fill-rule:nonzero;stroke:#1313ff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+     d="M 10,2 8.125,8 2,8 6.96875,11.71875 5,18 10,14 15,18 13.03125,11.71875 18,8 11.875,8 10,2 z"
+     id="path4709" />
+  <path
+     inkscape:connector-curvature="0"
+     style="color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+     d="M 10,2 8.125,8 2,8 6.96875,11.71875 5,18 10,14 15,18 13.03125,11.71875 18,8 11.875,8 10,2 z"
+     id="path5684" />
+</svg>
index eaedf95d2ed2348a696f21562d5e70ea9e1fa5d7..f7534beb55c18df75699725c8f1566682394c536 100644 (file)
Binary files a/app/assets/images/roles/moderator.png and b/app/assets/images/roles/moderator.png differ
diff --git a/app/assets/images/roles/moderator.svg b/app/assets/images/roles/moderator.svg
new file mode 100644 (file)
index 0000000..9288dac
--- /dev/null
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   id="svg4678"
+   version="1.1"
+   inkscape:version="0.48.2 r9819"
+   width="20"
+   height="20"
+   sodipodi:docname="moderator.svg"
+   inkscape:export-filename="/Users/saman/work_repos/openstreetmap-website/app/assets/images/roles/moderator.png"
+   inkscape:export-xdpi="90"
+   inkscape:export-ydpi="90">
+  <metadata
+     id="metadata4684">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <defs
+     id="defs4682" />
+  <sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="1574"
+     inkscape:window-height="831"
+     id="namedview4680"
+     showgrid="false"
+     inkscape:zoom="1"
+     inkscape:cx="9.1260993"
+     inkscape:cy="11.531765"
+     inkscape:window-x="0"
+     inkscape:window-y="0"
+     inkscape:window-maximized="0"
+     inkscape:current-layer="svg4678">
+    <inkscape:grid
+       type="xygrid"
+       id="grid4707" />
+  </sodipodi:namedview>
+  <path
+     style="color:#000000;fill:#0606ff;fill-opacity:1;fill-rule:nonzero;stroke:#0606ff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+     d="m 10,2 5,16 -5,-4 -5,4 z"
+     id="path4709"
+     inkscape:connector-curvature="0"
+     sodipodi:nodetypes="ccccc" />
+  <path
+     style="color:#000000;fill:#0606ff;fill-opacity:1;fill-rule:nonzero;stroke:#0606ff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+     d="m 2,8 16,0 -8,6 z"
+     id="path5479"
+     inkscape:connector-curvature="0"
+     sodipodi:nodetypes="cccc" />
+</svg>
diff --git a/app/assets/images/users/images/user-icons.svg b/app/assets/images/users/images/user-icons.svg
new file mode 100644 (file)
index 0000000..85288b2
--- /dev/null
@@ -0,0 +1,182 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   id="svg54671"
+   version="1.1"
+   inkscape:version="0.48.2 r9819"
+   width="99.999969"
+   height="155"
+   sodipodi:docname="new-user-icon.svg">
+  <metadata
+     id="metadata54677">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <defs
+     id="defs54675">
+    <clipPath
+       clipPathUnits="userSpaceOnUse"
+       id="clipPath55579">
+      <rect
+         y="701"
+         x="157"
+         height="23.000002"
+         width="49.999985"
+         id="rect55581"
+         style="color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+    </clipPath>
+  </defs>
+  <sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="1280"
+     inkscape:window-height="756"
+     id="namedview54673"
+     showgrid="true"
+     inkscape:zoom="4.3320463"
+     inkscape:cx="28.49301"
+     inkscape:cy="111.46394"
+     inkscape:window-x="11"
+     inkscape:window-y="0"
+     inkscape:window-maximized="0"
+     inkscape:current-layer="svg54671"
+     inkscape:object-nodes="true"
+     inkscape:object-paths="true"
+     showguides="false"
+     inkscape:guide-bbox="true"
+     fit-margin-top="0"
+     fit-margin-left="0"
+     fit-margin-right="0"
+     fit-margin-bottom="0">
+    <inkscape:grid
+       type="xygrid"
+       id="grid54700"
+       empspacing="5"
+       visible="true"
+       enabled="true"
+       snapvisiblegridlinesonly="true" />
+    <sodipodi:guide
+       orientation="1,0"
+       position="1000,117.39694"
+       id="guide54708" />
+    <sodipodi:guide
+       orientation="1,0"
+       position="830,101"
+       id="guide55315" />
+    <sodipodi:guide
+       orientation="1,0"
+       position="815,99.000004"
+       id="guide55317" />
+    <sodipodi:guide
+       orientation="1,0"
+       position="845,99.000004"
+       id="guide55319" />
+    <sodipodi:guide
+       orientation="0,1"
+       position="832,88.000004"
+       id="guide55321" />
+    <sodipodi:guide
+       orientation="1,0"
+       position="805,67.000004"
+       id="guide55323" />
+    <sodipodi:guide
+       orientation="1,0"
+       position="855,73.000004"
+       id="guide55325" />
+    <sodipodi:guide
+       orientation="1,0"
+       position="990,95.000004"
+       id="guide55476" />
+    <sodipodi:guide
+       orientation="1,0"
+       position="1020,73.000004"
+       id="guide55478" />
+    <sodipodi:guide
+       orientation="1,0"
+       position="970,74.000004"
+       id="guide55480" />
+    <sodipodi:guide
+       orientation="1,0"
+       position="1030,76.000004"
+       id="guide55482" />
+    <sodipodi:guide
+       orientation="0,1"
+       position="978,45.000004"
+       id="guide55484" />
+    <sodipodi:guide
+       orientation="1,0"
+       position="960,64.000004"
+       id="guide55486" />
+    <sodipodi:guide
+       orientation="1,0"
+       position="1040,63.000004"
+       id="guide55488" />
+    <sodipodi:guide
+       orientation="1,0"
+       position="980,81.000004"
+       id="guide55490" />
+    <sodipodi:guide
+       orientation="1,0"
+       position="1010,92.518344"
+       id="guide55492" />
+  </sodipodi:namedview>
+  <g
+     id="g55329"
+     transform="translate(-785,-42)">
+    <rect
+       y="42"
+       x="785"
+       height="100.00001"
+       width="99.999969"
+       id="rect54702"
+       style="color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+    <path
+       sodipodi:nodetypes="sssscssccsscssss"
+       inkscape:connector-curvature="0"
+       id="path54704"
+       d="m 834.99998,53.000004 c -8,0 -12,5 -14,9 -2,4 -2,13 -1,19 0.98639,5.918364 3.9723,8.164584 5,12 0,0 0,3 0,4 l -14,2.999996 c -9.47814,2.03103 -13.23303,8.02944 -14,18 l -1,13 78,0 -1,-13 c -0.76697,-9.97056 -4.40411,-16.62916 -14,-18 L 845,97 l -2e-5,-3.999996 c -2e-5,-4.000002 4.01361,-6.081636 5,-12 1,-6 1,-15 -1,-19 -2.0728,-4.145608 -6,-9 -14,-9 z"
+       style="color:#000000;fill:#dadaff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+  </g>
+  <g
+     id="g3048"
+     transform="translate(-157,-258)">
+    <g
+       transform="matrix(0.5,0,0,0.5,-236.5,342)"
+       id="g55329-6">
+      <rect
+         style="color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+         id="rect54702-3"
+         width="99.999969"
+         height="100.00001"
+         x="787"
+         y="42" />
+    </g>
+    <path
+       style="color:#000000;fill:#dadaff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+       d="m 181.99999,368.5 c -4,0 -6.5,2.5 -7.5,4.5 -1,2 -1,7 -0.5,10 0.4932,2.95918 2,3.43845 2,5.5 0,0.5 0,1 0,1.5 0,0.4714 -1,1 -1,1 l -5,1.5 c -4.64225,1.39267 -6.58477,4.01726 -7,9 l -0.5,6 39,0 -0.5,-6 c -0.41523,-4.98274 -2.35775,-7.60733 -7,-9 l -5,-1.5 c 0,0 -1,-0.5286 -1,-1 0,-0.5 0,-1 0,-1.5 0,-2 1.5068,-2.54082 2,-5.5 0.5,-3 0.5,-8 -0.5,-10 -1.0364,-2.07281 -3.5,-4.5 -7.5,-4.5 z"
+       id="path54704-4"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="ssssscssccsscsssss" />
+  </g>
+</svg>
index 152b3b4f77f4636f470ff216cf397ecef660a6df..9e393ad5a51ea698e9add6b832d208d62c3cae20 100644 (file)
@@ -27,12 +27,12 @@ $(document).ready(function () {
 
   function highlightChangeset(id) {
     rects[id].setStyle({fillOpacity: 0.5});
-    $("#tr-changeset-" + id).addClass("selected");
+    $("#changeset_" + id).addClass("selected");
   }
 
   function unHighlightChangeset(id) {
     rects[id].setStyle({fillOpacity: 0});
-    $("#tr-changeset-" + id).removeClass("selected");
+    $("#changeset_" + id).removeClass("selected");
   }
 
   group.on({
index 5a3fe36449bf6c9d9b8099a4229e4cfbc9efd46c..d80c689228435a225401ffaba346c1a95bb5260a 100644 (file)
@@ -1,19 +1,15 @@
-<div style="text-align: center; margin-bottom: 20px;">
-  <a href="#" class="browse_show_list"><%- I18n.t('browse.start_rjs.object_list.back') %></a>
-</div>
-<table width="100%" class="browse_heading">
-  <tr>
-    <td><%- name %></td>
-    <td align="right">
-      <a href="<%- url %>"><%- I18n.t('browse.start_rjs.object_list.details') %></a>
-    </td>
-  </tr>
-</table>
 <div class="browse_details">
-  <ul>
+
+  <h4><%- name %></h4>
+  <a class='more-details' href="<%- url %>"><%- I18n.t('browse.start_rjs.object_list.details') %></a>
+
+  <ul class="inner12">
     <% for (var key in attributes) { %>
       <li><b><%- key %></b>: <%- attributes[key] %></li>
     <% } %>
+  <li> <a href="<%- url %>/history" class="browse_show_history"><%- I18n.t('browse.start_rjs.show_history') %></a></li>
   </ul>
-  <a href="<%- url %>/history" class="browse_show_history"><%- I18n.t('browse.start_rjs.show_history') %></a>
+
 </div>
+
+<a href="#" class="browse_show_list button"><%- I18n.t('browse.start_rjs.object_list.back') %></a>
\ No newline at end of file
index 6f870ac5b23bc8abdb39ed4ab3a42661fb31039f..c579070e1d5affa86d41a4c775bc245dd30e6125 100644 (file)
@@ -1,13 +1,8 @@
-<table width="100%" class="browse_heading">
-  <tr>
-    <td><%- I18n.t("browse.start_rjs.history_for_feature", {feature: name}) %></td>
-    <td align="right">
-      <a href="<%- url %>/history"><%- I18n.t('browse.start_rjs.details') %></a>
-    </td>
-  </tr>
-</table>
 <div class="browse_details">
-  <ul>
+  <h4><%- I18n.t("browse.start_rjs.history_for_feature", {feature: name}) %></h4>
+  <a class='more-details' href="<%- url %>/history"><%- I18n.t('browse.start_rjs.details') %></a>
+
+  <ul class="inner12">
     <% for (var i = 0; i < history.length; i++) { %>
       <li><%- I18n.t("browse.start_rjs.edited_by_user_at_timestamp", history[i]) %></li>
     <% } %>
index ada7d0874b636583479317aaa07cfb8726423dd9..4bb49e4bb630240ef73eaf635df4c529dc82b2ac 100644 (file)
@@ -1,9 +1,13 @@
 <div>
-  <p class="browse_heading"><%- I18n.t('browse.start_rjs.object_list.heading') %></p>
-  <ul>
-    <% for (var i = 0; i < features.length; i++) { %>
-      <li><%- features[i].typeName %> <a href="<%- features[i].url %>" data-feature-id="<%- features[i].id %>"><%- features[i].name %></a></li>
-    <% } %>
-  </ul>
-  <a href="<%- url %>"><%- I18n.t('browse.start_rjs.object_list.api') %></a>
+  <h4 class="browse_heading"><%- I18n.t('browse.start_rjs.object_list.heading') %></h4>
+  <div class='inner12'>
+    <ul>
+      <% for (var i = 0; i < features.length; i++) { %>
+        <li><%- features[i].typeName %> <a href="<%- features[i].url %>" data-feature-id="<%- features[i].id %>"><%- features[i].name %></a></li>
+      <% } %>
+    </ul>
+  </div>
+
+  <div class='inner12'><a href="<%- url %>" class='button'><%- I18n.t('browse.start_rjs.object_list.api') %></a></div>
+
 </div>
index 48112c2c6ed8244c14783ced909cefca0eec0ece..255b846cf8159a0634700ef46b7143d6cead09c0 100644 (file)
@@ -1,11 +1,57 @@
 /* Styles common to large and small screens */
 
+/* Minimal CSS reset */
+
+html, body, ul, ol, li, form, fieldset, legend, h1, h2, h3, h4, h5, h6, p {
+  margin: 0;
+  padding: 0;
+  border: 0;
+  font-size:100%;
+}
+
+fieldset,img { border: 0; }
+
+legend { color: #000; }
+
+sup { vertical-align: text-top; }
+
+sub { vertical-align: text-bottom; }
+
+table {
+  border-collapse: collapse;
+  border-spacing: 0;
+}
+
+li { list-style: none; }
+
+input,
+select,
+textarea,
+body { font: 14px/20px "Helvetica Neue",Arial,sans-serif; }
+
+abbr, acronym {
+  border-bottom: .1em dotted;
+  cursor: help;
+}
+
+/* Micro Clearfix | Details: http://nicolasgallagher.com/micro-clearfix-hack/ */
+
+.clearfix:before,
+.clearfix:after {
+    content: " ";
+    display: table;
+}
+
+.clearfix:after {
+    clear: both;
+}
+
 /* Default rules for the body of every page */
 
 body {
   font-family: 'Helvetica Neue',Arial,sans-serif;
   font-size: 14px;
-  line-height: 20px;
+  line-height: 1.6666;
   color: #222;
   background-color: #fff;
   margin: 0px;
@@ -17,15 +63,75 @@ body.slim {
   background-color: #f0f0f0;
 }
 
+h1, h2, h3 {
+  margin-top: 10px;
+  margin-bottom: 20px;
+  font-weight: bold;
+  line-height: 1.2;
+}
+
+h1, h2 {
+  font-size: 32px;
+}
+
+#content h2 {
+  font-size: 24px;
+}
+
+h3 {
+  font-size: 21px;
+  margin-top: 10px;
+  margin-bottom: 20px;
+}
+
+h4,h5,h6 {
+  font-size: 14px;
+  margin-top: 10px;
+  margin-bottom: 20px;
+  font-weight: bold;
+  line-height: 1.5;
+}
+
+p, ul {
+  margin-bottom: 20px;
+}
+
+p > img {
+  width: auto;
+  max-width: 100%;
+}
+
+small, aside {
+  font-size: 12px;
+}
+
+h1:first-child,
+h2:first-child,
+h3:first-child,
+h4:first-child,
+h5:first-child,
+h6:first-child {
+  margin-top: 0;
+}
+
+.column-1 {
+  width: 50%;
+  margin-bottom: 20px;
+}
+
+.small_icon {
+  vertical-align: middle;
+  margin-right: 5px;
+}
+
 /* Rules for links */
 
 a {
   color: #00f;
   text-decoration: none;
-}
-
-a:hover {
-  text-decoration: underline;
+  &:hover {
+    text-decoration: underline;
+  }
 }
 
 /* Rules for horizontal lines */
@@ -37,23 +143,34 @@ hr {
   height: 1px;
 }
 
-/* Default rules for headings */
+/* General styles for tables */
 
-h2 {
-  margin: 5px 0;
-  font-size: 25px;
-  line-height: 30px;
+table {
+  width: 100%;
+  margin-bottom: 20px;
+  th, td {
+    text-align: left;
+    padding: 5px;
+    line-height: 20px;
+  }
+  th {
+    font-weight: bold;
+    vertical-align: top;
+  }
+  td {
+    vertical-align: middle;
+  }
 }
 
 /* Rules for the whole left sidebar, including the logo */
 
 #left {
   position: absolute;
-  top: 30px;
-  bottom: 0;
+  height: 100%;
   width: 185px;
   font-size: 11px;
   line-height: 12px;
+  z-index: 100;
   border-right: 1px solid #ccc;
 }
 
@@ -63,15 +180,11 @@ h2 {
   display: block;
   width: 170px;
   min-width: 170px;
-  padding: 5px;
+  padding: 20px 5px;
   text-align: center;
   margin: auto;
 }
 
-#logo img {
-  border: 0px;
-}
-
 #logo h1 {
   font-size: 18px;
   line-height: 20px;
@@ -91,10 +204,6 @@ h2 {
   display: none;
 }
 
-#small-title img {
-  border: 0px;
-}
-
 /* Rules for the introductory text displayed in the left sidebar to new users */
 
 .sidebar-copy {
@@ -117,15 +226,13 @@ h2 {
  */
 
 .sidebar-alert {
-  padding: 4px 5px 4px 5px;
+  padding: 5px;
   border-top: 1px solid #ccc;
   margin-top: 4px;
   margin-bottom: -4px;
   background: #e00;
-  font-size: 13px;
+  font-size: 12px;
   font-weight: bold;
-  line-height: 17px;
-
   p {
     margin: 5px;
   }
@@ -138,14 +245,12 @@ h2 {
  */
 
 .sidebar-notice {
-  padding: 4px 5px 4px 5px;
+  padding: 5px;
   border-top: 1px solid #ccc;
   margin-top: 4px;
   margin-bottom: -4px;
   background: #ea0;
-  font-size: 13px;
-  line-height: 17px;
-
+  font-size: 12px;
   p {
     margin: 5px;
   }
@@ -164,6 +269,10 @@ h2 {
   border-top: 1px solid #ccc;
 }
 
+.left_menu img {
+  margin: 10px 0px;
+}
+
 .left_menu ul {
   padding: 0;
   margin: 0;
@@ -212,23 +321,10 @@ h2 {
   text-align: left;
 }
 
-.optionalbox h1 {
-  font-size: 14px;
-  font-weight: bold;
-  line-height: 20px;
-  margin: 0px;
-  vertical-align: bottom;
-}
-
 /* Rules for the search box */
 
-.whereami {
-}
-
 #search_field form {
   width: 165px;
-  margin: 0px;
-  padding: 0px;
 }
 
 #search_field {
@@ -237,6 +333,7 @@ h2 {
 
 #search_field input[type="text"] {
   width: 165px;
+  padding: 3px;
   font-size: 14px;
   line-height: 15px;
   height: 25px;
@@ -254,18 +351,17 @@ h2 {
 }
 
 #search_field input[type="submit"] {
+  border: 0;
+  margin: 0;
+  padding: 0;
   width: 15px;
   height: 15px;
-  border: 0px;
   text-indent: -1000px;
   overflow: hidden;
-  text-transform: capitalize;
-  padding-left: 0px;
-  padding-right: 0px;
-  background: image-url("sprite.png");
+  background: image-url("sprite.png") 0 0 no-repeat;
   position: absolute;
   top: 5px;
-  right: 4px;
+  right: 5px;
   cursor: pointer;
 }
 
@@ -273,12 +369,13 @@ h2 {
   margin: 5px 0 0 0;
 }
 
+/* Utility for de-emphasizing content */
+
 .deemphasize {
   color: #999;
-}
-
-.deemphasize a {
-  color: #7092FF;
+  a {
+    color: #7092FF;
+  }
 }
 
 /* Rules for donation request box */
@@ -287,7 +384,6 @@ h2 {
   display: block;
   position: relative;
   width: 153px;
-  margin: 10px 10px 0px 10px;
   padding: 5px;
   border: 1px solid #AED1A0;
   background: #cbeea7;
@@ -297,6 +393,7 @@ h2 {
   border-radius: 2px;
   -moz-border-radius: 2px;
   color: #222;
+  margin: 10px 10px 0px 10px;
 }
 
 .donate:hover {
@@ -313,8 +410,6 @@ h2 {
   width: 15px;
   height: 15px;
   border: 0px;
-  padding-left: 0px;
-  padding-right: 0px;
   background: image-url("sprite.png") 0 -30px no-repeat;
   position: absolute;
   top: 8px;
@@ -324,63 +419,65 @@ h2 {
 /* Rules for Creative Commons logo button */
 
 #cclogo {
-  margin-top: 10px;
-  margin-bottom: 10px;
+  margin: 10px 0;
+  float: right;
 }
 
 /* Rules for tabbed navigation bar */
 
 #top-bar {
-  position: absolute;
-  z-index: 10000;
-  top: 0;
-  left: 185px;
-  right: 0;
+  position: relative;
+  margin-left: 185px;
   height: 29px;
   border-bottom: 1px solid #ccc;
   background: white;
+  z-index: 100;
+}
+
+.site-edit #top-bar,
+.site-index #top-bar,
+.site-export #top-bar {
+  position: fixed;
+  left: 0;
+  right: 0;
 }
 
 #tabnav {
-  padding: 0;
-  margin0;
-  overflow:hidden;
+  height: 29px;
+  margin-bottom:0;
+  overflow: hidden;
 }
 
 #tabnav li {
-  margin: 0px;
-  padding: 0px;
   display: inline;
-  list-style-type: none;
 }
 
 #tabnav a, #tabnav a:link, #tabnav a:visited {
   float: left;
   background: #fff;
-  font-size: 14px;
-  line-height: 19px;
   font-weight: bold;
-  padding: 5px 10px;
-  margin-right: 1px;
+  padding: 3px 10px;
   text-decoration: none;
   color: #333;
+  float: left;
+  margin-right: 1px;
   -webkit-transition: color 200ms ease-in;
-  -moz-transition: color 200ms ease-in;
-  -o-transition: color 200ms ease-in;
-  transition: color 200ms ease-in;
+     -moz-transition: color 200ms ease-in;
+       -o-transition: color 200ms ease-in;
+          transition: color 200ms ease-in;
 }
 
-body.site-index #tabnav a#viewanchor,
-body.site-edit #tabnav a#editanchor,
-body.changeset-list #tabnav a#historyanchor,
-body.site-export #tabnav a#exportanchor {
+.site-index #tabnav a#viewanchor,
+.site-edit #tabnav a#editanchor,
+.changeset_list #tabnav a#historyanchor,
+.site-export #tabnav a#exportanchor {
   border-bottom: 1px solid #aaa;
   background: #9ed485;
   color: #000;
 }
 
 #tabnav a:link:hover, #tabnav a:visited:hover {
-  text-decoration:underline;
+  text-decoration: underline;
 }
 
 #tabnav a:link.disabled,
@@ -398,10 +495,12 @@ body.site-export #tabnav a#exportanchor {
   text-decoration: none;
 }
 
+/* Utility for styling notification numbers */
+
 .count-number {
   padding: 2px 5px;
   border-radius: 3px;
-  background: #eee;
+  background: #d7d7ff;
   margin: 0 2px;
   font-size: 11px;
   color: #333;
@@ -411,11 +510,7 @@ body.site-export #tabnav a#exportanchor {
 
 #greeting {
   float: right;
-  height: 28px;
-  margin: 0px;
-  padding-right: 10px;
-  font-size: 13px;
-  line-height: 28px;
+  padding-top: 3px;
 }
 
 .greeting-bar-unread {
@@ -433,16 +528,18 @@ body.site-export #tabnav a#exportanchor {
 
 /* Rules for Leaflet maps */
 
-#map {
-  margin: 0px;
-  border: 0px;
-  padding: 0px;
+#permalink {
+  z-index: 10000;
+  position: absolute;
+  bottom: 0px;
+  right: 0px;
+  padding: 5px;
+  background:#fff;
 }
 
 .site-index .leaflet-top,
 .site-export .leaflet-top {
-  top: 40px !important;
-
+  top: 10px !important;
   .leaflet-control {
     margin-top: 0px !important;
   }
@@ -456,10 +553,10 @@ body.site-export #tabnav a#exportanchor {
 /* Rules for edit menu */
 
 .menuicon {
-  padding: 5px;
-
+  padding: 0 5px;
+  font-weight: normal;
+  display: inline-block;
   &:hover {
-    background: #eee;
     text-decoration: none !important;
   }
 }
@@ -475,13 +572,10 @@ body.site-export #tabnav a#exportanchor {
 
 .menu ul {
   margin: 0px;
-  padding: 0px;
 }
 
 .menu li {
   padding: 2px 5px;
-  margin: 0px;
-  list-style-type: none;
   border-top: 1px solid #eee;
   white-space: nowrap;
 }
@@ -492,7 +586,8 @@ body.site-export #tabnav a#exportanchor {
   display: none;
 }
 
-.attribution_license {
+.attribution_license,
+.attribution_project {
   text-align: left;
 }
 
@@ -500,63 +595,63 @@ body.site-export #tabnav a#exportanchor {
   text-align: center;
 }
 
-.attribution_project {
-  text-align: right;
-}
-
 /* Rules for the popout map sidebar */
 
 #sidebar {
   display: none;
   position: absolute;
-  margin: 30px 0px 0px 0px;
-  padding: 0px;
-  border-right: 1px solid #ccc;
-  width: 30%;
+  overflow: auto;
   top: 0px;
   bottom: 0px;
   left: 0px;
+  border-right: 1px solid #ccc;
+  width: 33.3333%;
+  .sidebar_heading {
+    position: relative;
+    padding: 10px 20px;
+    z-index: 9999;
+    background: #F4F4FF;
+    border-bottom: 1px solid #ccc;
+  }
+  h4 {
+    margin: 0;
+  }
+  ul {
+    margin-bottom: 0;
+    li {
+      margin-bottom: 5px;
+      &:last-child {
+        margin-bottom: 0;
+      }
+    }
+  }
 }
 
-#sidebar #sidebar_content {
-  overflow: auto;
+#sidebar_close {
   position: absolute;
-  font-size: 13px;
-  line-height: 15px;
-  top: 29px;
-  bottom: 0px;
-  left: 0px;
-  right: 0px;
-}
-
-#sidebar .sidebar_title {
-  margin: 0px;
-  padding: 3px 6px 4px 6px;
-  height: 29px;
-  font-size: 14px;
-  line-height: 15px;
-  background: #ccc;
-}
-
-#sidebar #sidebar_title {
-  text-align: left;
+  height: 20px;
+  top: 0px;
+  bottom: 0;
+  right: 20px;
+  margin: auto;
 }
 
-#sidebar #sidebar_close {
-  text-align: right;
+#sidebar_content {
+  position: relative;
+  bottom: 0;
+  width: 100%;
+  h4 {
+    padding: 0 20px 10px 20px;
+    margin-top: 10px;
+    margin-bottom: 0;
+    border-bottom: 1px solid #ddd;
+  }
 }
 
 /* Rules for the map key which appears in the popout sidebar */
 
-#mapkey h3 {
-  font-size: 110%;
-  font-weight: normal;
-  text-align: center;
-}
-
-#mapkey .mapkey-table {
-  padding-left: 5px;
-  padding-right: 5px;
+#mapkey {
+  padding: 20px;
 }
 
 #mapkey .mapkey-table-key img {
@@ -565,8 +660,8 @@ body.site-export #tabnav a#exportanchor {
   margin-right: auto;
 }
 
-#mapkey .mapkey-table-value {
-  font-size: 90%;
+#mapkey td {
+  padding: 0 5px 5px 5px;
 }
 
 /* Rules for search results which appear in the popout sidebar */
@@ -576,77 +671,80 @@ body.site-export #tabnav a#exportanchor {
   margin-bottom: 5px;
 }
 
-.search_results_heading {
-  margin: 0px;
-  padding: 2px 5px;
-  border-bottom: 1px solid #ccc;
-  font-weight: bold;
+.search_results_entry {
+  margin-bottom: 0 ;
 }
 
-.search_results_entry {
-  margin: 0px;
-  padding: 2px 5px;
+.search_results_entry .search_searching {
+  text-align: center;
+  margin: 20px auto;
+  width: 20px;
+  display: block;
 }
 
+ul.results-list li { border-bottom: 1px solid #ccc; }
+
 .search_results_error {
-  margin: 0px;
-  padding: 2px 6px 0px;
   color: #f00;
 }
 
 /* Rules for data browser information which appears in the popout sidebar */
 
-.browse_heading {
-  margin: 0px;
-  padding: 3px 6px;
-  border: 1px solid #ccc;
-  background: #ddd;
+#browse_content {
+  position: relative;
+  .browse_show_list.button {
+    position: absolute;
+    left: 20px;
+    right: 20px;
+    bottom: -40px;
+    margin-bottom: 0;
+  }
+  a.more-details {
+    position: absolute;
+    top: 0;
+    right: 20px;
+  }
+  ul li {
+    margin-bottom: 0;
+  }
 }
 
 .browse_details {
-  margin: 0px;
-  padding: 0px 6px;
+  position: relative;
 }
 
-/* Rules for export information which appears in the popout sidebar */
-
-.export_heading {
-  margin: 0px;
-  padding: 2px 5px;
-  border-bottom: 1px solid #ccc;
-  font-weight: bold;
+.browse_status {
+  display: none;
 }
 
+/* Rules for export information which appears in the popout sidebar */
+
 .export_bounds {
-  width: 100%;
   text-align: center;
 }
 
-.export_bound {
-  margin: 5px;
+.export_area_inputs {
+  margin-bottom: 10px;
 }
 
-.export_details {
-  padding: 2px 6px;
+.export_bound {
+  margin: 5px;
 }
 
-#export_osm {
-  display: none;
+.export_details input[type="text"]#export_html_text {
+  width: 100%;
 }
 
-#export_mapnik {
-  display: none;
+#sidebar #marker_inputs li:last-child {
+  margin-bottom: 10px;
 }
 
+#export_osm,
+#export_mapnik,
 #export_osmarender {
   display: none;
 }
 
-.export_hint {
-  padding: 0px 12px;
-  font-style: italic;
-}
-
 .export_buttons {
   width: 100%;
   text-align: center;
@@ -656,21 +754,23 @@ body.site-export #tabnav a#exportanchor {
 
 #content {
   padding: 20px;
-  margin: 30px 0px 0px 185px;
-  border-left: 1px solid #ccc;
-  text-align: left;
+  position: relative;
 }
 
 .site-edit #content,
 .site-index #content,
 .site-export #content {
   position: fixed;
-  margin-top: 0px;
-  left: 0px;
-  right: 0px;
-  top: 0px;
-  bottom: 0px;
-  padding: 0px;
+  padding: 0;
+  top: 30px; bottom: 0;
+  left: 185px; right: 0;
+  border-left: 1px solid #ccc;
+}
+
+.wrapper {
+  margin-left: 185px;
+  border-left: 1px solid #ccc;
+  text-align: left;
 }
 
 .site-edit #content {
@@ -701,6 +801,7 @@ body.site-export #tabnav a#exportanchor {
   margin: 10px;
   position: absolute;
   top: 0px;
+  margin-right: 5px;
 }
 
 #slim_header img {
@@ -709,23 +810,44 @@ body.site-export #tabnav a#exportanchor {
   margin-right: 5px;
 }
 
-/* Rules for text content pages */
-
-.wide-table {
-  width: 100%;
-}
-
-/* Rules for the home page */
+.content-heading {
+  position: relative;
+  padding: 20px;
+  background: #F4F4FF;
+  h1, h2 {
+    margin-bottom: 10px;
+    line-height: 100%;
+    &:last-child {
+      margin-bottom: 0;
+    }
+  }
+  p {
+    margin-top: 10px;
+    margin-bottom: 0px;
+  }
+}
 
-.site-index #map {
-  position: absolute;
-  top: 0px;
-  bottom: 0px;
-  left: 0px;
-  right: 0px;
+/* Rules for small maps in content areas */
+
+.content_map {
+  position: relative;
+  width: 45%;
+  height: 398px;
+  border: 1px solid #ccc;
+  margin-bottom: 20px;
+  float: right;
+}
+
+.content_map #small_map {
+  height: 100%;
+  width: 100%;
+  margin-bottom: 20px;
 }
 
-.site-export #map {
+/* Rules for the home page */
+
+.site-export #map,
+.site-index #map {
   position: absolute;
   top: 0px;
   bottom: 0px;
@@ -746,88 +868,88 @@ body.site-export #tabnav a#exportanchor {
 
 /* Rules for the changeset list shown by the history tab etc */
 
-#changeset_list_container {
-  position: relative;
-}
-
 #changeset_list {
-  width: 50%;
-  font-size: small;
-  border-collapse: collapse;
-  border-width: 0px;
-  margin-top: 1px;
-  margin-bottom: 1px;
-  text-align: left;
-}
-
-#changeset_list td {
-  vertical-align: top;
-  padding: 3px;
-}
-
-#changeset_list .date {
-  white-space: nowrap;
-}
-
-#changeset_list .user {
-  white-space: nowrap;
-}
-
-#changeset_list .area {
-  white-space: nowrap;
-}
-
-#changeset_list .selected {
-  background-color: rgb(255, 255, 160);
-  background-color: rgba(255, 255, 85, 0.5);
+  width: 100%;
+  ul {
+    padding: 10px 0;
+    margin-bottom: 0px;
+    border-top: 1px solid #ccc;
+    &:last-child {
+      border-bottom: 1px solid #ccc;
+    }
+  }
+  .selected {
+    background-color: rgb(255, 255, 160);
+  }
+  .date,
+  .user {
+    border-left: 1px solid #ccc;
+    padding-left: 5px;
+    margin-right: 5px;
+  }
 }
 
 #changeset_list_map {
   position: absolute;
-  float: right;
-  top: 0px;
-  bottom: 0px;
-  right: 0px;
-  width: 49%;
-  min-height: 400px;
-  border: solid 1px black;
+  bottom: 20px;
+  top: 20px;
+  right: 20px;
+  width: 45%;
+  min-height: 398px;
+  max-height: 598px;
+  border: 1px solid #ccc;
 }
 
 /* Rules for the data browser */
 
-#browse_navigation {
-  float: right;
-  width: 250px;
-  margin-left: 10px;
-  text-align: center;
-}
-
-table.browse_details th {
-  white-space: nowrap;
-}
-
-#browse_map {
-  float: right;
-  width: 250px;
-  text-align: right;
-  margin-left: 10px;
+.browse-section {
+  border-top: 1px solid #ccc;
+  margin-top: 10px;
+  padding-top: 10px;
+  &:first-child {
+    margin-top: 0;
+  }
+  h4, p {
+    margin-bottom: 5px;
+  }
+  p, ul, .bbox {
+    margin-left: 33.3333%;
+  }
+  h4 {
+    width: 33.3333%;
+    float: left;
+  }
 }
 
-#browse_map #small_map {
-  width: 250px;
-  height: 300px;
-  border: solid 1px black;
+.bbox {
+  div {
+    width: 33.3333%;
+    text-align: center;
+    padding: 5px 0;
+    overflow: hidden;
+    text-overflow: ellipsis;
+    float: left;
+  }
+  .max_lat,
+  .min_lat {
+    margin-left: auto;
+    margin-right: auto;
+    width: 100%;
+  }
 }
 
 #browse_map .geolink {
   display: none;
 }
 
+#browse_map .secondary-actions {
+  margin-bottom: 10px;
+}
+
 /* Rules for the trace list shown by the traces tab etc */
 
 #trace_list {
-  font-size: small;
-  border-collapse: collapse;
+  font-size: 10px;
   border-width: 0px;
   text-align: right;
 }
@@ -857,113 +979,231 @@ table.browse_details th {
   color: red;
 }
 
-/* Rules for the user list */
+/* Rules for the user profile page */
 
-#user_list {
+#userinformation {
+  min-height: 100px;
+  .userinformation-inner {
+    float: left;
+  }
+  h2 {
+    margin-top: 0;
+  }
+  .user-description {
+    width: 100%;
+    clear: both;
+  }
+  .deemphasize {
+    margin: 0;
+  }
+}
+
+.admin-user-info small {
+  margin-bottom: 10px;
+  display: inline;
+  margin-right: 20px;
+}
+
+.activity-block {
+  border-bottom: 1px solid #ccc;
+  padding-bottom: 20px;
+  float: left;
+  h3 {
+    margin-bottom: 10px;
+  }
+}
+
+.contact-activity {
+  margin-top: 20px;
   width: 100%;
-  font-size: small;
 }
 
-#user_list tr {
-  vertical-align: middle;
+.activity-details p {
+  margin-left: 72px;
+  margin-bottom: 0;
 }
 
-#user_list p {
+#friends-container .contact-activity ul {
+  margin-left: 72px;
+  }
+
+.user-view p#no_home_location {
+  margin: 20px;
+}
+
+.user-view .user_thumbnail {
+  margin-top: 5px;
+  float: left;
+}
+
+/* Rules for the user map */
+
+.content_map .leaflet-popup-content {
+  margin: 10px 15px;
+  min-height: 62px;
+}
+
+.content_map .leaflet-popup-content-wrapper {
+-webkit-border-radius: 4px;
+  border-radius: 4px;
+}
+
+/* Rules for user popups on maps */
+
+.user_popup {
+  min-width: 200px;
+}
+
+.user_popup p {
+  padding-top: 3px;
+  padding-bottom: 3px;
   margin-top: 0px;
   margin-bottom: 0px;
+  margin-left: 55px;
+  margin-right: 2px;
 }
 
-#user_list_actions {
-  float: right;
-  margin-top: 10px;
+.user_popup img.user_thumbnail {
+  float: left;
+  margin-right: 10px;
 }
 
-/* Rules for the diary list */
+/* Rules for user popups on maps */
 
-.diary_entry-list img.user_image {
-  float: right;
+.user_popup p {
+  margin-bottom: 0;
+  margin-left: 60px;
+  font-size: 12px;
 }
 
-.diary_entry-list img.user_thumbnail {
-  float: right;
+/* Rules for the user list */
+
+#user_list {
+  font-size: 10px;
+  width: 100%;
 }
 
-/* Rules for the diary entry view */
+#user_list tr {
+  vertical-align: middle;
+}
 
-.diary_entry-view img.user_image {
-  float: right;
+#user_list p {
+  margin-top: 0px;
+  margin-bottom: 0px;
 }
 
-.diary_entry-view img.user_thumbnail {
+#user_list_actions {
   float: right;
+  margin-top: 10px;
 }
 
-/* Rules for the new diary entry page */
+/* Rules for the diary list page */
 
-.diary_entry div#map {
-  position: relative;
-  width: 90%;
-  height: 400px;
-  border: 1px solid #ccc;
-  display: none;
+.diary_entry-list img.user_thumbnail {
+  float: left;
 }
 
-/* Rules for the login page */
+.diary_post {
+  position: relative;
+  margin-top: 20px;
+  padding-top: 20px;
+  border-top: 1px solid #ccc;
 
-#login_wrapper div {
-  margin: 5px;
-  padding: 15px;
-  border-radius: 15px;
-  -moz-border-radius: 15px;
+  &:first-child {
+    margin-top: 0;
+    border-top: 0;
+    padding-top: 0;
+  }
+  h1, h2 {
+    font-size: 21px;
+    line-height: 21px;
+  }
+  small.deemphasize {
+    display: block;
+  }
+  ul,
+  ol {
+    margin-bottom: 20px;
+    font-style: italic;
+    margin-left: 20px;
+  }
+  ul li {
+    list-style: disc;
+  }
+  ol li {
+    list-style: decimal;
+  }
+  ul.secondary-actions { display: inline-block;}
 }
 
-#login_login {
-  background-color: #f5f5ff;
-  border: 1px solid #f3f3ff;
-  border-radius: 15px;
-  -moz-border-radius: 15px;
+.content-heading .hide_unless_logged_in { // hacky selector, better to just add a new class to this div
+  display: inline;
 }
 
-#login_login h1 {
-  margin-top: 5px;
+.post_heading {
+  margin-bottom: 20px;
+  h2 {
+    margin-top: 0;
+    margin-bottom: 0;
+    font-size: 24px;
+    float: left;
+    line-height: 32px;
+  }
 }
 
-table#login_openid_buttons {
-  padding-bottom: 10px;
-}
+/* Rules for the diary entry page */
 
-#login_openid_buttons td {
-  padding-left: 10px;
-  padding-right: 10px;
-  padding-top: 5px;
-  padding-bottom: 5px;
+.diary_entry {
+  #map {
+    position: relative;
+    width: 90%;
+    height: 398px;
+    border: 1px solid #ccc;
+    display: none;
+    margin-bottom: 20px;
+  }
+  #newcomment {
+    border-top: 1px solid #ccc;
+    padding-top: 20px;
+    margin-top: 10px;
+  }
+  .diary-comment {
+    margin-top: 10px;
+    &:first-child {
+      margin-top: 20px;
+      padding-top: 20px;
+      border-top: 1px solid #ccc;
+    }
+    p {
+      margin-bottom: 10px;
+      margin-left: 70px;
+    }
+    .comment-heading {
+      margin-bottom: 0;
+      margin-top: 0;
+    }
+  }
 }
 
-#login_openid_buttons img {
-  border: 0;
+.diary_entry-view img.user_thumbnail {
+  float: left;
 }
 
-#login_signup form.button-to div {
-  margin: 0px;
-  padding: 0px;
+/* Rules for the login page */
+
+#login_openid_buttons li {
+  float: left;
+  padding: 5px 10px;
 }
 
 /* Rules for the account confirmation page */
 
 div#contributorTerms {
-  border: 1px solid black;
-  padding: 4px;
+  border: 1px solid #ccc;
+  padding: 20px;
+  margin-bottom: 20px;
   overflow: auto;
-  width: 95%;
-  height: 400px;
-}
-
-div#slim_content div#contributorTerms {
-  width: auto;
-}
-
-div#contributorTerms p#first {
-  margin-top: 0px;
+  height: 398px;
 }
 
 div#contributorTerms p#last {
@@ -976,14 +1216,7 @@ div#contributorTerms ol {
 
 div#contributorTerms img {
   display: block;
-  margin-left: auto;
-  margin-right: auto;
-  margin-top: 10%;
-}
-
-form#termsForm {
-  width: 95%;
-  margin-bottom: 3em;
+  margin: 20px auto inherit auto;
 }
 
 form#termsForm div#buttons {
@@ -991,7 +1224,7 @@ form#termsForm div#buttons {
 }
 
 form#termsForm input#agree {
-  margin-left: 50px;
+  margin-left: 40px;
 }
 
 div#slim_content form#termsForm {
@@ -999,10 +1232,10 @@ div#slim_content form#termsForm {
 }
 
 p#contributorGuidance {
-  background-color: #f5f5ff;
-  border: 1px solid #f3f3ff;
-  border-radius: 15px;
-  -moz-border-radius: 15px;
+  background-color: #f4f4ff;
+  border-radius: 3px;
+  -moz-border-radius: 3px;
+  margin-top: 20px;
   padding: 10px;
 }
 
@@ -1018,24 +1251,14 @@ p#contributorGuidance {
 
 #accountForm .user_map {
   position: relative;
-  width: 500px;
-  height: 400px;
+  width: 498px;
+  height: 398px;
   border: 1px solid #ccc;
 }
 
-#accountForm td.accountImage {
-  img {
-    vertical-align: top;
-    margin-top: 3px;
-  }
-
-  table {
-    display: inline-block;
-
-    td {
-      padding-bottom: 0px;
-    }
-  }
+.accountImage-options {
+  width: 50%;
+  display: inline-block;
 }
 
 .nohome .location {
@@ -1054,66 +1277,16 @@ p#contributorGuidance {
   margin-top: 15px;
 }
 
-/* Rules for the user view */
-
-.user-view img.user_image {
-  float: right;
-}
-
-.user-view .user_map {
-  float: right;
-  position: relative;
-  width: 400px;
-  height: 400px;
-  border: 1px solid #ccc;
-}
-
-.user-view .user_map p#no_home_location {
-  position: absolute;
-  top: 0px;
-  bottom: 0px;
-  width: 90%;
-  height: 30%;
-  margin: auto 5%
-}
-
-/* Rules for the user map */
-
-.user_map .leaflet-control-pan,
-.user_map .leaflet-control-zoomslider {
-  display: none;
-}
-
-.user_map .leaflet-control-zoom {
-  display: block;
-}
-
-/* Rules for user popups on maps */
-
-.user_popup {
-  min-width: 200px;
-}
-
-.user_popup p {
-  padding-top: 3px;
-  padding-bottom: 3px;
-  margin-top: 0px;
-  margin-bottom: 0px;
-  margin-left: 55px;
-  margin-right: 2px;
-}
-
-.user_popup img.user_thumbnail {
-  float: left;
+.content_map.settings_map {
+  float: none;
+  width: 50%;
 }
 
 /* Rules for message in/out box page */
 
 .messages {
   width: 100%;
-  border-collapse: collapse;
-  border-spacing: 0px;
-  border-width: 0px;
+  border: 1px solid #ddd;
 }
 
 .messages tbody tr {
@@ -1121,12 +1294,20 @@ p#contributorGuidance {
 }
 
 .messages .inbox-row {
-  background: #eee;
+  background: #f8f8ff;
+}
+
+.messages .inbox-row-unread {
+  background:#CBEEA7;
+}
+
+.right {
+  float: right;
 }
 
 .messages tr td,
 .messages tr th {
-  padding: 0px 5px;
+  padding: 5px;
 }
 
 .inbox-row .inbox-mark-read {
@@ -1134,8 +1315,9 @@ p#contributorGuidance {
 }
 
 .info-line {
-  border-bottom: 1px solid #ccc;
+  margin-bottom: 20px;
   padding: 5px 0px 4px 0px;
+  border-bottom: 1px solid #ccc;
 }
 
 .info-line form,
@@ -1147,48 +1329,30 @@ p#contributorGuidance {
   vertical-align: middle;
 }
 
-.right {
-  float: right;
-}
-
 .inbox-row-unread .inbox-mark-unread {
   display: none;
 }
 
 /* Rules for "flash" notice boxes shown at the top of the content area */
 
-#error {
-  border: 1px solid red;
-  padding: 7px;
-  background-color: #fff0f0;
-  margin-bottom: 20px;
-  border-radius: 5px;
-  -moz-border-radius: 5px;
-}
-
-#warning {
-  border: 1px solid orange;
-  padding: 7px;
-  background-color: #fff6f0;
-  margin-bottom: 20px;
-  border-radius: 5px;
-  -moz-border-radius: 5px;
-}
-
-#notice {
-  border: 1px solid green;
-  padding: 7px;
-  background-color: #f0fff0;
-  margin-bottom: 20px;
-  border-radius: 5px;
-  -moz-border-radius: 5px;
+.flash {
+    padding: 20px;
+  &#error {
+    background-color: #ff7070;
+  }
+  &#warning {
+    background-color: #fff6f0;
+  }
+  &#notice {
+    background-color: #CBEEA7;
+  }
 }
 
 /* Rules for highlighting fields with rails validation errors */
 
 .field_with_errors {
   padding: 2px;
-  background-color: red;
+  background-color: #ff7070;
   display: table;
 }
 
@@ -1196,18 +1360,17 @@ p#contributorGuidance {
 
 #errorExplanation {
   width: 400px;
-  border: 2px solid red;
-  padding: 7px;
-  padding-bottom: 12px;
+  border: 2px solid #ff7070;
+  padding: 10px;
   margin-bottom: 20px;
   background-color: #f0f0f0;
 }
 
 #errorExplanation h2 {
+  margin: -10px;
+  padding: 5px 5px 5px 15px;
   font-weight: bold;
   font-size: 12px;
-  padding: 5px 5px 5px 15px;
-  margin: -7px;
   background-color: #c00;
   color: #fff;
   text-align: left;
@@ -1221,11 +1384,15 @@ p#contributorGuidance {
 
 #errorExplanation ul li {
   font-size: 12px;
-  list-style: square;
+  list-style: disc;
 }
 
 /* Rules for forms */
 
+.submitButton {
+  text-align: center;
+}
+
 .fieldName {
   vertical-align: top;
   font-weight: bold;
@@ -1239,7 +1406,7 @@ p#contributorGuidance {
 }
 
 .minorNote {
-  font-size: 0.8em;
+  font-size: 12px;
 }
 
 input[type="text"],
@@ -1250,28 +1417,27 @@ textarea {
   border: 1px solid #ccc;
 }
 
-input.openid_url {
-  background: image-url('openid_input.png') repeat-y left white;
-  padding-left: 16px;
-}
-
 /* Rules for user images */
 
 img.user_image {
-  max-width: 100px;
-  max-height: 100px;
+  width: 100px;
+  height: 100px;
   border: 1px solid #ccc;
+  margin-bottom: 20px;
+  float: left;
+  margin-right: 20px;
 }
 
 img.user_thumbnail {
-  max-width: 50px;
-  max-height: 100px;
+  width: 50px;
+  height: 50px;
   border: 1px solid #ccc;
+  margin-right: 20px;
 }
 
 img.user_thumbnail_tiny {
-  max-width: 25px;
-  max-height: 25px;
+  max-width: 24px;
+  max-height: 24px;
   border: 1px solid #ccc;
 }
 
@@ -1294,13 +1460,87 @@ abbr.geo {
   top: 4px;
 }
 
+/* General styles for action lists / subnavs / pager navs */
+
+ul.secondary-actions {
+  font-style: normal;
+  margin-bottom: 0;
+  margin-left: 0;
+  &.pager {
+    display: inline-block;
+    margin-bottom: 20px;
+    margin-right: 60px;
+  }
+  li {
+    display: block;
+    float: left;
+    list-style: none;
+    border-left: 1px solid #ccc;
+    padding-left: 5px;
+    margin-right: 5px;
+    &:first-child {
+      border-left: 0;
+      padding-left: 0;
+    }
+  }
+  .hidden li,
+  .hide_unless_logged_in li,
+  .hide_unless_administrator li {
+    border-left: 1px solid #ccc;
+    padding-left: 5px;
+    }
+  .hidden:first-child li,
+  .hide_unless_logged_in:first-child li,
+  .hide_unless_administrator:first-child li {
+    border-left: 0;
+    padding-left: 0;
+  }
+}
+
+/* Utility for managing inner content areas */
+
+.inner22 { padding: 20px;}
+
+.inner12 { padding: 10px 20px;}
+
+.inner02 { padding: 0 20px;}
+
+/* Utility for general button styles */
+
+a.button {
+  display: block;
+  padding: 5px;
+  min-width: 120px;
+  margin-bottom: 10px;
+  color: white;
+  background: #7092FF;
+  text-align: center;
+  border-radius: 2px;
+  -moz-border-radius: 2px;
+  &:hover {
+    background: blue;
+    text-decoration: none;
+  }
+  &:last-child {
+    margin-bottom: 0;
+  }
+}
+
+a.button.submit {
+  background-color: #cbeea7;
+  &:hover {
+    background-color: #9ed485;
+  }
+}
 /* Rules for doing distinct colour of alternate table rows */
 
-.table0 {
-  background: #f6f6f6;
+.table0,
+.item0 {
+  background: #F4F4FF;
 }
 
-.table1 {
+.table1,
+.item1 {
   background: #fff;
 }
 
@@ -1315,61 +1555,51 @@ abbr.geo {
 
 .richtext_container {
   white-space: nowrap;
-
   .richtext_content {
     display: inline-block;
     vertical-align: top;
-
     .richtext_preview {
       display: inline-block;
-      margin-top: 1px;
-      margin-bottom: 1px;
-      border: 4px solid #eee;
-      background-color: #eee;
+      padding: 20px;
+      background-color: #f4f4ff;
       white-space: normal;
-
       &.loading {
         background-image: image-url("loading.gif");
         background-repeat: no-repeat;
         background-position: center;
       }
-
       > :first-child {
         margin-top: 0px;
       }
     }
   }
-
   .richtext_help {
     display: inline-block;
     vertical-align: top;
-    background-color: #ddd;
     margin-left: 15px;
-    padding: 5px 10px 10px 10px;
-    font-size: 12px;
-
+    background-color: #f8f8ff;
+    padding: 20px;
     p {
       margin: 0px;
     }
-
     th {
       vertical-align: top;
       text-align: left;
       padding: 0px 15px 0px 0px !important;
     }
-
+    table > thead th {
+      font-weight: bold;
+    }
     td {
-      text-align: left;
       font-family: fixed;
       line-height: 16px;
+      text-align: left;
       padding: 0px !important;
     }
-
     input.richtext_doedit {
       margin-top: 5px !important;
       margin-right: 10px !important;
     }
-
     input.richtext_dopreview {
       margin-top: 5px !important;
       margin-left: 10px !important;
index 5ffaee985561db98a56138059649c8922dfaedd0..cf7c0c2023cc4c3edebcb679ff4d354715b4e66d 100644 (file)
@@ -1,11 +1,5 @@
 /* Styles specific to large screens  */
 
-/* Rules for greeting bar in the top right corner */
-
-#small-greeting {
-  display: none;
-}
-
 /* Rules for OpenLayers maps */
 
 .leaflet-control-zoom {
index 91d9fa3edba8e40bf869e5291502acdad628441f..f4a1a00d46204962c919f77ad2ab36152df10509 100644 (file)
@@ -1,4 +1,4 @@
 /*
  *= require rtl/common
  *= require rtl/small
- */
+ */
\ No newline at end of file
index 5d658fdc10468c16eb0d2aaf53e8e801de590665..7ce0484b73604dda2083d9b082ac206ab2dc6e65 100644 (file)
@@ -7,9 +7,33 @@ body {
 }
 
 h1 {
+  font-size: 16px;
+}
+
+h2, h3, h4 {
   font-size: 14px;
 }
 
+.wrapper {
+  margin: 0;
+}
+
+.site-edit #content,
+.site-index #content,
+.site-export #content {
+  left: 0;
+}
+
+.site-edit #top-bar,
+.site-index #top-bar,
+.site-export #top-bar {
+  position: relative;
+}
+
+.column-1 {
+  width: 100%;
+}
+
 /* Rules for the whole left sidebar, including the logo */
 
 #left {
@@ -21,15 +45,15 @@ h1 {
 #top-bar {
   left: 0;
   margin: 0px;
-  height: 39px;
-  padding: 0;
+  height: 24px;
+  position: static;
 }
 
 #tabnav {
-  height: 14px;
+  height: 19px;
   margin: 0px;
   padding-top: 5px;
-  margin-top: 20px;
+  margin-top: 26px;
   font-size: 10px;
   line-height: 10px;
 }
@@ -37,10 +61,12 @@ h1 {
 #tabnav a, #tabnav a:link, #tabnav a:visited {
   font-size: 10px;
   line-height: 10px;
-  padding: 2px 5px;
+  padding: 5px;
   margin-right: 1px;
 }
 
+.menuicon { line-height: 10px;}
+
 /* Rules for the site name - shown when left sidebar is hidden */
 
 #small-title {
@@ -52,7 +78,7 @@ h1 {
   left: 5px;
   top: 5px;
   padding: 2px;
-  width: 110px; /* TODO: find better fix for overlap */
+  width: 110px;
   background-color: #fff;
   z-index: 100;
 }
@@ -63,36 +89,41 @@ h1 {
 
 #small-title h1 {
   position: absolute;
-  left: 18px;
   font-size: 12px;
+  line-height: 18px;
   margin: 0;
+  left: 22px;
 }
 
 /* Rules for greeting bar in the top right corner */
 
 #greeting {
   position: absolute;
-  right: 5px;
-  top: 5px;
-  height: 14px;
-  font-size: 12px;
-  line-height: 12px;
-  white-space: nowrap;
+  right: 0;
+  top: 0;
   background: none;
 }
 
-#full-greeting {
-  display: none;
+#browse_map ul.secondary-actions {
+  float: right;
 }
 
-#small-greeting {
-  display: inline;
+#map {
+  border: 0;
 }
 
-/* Rules for OpenLayers maps */
+.content_map {
+  width: 100%;
+  border: none;
+  float: none;
+  height: 200px;
+  max-height: none;
+  min-height: auto;
+}
 
-#map {
-  border: 0;
+.content_map #small_map {
+  height: 300px;
+  border: 1px solid #ccc;
 }
 
 .leaflet-control-pan, .leaflet-control-zoomslider {
@@ -113,12 +144,19 @@ h1 {
   border-right: 0px;
 }
 
+.site-export #content,
+.site-edit #content,
+.site-index #content {
+  margin-top: 21px;
+}
+
 /* Rules for search sidebar when shown */
 
 #sidebar {
   border: 0px;
-  border-right: 1px solid #ccccdd;
   margin: 0px;
+  width: 50%;
+  border-right: 1px solid #ccccdd;
 }
 
 .sidebar_title, #sidebar_content {
@@ -173,19 +211,23 @@ p.search_results_entry {
 }
 
 #login_openid_buttons td {
-  padding-left: 2px;
-  padding-right: 2px;
-  padding-top: 2px;
-  padding-bottom: 2px;
+  padding: 2px;
 }
 
-/* Rules for the profile page */
+/* Rules for the user view */
 
 .user_map {
   width: 100% !important;
   height: 300px !important;
 }
 
+#userinformation .deemphasize {
+  position: relative;
+  right: auto; left: auto;
+  margin-top: 10px;
+  top: auto;
+}
+
 /* Rules for the user settings page */
 
 #user_new_email {
@@ -202,34 +244,21 @@ p.search_results_entry {
 
 /* Rules for the browse pages */
 
-#browse_navigation {
-  width: 100% !important;
-  margin-top: 0 !important;
-}
-
-#small_map, #browse_map {
-  width: 100% !important;
+.browse-section.common div{
+  clear: both;
 }
 
-#changeset_list tr {
-  display: block;
-  clear: left;
+#changeset_list_map {
+  position: relative;
   width: 100%;
-}
-
-#changeset_list th {
-  display: none;
-}
-
-#changeset_list td {
-  display: block;
-  float: left;
-  padding-right: 10px;
-}
-
-#changeset_list td.comment, #changeset_list td.area {
-  width: 96%;
-  clear: left;
+  right: 0;
+  left: 0;
+  top: 0px;
+  margin-bottom: 20px;
+  float: none;
+  height: 300px !important;
+  max-height: auto;
+  min-height: auto;
 }
 
 /* Rules for the diary entries pages */
index 9a4271621af42fea234e38928ee28ee04bb720a4..b280de58907e10eb1ad76dcfee3f031b81499013 100644 (file)
@@ -33,24 +33,24 @@ class ChangesetController < ApplicationController
   end
 
   ##
-  # Return XML giving the basic info about the changeset. Does not 
+  # Return XML giving the basic info about the changeset. Does not
   # return anything about the nodes, ways and relations in the changeset.
   def read
     changeset = Changeset.find(params[:id])
     render :text => changeset.to_xml.to_s, :content_type => "text/xml"
   end
-  
+
   ##
   # marks a changeset as closed. this may be called multiple times
   # on the same changeset, so is idempotent.
-  def close 
+  def close
     assert_method :put
-    
-    changeset = Changeset.find(params[:id])    
+
+    changeset = Changeset.find(params[:id])
     check_changeset_consistency(changeset, @user)
 
     # to close the changeset, we'll just set its closed_at time to
-    # now. this might not be enough if there are concurrency issues, 
+    # now. this might not be enough if there are concurrency issues,
     # but we'll have to wait and see.
     changeset.set_closed_time_now
 
@@ -70,11 +70,11 @@ class ChangesetController < ApplicationController
 
     cs = Changeset.find(params[:id])
     check_changeset_consistency(cs, @user)
-    
+
     # keep an array of lons and lats
     lon = Array.new
     lat = Array.new
-    
+
     # the request is in pseudo-osm format... this is kind-of an
     # abuse, maybe should change to some other format?
     doc = XML::Parser.string(request.raw_post).parse
@@ -82,17 +82,17 @@ class ChangesetController < ApplicationController
       lon << n['lon'].to_f * GeoRecord::SCALE
       lat << n['lat'].to_f * GeoRecord::SCALE
     end
-    
+
     # add the existing bounding box to the lon-lat array
     lon << cs.min_lon unless cs.min_lon.nil?
     lat << cs.min_lat unless cs.min_lat.nil?
     lon << cs.max_lon unless cs.max_lon.nil?
     lat << cs.max_lat unless cs.max_lat.nil?
-    
+
     # collapse the arrays to minimum and maximum
-    cs.min_lon, cs.min_lat, cs.max_lon, cs.max_lat = 
+    cs.min_lon, cs.min_lat, cs.max_lon, cs.max_lat =
       lon.min, lat.min, lon.max, lat.max
-    
+
     # save the larger bounding box and return the changeset, which
     # will include the bigger bounding box.
     cs.save!
@@ -109,7 +109,7 @@ class ChangesetController < ApplicationController
   # Furthermore, each element in the diff can only reference the current
   # changeset.
   #
-  # Returns: a diffResult document, as described in 
+  # Returns: a diffResult document, as described in
   # http://wiki.openstreetmap.org/wiki/OSM_Protocol_Version_0.6
   def upload
     # only allow POST requests, as the upload method is most definitely
@@ -120,7 +120,7 @@ class ChangesetController < ApplicationController
 
     changeset = Changeset.find(params[:id])
     check_changeset_consistency(changeset, @user)
-    
+
     diff_reader = DiffReader.new(request.raw_post, changeset)
     Changeset.transaction do
       result = diff_reader.commit
@@ -132,45 +132,45 @@ class ChangesetController < ApplicationController
   # download the changeset as an osmChange document.
   #
   # to make it easier to revert diffs it would be better if the osmChange
-  # format were reversible, i.e: contained both old and new versions of 
+  # format were reversible, i.e: contained both old and new versions of
   # modified elements. but it doesn't at the moment...
   #
   # this method cannot order the database changes fully (i.e: timestamp and
   # version number may be too coarse) so the resulting diff may not apply
-  # to a different database. however since changesets are not atomic this 
+  # to a different database. however since changesets are not atomic this
   # behaviour cannot be guaranteed anyway and is the result of a design
   # choice.
   def download
     changeset = Changeset.find(params[:id])
-    
+
     # get all the elements in the changeset which haven't been redacted
     # and stick them in a big array.
-    elements = [changeset.old_nodes.unredacted, 
-                changeset.old_ways.unredacted, 
+    elements = [changeset.old_nodes.unredacted,
+                changeset.old_ways.unredacted,
                 changeset.old_relations.unredacted].flatten
-    
-    # sort the elements by timestamp and version number, as this is the 
-    # almost sensible ordering available. this would be much nicer if 
-    # global (SVN-style) versioning were used - then that would be 
+
+    # sort the elements by timestamp and version number, as this is the
+    # almost sensible ordering available. this would be much nicer if
+    # global (SVN-style) versioning were used - then that would be
     # unambiguous.
-    elements.sort! do |a, b| 
+    elements.sort! do |a, b|
       if (a.timestamp == b.timestamp)
         a.version <=> b.version
       else
-        a.timestamp <=> b.timestamp 
+        a.timestamp <=> b.timestamp
       end
     end
-    
+
     # create an osmChange document for the output
     result = OSM::API.new.get_xml_doc
     result.root.name = "osmChange"
 
     # generate an output element for each operation. note: we avoid looking
-    # at the history because it is simpler - but it would be more correct to 
+    # at the history because it is simpler - but it would be more correct to
     # check these assertions.
     elements.each do |elt|
       result.root <<
-        if (elt.version == 1) 
+        if (elt.version == 1)
           # first version, so it must be newly-created.
           created = XML::Node.new "create"
           created << elt.to_xml_node
@@ -217,7 +217,7 @@ class ChangesetController < ApplicationController
 
     render :text => results.to_s, :content_type => "text/xml"
   end
-  
+
   ##
   # updates a changeset's tags. none of the changeset's attributes are
   # user-modifiable, so they will be ignored.
@@ -238,7 +238,7 @@ class ChangesetController < ApplicationController
       changeset.update_from(new_changeset, @user)
       render :text => changeset.to_xml, :mime_type => "text/xml"
     else
-      
+
       render :nothing => true, :status => :bad_request
     end
   end
@@ -253,7 +253,7 @@ class ChangesetController < ApplicationController
 
       if params[:display_name]
         user = User.find_by_display_name(params[:display_name])
-        
+
         if user and user.active?
           if user.data_public? or user == @user
             changesets = changesets.where(:user_id => user.id)
@@ -265,7 +265,7 @@ class ChangesetController < ApplicationController
           return
         end
       end
-      
+
       if params[:friends]
         if @user
           changesets = changesets.where(:user_id => @user.friend_users.public)
@@ -294,11 +294,11 @@ class ChangesetController < ApplicationController
         changesets = conditions_bbox(changesets, bbox)
         bbox_link = render_to_string :partial => "bbox", :object => bbox
       end
-      
+
       if user
         user_link = render_to_string :partial => "user", :object => user
       end
-      
+
       if params[:friends] and @user
         @title =  t 'changeset.list.title_friend'
         @heading =  t 'changeset.list.heading_friend'
@@ -343,7 +343,7 @@ class ChangesetController < ApplicationController
 private
   #------------------------------------------------------------
   # utility functions below.
-  #------------------------------------------------------------  
+  #------------------------------------------------------------
 
   ##
   # if a bounding box was specified do some sanity checks.
@@ -380,13 +380,13 @@ private
       # make sure we found a user
       raise OSM::APINotFoundError.new if u.nil?
 
-      # should be able to get changesets of public users only, or 
+      # should be able to get changesets of public users only, or
       # our own changesets regardless of public-ness.
       unless u.data_public?
         # get optional user auth stuff so that users can see their own
         # changesets if they're non-public
         setup_user_auth
-        
+
         raise OSM::APINotFoundError if @user.nil? or @user.id != u.id
       end
       return changesets.where(:user_id => u.id)
@@ -397,14 +397,14 @@ private
 
   ##
   # restrict changes to those closed during a particular time period
-  def conditions_time(changesets, time) 
+  def conditions_time(changesets, time)
     unless time.nil?
-      # if there is a range, i.e: comma separated, then the first is 
+      # if there is a range, i.e: comma separated, then the first is
       # low, second is high - same as with bounding boxes.
       if time.count(',') == 1
         # check that we actually have 2 elements in the array
         times = time.split(/,/)
-        raise OSM::APIBadUserInput.new("bad time range") if times.size != 2 
+        raise OSM::APIBadUserInput.new("bad time range") if times.size != 2
 
         from, to = times.collect { |t| DateTime.parse(t) }
         return changesets.where("closed_at >= ? and created_at <= ?", from, to)
@@ -432,11 +432,11 @@ private
     if open.nil?
       return changesets
     else
-      return changesets.where("closed_at >= ? and num_changes <= ?", 
+      return changesets.where("closed_at >= ? and num_changes <= ?",
                               Time.now.getutc, Changeset::MAX_ELEMENTS)
     end
   end
-  
+
   ##
   # query changesets which are closed
   # ('closed at' time has passed or changes limit is hit)
@@ -444,7 +444,7 @@ private
     if closed.nil?
       return changesets
     else
-      return changesets.where("closed_at < ? or num_changes > ?", 
+      return changesets.where("closed_at < ? or num_changes > ?",
                               Time.now.getutc, Changeset::MAX_ELEMENTS)
     end
   end
@@ -455,5 +455,5 @@ private
   def conditions_nonempty(changesets)
     return changesets.where("num_changes > 0")
   end
-  
+
 end
index 52ed87f5695541a2243953d4888905d77c142e68..d69d58df34075bbcd9d55294aba90ca84a9e4b36 100644 (file)
@@ -29,7 +29,7 @@ class DiaryEntryController < ApplicationController
         else
           @user.preferences.create(:k => "diary.default_language", :v => @diary_entry.language_code)
         end
-        redirect_to :controller => 'diary_entry', :action => 'list', :display_name => @user.display_name 
+        redirect_to :controller => 'diary_entry', :action => 'list', :display_name => @user.display_name
       else
         render :action => 'edit'
       end
@@ -79,9 +79,9 @@ class DiaryEntryController < ApplicationController
       if @this_user
         @title = t 'diary_entry.list.user_title', :user => @this_user.display_name
         @entry_pages, @entries = paginate(:diary_entries,
-                                          :conditions => { 
+                                          :conditions => {
                                             :user_id => @this_user.id,
-                                            :visible => true 
+                                            :visible => true
                                           },
                                           :order => 'created_at DESC',
                                           :per_page => 20)
@@ -110,7 +110,7 @@ class DiaryEntryController < ApplicationController
                                           :per_page => 20)
       else
           require_user
-          return     
+          return
       end
     elsif params[:nearby]
       if @user
@@ -121,11 +121,11 @@ class DiaryEntryController < ApplicationController
                                             :visible => true
                                           },
                                           :order => 'created_at DESC',
-                                          :per_page => 20)                                        
+                                          :per_page => 20)
       else
           require_user
-          return     
-      end                                  
+          return
+      end
     else
       @title = t 'diary_entry.list.title'
       @entry_pages, @entries = paginate(:diary_entries, :include => :user,
@@ -189,14 +189,14 @@ class DiaryEntryController < ApplicationController
 
   def comments
     @comment_pages, @comments = paginate(:diary_comments,
-                                         :conditions => { 
+                                         :conditions => {
                                            :user_id => @this_user,
                                            :visible => true
                                          },
                                          :order => 'created_at DESC',
                                          :per_page => 20)
     @page = (params[:page] || 1).to_i
-  end  
+  end
 private
   ##
   # require that the user is a administrator, or fill out a helpful error message
index 000677646f58c0ab587b2a6c1b9647fc03fb80c8..10895dd60e1f57d9b2797709d2d875bc4a6720ab 100644 (file)
@@ -10,11 +10,11 @@ module ApplicationHelper
   end
 
   def rss_link_to(*args)
-    return link_to(image_tag("RSS.gif", :size => "16x16", :border => 0), Hash[*args], { :class => "rsssmall" });
+    return link_to(image_tag("RSS.png", :size => "16x16", :border => 0), Hash[*args], { :class => "rsssmall" });
   end
 
   def atom_link_to(*args)
-    return link_to(image_tag("RSS.gif", :size => "16x16", :border => 0), Hash[*args], { :class => "rsssmall" });
+    return link_to(image_tag("RSS.png", :size => "16x16", :border => 0), Hash[*args], { :class => "rsssmall" });
   end
 
   def style_rules
index eb90fad1044665cd877c0c417aba7d782a419e88..47e38973db5849ef3d01f7e45c706b76e521deb0 100644 (file)
@@ -1,92 +1,78 @@
-<table>
+<div class='column-1'>
+
+  <div class='browse-section common'>
+    <div>
+      <h4><%= t 'browse.changeset_details.created_at' %></h4>
+      <p><%= l changeset_details.created_at %></p>
+    </div>
+
+    <div>
+      <h4><%= t 'browse.changeset_details.closed_at' %></h4>
+      <p><%= l changeset_details.closed_at %></p>
+    </div>
+
+    <% if changeset_details.user.data_public? %>
+      <div>
+        <h4><%= t 'browse.changeset_details.belongs_to' %></h4>
+        <p><%= link_to h(changeset_details.user.display_name), :controller => "user", :action => "view", :display_name => changeset_details.user.display_name %></p>
+      </div>
+    <% end %>
+  </div>
 
-  <tr>
-    <th><%= t 'browse.changeset_details.created_at' %></th>
-    <td><%= l changeset_details.created_at %></td>
-  </tr>
-  
-  <tr>
-    <th><%= t 'browse.changeset_details.closed_at' %></th>
-    <td><%= l changeset_details.closed_at %></td>
-  </tr>
-  
-  <% if changeset_details.user.data_public? %>
-    <tr>
-      <th><%= t 'browse.changeset_details.belongs_to' %></th>
-      <td><%= link_to h(changeset_details.user.display_name), :controller => "user", :action => "view", :display_name => changeset_details.user.display_name %></td>
-    </tr>
-  <% end %>
-  
   <%= render :partial => "tag_details", :object => changeset_details %>
 
-  <tr>
-    <th><%= t 'browse.changeset_details.bounding_box' %></th>
+  <div class='browse-section clearfix'>
+    <h4><%= t 'browse.changeset_details.bounding_box' %></h4>
     <% unless changeset_details.has_valid_bbox? %>
-      <td><%= t 'browse.changeset_details.no_bounding_box' %></td>
-    <% else
-          bbox = changeset_details.bbox.to_unscaled
-    %>
-      <td>
-        <table>
-          <tr>
-            <td colspan="3" style="text-align:center"><%=bbox.max_lat -%></td>
-          </tr>
-          <tr>
-            <td><%=bbox.min_lon -%></td>
-            <td>(<%= link_to t('browse.changeset_details.box'), root_path(:minlon => bbox.min_lon, :minlat => bbox.min_lat, :maxlon => bbox.max_lon, :maxlat => bbox.max_lat, :box => 'yes'), :title => t('browse.changeset_details.show_area_box') %>)</td>
-            <td><%=bbox.max_lon -%></td>
-          </tr>
-          <tr>
-            <td colspan="3" style="text-align:center"><%= bbox.min_lat -%></td>
-          </tr>
-        </table>
-      </td>
+    <p><%= t 'browse.changeset_details.no_bounding_box' %></p>
+    <% else bbox = changeset_details.bbox.to_unscaled %>
+        <div class='bbox'>
+            <div class='max_lat'><%=bbox.max_lat -%></div>
+            <div class='min_lon'><%=bbox.min_lon -%></div>
+            <div class='box'>(<%= link_to t('browse.changeset_details.box'), root_path(:minlon => bbox.min_lon, :minlat => bbox.min_lat, :maxlon => bbox.max_lon, :maxlat => bbox.max_lat, :box => 'yes'), :title => t('browse.changeset_details.show_area_box') %>)</div>
+            <div class='max_lon'><%=bbox.max_lon -%></div>
+            <div class='min_lat'><%= bbox.min_lat -%></div>
+        </div>
     <% end %>
-  </tr>
+  </div>
 
   <% unless @nodes.empty? %>
-    <tr valign="top">
-      <th><%= t 'browse.changeset_details.has_nodes', :count => @node_pages.item_count %></th>
-      <td>
-        <table cellpadding="0">
+    <div class='browse-section'>
+      <h4><%= t 'browse.changeset_details.has_nodes', :count => @node_pages.item_count %></h4>
+      <ul>
           <% @nodes.each do |node| %>
-            <tr><td><%= link_to h(printable_name(node, true)), { :action => "node", :id => node.node_id.to_s }, :class => link_class('node', node), :title => link_title(node) %></td></tr>
+            <li><%= link_to h(printable_name(node, true)), { :action => "node", :id => node.node_id.to_s }, :class => link_class('node', node), :title => link_title(node) %></li>
           <% end %>
-        </table>
-      </td>
-    </tr>
+      </ul>
+    </div>
     <%= render :partial => 'paging_nav', :locals => { :pages => @node_pages, :page_param => "node_page"} %>
   <% end %>
-  
+
   <% unless @ways.empty? %>
-    <tr valign="top">
-      <th><%= t 'browse.changeset_details.has_ways', :count => @way_pages.item_count %></th>
-      <td>
-        <table cellpadding="0">
+    <div class='browse-section'>
+      <h4><%= t 'browse.changeset_details.has_ways', :count => @way_pages.item_count %></h4>
+      <ul>
           <% @ways.each do |way| %>
-          <tr><td><%= link_to h(printable_name(way, true)), { :action => "way", :id => way.way_id.to_s }, :class => link_class('way', way), :title => link_title(way) %></td></tr>
+          <li><%= link_to h(printable_name(way, true)), { :action => "way", :id => way.way_id.to_s }, :class => link_class('way', way), :title => link_title(way) %></li>
           <% end %>
           <%=
-          #render :partial => "containing_relation", :collection => changeset_details.containing_relation_members 
+          #render :partial => "containing_relation", :collection => changeset_details.containing_relation_members
           %>
-        </table>
-      </td>
-    </tr>
+      </ul>
+    </div>
     <%= render :partial => 'paging_nav', :locals => { :pages => @way_pages, :page_param => "way_page" } %>
   <% end %>
-  
+
   <% unless @relations.empty? %>
-    <tr valign="top">
-      <th><%= t 'browse.changeset_details.has_relations', :count => @relation_pages.item_count %></th>
-      <td>
-        <table cellpadding="0">
+    <div class='browse-section'>
+      <h4><%= t 'browse.changeset_details.has_relations', :count => @relation_pages.item_count %></h4>
+        <ul>
           <% @relations.each do |relation| %>
-          <tr><td><%= link_to h(printable_name(relation, true)), { :action => "relation", :id => relation.relation_id.to_s }, :class => link_class('relation', relation), :title => link_title(relation) %></td></tr>
+          <li><%= link_to h(printable_name(relation, true)), { :action => "relation", :id => relation.relation_id.to_s }, :class => link_class('relation', relation), :title => link_title(relation) %></li>
           <% end %>
-        </table>
-      </td>
-    </tr>
+        </ul>
+    </div>
     <%= render :partial => 'paging_nav', :locals => { :pages => @relation_pages, :page_param => "relation_page" } %>
   <% end %>
 
-</table>
+</div>
\ No newline at end of file
index 07b44a94a7d1515c537a7d2c1c2bc346115b199a..574242f771576e839187fd342fc2d135be6af5f3 100644 (file)
@@ -1,38 +1,39 @@
-<tr>
-  <% if common_details.visible? %>
-    <th><%= t 'browse.common_details.edited_at' %></th>
-  <% else %>
-    <th><%= t 'browse.common_details.deleted_at' %></th>
-  <% end %>
-  <td><%= l common_details.timestamp %></td>
-</tr>
-
-<% if common_details.changeset.user.data_public? %>
-  <tr>
+<div class='browse-section common'>
+  <div>
     <% if common_details.visible? %>
-      <th><%= t 'browse.common_details.edited_by' %></th>
+      <h4><%= t 'browse.common_details.edited_at' %></h4>
     <% else %>
-      <th><%= t 'browse.common_details.deleted_by' %></th>
+      <h4><%= t 'browse.common_details.deleted_at' %></h4>
     <% end %>
-    <td><%= link_to h(common_details.changeset.user.display_name), :controller => "user", :action => "view", :display_name => common_details.changeset.user.display_name %></td>
-  </tr>
-<% end %>
+    <p><%= l common_details.timestamp %></p>
+  </div>
 
-<tr>
-  <th><%= t 'browse.common_details.version' %></th>
-  <td><%= h(common_details.version) %></td>
-</tr>
+  <% if common_details.changeset.user.data_public? %>
+    <div>
+      <% if common_details.visible? %>
+        <h4><%= t 'browse.common_details.edited_by' %></h4>
+      <% else %>
+        <h4><%= t 'browse.common_details.deleted_by' %></h4>
+      <% end %>
+      <p><%= link_to h(common_details.changeset.user.display_name), :controller => "user", :action => "view", :display_name => common_details.changeset.user.display_name %></p>
+    </div>
+  <% end %>
 
-<tr>
-  <th><%= t 'browse.common_details.in_changeset' %></th>
-  <td><%= link_to common_details.changeset_id, :action => :changeset, :id => common_details.changeset_id %></td>
-</tr>
+  <div>
+    <h4><%= t 'browse.common_details.version' %></h4>
+    <p><%= h(common_details.version) %></p>
+  </div>
 
-<% if common_details.changeset.tags['comment'] %>
-  <tr>
-    <th><%= t 'browse.common_details.changeset_comment' %></th>
-    <td><%= linkify(h(common_details.changeset.tags['comment'])) %></td>
-  </tr>
-<% end %>
+  <div>
+    <h4><%= t 'browse.common_details.in_changeset' %></h4>
+    <p><%= link_to common_details.changeset_id, :action => :changeset, :id => common_details.changeset_id %></p>
+  </div>
 
+  <% if common_details.changeset.tags['comment'] %>
+    <div>
+      <h4><%= t 'browse.common_details.changeset_comment' %></h4>
+      <p><%= linkify(h(common_details.changeset.tags['comment'])) %></p>
+    </div>
+  <% end %>
+</div>
 <%= render :partial => "tag_details", :object => common_details %>
index 6cc0cce6e04c00c5f21dd3d3ac6e0475823f1dbc..de41d92471912bec8cbb73bf43bacc49e21f588c 100644 (file)
@@ -1,11 +1,8 @@
-<tr>
-  <td><%=
-    linked_name = link_to h(printable_name(containing_relation.relation)), :action => "relation", :id => containing_relation.relation.id.to_s
-
-    if containing_relation.member_role.blank?
-      raw t 'browse.containing_relation.entry', :relation_name => linked_name
-    else
-      raw t 'browse.containing_relation.entry_role', :relation_name => linked_name, :relation_role => h(containing_relation.member_role)
-    end
-  %></td>
-</tr>
+<li><%=
+  linked_name = link_to h(printable_name(containing_relation.relation)), :action => "relation", :id => containing_relation.relation.id.to_s
+  if containing_relation.member_role.blank?
+    raw t 'browse.containing_relation.entry', :relation_name => linked_name
+  else
+    raw t 'browse.containing_relation.entry_role', :relation_name => linked_name, :relation_role => h(containing_relation.member_role)
+  end
+%></li>
\ No newline at end of file
index d0e5af81e676236609bc14db33731a54d962a44d..f44e5bb318e92871a3aada2e85e1de15f731adf0 100644 (file)
@@ -1,7 +1,7 @@
 <iframe id="linkloader" style="display: none">
 </iframe>
 
-<div id="browse_map">
+<div id="browse_map" class='clearfix content_map'>
   <% if map.instance_of? Changeset or (map.instance_of? Node and map.version > 1) or map.visible %>
 
   <% content_for :head do %>
   <%= content_tag "div", "", :id => "small_map", :data => data %>
   <span id="loading"><%= t 'browse.map.loading' %></span>
 
-  <%= link_to t("browse.map.larger.area"),
-              root_path(:box => "yes"),
-              :id => "area_larger_map",
-              :class => "geolink bbox" %>
-  <br />
-  <%= link_to h(t("browse.map.edit.area")) + content_tag(:span, "▾", :class => "menuicon"),
-              edit_path,
-              :id => "area_edit",
-              :data => { :editor => preferred_editor },
-              :class => "geolink bbox" %>
-
-  <% unless map.instance_of? Changeset %>
-    <br />
-    <%= link_to t("browse.map.larger." + map.class.to_s.downcase),
-                root_path,
-                :id => "object_larger_map",
-                :class => "geolink object" %>
-    <br />
-    <%= link_to h(t("browse.map.edit." + map.class.to_s.downcase)) + content_tag(:span, "▾", :class => "menuicon"),
+<ul class='secondary-actions clearfix'>
+  <li>
+    <%= link_to t("browse.map.larger.area"),
+                root_path(:box => "yes"),
+                :id => "area_larger_map",
+                :class => "geolink bbox" %>
+  </li>
+  <li>
+    <%= link_to h(t("browse.map.edit.area")) + content_tag(:span, "▾", :class => "menuicon"),
                 edit_path,
-                :id => "object_edit",
+                :id => "area_edit",
                 :data => { :editor => preferred_editor },
-                :class => "geolink object" %>
+                :class => "geolink bbox" %>
+  </li>
+</ul>
+
+  <% unless map.instance_of? Changeset %>
+  <ul class='secondary-actions clearfix'>
+    <li>
+      <%= link_to t("browse.map.larger." + map.class.to_s.downcase),
+                  root_path,
+                  :id => "object_larger_map",
+                  :class => "geolink object" %>
+    </li>
+    <li>
+      <%= link_to h(t("browse.map.edit." + map.class.to_s.downcase)) + content_tag(:span, "▾", :class => "menuicon"),
+                  edit_path,
+                  :id => "object_edit",
+                  :data => { :editor => preferred_editor },
+                  :class => "geolink object" %>
+    </li>
+  </ul>
   <% end %>
 
   <% else %>
index 54e792a9fdc9ff63a0fe5038ab8b1b75574012e9..0856044c8087599ef6ae1b902832e5d463bca04c 100644 (file)
@@ -1,42 +1,43 @@
 <% type = (@next || @prev).class.name.downcase %>
-<% margin = @next_by_user || @prev_by_user ? 9 : 18 %>
-<div id="browse_navigation" style="margin-top: <%= margin %>px">
-  <% if @next_by_user or @prev_by_user %>
-    <span class="nowrap">
-      <% if @prev_by_user %>
-        <%= link_to t('browse.navigation.paging.user.prev', :id => @prev_by_user.id.to_s),
-                    { :id => @prev_by_user.id },
-                    { :title => t("browse.navigation.user.prev_#{type}_tooltip", :user => @prev_by_user.user.display_name) } %>
-        |
-      <% end %>
-      <%=
-      user = (@prev_by_user || @next_by_user).user.display_name
-      link_to h(user),
-              { :controller => "changeset", :action => "list", :display_name => user },
-              { :title => t("browse.navigation.user.name_#{type}_tooltip", :user => h(user)) }
-      %>
-      <% if @next_by_user %>
-        |
-        <%= link_to t('browse.navigation.paging.user.next', :id => @next_by_user.id.to_s),
-                    { :id => @next_by_user.id },
-                    { :title => t("browse.navigation.user.next_#{type}_tooltip", :user => @next_by_user.user.display_name) } %>
-      <% end %>
-    </span>
-    <br/>
-  <% end %>
-  <span class="nowrap">
+  <ul class='secondary-actions clearfix pager'>
     <% if @prev %>
+    <li>
       <%= link_to t('browse.navigation.paging.all.prev', :id => @prev.id.to_s),
                   { :id => @prev.id },
                   { :title => t("browse.navigation.all.prev_#{type}_tooltip") } %>
-    <% end %>
-    <% if @prev and @next %>
-      | 
+    </li>
     <% end %>
     <% if @next %>
-      <%= link_to t('browse.navigation.paging.all.next', :id => @next.id.to_s),
-                  { :id => @next.id },
-                  { :title => t("browse.navigation.all.next_#{type}_tooltip") } %>
+      <li>
+        <%= link_to t('browse.navigation.paging.all.next', :id => @next.id.to_s),
+                    { :id => @next.id },
+                    { :title => t("browse.navigation.all.next_#{type}_tooltip") } %>
+      </li>
     <% end %>
-  </span>
-</div>
+  </ul>
+  <% if @next_by_user or @prev_by_user %>
+    <ul class='secondary-actions pager clearfix'>
+      <% if @prev_by_user %>
+        <li>
+            <%= link_to t('browse.navigation.paging.user.prev', :id => @prev_by_user.id.to_s),
+                        { :id => @prev_by_user.id },
+                        { :title => t("browse.navigation.user.prev_#{type}_tooltip", :user => @prev_by_user.user.display_name) } %>
+        </li>
+      <% end %>
+        <li>
+          <%=
+          user = (@prev_by_user || @next_by_user).user.display_name
+          link_to h(user),
+                  { :controller => "changeset", :action => "list", :display_name => user },
+                  { :title => t("browse.navigation.user.name_#{type}_tooltip", :user => h(user)) }
+          %>
+        </li>
+      <% if @next_by_user %>
+        <li>
+          <%= link_to t('browse.navigation.paging.user.next', :id => @next_by_user.id.to_s),
+                      { :id => @next_by_user.id },
+                      { :title => t("browse.navigation.user.next_#{type}_tooltip", :user => @next_by_user.user.display_name) } %>
+        </li>
+      <% end %>
+    </ul>
+  <% end %>
index 23176eab23040f2accc0e76391c42e9b61731dfa..308ccd9bf43da7b3df5281a13fbdf308682a5254 100644 (file)
@@ -1,30 +1,28 @@
 <% if node_details.redacted? %>
 <p><%= t 'browse.redacted.message_html', :type => t('browse.redacted.type.node'), :redaction_link => link_to(t('browse.redacted.redaction', :id => node_details.redaction.id), node_details.redaction), :version => node_details.version %></p>
 <% else %>
-<table class="browse_details" id="<%= node_details.version %>">
+<div class="browse_details" id="<%= node_details.version %>">
 
   <%= render :partial => "common_details", :object => node_details %>
 
   <% if node_details.visible -%>
-  <tr>
-    <th><%= t 'browse.node_details.coordinates' %></th>
-    <td><div class="geo"><%= link_to(content_tag(:span, number_with_delimiter(node_details.lat), :class => "latitude") + ", " + content_tag(:span, number_with_delimiter(node_details.lon), :class => "longitude"), {:controller => 'site', :action => 'index', :lat => h(node_details.lat), :lon => h(node_details.lon), :zoom => "18"}) %></div></td>
-  </tr>
+  <div class='browse-section'>
+    <h4><%= t 'browse.node_details.coordinates' %></h4>
+    <div class="geo"><%= link_to(content_tag(:span, number_with_delimiter(node_details.lat), :class => "latitude") + ", " + content_tag(:span, number_with_delimiter(node_details.lon), :class => "longitude"), {:controller => 'site', :action => 'index', :lat => h(node_details.lat), :lon => h(node_details.lon), :zoom => "18"}) %></div>
+  </div>
   <% end -%>
 
   <% unless node_details.ways.empty? and node_details.containing_relation_members.empty? %>
-    <tr valign="top">
-      <th><%= t 'browse.node_details.part_of' %></th>
-      <td>
-        <table cellpadding="0">
+    <div class='browse-section'>
+      <h4><%= t 'browse.node_details.part_of' %></h4>
+      <ul>
           <% node_details.ways.each do |way| %>
-            <tr><td><%= link_to h(printable_name(way)), { :action => "way", :id => way.id.to_s }, :class => link_class('way', way), :title => link_title(way) %></td></tr>
+            <li><%= link_to h(printable_name(way)), { :action => "way", :id => way.id.to_s }, :class => link_class('way', way), :title => link_title(way) %></li>
           <% end %>
           <%= render :partial => "containing_relation", :collection => node_details.containing_relation_members %>
-        </table>
-      </td>
-    </tr>      
+      </ul>
+    </div>
   <% end %>
 
-</table>
+</div>
 <% end %>
index f0342403e2cfdf992fe0aea828ce471f0ad7f2d1..f236b44650160450004a53cf8ac28722a5668f41 100644 (file)
@@ -1,15 +1,14 @@
-<tr><td colspan='2'>
+<div>
 <% current_page = pages.current_page %>
 
-<%= t'browse.paging_nav.showing_page' %> 
-<%= current_page.number %> (<%= current_page.first_item %><% 
-if (current_page.first_item < current_page.last_item) # if more than 1 trace on page 
-  %>-<%= current_page.last_item %><% 
+<%= t'browse.paging_nav.showing_page' %>
+<%= current_page.number %> (<%= current_page.first_item %><%
+if (current_page.first_item < current_page.last_item) # if more than 1 trace on page
+  %>-<%= current_page.last_item %><%
 end %>
 <%= t'browse.paging_nav.of'%> <%= pages.item_count %>)
 
 <% if pages.page_count > 1 %>
 | <%= raw pagination_links_each(pages, {}) { |n| link_to_page(n, page_param) } %>
 <% end %>
-</td>
-</tr>
+</div>
\ No newline at end of file
index 57314817dd7b4d860ff1ac5d2c427212fda2e60f..bfa5edefc994e6d88bf6621d482450c681f05435 100644 (file)
@@ -1,31 +1,23 @@
 <% if relation_details.redacted? %>
 <p><%= t 'browse.redacted.message_html', :type => t('browse.redacted.type.relation'), :redaction_link => link_to(t('browse.redacted.redaction', :id => relation_details.redaction.id), relation_details.redaction), :version => relation_details.version %></p>
 <% else %>
-<table class="browse_details" id="<%= relation_details.version %>">
+<div class="browse_details" id="<%= relation_details.version %>">
 
   <%= render :partial => "common_details", :object => relation_details %>
 
   <% unless relation_details.relation_members.empty? %>
-    <tr valign="top">
-      <th><%= t'browse.relation_details.members' %></th>
-      <td>
-        <table cellpadding="0">
-          <%= render :partial => "relation_member", :collection => relation_details.relation_members %>
-        </table>
-      </td>
-    </tr>   
+    <div class='browse-section'>
+      <h4><%= t'browse.relation_details.members' %></h4>
+      <ul><%= render :partial => "relation_member", :collection => relation_details.relation_members %></ul>
+    </div>
   <% end %>
 
   <% unless relation_details.containing_relation_members.empty? %>
-    <tr valign="top">
-      <th><%= t'browse.relation_details.part_of' %></th>
-      <td>
-        <table cellpadding="0">
-          <%= render :partial => "containing_relation", :collection => relation_details.containing_relation_members %>
-        </table>
-      </td>
-    </tr>      
+    <div class='browse-section'>
+      <h4><%= t'browse.relation_details.part_of' %></h4>
+      <ul><%= render :partial => "containing_relation", :collection => relation_details.containing_relation_members %></ul>
+    </div>
   <% end %>
 
-</table>
+</div>
 <% end %>
index 71d28397170560976a05abfc75f55169ec10bf8e..2673df3c35c7c9e33458cc04c1f09a07a3b56295 100644 (file)
@@ -1,14 +1,12 @@
 <%
   member_class = link_class(relation_member.member_type.downcase, relation_member.member)
   linked_name = link_to h(printable_name(relation_member.member)), { :action => relation_member.member_type.downcase, :id => relation_member.member_id.to_s }, :title => link_title(relation_member.member)
-  type_str = t'browse.relation_member.type.' + relation_member.member_type.downcase 
+  type_str = t'browse.relation_member.type.' + relation_member.member_type.downcase
 %>
-<tr>
-  <td class="<%= member_class %>"><%=
+  <li class="<%= member_class %>"><%=
     if relation_member.member_role.blank?
       raw t'browse.relation_member.entry', :type => type_str, :name => linked_name
     else
       raw t'browse.relation_member.entry_role', :type => type_str, :name => linked_name, :role => h(relation_member.member_role)
     end
-  %></td>
-</tr> 
+  %></li>
\ No newline at end of file
index 2eadad4f2db4a99bbb90cbb57f2134aa20bfb06f..2983318320b8bf0d7d8735eae390c3db7b224ed8 100644 (file)
@@ -1,3 +1 @@
-<tr>
-  <td><%= format_key(tag[0]) %> = <%= format_value(tag[0], tag[1]) %></td>
-</tr> 
+  <li><%= format_key(tag[0]) %> = <%= format_value(tag[0], tag[1]) %></li>
\ No newline at end of file
index b5f2d97e7520d1483a651988ebe3398788a80a08..9d0a2af546a6aa1f4af0c4adffd5f0577f19a082 100644 (file)
@@ -1,10 +1,6 @@
 <% unless tag_details.tags.empty? %>
-  <tr valign="top">
-    <th><%= t'browse.tag_details.tags' %></th>
-    <td>
-      <table cellpadding="0">
-        <%= render :partial => "tag", :collection => tag_details.tags.sort %>
-      </table>
-    </td>
-  </tr>
-<% end %>
+  <div class='browse-section'>
+    <h4><%= t'browse.tag_details.tags' %></h4>
+    <ul><%= render :partial => "tag", :collection => tag_details.tags.sort %></ul>
+  </div>
+<% end %>
\ No newline at end of file
index 1313cb250575e80fce986c556380dce7b8840602..d21365b45a949f2b78480bd5a3e4c9c546515c23 100644 (file)
@@ -1,39 +1,35 @@
 <% if way_details.redacted? %>
 <p><%= t 'browse.redacted.message_html', :type => t('browse.redacted.type.way'), :redaction_link => link_to(t('browse.redacted.redaction', :id => way_details.redaction.id), way_details.redaction), :version => way_details.version %></p>
 <% else %>
-<table class="browse_details" id="<%= way_details.version %>">
+
+<div class="browse_details" id="<%= way_details.version %>">
 
   <%= render :partial => "common_details", :object => way_details %>
 
   <% unless way_details.way_nodes.empty? %>
-    <tr valign="top">
-      <th><%= t'browse.way_details.nodes' %></th>
-      <td>
-        <table cellpadding="0">
+    <div class='browse-section'>
+      <h4><%= t'browse.way_details.nodes' %></h4>
+        <ul>
           <% way_details.way_nodes.each do |wn| %>
-            <tr><td>
+            <li>
               <%= link_to h(printable_name(wn.node)), { :action => "node", :id => wn.node_id.to_s }, :class => link_class('node', wn.node), :title => link_title(wn.node) %>
               <% related_ways = wn.node.ways.reject { |w| w.id == wn.way_id } %>
               <% if related_ways.size > 0 then %>
                 (<%= raw t 'browse.way_details.also_part_of', :count => related_ways.size, :related_ways => related_ways.map { |w| link_to(h(printable_name(w)), { :action => "way", :id => w.id.to_s }, :class => link_class('way', w), :title => link_title(w) ) }.to_sentence %>)
               <% end %>
-            </td></tr>
+            </li>
           <% end %>
-        </table>
-      </td>
-    </tr>
+        </ul>
+    </div>
   <% end %>
 
   <% unless way_details.containing_relation_members.empty? %>
-    <tr valign="top">
-      <th><%= t'browse.way_details.part_of' %></th>
-      <td>
-        <table cellpadding="0">
+    <div class='browse-section'>
+      <h4><%= t'browse.way_details.part_of' %></h4>
+      <ul>
           <%= render :partial => "containing_relation", :collection => way_details.containing_relation_members %>
-        </table>
-      </td>
-    </tr>      
+      </ul>
   <% end %>
 
-</table>
+</div>
 <% end %>
index 2796f7c5f15e01fdcd2752fe5245a3350d0beae8..96a5280a534b8e97f948437789794164fe8bc6e0 100644 (file)
@@ -1,12 +1,18 @@
 <% content_for :head do %>
 <%= stylesheet_link_tag 'browse' %>
 <% end %>
+
+<% content_for :heading do %>
+  <h2><%= t 'browse.changeset.changeset', :id => @changeset.id %></h2>
+  <ul class='secondary-actions clearfix'>
+    <li><%= link_to(t('browse.changeset.changesetxml'), :controller => "changeset", :action => "read") %></li>
+    <li><%= link_to(t('browse.changeset.osmchangexml'), :controller => "changeset", :action => "download") %></li>
+  </ul>
+<% end %>
+
 <%= render :partial => "navigation" %>
-<h2><%= t 'browse.changeset.changeset', :id => @changeset.id %></h2>
+
 <% if @changeset.has_valid_bbox? %>
 <%= render :partial => "map", :object => @changeset %>
 <% end %>
-<%= render :partial => "changeset_details", :object => @changeset %>
-<hr />
-<%= link_to(t('browse.changeset.changesetxml'), :controller => "changeset", :action => "read") %>
-| <%= link_to(t('browse.changeset.osmchangexml'), :controller => "changeset", :action => "download") %>
+<%= render :partial => "changeset_details", :object => @changeset %>
\ No newline at end of file
index 8f0a2001b14c189072ea725e05c4d54b0796d9d4..f41562a7fefd92cc8d919bab0750f8dc380a3762 100644 (file)
@@ -5,15 +5,23 @@
 <% content_for :head do %>
 <%= stylesheet_link_tag 'browse' %>
 <% end %>
+
+<% content_for :heading do %>
+  <h2><%= t'browse.node.node_title', :node_name => @name %></h2>
+  <ul class='secondary-actions clearfix'>
+    <li><%= link_to(t('browse.node.download_xml'), :controller => "node", :action => "read") %></li>
+    <li><%= link_to(t('browse.node.view_history'), :action => "node_history") %></li>
+    <% if @node.visible -%>
+      <li><%= link_to(t('browse.node.edit'), :controller => "site", :action => "edit", :lat => @node.lat, :lon => @node.lon, :zoom => 18, :node => @node.id) %></li>
+    <% end -%>
+  </ul>
+<% end %>
 <%= render :partial => "navigation" %>
-<h2><%= t'browse.node.node_title', :node_name => @name %></h2>
+
 <% if @node.visible -%>
 <%= render :partial => "map", :object => @node %>
 <% end -%>
-<%= render :partial => "node_details", :object => @node %>
-<hr />
-<%= link_to(t('browse.node.download_xml'), :controller => "node", :action => "read") %>
-| <%= link_to(t('browse.node.view_history'), :action => "node_history") %>
-<% if @node.visible -%>
-| <%= link_to(t('browse.node.edit'), :controller => "site", :action => "edit", :lat => @node.lat, :lon => @node.lon, :zoom => 18, :node => @node.id) %>
-<% end -%>
+
+<div class='column-1'>
+  <%= render :partial => "node_details", :object => @node %>
+</div>
\ No newline at end of file
index 937ad7dc083931418ea12392f65c9be3af3fbf83..61fc83492beb4b01a4996e5fbae540dce6cd3d86 100644 (file)
@@ -2,13 +2,20 @@
 @name = printable_name @node
 @title = t('browse.node_history.node_history') + ' | ' + @name
 %>
-<h2><%= raw t'browse.node_history.node_history_title', :node_name => link_to(h(@name), :action => "node", :id => @node.id) %></h2>
+<% content_for :heading do %>
+  <h2><%= raw t'browse.node_history.node_history_title', :node_name => link_to(h(@name), :action => "node", :id => @node.id) %></h2>
+  <ul class='secondary-actions clearfix'>
+    <li><%= link_to(t('browse.node_history.download_xml'), :controller => "old_node", :action => "history") %></li>
+    <li><%= link_to(t('browse.node_history.view_details'), :action => "node") %></li>
+  </ul>
+<% end %>
+
 <% if @node.visible -%>
-<%= render :partial => "map", :object => @node %>
+  <%= render :partial => "map", :object => @node %>
 <% end -%>
-<% @node.old_nodes.reverse.each do |node| %>
-  <%= render :partial => "node_details", :object => node %>
-  <hr />
-<% end %>
-<%= link_to(t('browse.node_history.download_xml'), :controller => "old_node", :action => "history") %>
-| <%= link_to(t('browse.node_history.view_details'), :action => "node") %>
+
+<div class='column-1'>
+  <% @node.old_nodes.reverse.each do |node| %>
+    <%= render :partial => "node_details", :object => node %>
+  <% end %>
+</div>
index 28e251ac2e1565aa498827ca2554f488159df3ca..3ba355054896c13cec6a8eaffbf468877ca6379b 100644 (file)
@@ -5,10 +5,17 @@
 <% content_for :head do %>
 <%= stylesheet_link_tag 'browse' %>
 <% end %>
+
+<% content_for :heading do %>
+  <h2><%= t'browse.relation.relation_title', :relation_name => @name %></h2>
+  <ul class='secondary-actions clearfix'>
+    <li><%= link_to(t('browse.relation.download_xml'), :controller => "relation", :action => "read") %></li>
+    <li><%= link_to(t('browse.relation.view_history'), :action => "relation_history") %></li>
+  </ul>
+<% end %>
 <%= render :partial => "navigation" %>
-<h2><%= t'browse.relation.relation_title', :relation_name => @name %></h2>
 <%= render :partial => "map", :object => @relation %>
-<%= render :partial => "relation_details", :object => @relation %>
-<hr />
-<%= link_to(t('browse.relation.download_xml'), :controller => "relation", :action => "read") %>
-| <%= link_to(t('browse.relation.view_history'), :action => "relation_history") %>
+
+<div class='column-1'>
+  <%= render :partial => "relation_details", :object => @relation %>
+</div>
\ No newline at end of file
index 8fb08e6e9c9c94f7d6d31e615c3d17edc058a3fd..022248fba509f5db8cba9f45a0313fcf344b0ab6 100644 (file)
@@ -2,11 +2,18 @@
 @name = printable_name @relation
 @title = t('browse.relation_history.relation_history') + ' | ' + @name
 %>
-<h2><%= raw t'browse.relation_history.relation_history_title', :relation_name => link_to(h(@name), :action => "relation", :id => @relation.id) %></h2>
+
+<% content_for :heading do %>
+  <h2><%= raw t'browse.relation_history.relation_history_title', :relation_name => link_to(h(@name), :action => "relation", :id => @relation.id) %></h2>
+  <ul class='secondary-actions clearfix'>
+    <li><%= link_to(t('browse.relation_history.download_xml'), :controller => "old_relation", :action => "history") %></li>
+    <li><%= link_to(t('browse.relation_history.view_details'), :action => "relation") %></li>
+  </ul>
+<% end %>
+
 <%= render :partial => "map", :object => @relation %>
+<div class='column-1'>
 <% @relation.old_relations.reverse.each do |relation| %>
   <%= render :partial => "relation_details", :object => relation %>
-  <hr />
 <% end %>
-<%= link_to(t('browse.relation_history.download_xml'), :controller => "old_relation", :action => "history") %>
-| <%= link_to(t('browse.relation_history.view_details'), :action => "relation") %>
+</div>
\ No newline at end of file
index b0315dad99ba6155b14fa7cfe2be35581065806e..12012a0299c480842d03e418b03e7cf7b3088bdf 100644 (file)
@@ -1,13 +1,6 @@
-<div>
-  <div style="text-align: center">
-    <p style="margin-top: 10px; margin-bottom: 20px">
-      <a id="browse_filter_toggle" href="#"><%= t'browse.start_rjs.manually_select' %></a>
-      <br />
-      <a id="browse_hide_areas_box" href="#"><%= t'browse.start_rjs.hide_areas' %></a>
-    </p>
-  </div>
-  <div id="browse_status" style="text-align: center; display: none">
-  </div>
-  <div id="browse_content">
-  </div>
+<div id="browse_controls" class='inner12'>
+  <a id="browse_filter_toggle" class="button" href="#"><%= t'browse.start_rjs.manually_select' %></a>
+  <a id="browse_hide_areas_box" class="button" href="#"><%= t'browse.start_rjs.hide_areas' %></a>
 </div>
+<div id="browse_status" class='inner12'></div>
+<div id="browse_content"></div>
index aa7b5d0b758ee2872b45d667a57e9a813e0a2cd4..15a0dcad820a74183edb2caa9c858369bc7d39be 100644 (file)
@@ -5,11 +5,19 @@
 <% content_for :head do %>
 <%= stylesheet_link_tag 'browse' %>
 <% end %>
+
+<% content_for :heading do %>
+  <h2><%= t'browse.way.way_title', :way_name => @name %></h2>
+  <ul class='secondary-actions clearfix'>
+    <li><%= link_to(t('browse.way.download_xml'), :controller => "way", :action => "read") %></li>
+    <li><%= link_to(t('browse.way.view_history'), :action => "way_history") %></li>
+    <li><%= link_to(t('browse.way.edit'), :controller => "site", :action => "edit", :way => @way.id) %></li>
+  </ul>
+<% end %>
+
 <%= render :partial => "navigation" %>
-<h2><%= t'browse.way.way_title', :way_name => @name %></h2>
 <%= render :partial => "map", :object => @way %>
-<%= render :partial => "way_details", :object => @way %>
-<hr />
-<%= link_to(t('browse.way.download_xml'), :controller => "way", :action => "read") %>
-| <%= link_to(t('browse.way.view_history'), :action => "way_history") %>
-| <%= link_to(t('browse.way.edit'), :controller => "site", :action => "edit", :way => @way.id) %>
+
+<div class='column-1'>
+  <%= render :partial => "way_details", :object => @way %>
+</div>
\ No newline at end of file
index f581dd189611d62bcd7598963e5c411c340b562e..296ebb3ddbff996c5fe4d59da1d59be58b971f5e 100644 (file)
@@ -2,11 +2,18 @@
 @name = printable_name @way
 @title = t('browse.way_history.way_history') + ' | ' + @name
 %>
-<h2><%= raw t'browse.way_history.way_history_title', :way_name => link_to(h(@name), :action => "way", :id => @way.id) %></h2>
+
+<% content_for :heading do %>
+  <h2><%= raw t'browse.way_history.way_history_title', :way_name => link_to(h(@name), :action => "way", :id => @way.id) %></h2>
+  <ul class='secondary-actions clearfix'>
+    <li><%= link_to(t('browse.way_history.download_xml'), :controller => "old_way", :action => "history") %></li>
+    <li><%= link_to(t('browse.way_history.view_details'), :action => "way") %></li>
+  </ul>
+<% end %>
+
 <%= render :partial => "map", :object => @way %>
+<div class='column-1'>
 <% @way.old_ways.reverse.each do |way| %>
   <%= render :partial => "way_details", :object => way %>
-  <hr />
 <% end %>
-<%= link_to(t('browse.way_history.download_xml'), :controller => "old_way", :action => "history") %>
-| <%= link_to(t('browse.way_history.view_details'), :action => "way") %>
+</div>
\ No newline at end of file
index ba963ea8e262d071d7cc6375285d4a771c5711a0..3e4871ec069ef8daff3fb0f3655f2d2306d5be34 100644 (file)
    end
 %>
 
-<%= content_tag "tr", :class => cycle('table0', 'table1'), :id => "tr-changeset-#{changeset.id}", :data => {:changeset => changeset_data} do %>
-  <td>
-    <%=
-      id_link = link_to(changeset.id,
-                        {:controller => 'browse', :action => 'changeset', :id => changeset.id},
-                        {:title => t('changeset.changeset.view_changeset_details')})
-      raw t 'changeset.changeset.id', :id => id_link
-    %>
-  </td>
+<%= content_tag "ul", :class => 'changeset_item', :id => "changeset_#{changeset.id}", :data => {:changeset => changeset_data} do %>
+  <li>
 
-  <td class="date">
-    <span class="date">
+    <span class="changeset_id">
+      <%=
+        link_to(changeset.id,
+          {:controller => 'browse', :action => 'changeset', :id => changeset.id},
+          {:title => t('changeset.changeset.view_changeset_details')})
+      %>
+    </span>
+
+    <span class='date'>
       <% if changeset.closed_at > DateTime.now %> <%= t'changeset.changeset.still_editing' %>
       <% else %><%= l changeset.closed_at, :format => :long %><% end %>
     </span>
-    
+
     <%if showusername %>
-      <br />
       <span class="user">
-      <% if changeset.user.data_public? %>
-        <%= link_to h(changeset.user.display_name), :controller => "changeset", :action => "list", :display_name => changeset.user.display_name %>
-      <% else %>
-        <i><%= t'changeset.changeset.anonymous' %></i>
-      <% end %>
+        <% if changeset.user.data_public? %>
+          <%= link_to h(changeset.user.display_name), :controller => "changeset", :action => "list", :display_name => changeset.user.display_name %>
+        <% else %>
+          <i><%= t'changeset.changeset.anonymous' %></i>
+        <% end %>
       </span>
     <% end %>
-  </td>
-    
-  <td class="comment">
+  </li>
+
+  <li class="comment deemphasize">
     <% if changeset.tags['comment'].to_s != '' %>
       <%= linkify(h(changeset.tags['comment'])) %>
     <% else %>
       <%= t'changeset.changeset.no_comment' %>
     <% end %>
-  </td>
+  </li>
+
 <% end %>
index 52c3decb890e3754fa68ac3d4a831e514696fa76..46b4635c88c86607c75bfe96d61a88406d72b6ae 100644 (file)
@@ -1,17 +1,15 @@
-<p>
-
-<% if @page > 1 %>
-<%= link_to t('changeset.changeset_paging_nav.previous'), params.merge({ :page => @page - 1 }) %>
-<% else %>
-<%= t('changeset.changeset_paging_nav.previous') %>
-<% end %>
-
-| <%= t('changeset.changeset_paging_nav.showing_page', :page => @page) %> |
-
-<% if @edits.size < @page_size %>
-<%= t('changeset.changeset_paging_nav.next') %>
-<% else %>
-<%= link_to t('changeset.changeset_paging_nav.next'), params.merge({ :page => @page + 1 }) %>
-<% end %>
-
-</p>
+<ul class='secondary-actions pager clearfix'>
+  <% if @page > 1 %>
+    <li><%= link_to t('changeset.changeset_paging_nav.previous'), params.merge({ :page => @page - 1 }) %></li>
+  <% else %>
+    <li><%= t('changeset.changeset_paging_nav.previous') %></li>
+  <% end %>
+
+  <li><%= t('changeset.changeset_paging_nav.showing_page', :page => @page) %></li>
+
+  <% if @edits.size < @page_size %>
+    <li><%= t('changeset.changeset_paging_nav.next') %></li>
+  <% else %>
+    <li><%= link_to t('changeset.changeset_paging_nav.next'), params.merge({ :page => @page + 1 }) %></li>
+  <% end %>
+</ul>
\ No newline at end of file
index 2bd40dafc31ce4163ceaa9e350cd841ae63bdc94..fe8da2b3835fc3d6ddd58c728829ed4109623929 100644 (file)
@@ -1,4 +1,4 @@
 <% showusername = true if showusername.nil? %>
-<table id="changeset_list">
+<div id="changeset_list">
   <%= render :partial => 'changeset', :locals => {:showusername => showusername}, :collection => @edits unless @edits.nil? %>
-</table>
+</div>
index abeea654afe6f8fdc7c921da51755a85c99789f1..8ecdda9468fa15ba77d8c9c440467417608f7b13 100644 (file)
@@ -2,28 +2,34 @@
   <%= javascript_include_tag "changeset" %>
 <% end -%>
 
-<h1><%= @heading %></h1>
-<p><%= raw(@description) %></p>
+<% content_for :heading do %>
 
-<% if @edits.size > 0 %>
-  <%= render :partial => 'changeset_paging_nav' %>
+  <h1><%= @heading %></h1>
+  <ul class='secondary-actions clearfix'>
+    <li><%= raw(@description) %></li>
+    <% unless params[:friends] or params[:nearby] -%>
+      <li><%= atom_link_to params.merge({ :page => nil, :action => :feed }) %></li>
+    <% end -%>
+  </ul>
+
+<% end %>
+
+<%= render :partial => 'changeset_paging_nav' %>
 
-  <div id="changeset_list_container">
-    <%= render :partial => 'map' %>
+<% if @edits.size > 0 %>
+  <%= render :partial => 'map' %>
+  <div class='column-1'>
     <%= render :partial => 'changesets', :locals => { :showusername => !params.has_key?(:display_name) } %>
   </div>
-
   <%= render :partial => 'changeset_paging_nav' %>
 <% elsif @user and @user.display_name == params[:display_name] %>
-  <p><%= t('changeset.list.empty_user_html') %></p>
+  <h4><%= t('changeset.list.empty_user_html') %></h4>
 <% else %>
-  <p><%= t('changeset.list.empty_anon_html') %></p>
+  <h4><%= t('changeset.list.empty_anon_html') %></h4>
 <% end %>
 
 <% unless params[:friends] or params[:nearby] -%>
-<%= atom_link_to params.merge({ :page => nil, :action => :feed }) %>
-
-<% content_for :head do -%>
-<%= auto_discovery_link_tag :atom, params.merge({ :page => nil, :action => :feed }) %>
-<% end -%>
-<% end -%>
+  <% content_for :head do -%>
+    <%= auto_discovery_link_tag :atom, params.merge({ :page => nil, :action => :feed }) %>
+  <% end -%>
+<% end -%>
\ No newline at end of file
index a5225572247ab372d37c09845bb1bd6252d648c6..3ba59fae76569aef64bc5535326ac06860be12f1 100644 (file)
@@ -1 +1 @@
-<p><%= t'changeset.timeout.sorry' %></p>
+<p><%= t'changeset.timeout.sorry' %></p>
\ No newline at end of file
index 163af888f31eff7f31c4c2864c7d4957a483112b..ccc1c744fc1dc42843a35c1663685f3e12e2130e 100644 (file)
@@ -1,7 +1,8 @@
-<%= user_thumbnail diary_comment.user %>
-<h4 id="comment<%= diary_comment.id %>"><%= raw(t('diary_entry.diary_comment.comment_from', :link_user => (link_to h(diary_comment.user.display_name), :controller => 'user', :action => 'view', :display_name => diary_comment.user.display_name), :comment_created_at => l(diary_comment.created_at, :format => :friendly))) %></h4>
-<%= diary_comment.body.to_html %>
-<%= if_administrator(:span) do %> 
-  <%= link_to t('diary_entry.diary_comment.hide_link'), hide_diary_comment_path(:display_name => diary_comment.diary_entry.user.display_name, :id => diary_comment.diary_entry.id, :comment => diary_comment.id), :method => :post, :data=> { :confirm => t('diary_entry.diary_comment.confirm') } %>
-<% end %>
-<hr />
+<div class='clearfix diary-comment'>
+  <%= user_thumbnail diary_comment.user %>
+  <p class='deemphasize comment-heading' id="comment<%= diary_comment.id %>"><%= raw(t('diary_entry.diary_comment.comment_from', :link_user => (link_to h(diary_comment.user.display_name), :controller => 'user', :action => 'view', :display_name => diary_comment.user.display_name), :comment_created_at => l(diary_comment.created_at, :format => :friendly))) %></p>
+  <%= diary_comment.body.to_html %>
+  <%= if_administrator(:span) do %>
+    <%= link_to t('diary_entry.diary_comment.hide_link'), hide_diary_comment_path(:display_name => diary_comment.diary_entry.user.display_name, :id => diary_comment.diary_entry.id, :comment => diary_comment.id), :method => :post, :data=> { :confirm => t('diary_entry.diary_comment.confirm') } %>
+  <% end %>
+</div>
\ No newline at end of file
index eae60e8221af818431edf6655b1635fffef52437..a88e8adbc114f28c5873b668626644a912d29259 100644 (file)
@@ -1,30 +1,36 @@
-<b><%= link_to h(diary_entry.title), :action => 'view', :display_name => diary_entry.user.display_name, :id => diary_entry.id %></b><br />
+<div class='diary_post'>
+  <div class='post_heading clearfix'>
+    <% if !@this_user %>
+      <%= user_thumbnail diary_entry.user %>
+    <% end %>
 
-<div xml:lang="<%= diary_entry.language_code %>" lang="<%= diary_entry.language_code %>">
-  <%= diary_entry.body.to_html %>
-</div>
+    <h2><%= link_to h(diary_entry.title), :action => 'view', :display_name => diary_entry.user.display_name, :id => diary_entry.id %></h2>
+  </div>
+  <div xml:lang="<%= diary_entry.language_code %>" lang="<%= diary_entry.language_code %>">
+    <%= diary_entry.body.to_html %>
+  </div>
+
+  <% if diary_entry.latitude and diary_entry.longitude %>
+    <%= render :partial => "location", :object => diary_entry %>
+  <% end %>
 
-<% if diary_entry.latitude and diary_entry.longitude %>
-  <%= render :partial => "location", :object => diary_entry %>
-  <br />
-<% end %>
+  <small class='deemphasize'>
+    <%= raw(t 'diary_entry.diary_entry.posted_by', :link_user => (link_to h(diary_entry.user.display_name), :controller => 'user', :action => 'view', :display_name => diary_entry.user.display_name), :created => l(diary_entry.created_at, :format => :friendly), :language_link => (link_to h(diary_entry.language.name), :controller => 'diary_entry', :action => 'list', :display_name => nil, :language => diary_entry.language_code)) %>
+  </small>
 
-<%= raw(t 'diary_entry.diary_entry.posted_by', :link_user => (link_to h(diary_entry.user.display_name), :controller => 'user', :action => 'view', :display_name => diary_entry.user.display_name), :created => l(diary_entry.created_at, :format => :friendly), :language_link => (link_to h(diary_entry.language.name), :controller => 'diary_entry', :action => 'list', :display_name => nil, :language => diary_entry.language_code)) %> 
+  <ul class='secondary-actions clearfix'>
+    <% if params[:action] == 'list' %>
+      <li><%= link_to t('diary_entry.diary_entry.comment_link'), :action => 'view', :display_name => diary_entry.user.display_name, :id => diary_entry.id, :anchor => 'newcomment' %></li>
+      <li><%= link_to t('diary_entry.diary_entry.reply_link'), :controller => 'message', :action => 'new', :display_name => diary_entry.user.display_name, :title => "Re: #{diary_entry.title}" %></li>
+      <li><%= link_to t('diary_entry.diary_entry.comment_count', :count => diary_entry.visible_comments.count), :action => 'view', :display_name => diary_entry.user.display_name, :id => diary_entry.id, :anchor => 'comments' %></li>
+    <% end %>
 
-<% if params[:action] == 'list' %>
-  <br />
-  <%= link_to t('diary_entry.diary_entry.comment_link'), :action => 'view', :display_name => diary_entry.user.display_name, :id => diary_entry.id, :anchor => 'newcomment' %>
-  |
-  <%= link_to t('diary_entry.diary_entry.reply_link'), :controller => 'message', :action => 'new', :display_name => diary_entry.user.display_name, :title => "Re: #{diary_entry.title}" %>
-  |
-  <%= link_to t('diary_entry.diary_entry.comment_count', :count => diary_entry.visible_comments.count), :action => 'view', :display_name => diary_entry.user.display_name, :id => diary_entry.id, :anchor => 'comments' %>
-<% end %>
-<%= if_user(diary_entry.user, :span) do %>
-  | <%= link_to t('diary_entry.diary_entry.edit_link'), :action => 'edit', :display_name => diary_entry.user.display_name, :id => diary_entry.id %>
-<% end %>
-<%= if_administrator(:span) do %>
-  | <%= link_to t('diary_entry.diary_entry.hide_link'), hide_diary_entry_path(:display_name => diary_entry.user.display_name, :id => diary_entry.id), :method => :post, :data => { :confirm => t('diary_entry.diary_entry.confirm') } %>
-<% end %>
+    <%= if_user(diary_entry.user, :span) do %>
+      <li><%= link_to t('diary_entry.diary_entry.edit_link'), :action => 'edit', :display_name => diary_entry.user.display_name, :id => diary_entry.id %></li>
+    <% end %>
 
-<br />
-<hr />
+    <%= if_administrator(:span) do %>
+      <li><%= link_to t('diary_entry.diary_entry.hide_link'), hide_diary_entry_path(:display_name => diary_entry.user.display_name, :id => diary_entry.id), :method => :post, :data => { :confirm => t('diary_entry.diary_entry.confirm') } %></li>
+    <% end %>
+  </ul>
+</div>
index 49644327276c1636e4674603abb1c14134d739f2..ca583ef47a76e257074079890343df914955b210 100644 (file)
@@ -1,2 +1 @@
-<%= user_thumbnail diary_list_entry.user %>
-<%= render :partial => "diary_entry", :object => diary_list_entry %>
+<%= render :partial => "diary_entry", :object => diary_list_entry %>
\ No newline at end of file
index f477ab8b63e97016cb9aca9b3de082b3493a82f2..e486308ead7b0560717f05e163a86e04dceb85ef 100644 (file)
@@ -1,23 +1,24 @@
-<h1><%= t('diary_entry.comments.has_commented_on', :display_name => @this_user.display_name) %></h1>
+<% content_for :heading do %>
+  <h1><%= t('diary_entry.comments.has_commented_on', :display_name => @this_user.display_name) %></h1>
+<% end %>
 
-<table width="100%">
+<table class="comments-table" width="100%">
   <tr>
-    <th><%= t 'diary_entry.comments.post' %></th>
-    <th><%= t 'diary_entry.comments.when' %></th>
-    <th><%= t 'diary_entry.comments.comment' %></th>
+    <th width="25%"><%= t 'diary_entry.comments.post' %></th>
+    <th width="25%"><%= t 'diary_entry.comments.when' %></th>
+    <th width="50%"><%= t 'diary_entry.comments.comment' %></th>
   </tr>
   <% @comments.each do |comment| -%>
   <% cl = cycle('table0', 'table1') %>
   <tr class="<%= cl %>">
-    <td><%= link_to comment.diary_entry.title, :action => :view, :display_name => comment.diary_entry.user.display_name, :id => comment.diary_entry.id %></td>
-    <td><span title="<%= l comment.created_at, :format => :friendly %>"><%= t 'diary_entry.comments.ago', :ago => time_ago_in_words(comment.created_at) %></span></td>
-    <td><%= comment.body.to_html %></td>
+    <td width="25%"><%= link_to comment.diary_entry.title, :action => :view, :display_name => comment.diary_entry.user.display_name, :id => comment.diary_entry.id %></td>
+    <td width="25%"><span title="<%= l comment.created_at, :format => :friendly %>"><%= t 'diary_entry.comments.ago', :ago => time_ago_in_words(comment.created_at) %></span></td>
+    <td width="50%"><%= comment.body.to_html %></td>
   </tr>
   <% end -%>
 </table>
 
-<%= link_to t('diary_entry.comments.older_comments') , { :page => @comment_pages.current.next} if @comment_pages.current.next %>
-<% if @comment_pages.current.next and @comment_pages.current.previous %>
-|
-<% end %>
-<%= link_to t('diary_entry.comments.newer_comments'), { :page => @comment_pages.current.previous } if @comment_pages.current.previous %>
+<ul class='secondary-actions clearfix'>
+  <li><%= link_to t('diary_entry.comments.older_comments') , { :page => @comment_pages.current.next} if @comment_pages.current.next %></li>
+  <li><%= link_to t('diary_entry.comments.newer_comments'), { :page => @comment_pages.current.previous } if @comment_pages.current.previous %></li>
+</ul>
\ No newline at end of file
index 0cdd3b098b4ac1e5467bd1a2522add0d9e8259e6..0c83ef4ce3dcd75018579dde245a71dd0b1f4ccc 100644 (file)
@@ -2,7 +2,9 @@
   <%= javascript_include_tag "diary_entry" %>
 <% end %>
 
-<h1><%= @title %></h1>
+<% content_for :heading do %>
+  <h1><%= @title %></h1>
+<% end %>
 
 <%= error_messages_for 'diary_entry' %>
 
index 9de2efea541efaa8d068a9154a6acada9897cd51..3353fef796ecb2553650dd605570d6e7b6fa9ea0 100644 (file)
@@ -1,43 +1,47 @@
-<% if @this_user %>
-  <%= user_image @this_user %>
+<% content_for :heading do %>
+  <div <% if @this_user %> id="userinformation"<% end %> >
+    <% if @this_user %>
+      <%= user_image @this_user %>
+    <% end %>
+    <h2><%= h(@title) %></h2>
+
+    <ul class='secondary-actions clearfix'>
+      <% unless params[:friends] or params[:nearby] -%>
+        <li><%= rss_link_to :action => 'rss', :language => params[:language] %></li>
+      <% end -%>
+
+      <% if @this_user %>
+        <%= if_user(@this_user) do %>
+          <li><%= link_to image_tag("new.png", :class => "small_icon", :border=>0) + t('diary_entry.list.new'), {:controller => 'diary_entry', :action => 'new'}, {:title => t('diary_entry.list.new_title')} %></li>
+        <% end %>
+      <% else %>
+        <%= if_logged_in do %>
+          <li><%= link_to image_tag("new.png", :class => "small_icon", :border=>0) + t('diary_entry.list.new'), {:controller => 'diary_entry', :action => 'new'}, {:title => t('diary_entry.list.new_title')} %></li>
+        <% end %>
+      <% end %>
+    </ul>
+  </div>
 <% end %>
 
-<h2><%= h(@title) %></h2>
+<% if @entries.empty? %>
+  <h4><%= t 'diary_entry.list.no_entries' %></h4>
+<% else %>
+  <h4><%= t 'diary_entry.list.recent_entries' %></h4>
 
 <% if @this_user %>
-  <%= if_user(@this_user) do %>
-    <%= link_to image_tag("new.png", :border=>0) + t('diary_entry.list.new'), {:controller => 'diary_entry', :action => 'new'}, {:title => t('diary_entry.list.new_title')} %>
-  <% end %>
+  <%= render :partial => 'diary_entry', :collection => @entries %>
 <% else %>
-  <%= if_logged_in do %>
-    <%= link_to image_tag("new.png", :border=>0) + t('diary_entry.list.new'), {:controller => 'diary_entry', :action => 'new'}, {:title => t('diary_entry.list.new_title')} %>
-  <% end %>
+  <%= render :partial => 'diary_list_entry', :collection => @entries %>
 <% end %>
 
-<% if @entries.empty? %>
-  <p><%= t 'diary_entry.list.no_entries' %></p>
-<% else %>
-  <p><%= t 'diary_entry.list.recent_entries' %></p>
-
-  <hr />
-
-  <% if @this_user %>
-    <%= render :partial => 'diary_entry', :collection => @entries %>
-  <% else %>
-    <%= render :partial => 'diary_list_entry', :collection => @entries %>
-  <% end %>
-
-  <%= link_to t('diary_entry.list.older_entries'), { :page => @entry_pages.current.next, :language => params[:language] } if @entry_pages.current.next %>
-  <% if @entry_pages.current.next and @entry_pages.current.previous %>|<% end %>
-  <%= link_to t('diary_entry.list.newer_entries'), { :page => @entry_pages.current.previous, :language => params[:language] } if @entry_pages.current.previous %>
+<%= link_to t('diary_entry.list.older_entries'), { :page => @entry_pages.current.next, :language => params[:language] } if @entry_pages.current.next %>
+<% if @entry_pages.current.next and @entry_pages.current.previous %>|<% end %>
+<%= link_to t('diary_entry.list.newer_entries'), { :page => @entry_pages.current.previous, :language => params[:language] } if @entry_pages.current.previous %>
 
-  <br />
 <% end %>
 
 <% unless params[:friends] or params[:nearby] -%>
-<%= rss_link_to :action => 'rss', :language => params[:language] %>
-
-<% content_for :head do -%>
-<%= auto_discovery_link_tag :atom, :action => 'rss', :language => params[:language] %>
-<% end -%>
+  <% content_for :head do -%>
+  <%= auto_discovery_link_tag :atom, :action => 'rss', :language => params[:language] %>
+  <% end -%>
 <% end -%>
index eef0e47d2d73b284b5343cd107ea7ca0f364035a..ff9a811c76abdbb33ec1b6b93383fb18d9a34e26 100644 (file)
@@ -1,2 +1,5 @@
-<h2><%= t 'diary_entry.no_such_entry.heading', :id => h(params[:id]) %></h2>
+<% content_for :heading do %>
+  <h2><%= t 'diary_entry.no_such_entry.heading', :id => h(params[:id]) %></h2>
+<% end %>
+
 <p><%= t 'diary_entry.no_such_entry.body', :id => h(params[:id]) %></p>
index 1bce441b4256d5fc9534f8dc4427626a32ec7aae..5735188a7473ac6014cec17d1f6cfbbbd9e2961b 100644 (file)
@@ -1,26 +1,27 @@
-<%= user_image @entry.user %>
-
-<h2><%= link_to t('diary_entry.view.user_title', :user => h(@entry.user.display_name)), :action => :list %></h2>
+<% content_for :heading do %>
+  <div id="userinformation" >
+    <%= user_image @entry.user %>
+    <h2><%= link_to t('diary_entry.view.user_title', :user => h(@entry.user.display_name)), :action => :list %></h2>
+  </div>
+<% end %>
 
 <%= render :partial => 'diary_entry', :object => @entry %>
 
 <a id="comments"></a>
-
+<div class='comments'>
 <%= render :partial => 'diary_comment', :collection => @entry.visible_comments %>
-
+</div>
 <%= if_logged_in(:div) do %>
-  <h4 id="newcomment"><%= t 'diary_entry.view.leave_a_comment' %></h4>
+  <h3 id="newcomment"><%= t 'diary_entry.view.leave_a_comment' %></h3>
 
   <%= error_messages_for 'diary_comment' %>
 
   <%= form_for :diary_comment, :url => { :action => 'comment' } do |f| %>
     <%= richtext_area :diary_comment, :body, :cols => 80, :rows => 15 %>
-    <br />
-    <br />
     <%= submit_tag t('diary_entry.view.save_button') %>
   <% end %>
 <% end %>
 
 <%= if_not_logged_in(:div) do %>
-  <h4 id="newcomment"><%= raw t("diary_entry.view.login_to_leave_a_comment", :login_link => link_to(t("diary_entry.view.login"), :controller => 'user', :action => 'login', :referer => request.fullpath)) %></h4>
-<% end %>
+  <h3 id="newcomment"><%= raw t("diary_entry.view.login_to_leave_a_comment", :login_link => link_to(t("diary_entry.view.login"), :controller => 'user', :action => 'login', :referer => request.fullpath)) %></h3>
+<% end %>
\ No newline at end of file
index 539c6f4485508e2481cb23ca4deec03182a7e132..f5dcb1462198dc70d5070add802069fd167b60cc 100644 (file)
@@ -1,73 +1,69 @@
 <%= form_tag :action => "finish" do %>
 
-  <p class="export_heading"><%= t'export.start.area_to_export' %></p>
-
-  <div class="export_bounds">
-    <%= text_field_tag('maxlat', nil, :size => 10, :class => "export_bound") %>
-    <br/>
-    <%= text_field_tag('minlon', nil, :size => 10, :class => "export_bound") %>
-    <%= text_field_tag('maxlon', nil, :size => 10, :class => "export_bound") %>
-    <br/>
-    <%= text_field_tag('minlat', nil, :size => 10, :class => "export_bound") %>
-    <p class="export_hint">
-      <a id="drag_box" href="#"><%= t'export.start.manually_select' %></a>  
-    </p>
-  </div>
-
-  <p class="export_heading"><%= t'export.start.format_to_export' %></p>
+  <h4><%= t'export.start.area_to_export' %></h4>
 
-  <div class="export_details">
-    <p>
-      <%= radio_button_tag("format", "osm") %> <%= t'export.start.osm_xml_data' %>
+  <div class="export_bounds inner12">
+    <div class='export_area_inputs'>
+      <%= text_field_tag('maxlat', nil, :size => 10, :class => "export_bound") %>
       <br/>
-      <%= radio_button_tag("format", "mapnik") %> <%= t'export.start.map_image' %>
+      <%= text_field_tag('minlon', nil, :size => 10, :class => "export_bound") %>
+      <%= text_field_tag('maxlon', nil, :size => 10, :class => "export_bound") %>
       <br/>
-      <%= radio_button_tag("format", "html") %> <%= t'export.start.embeddable_html' %>
-    </p>
+      <%= text_field_tag('minlat', nil, :size => 10, :class => "export_bound") %>
+    </div>
+    <a id="drag_box" class='export_hint button' href="#"><%= t'export.start.manually_select' %></a>
   </div>
 
+  <h4><%= t'export.start.format_to_export' %></h4>
+
+  <ul class="export_details inner12">
+    <li><%= radio_button_tag("format", "osm") %> <%= t'export.start.osm_xml_data' %></li>
+    <li><%= radio_button_tag("format", "mapnik") %> <%= t'export.start.map_image' %></li>
+    <li><%= radio_button_tag("format", "html") %> <%= t'export.start.embeddable_html' %></li>
+  </ul>
+
   <div id="export_osm">
-    <p class="export_heading"><%= t'export.start.licence' %></p>
+    <h4><%= t'export.start.licence' %></h4>
 
-    <div class="export_details">
+    <div class="export_details inner12">
       <p><%= raw t'export.start.export_details' %></p>
     </div>
 
     <div  id="export_osm_too_large">
-      <p class="export_heading"><%= t'export.start.too_large.heading' %></p>
+      <h4><%= t'export.start.too_large.heading' %></h4>
 
-      <div class="export_details">
+      <div class="export_details inner12">
         <p><%= t'export.start.too_large.body' %></p>
       </div>
     </div>
   </div>
 
   <div id="export_mapnik">
-    <p class="export_heading"><%= t'export.start.options' %></p>
+    <h4><%= t'export.start.options' %></h4>
 
-    <div class="export_details">
-      <p><%= t'export.start.format' %> <%= select_tag("mapnik_format", options_for_select([["PNG", "png"], ["JPEG", "jpeg"], ["SVG", "svg"], ["PDF", "pdf"]], "png")) %></p>
-      <p><%= t'export.start.scale' %> 1 : <%= text_field_tag("mapnik_scale", nil, :size => 8) %> <span class="export_hint">(<%= t'export.start.max' %> 1 : <span id="mapnik_max_scale"></span>)</span></p>
-      <p><%= t'export.start.image_size' %> <span id="mapnik_image_width"></span> x <span id="mapnik_image_height"></span></p>
-    </div>
+    <ul class="export_details inner12">
+      <li><%= t'export.start.format' %> <%= select_tag("mapnik_format", options_for_select([["PNG", "png"], ["JPEG", "jpeg"], ["SVG", "svg"], ["PDF", "pdf"]], "png")) %></li>
+      <li><%= t'export.start.scale' %> 1 : <%= text_field_tag("mapnik_scale", nil) %> <p class="deemphasize export_hint">(<%= t'export.start.max' %> 1 : <span id="mapnik_max_scale"></span>)</p></li>
+      <li><%= t'export.start.image_size' %> <span id="mapnik_image_width"></span> x <span id="mapnik_image_height"></span></li>
+    </ul>
   </div>
 
   <div id="export_html">
-    <p class="export_heading"><%= t'export.start.options' %></p>
-
-    <div class="export_details">
-      <p><a id="add_marker" href="#"><%= t'export.start.add_marker' %></a></p>
-      <p id="marker_inputs" style="display:none">
-        <%= t'export.start.latitude' %> <input type="text" id="marker_lat" size="9" />
-        <%= t'export.start.longitude' %> <input type="text" id="marker_lon" size="9" />
-      </p>
+    <h4><%= t'export.start.options' %></h4>
+
+    <div class="export_details inner12">
+      <ul id="marker_inputs" style="display:none">
+        <li><%= t'export.start.latitude' %> <input type="text" id="marker_lat"/></li>
+        <li><%= t'export.start.longitude' %> <input type="text" id="marker_lon"/></li>
+      </ul>
+      <a id="add_marker" class='button' href="#"><%= t'export.start.add_marker' %></a>
     </div>
 
-    <p class="export_heading"><%= t'export.start.output' %></p>
+    <h4><%= t'export.start.output' %></h4>
 
-    <div class="export_details">
-      <p><input type="text" id="export_html_text" style="width:95%" /></p>
-      <p><%= t'export.start.paste_html' %></p>
+    <div class="export_details inner12">
+      <input type="text" id="export_html_text"/>
+      <p class='deemphasize'><%= t'export.start.paste_html' %></p>
     </div>
   </div>
 
index a01954d72b34884e4f3e5b4e722783f4884a2af9..018f777650b3cf3c2313556074cb1063c76a6f92 100644 (file)
@@ -1,10 +1,10 @@
 <% @sources.each do |source| %>
   <% if source[:types] %>
-    <p class="search_results_heading"><%= raw(t("geocoder.description.title.#{source[:name]}", :types => t("geocoder.description.types.#{source[:types]}"))) %></p>
+    <h4><%= raw(t("geocoder.description.title.#{source[:name]}", :types => t("geocoder.description.types.#{source[:types]}"))) %></h4>
   <% else %>
-    <p class="search_results_heading"><%= raw(t("geocoder.description.title.#{source[:name]}")) %></p>
+    <h4><%= raw(t("geocoder.description.title.#{source[:name]}")) %></h4>
   <% end %>
-  <div class='search_results_entry' id='<%= "description_#{source[:name]}_#{source[:types]}" %>'>
+  <div class='search_results_entry inner12' id='<%= "description_#{source[:name]}_#{source[:types]}" %>'>
     <%= image_tag "searching.gif", :class => "search_searching" %>
   </div>
   <script type="text/javascript">
index 61d28697d715f6caf99568ae9c3afcd0e2a9267f..4b2d6e83d69977ccd6c8c955494c8e5e0f75d039 100644 (file)
@@ -1,25 +1,26 @@
 <% if @results.empty? %>
-  <p class="search_results_entry"><%= t 'geocoder.results.no_results' %></p>
+  <p class="search_results_entry inner12"><%= t 'geocoder.results.no_results' %></p>
 <% else %>
+  <ul class='results-list'>
   <% @results.each do |result| %>
-    <p class="search_results_entry"><%= result_to_html(result) %></p>
+    <li><p class="inner12 search_results_entry deemphasize"><%= result_to_html(result) %></p></li>
   <% end %>
+</ul>
   <% if @more_params %>
     <div id="search_more_<%= @more_params.hash %>">
-      <p class="search_results_entry">
-        <%= link_to t('geocoder.results.more_results'), "#" %>
-      </p>
+      <div class="inner12 search_results_entry">
+        <%= link_to t('geocoder.results.more_results'), "#", :class => "button" %>
+      </div>
       <%= image_tag "searching.gif", :class => "search_searching" %>
     </div>
     <script type="text/javascript">
-    $("#search_more_<%= @more_params.hash %> .search_searching").hide();
+      $("#search_more_<%= @more_params.hash %> .search_searching").hide();
 
-    $("#search_more_<%= @more_params.hash %> a").click(function () {
-      $("#search_more_<%= @more_params.hash %> .search_results_entry").hide();
-      $("#search_more_<%= @more_params.hash %> .search_searching").show();
-
-      $("#search_more_<%= @more_params.hash %>").load("<%= raw url_for(@more_params) %>");
-    });
+      $("#search_more_<%= @more_params.hash %> a").click(function () {
+        $("#search_more_<%= @more_params.hash %> .search_results_entry").hide();
+        $("#search_more_<%= @more_params.hash %> .search_searching").show();
+        $("#search_more_<%= @more_params.hash %>").load("<%= raw url_for(@more_params) %>");
+      });
     </script>
   <% end %>
 <% end %>
index 7bc8fcd76c29cf24f41ade92e8484e6f0a4901b6..8674c958066ebff13f519da4a625400a9f1c56dd 100644 (file)
@@ -1,5 +1,5 @@
 <% @sources.each do |source| %>
-  <p class="search_results_heading"><%= raw(t "geocoder.search.title.#{source}") %></p>
+  <h4><%= raw(t "geocoder.search.title.#{source}") %></h4>
   <div class="search_results_entry" id="<%= "search_#{source}" %>">
     <%= image_tag "searching.gif", :class => "search_searching" %>
   </div>
index 0380a50945454794a7065785c8ad07d0b7822c59..a3cbbc2072b4296aef09b6a07e0b92f391e7b46f 100644 (file)
@@ -1,11 +1,11 @@
 <% if flash[:error] %>
-  <div id="error"><%= raw flash[:error] %></div>
+  <div id="error" class="flash"><%=image_tag("notice.png", :class => "small_icon", :border=>0)%><%= raw flash[:error] %></div>
 <% end %>
 
 <% if flash[:warning] %>
-  <div id="warning"><%= raw flash[:warning] %></div>
+  <div id="warning" class="flash"><%=image_tag("notice.png", :class => "small_icon", :border=>0)%><%= raw flash[:warning] %></div>
 <% end %>
 
 <% if flash[:notice] %>
-  <div id="notice"><%= raw flash[:notice] %></div>
+  <div id="notice" class="flash"><%=image_tag("notice.png", :class => "small_icon", :border=>0)%><%= raw flash[:notice] %></div>
 <% end %>
index f1ae440e7cad05dfc086c0f5fde8833a07569555..d36681d97e5734d670899414ad8b30f41e353dd2 100644 (file)
@@ -6,66 +6,7 @@
       <%= 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 id="content">
-      <%= 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), user_path(: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'), user_path(:display_name => @user.display_name) %></span> |
-           <%= yield :greeting %>
-           <%= render :partial => "layouts/inbox" %> |
-           <%= link_to t('layouts.logout'), logout_path(:session => request.session_options[:id], :referer => request.fullpath), {:id => 'logoutanchor', :title => t('layouts.logout_tooltip')}%>
-         <% else %>
-           <%= link_to t('layouts.log_in'), login_path(:referer => request.fullpath), {:id => 'loginanchor', :title => t('layouts.log_in_tooltip')} %> |
-           <%= link_to t('layouts.sign_up'), user_new_path, {:id => 'registeranchor', :title => t('layouts.sign_up_tooltip')} %>
-         <% end %>
-      </span>
-      <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 id="left">
+        <div id="left">
       <div id="logo">
         <%= link_to(image_tag("osm_logo.png",
           :size => "120x120",
         </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 id="content" class="clearfix">
+        <%= yield %>
+      </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 -%>
index b52eb1f1b93d833933076aa6195306adabce9535..26001c0bd857aed1993c015790c0a79385aebb64 100644 (file)
@@ -1,7 +1,7 @@
 <tr id="inbox-<%= message_summary.id %>" class="inbox-row<%= "-unread" if not message_summary.message_read? %>">
   <td class="inbox-sender"><%= link_to h(message_summary.sender.display_name), :controller => 'user', :action => 'view', :display_name => message_summary.sender.display_name %></td>
   <td class="inbox-subject"><%= link_to h(message_summary.title), :controller => 'message', :action => 'read', :message_id => message_summary.id  %></td>
-  <td class="inbox-sent nowrap"><%= l message_summary.sent_on, :format => :friendly %></td>
+  <td class="inbox-sent"><%= l message_summary.sent_on, :format => :friendly %></td>
   <td class="inbox-mark-unread"><%= button_to t('message.message_summary.unread_button'), {:controller => 'message', :action => 'mark', :message_id => message_summary.id, :mark => 'unread'}, { :remote => true } %></td>
   <td class="inbox-mark-read"><%= button_to t('message.message_summary.read_button'), {:controller => 'message', :action => 'mark', :message_id => message_summary.id, :mark => 'read'}, { :remote => true } %></td>
   <td><%= button_to t('message.message_summary.delete_button'), :controller => 'message', :action => 'delete', :message_id => message_summary.id, :referer => request.fullpath %></td>
index 962cf0a5d1e3e4529376230cb63df865ce823c20..3580822ae17c7bbf866dc083ff892e7c210aad3b 100644 (file)
@@ -1,6 +1,6 @@
 <tr class="inbox-row">
   <td class="inbox-sender"><%= link_to h(sent_message_summary.recipient.display_name), :controller => 'user', :action => 'view', :display_name => sent_message_summary.recipient.display_name %></td>
   <td class="inbox-subject"><%= link_to h(sent_message_summary.title), :controller => 'message', :action => 'read', :message_id => sent_message_summary.id  %></td>
-  <td class="inbox-sent nowrap"><%= l sent_message_summary.sent_on, :format => :friendly %></td>
+  <td class="inbox-sent"><%= l sent_message_summary.sent_on, :format => :friendly %></td>
   <td><%= button_to t('message.sent_message_summary.delete_button'), :controller => 'message', :action => 'delete', :message_id => sent_message_summary.id, :referer => request.fullpath %></td>
 </tr>
index ec1460745578eba1057cff6d57c1073d7bbed192..4a898c0857b6c276c9df20b34f1f6e319b55b24f 100644 (file)
@@ -1,7 +1,8 @@
-<div class='text-content'>
-<h2><%= t'message.inbox.my_inbox'%>/<%= link_to t('message.inbox.outbox'), outbox_path(@user.display_name) %></h2>
+<% content_for :heading do %>
+  <h2><%= t'message.inbox.my_inbox'%>/<%= link_to t('message.inbox.outbox'), outbox_path(@user.display_name) %></h2>
+<% end %>
 
-<%= render :partial => "message_count" %>
+  <h4><%= render :partial => "message_count" %></h4>
 
 <% if @user.messages.size > 0 %>
   <table class="messages">
@@ -21,4 +22,3 @@
 <% else %>
   <div><%= raw(t'message.inbox.no_messages_yet', :people_mapping_nearby_link => link_to(t('message.inbox.people_mapping_nearby'), :controller => 'user', :action => 'view', :display_name => @user.display_name)) %></div>
 <% end %>
-</div>
index ed95e2252fc080e725f359bc476c3a2e85ee911a..96f6b080d945823db4f7c948b39599e06aea3f6d 100644 (file)
@@ -1,4 +1,6 @@
-<h2><%= raw(t'message.new.send_message_to', :name => link_to(h(@this_user.display_name), {:controller => 'user', :action => 'view', :display_name => @this_user.display_name})) %></h2>
+<% content_for :heading do %>
+  <h2><%= raw(t'message.new.send_message_to', :name => link_to(h(@this_user.display_name), {:controller => 'user', :action => 'view', :display_name => @this_user.display_name})) %></h2>
+<% end %>
 
 <%= error_messages_for 'message' %>
 
index 6fd52124a40ccd2300c741b998aca87676b3da34..9bf6ddbea85d2fc281baab1a253cdc367be4b508 100644 (file)
@@ -1,2 +1,5 @@
-<h1><%= t'message.no_such_message.heading' %></h1>
+<% content_for :heading do %>
+  <h1><%= t'message.no_such_message.heading' %></h1>
+<% end %>
+
 <p><%= t'message.no_such_message.body' %></p>
index 30d55e1aa17b993fe170668d0ab013732feadcb8..ebf04c9fb37f015129f5ae19ab3c47607f1dda50 100644 (file)
@@ -1,6 +1,8 @@
-<h2><%= raw(t'message.outbox.my_inbox', :inbox_link => link_to(t('message.outbox.inbox'), inbox_path(@user.display_name))) %>/<%= t'message.outbox.outbox' %></h2>
+<% content_for :heading do %>
+  <h2><%= raw(t'message.outbox.my_inbox', :inbox_link => link_to(t('message.outbox.inbox'), inbox_path(@user.display_name))) %>/<%= t'message.outbox.outbox' %></h2>
+<% end %>
 
-<p><%= t'message.outbox.messages', :count => @user.sent_messages.size %></p>
+<h4><%= t'message.outbox.messages', :count => @user.sent_messages.size %></h4>
 
 <% if @user.sent_messages.size > 0 %>
   <table class="messages">
index de36cafe8314f0c5cfe1b5977adeb4ed0a83e941..e62873ad45a95debb7e0be1d972f24ee6c1267cb 100644 (file)
@@ -1,37 +1,36 @@
-<div class='text-content'>
 <% if @user == @message.recipient %>
-
+  <% content_for :heading do %>
     <h2><%= h(@message.title) %></h2>
-
-    <div class='info-line'>
-        <%= user_thumbnail_tiny @message.sender %>
-        <%= link_to h(@message.sender.display_name), :controller => 'user', :action => 'view', :display_name => @message.sender.display_name %></td>
-        <div class='right'>
-            <%= l @message.sent_on, :format => :friendly %>
-            <%= button_to t('message.read.reply_button'), :controller => 'message', :action => 'reply', :message_id => @message.id %>
-            <%= button_to t('message.read.unread_button'), :controller => 'message', :action => 'mark', :message_id => @message.id, :mark => 'unread' %>
-        </div>
+  <% end %>
+
+  <div class='info-line clearfix'>
+    <%= user_thumbnail_tiny @message.sender %>
+    <%= link_to h(@message.sender.display_name), :controller => 'user', :action => 'view', :display_name => @message.sender.display_name %></td>
+    <div class='right'>
+      <%= l @message.sent_on, :format => :friendly %>
+      <%= button_to t('message.read.reply_button'), :controller => 'message', :action => 'reply', :message_id => @message.id %>
+      <%= button_to t('message.read.unread_button'), :controller => 'message', :action => 'mark', :message_id => @message.id, :mark => 'unread' %>
     </div>
+  </div>
 
-    <%= @message.body.to_html %></td>
+  <%= @message.body.to_html %></td>
 
-    <%= link_to t('message.read.back_to_inbox'), :controller => 'message', :action => 'inbox', :display_name => @user.display_name %>
+  <%= link_to t('message.read.back_to_inbox'), :controller => 'message', :action => 'inbox', :display_name => @user.display_name %>
 
 <% else %>
 
-    <h2><%= h(@message.title) %></h2>
+  <h2><%= h(@message.title) %></h2>
 
-    <div class='info-line'>
-        <%= user_thumbnail_tiny @message.recipient %>
-        <%= link_to h(@message.recipient.display_name), :controller => 'user', :action => 'view', :display_name => @message.recipient.display_name %></td>
-        <div class='right'>
-            <%= l @message.sent_on, :format => :friendly %>
-        </div>
+  <div class='info-line clearfix'>
+    <%= user_thumbnail_tiny @message.recipient %>
+    <%= link_to h(@message.recipient.display_name), :controller => 'user', :action => 'view', :display_name => @message.recipient.display_name %></td>
+    <div class='right'>
+      <%= l @message.sent_on, :format => :friendly %>
     </div>
+  </div>
 
-    <%= @message.body.to_html %></td>
+  <%= @message.body.to_html %></td>
 
-    <%= link_to t('message.read.back_to_outbox'), :controller => 'message', :action => 'outbox', :display_name => @user.display_name %>
+  <%= link_to t('message.read.back_to_outbox'), :controller => 'message', :action => 'outbox', :display_name => @user.display_name %>
 
-<% end %>
-</div>
+<% end %>
\ No newline at end of file
index eaf43f9d122073aac87d3271146054c5807935e9..31729d4f03dc8cad6f4bb87705158c4fe20a51a3 100644 (file)
@@ -1,5 +1,8 @@
-<h1>Authorize access to your account</h1>
-<p><%= raw t('oauth.oauthorize.request_access', :app_name => link_to(@token.client_application.name, @token.client_application.url), :user => link_to(@user.display_name, :controller => :user, :action => :view, :display_name => @user.display_name)) %></p>
+<% content_for :heading do %>
+  <h1>Authorize access to your account</h1>
+  <p><%= raw t('oauth.oauthorize.request_access', :app_name => link_to(@token.client_application.name, @token.client_application.url), :user => link_to(@user.display_name, :controller => :user, :action => :view, :display_name => @user.display_name)) %></p>
+<% end %>
+
 <%= form_tag authorize_url do %>
   <%= hidden_field_tag "oauth_token", @token.token %>
   <%- if params[:oauth_callback] -%>
index d8110c94f0bacbf7b42b622ae0c8a1d55809151c..d5e53e4c4d1307f39090c8ca5e3ca57f73d0de85 100644 (file)
@@ -1 +1,3 @@
-<h1>You have disallowed this request</h1>
+<% content_for :heading do %>
+  <h1>You have disallowed this request</h1>
+<% end %>
\ No newline at end of file
index 89512db315cd596432a59d1cec23944a7b526014..aa2a52f66579cc2376f6c03da96f25f11b97990f 100644 (file)
@@ -1,4 +1,6 @@
-<h1>You have allowed this request</h1>
+<% content_for :heading do %>
+  <h1>You have allowed this request</h1>
+<% end %>
 
 <% if @token.oob? and not @token.oauth10? %>
 <p>The verification code is <%= @token.verifier %></p>
index b27f9b8fc01d9700476c36c0454f68b57a72ed09..99aab0ed03b95d9d7db616eb846ed28ae50cafc5 100644 (file)
@@ -1,4 +1,7 @@
-<h1><%= t'oauth_clients.edit.title' %></h1>
+<% content_for :heading do %>
+  <h1><%= t'oauth_clients.edit.title' %></h1>
+<% end %>
+
 <%= form_for @client_application, :url => oauth_client_path(@client_application.user.display_name, @client_application), :html => { :method => :put } do |f| %>
   <%= render :partial => "form", :locals => { :f => f } %>
   <br/>
index d698728f5e7c12c3ff0f352093f545cb30dfc752..80dbc6079afd400d6999e077b7ad4b66a373dd76 100644 (file)
@@ -1,4 +1,7 @@
-<h1><%= t'oauth_clients.index.title' %></h1>
+<% content_for :heading do %>
+  <h1><%= t'oauth_clients.index.title' %></h1>
+<% end %>
+
 <% unless @tokens.empty? %>
 <h3><%= t'oauth_clients.index.my_tokens' %></h3>
 <p><%= t'oauth_clients.index.list_tokens' %></p>
@@ -16,7 +19,7 @@
        <% end %>
       </td>
     <% end %>
-  <% end %>    
+  <% end %>
 </table>
 <% end %>
 <h3><%= t'oauth_clients.index.my_apps' %></h3>
@@ -30,4 +33,4 @@
   <% end %>
 <% end %>
 <% end %>
-<h3><%= link_to t('oauth_clients.index.register_new'), :action => :new %></h3>
+<h3><%= link_to t('oauth_clients.index.register_new'), :action => :new %></h3>
\ No newline at end of file
index 2cd748ac653620bb8f32b7082b0d8409175972bc..1c18857b1cb628d12ad24a0745282361404a34cb 100644 (file)
@@ -1,6 +1,9 @@
-<h1><%= t'oauth_clients.new.title' %></h1>
+<% content_for :heading do %>
+  <h1><%= t'oauth_clients.new.title' %></h1>
+<% end %>
+
 <%= form_for :client_application, :url => { :action => :create } do |f| %>
    <%= render :partial => "form", :locals => { :f => f } %>
    <br />
    <%= submit_tag t('oauth_clients.new.submit') %>
-<% end %>
+<% end %>
\ No newline at end of file
index 8139a2d73e644bac4ced2ac34be095e41ec163ff..6b91692111d0b7e18f7845e572f4c11a114a3275 100644 (file)
@@ -1,4 +1,6 @@
-<h1><%= t('oauth_clients.show.title', :app_name => @client_application.name) %></h1>
+<% content_for :heading do %>
+  <h1><%= t('oauth_clients.show.title', :app_name => @client_application.name) %></h1>
+<% end %>
 <p>
   <b><%= t'oauth_clients.show.key' %></b> <%=@client_application.key %>
 </p>
index 2a5e69d0a51f2664049ac990622be7bf1beae38d..2dd63c9cbda9a85d49c2fab3d47f6b0d517effee 100644 (file)
@@ -1,5 +1,8 @@
 <% @title = t 'redaction.edit.title' %>
-<h1><%= t 'redaction.edit.heading' %></h1>
+
+<% content_for :heading do %>
+  <h1><%= t 'redaction.edit.heading' %></h1>
+<% end %>
 
 <%= form_for(@redaction) do |f| %>
   <%= f.error_messages %>
index 1fa683de8b65a307402e61a95196437f8cdcd24c..a5a85c38d4758093c5d12a7b04e6394c6ac780e9 100644 (file)
@@ -1,5 +1,7 @@
 <% @title = t('redaction.index.title') %>
-<h1><%= t('redaction.index.heading') %></h1>
+<% content_for :heading do %>
+  <h1><%= t('redaction.index.heading') %></h1>
+<% end %>
 
 <% unless @redactions.empty? %>
   <%= render :partial => 'redactions' %>
index c714acdbc959945de41dea5ba54c8eb3b1405608..5004c0e1e8178a6247fe37f8ae6f83995ebbf5e1 100644 (file)
@@ -1,5 +1,7 @@
 <% @title = t 'redaction.new.title' %>
-<h1><%= t 'redaction.new.heading' %></h1>
+<% content_for :heading do %>
+  <h1><%= t 'redaction.new.heading' %></h1>
+<% end %>
 
 <%= form_for(@redaction) do |f| %>
   <%= f.error_messages %>
index 1a24f15b43d6b34725f52ca34fc80326ca6ae539..798ed962a58d68092ce00af8da186279122a5c3d 100644 (file)
@@ -1,5 +1,7 @@
 <% @title = t('redaction.show.title') %>
-<h1><%= t('redaction.show.heading', :title => @redaction.title) %></h1>
+<% content_for :heading do %>
+  <h1><%= t('redaction.show.heading', :title => @redaction.title) %></h1>
+<% end %>
 
 <p>
   <b><%= t 'redaction.show.user' %></b>
index 615200b5eeee4c7dd4c4e25215fcd2e2823c8f2e..4d781c123853fe35e5919bd60822f84e10e52494 100644 (file)
@@ -1,5 +1,5 @@
 <% if @user and !@user.home_lon.nil? and !@user.home_lat.nil? %>
   <% content_for :greeting do %>
-    <%= link_to t("layouts.home"), "#", :class => "set_position", :data => { :lat => @user.home_lat, :lon => @user.home_lon, :zoom => 15 }, :title => t("layouts.home_tooltip") %> |
+    <%= link_to t("layouts.home"), "#", :class => "set_position", :data => { :lat => @user.home_lat, :lon => @user.home_lon, :zoom => 15 }, :title => t("layouts.home_tooltip") %>
   <% end %>
 <% end %>
index bea37d0d99bf4992253f4c1d0467cc4bff07d5c7..60d0575127d4d3afce90b0c03278eb371640190f 100644 (file)
@@ -1,10 +1,8 @@
 <div id="sidebar">
-  <table class="sidebar_title" width="100%">
-    <tr>
-      <td id="sidebar_title"><% t 'site.sidebar.search_results' %></td>
-      <td id="sidebar_close"><a class="sidebar_close" href="#"><%= t 'site.sidebar.close' %></a></td>
-    </tr>
-  </table>
+  <div class="sidebar_heading">
+    <h4 id="sidebar_title"><% t 'site.sidebar.search_results' %></h4>
+    <div id="sidebar_close"><a class="sidebar_close" href="#"><%= t 'site.sidebar.close' %></a></div>
+  </div>
   <div id="sidebar_content">
   </div>
 </div>
index 2f44386dab482b8258b48ba13dc3c22bea0cd360..160dfea7c48f7bc149127d11e8a5d94980046677 100644 (file)
@@ -1,35 +1,39 @@
+<% content_for :heading do %>
 <% if @locale == 'en' %>
   <!-- Maybe ease foreigners back to their native page -->
-  <% if t('license_page.legal_babble', :locale => I18n.locale) != t('license_page.legal_babble', :locale => :en) %>
-    <h2><%= t 'license_page.native.title' %></h2>
-    <p>
-      <%= raw t 'license_page.native.text',
-                  :native_link => link_to(t('license_page.native.native_link'),
-                                              :controller => 'site',
-                                              :action => 'copyright',
-                                              :copyright_locale => nil),
-                  :mapping_link => link_to(t('license_page.native.mapping_link'),
-                                              :controller => 'site',
-                                              :action => 'index') %>
-    </p>
-    <hr />
-  <% end %>
-<% else %>
-  <!-- Maybe note that this page has been translated -->
-  <% if t('license_page.legal_babble', :locale => @locale) != t('license_page.legal_babble', :locale => :en) %>
-    <h2><%= t 'license_page.foreign.title' %></h2>
-    <p>
-      <%= raw t 'license_page.foreign.text',
-                  :english_original_link => link_to(t('license_page.foreign.english_link'),
-                                                        :controller => 'site',
-                                                        :action => 'copyright',
-                                                        :copyright_locale => 'en') %>
-    </p>
-    <hr />
+
+    <% if t('license_page.legal_babble', :locale => I18n.locale) != t('license_page.legal_babble', :locale => :en) %>
+      <h2><%= t 'license_page.native.title' %></h2>
+      <p>
+        <%= raw t 'license_page.native.text',
+                    :native_link => link_to(t('license_page.native.native_link'),
+                                                :controller => 'site',
+                                                :action => 'copyright',
+                                                :copyright_locale => nil),
+                    :mapping_link => link_to(t('license_page.native.mapping_link'),
+                                                :controller => 'site',
+                                                :action => 'index') %>
+      </p>
+      <hr />
+    <% end %>
+  <% else %>
+    <!-- Maybe note that this page has been translated -->
+    <% if t('license_page.legal_babble', :locale => @locale) != t('license_page.legal_babble', :locale => :en) %>
+      <h2><%= t 'license_page.foreign.title' %></h2>
+      <p>
+        <%= raw t 'license_page.foreign.text',
+                    :english_original_link => link_to(t('license_page.foreign.english_link'),
+                                                          :controller => 'site',
+                                                          :action => 'copyright',
+                                                          :copyright_locale => 'en') %>
+      </p>
+      <hr />
+    <% end %>
   <% end %>
-<% end %>
 
-<h2><%= t "license_page.legal_babble.title_html", :locale => @locale %></h2>
+  <h2><%= t "license_page.legal_babble.title_html", :locale => @locale %></h2>
+
+<% end %>
 
 <p><%= t "license_page.legal_babble.intro_1_html", :locale => @locale %></p>
 <p><%= t "license_page.legal_babble.intro_2_html", :locale => @locale %></p>
@@ -42,8 +46,6 @@
 <p><%= image_tag("attribution_example.png",
               :alt => t('license_page.legal_babble.attribution_example.alt'),
               :border => 0,
-              :width => 193,
-              :height => 69,
               :title => t('license_page.legal_babble.attribution_example.title')) %>
 
 <h3><%= t "license_page.legal_babble.more_title_html", :locale => @locale %></h3>
@@ -66,4 +68,4 @@
 
 <h3><%= t "license_page.legal_babble.infringement_title_html", :locale => @locale %></h3>
 <p><%= t "license_page.legal_babble.infringement_1_html", :locale => @locale %></p>
-<p><%= t "license_page.legal_babble.infringement_2_html", :locale => @locale %></p>
+<p><%= t "license_page.legal_babble.infringement_2_html", :locale => @locale %></p>
\ No newline at end of file
index 32717d8242bebff9b6c6929e7b43de336b6b5a66..ac5233669b4c494a3541cc11ea0e44e02688c26d 100644 (file)
     <% end %>
   </td>
   <td class="<%= cl %>"><%= link_to trace.name, {:controller => 'trace', :action => 'view', :display_name => trace.user.display_name, :id => trace.id} %>
-    <span class="trace_summary" title="<%= trace.timestamp %>"> ... 
-      <% if trace.inserted %> 
+    <span class="trace_summary" title="<%= trace.timestamp %>"> ...
+      <% if trace.inserted %>
         (<%= t'trace.trace.count_points', :count => trace.size.to_s.gsub(/(\d)(?=(\d{3})+$)/,'\1,') %>)
-      <% end %> 
+      <% end %>
       ... <%= t'trace.trace.ago', :time_in_words_ago => time_ago_in_words(trace.timestamp) %></span>
       <%= link_to t('trace.trace.more'), {:controller => 'trace', :action => 'view', :display_name => trace.user.display_name, :id => trace.id}, {:title => t('trace.trace.trace_details')} %> /
       <%= link_to_if trace.inserted?, t('trace.trace.map'), {:controller => 'site', :action => 'index', :lat => trace.latitude, :lon => trace.longitude, :zoom => 14}, {:title => t('trace.trace.view_map')} %> /
       <%= link_to t('trace.trace.edit'), {:controller => 'site', :action => 'edit', :gpx => trace.id }, {:title => t('trace.trace.edit_map')} %>
       <span class="trace_<%= trace.visibility %>"><%= t('trace.trace.' + trace.visibility) %></span>
       <br />
-      <%= h(trace.description) %>
+      <%= t('trace.list.description') %>
     <br />
     <%= t'trace.trace.by' %> <%=link_to h(trace.user.display_name), {:controller => 'user', :action => 'view', :display_name => trace.user.display_name} %>
     <% if !trace.tags.empty? %>
-      <%= t'trace.trace.in' %> 
+      <%= t'trace.trace.in' %>
       <%= raw(trace.tags.collect { |tag| link_to_tag tag.tag }.join(", ")) %>
     <% end %>
   </td>
index d541c985b9fac35e19ca0bf34e6de043c44df72e..a20091c077b4a6aec5ce47bf458798241e5f329a 100644 (file)
@@ -1,7 +1,6 @@
 <% content_for :optionals do %>
   <div class="optionalbox">
-    <h1><%= t'trace.trace_optionals.tags' %></h1>
-    <br />
+    <h4><%= t'trace.trace_optionals.tags' %></h4>
     <% if @all_tags %>
       <% @all_tags.each do |tag| %>
         <%= link_to_tag tag %><br />
index 23346a951602dd8e62950cf6724b20c92545a0ef..1f91ef80186e23b0028990b5ede233d5e44a02eb 100644 (file)
@@ -1,4 +1,6 @@
-<h1><%= t'trace.create.upload_trace' %></h1>
+<% content_for :heading do %>
+  <h1><%= t'trace.create.upload_trace' %></h1>
+<% end %>
 
 <%= error_messages_for 'trace' %>
 
index a694d55bb07b718cc3bf906388d45852aa1d29a4..32c07db75b8f9c0243f499f3cae2a0e485773a39 100644 (file)
@@ -1,4 +1,6 @@
-<h2><%= t 'trace.edit.heading', :name => h(@trace.name) %></h2>
+<% content_for :heading do %>
+  <h2><%= t 'trace.edit.heading', :name => h(@trace.name) %></h2>
+<% end %>
 
 <img src="<%= url_for :controller => 'trace', :action => 'picture', :id => @trace.id, :display_name => @trace.user.display_name %>">
 
@@ -8,7 +10,7 @@
   <tr>
     <td><%= t'trace.edit.filename' %></td>
     <td><%= @trace.name %> (<%= link_to t('trace.edit.download'), :controller => 'trace', :action => 'data', :id => @trace.id %>)</td>
-  </tr> 
+  </tr>
   <tr>
     <td><%= t'trace.edit.uploaded_at' %></td>
     <td><%= l @trace.timestamp, :format => :friendly %></td>
index 5a33defc8af659c4c818fb06ffaa08ba42ddf86c..c600df1104567ca27333e1c92f4b4d884f755eac 100644 (file)
@@ -1,25 +1,27 @@
-<h1><%= h(@title) %></h1>
+<% content_for :heading do %>
+  <h1><%= h(@title) %></h1>
+  <ul class='secondary-actions clearfix'>
+    <li><%= t('trace.list.description') %></li>
+    <li><%= rss_link_to :action => 'georss', :display_name => @display_name, :tag => @tag %></li>
+    <li><%= link_to t('trace.trace_header.upload_trace'), :action => 'create' %></li>
+    <% if @tag %>
+      <li><%= link_to t('trace.trace_header.see_all_traces'), :controller => 'trace', :action => 'list', :display_name => nil, :tag => nil, :page => nil %></li>
+      <li><%= link_to t('trace.trace_header.see_your_traces'), :action => 'mine', :tag => nil, :page => nil %></li>
+    <% else %>
+      <% if @display_name %>
+        <li><%= link_to t('trace.trace_header.see_all_traces'), :controller => 'trace', :action => 'list', :display_name => nil, :tag => nil, :page => nil %></li>
+      <% end %>
+      <%= unless_user(@target_user, :li) do %>
+        <%= link_to t('trace.trace_header.see_your_traces'), :action => 'mine', :tag => nil, :page => nil %>
+      <% end %>
+    <% end %>
+  </ul>
+<% end %>
 
 <% content_for :head do %>
 <%= auto_discovery_link_tag :atom, :action => 'georss', :display_name => @display_name, :tag => @tag %>
 <% end %>
 
-<p>
-  <%= rss_link_to :action => 'georss', :display_name => @display_name, :tag => @tag %>
-  | <%= link_to t('trace.trace_header.upload_trace'), :action => 'create' %>
-  <% if @tag %>
-    | <%= link_to t('trace.trace_header.see_all_traces'), :controller => 'trace', :action => 'list', :display_name => nil, :tag => nil, :page => nil %>
-    | <%= link_to t('trace.trace_header.see_your_traces'), :action => 'mine', :tag => nil, :page => nil %>
-  <% else %>
-    <% if @display_name %>
-      | <%= link_to t('trace.trace_header.see_all_traces'), :controller => 'trace', :action => 'list', :display_name => nil, :tag => nil, :page => nil %>
-    <% end %>
-    <%= unless_user(@target_user, :span) do %>
-      | <%= link_to t('trace.trace_header.see_your_traces'), :action => 'mine', :tag => nil, :page => nil %>
-    <% end %>
-  <% end %>
-</p>
-
 <% if @traces.size > 0 %>
   <%= render :partial => 'trace_paging_nav' %>
 
@@ -33,7 +35,7 @@
 
   <%= render :partial => 'trace_paging_nav' %>
 <% else %>
-  <p><%= t 'trace.list.empty_html', :upload_link => trace_create_path %></p>
+  <h4><%= t 'trace.list.empty_html', :upload_link => trace_create_path %></h4>
 <% end %>
 
 <%= render :partial => 'trace_optionals' %>
index d9cfb3926eec048950dd000167656d43c8328fb2..ed6c1c58df799632442cd500537846e81453f829 100644 (file)
@@ -1,2 +1,5 @@
+<% content_for :heading do %>
 <h2><%= t 'trace.offline.heading' %></h2>
+<% end %>
+
 <p><%= t 'trace.offline.message' %></p>
index 5a7c5bcc6c909d090d76dd90a3f277d8d80d514c..0887e56051348a5295dc3b5299932eb4d56c6c79 100644 (file)
@@ -1,4 +1,6 @@
-<h2><%= t 'trace.view.heading', :name => h(@trace.name) %></h2>
+<% content_for :heading do %>
+  <h2><%= t 'trace.view.heading', :name => h(@trace.name) %></h2>
+<% end %>
 
 <% if STATUS != :gpx_offline %>
   <% if @trace.inserted %>
@@ -12,7 +14,7 @@
   <tr>
     <td><%= t'trace.view.filename' %></td>
     <td><%= @trace.name %> (<%= link_to t('trace.view.download'), :controller => 'trace', :action => 'data', :id => @trace.id %>)</td>
-  </tr> 
+  </tr>
   <tr>
     <td><%= t'trace.view.uploaded' %></td>
     <td><%= l @trace.timestamp, :format => :friendly %></td>
index 1a28c21bd925e558e9a7125fb92e70c84662b25d..e723af9e73fb3d673d6447dd5db76587afbeb58a 100644 (file)
@@ -1,4 +1,4 @@
-<tr>
+<div class='contact-activity clearfix'>
   <%
      user_data = {
        :lon => contact.home_lon,
   <%= content_tag "td", :rowspan => 3, :data => {:user => user_data} do %>
     <%= user_thumbnail contact %>
   <% end %>
-  <td>
-    <%= link_to h(contact.display_name), :controller => 'user', :action => 'view',  :display_name => contact.display_name %>
-    <% if @this_user.home_lon and @this_user.home_lat and contact.home_lon and contact.home_lat %>
-      <% distance = @this_user.distance(contact) %>
-      <% if distance < 1 %>
-        (<%= t 'user.view.m away', :count => (distance * 1000).round %>)
+  <div class='activity-details'>
+    <p class='deemphasize'>
+      <%= link_to h(contact.display_name), :controller => 'user', :action => 'view',  :display_name => contact.display_name %>
+      <% if @this_user.home_lon and @this_user.home_lat and contact.home_lon and contact.home_lat %>
+        <% distance = @this_user.distance(contact) %>
+        <% if distance < 1 %>
+          (<%= t 'user.view.m away', :count => (distance * 1000).round %>)
+        <% else %>
+          (<%= t 'user.view.km away', :count => distance.round %>)
+        <% end %>
+      <% end %>
+    </p>
+    <p>
+      <% changeset = contact.changesets.first %>
+      <% if changeset %>
+        <%= t('user.view.latest edit', :ago => t('user.view.ago', :time_in_words_ago => time_ago_in_words(changeset.created_at))) %>
+        <% comment = changeset.tags['comment'].to_s != '' ? changeset.tags['comment'] : t('changeset.changeset.no_comment') %>
+        "<%= link_to(comment,
+                            {:controller => 'browse', :action => 'changeset', :id => changeset.id},
+                            {:title => t('changeset.changeset.view_changeset_details')})
+        %>"
       <% else %>
-        (<%= t 'user.view.km away', :count => distance.round %>)
+       <%= t'changeset.changeset.no_edits' %>
+      <% end %>
+    </p>
+
+    <ul class='secondary-actions clearfix deemphasize'>
+      <li><%= link_to t('user.view.send message'), :controller => 'message', :action => 'new', :display_name => contact.display_name %></li>
+      <li>
+        <% if @user.is_friends_with?(contact) %>
+          <%= link_to t('user.view.remove as friend'), remove_friend_path(:display_name => contact.display_name, :referer => request.fullpath), :method => :post %>
+        <% else %>
+          <%= link_to t('user.view.add as friend'), make_friend_path(:display_name => contact.display_name, :referer => request.fullpath), :method => :post %>
       <% end %>
-    <% end %>
-  </td>
-</tr>
-<tr>
-  <td>
-    <% changeset = contact.changesets.first %>
-    <% if changeset %>
-      <%= t('user.view.latest edit', :ago => t('user.view.ago', :time_in_words_ago => time_ago_in_words(changeset.created_at))) %>
-      <% comment = changeset.tags['comment'].to_s != '' ? changeset.tags['comment'] : t('changeset.changeset.no_comment') %>
-      "<%= link_to(comment,
-                          {:controller => 'browse', :action => 'changeset', :id => changeset.id},
-                          {:title => t('changeset.changeset.view_changeset_details')})
-      %>"
-    <% else %>
-     <%= t'changeset.changeset.no_edits' %>
-    <% end %>
-  </td>
-</tr>
-<tr>
-  <td>
-    <%= link_to t('user.view.send message'), :controller => 'message', :action => 'new', :display_name => contact.display_name %>
-    |
-    <% if @user.is_friends_with?(contact) %>
-      <%= link_to t('user.view.remove as friend'), remove_friend_path(:display_name => contact.display_name, :referer => request.fullpath), :method => :post %>
-    <% else %>
-      <%= link_to t('user.view.add as friend'), make_friend_path(:display_name => contact.display_name, :referer => request.fullpath), :method => :post %>
-    <% end %>
-  </td>
-</tr>
+      </li>
+    </ul>
+  </div>
+</div>
index 179e1b2f687b0d09a48d39ef33ae87d6c139de4c..2782fc808f095c17a559e9e5c5b882344461beae 100644 (file)
@@ -1,7 +1,10 @@
-<h2><%= t 'user.account.my settings' %></h2>
-
-<%= link_to t('user.account.return to profile'), :controller => 'user', :action => 'view', :display_name => @user.display_name %> |
-<%= link_to t('user.view.oauth settings'), :controller => 'oauth_clients', :action => 'index' %>
+<% content_for :heading do %>
+  <h2><%= t 'user.account.my settings' %></h2>
+  <ul class='secondary-actions clearfix'>
+    <li><%= link_to t('user.account.return to profile'), :controller => 'user', :action => 'view', :display_name => @user.display_name %></li>
+    <li><%= link_to t('user.view.oauth settings'), :controller => 'oauth_clients', :action => 'index' %></li>
+  </ul>
+<% end %>
 
 <%= error_messages_for 'user' %>
 <%= form_for :user, :html => { :multipart => true } do |f| %>
@@ -86,7 +89,7 @@
     </td>
     <td class="accountImage">
       <%= user_image @user %>
-      <table>
+      <table class="accountImage-options">
         <% if @user.image.file? %>
         <tr>
           <td><%= radio_button_tag "image_action", "keep", !@user.image_use_gravatar %></td>
       <% content_for :head do %>
         <%= javascript_include_tag "user" %>
       <% end %>
-      <%= content_tag "div", "", :id => "map", :class => "user_map set_location" %>
+      <%= content_tag "div", "", :id => "map", :class => "content_map settings_map set_location" %>
     </td>
   </tr>
 
 <h2><%= t 'user.account.public editing note.heading' %></h2>
 <%= raw t 'user.account.public editing note.text' %>
   <%= button_to t('user.account.make edits public button'), :action => :go_public %>
-<% end %>
+<% end %>
\ No newline at end of file
index 69e700634f80d4bc4fcde15118b14eb1c67e88eb..f175fe18a1da9ceabd0246bddd79ed9c8645743a 100644 (file)
@@ -1,4 +1,6 @@
-<h1><%= t 'user.new.heading' %></h1>
+<% content_for :heading do %>
+  <h1><%= t 'user.new.heading' %></h1>
+<% end %>
 
 <p><%= t 'user.new.no_auto_account_create' %></p>
 
index f48cd8867db2ed82c29eb51976ba725076fad0a9..3b68ddd5b0e2ec4516ee4a04863cd1157bfa6eb1 100644 (file)
@@ -2,7 +2,9 @@
 $("#content").hide();
 </script>
 
-<h1><%= t 'user.confirm.heading' %></h1>
+<% content_for :heading do %>
+  <h1><%= t 'user.confirm.heading' %></h1>
+<% end %>
 
 <p><%= t 'user.confirm.press confirm button' %></p>
 
index 5efc6a2c533dca97d9a6c40e8784d28fd9e36eee..1170631caf38cb238dd23859c3df31c65766e269 100644 (file)
@@ -2,7 +2,9 @@
 $("#content").hide();
 </script>
 
-<h1><%= t 'user.confirm_email.heading' %></h1>
+<% content_for :heading do %>
+  <h1><%= t 'user.confirm_email.heading' %></h1>
+<% end %>
 
 <p><%= t 'user.confirm_email.press confirm button' %></p>
 
index 398debe1eed046cfb0ccd9d706f76eb4ef75fe4a..240a7590ddb16532d3bef28ce6f5b345901ab048 100644 (file)
@@ -1,6 +1,8 @@
 <% @title = t('user.list.title') %>
 
-<h1><%= t('user.list.heading') %></h1>
+<% content_for :heading do %>
+  <h1><%= t('user.list.heading') %></h1>
+<% end %>
 
 <% unless @users.empty? %>
   <%= form_tag do %>
index 5208d0a7f03c0c340aade3b3c6fd21f04a387a90..c2deada5c03cf99a64a5d644c463599195a91b9d 100644 (file)
@@ -1,67 +1,61 @@
-<div id="login_wrapper">
 
-  <div id="login_login">
-    <h1><%= t 'user.login.heading' %></h1>
+<div id="login_login">
+<% content_for :heading do %>
+  <h1><%= t 'user.login.heading' %></h1>
+<% end %>
 
-    <%= form_tag({ :action => "login" }, { :id => "login_form" }) do %>
-      <%= hidden_field_tag('referer', h(params[:referer])) %>
+  <%= form_tag({ :action => "login" }, { :id => "login_form" }) do %>
+    <%= hidden_field_tag('referer', h(params[:referer])) %>
 
-      <p><%= t 'user.login.no account' %> <%= link_to t('user.login.register now'), :action => :new, :referer => params[:referer] %></p>
+    <p><%= t 'user.login.no account' %> <%= link_to t('user.login.register now'), :action => :new, :referer => params[:referer] %></p>
 
-      <table id="loginForm">
-        <tr><td class="fieldName"><%= t 'user.login.email or username' %></td><td><%= text_field_tag "username", params[:username], :size => 28, :maxlength => 255, :tabindex => 1 %></td></tr>
-        <tr><td class="fieldName"><%= t 'user.login.password' %></td><td><%= password_field_tag "password", "", :size => 28, :maxlength => 255, :tabindex => 2 %> <span class="minorNote">(<%= link_to t('user.login.lost password link'), :controller => 'user', :action => 'lost_password' %>)</span></td></tr>
-        <tr>
-          <td></td>
-          <td><%= check_box_tag "remember_me", "yes", false, :tabindex => 3 %>
-            <label for="remember_me">
-              <%= t 'user.login.remember' %></label>
-          </td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>
-            <%= submit_tag t('user.login.login_button'), :tabindex => 4 %>
-          </td>
-        </tr>
-      </table>
+    <table id="loginForm">
+      <tr><td class="fieldName"><%= t 'user.login.email or username' %></td><td><%= text_field_tag "username", params[:username], :size => 28, :maxlength => 255, :tabindex => 1 %></td></tr>
+      <tr><td class="fieldName"><%= t 'user.login.password' %></td><td><%= password_field_tag "password", "", :size => 28, :maxlength => 255, :tabindex => 2 %> <span class="minorNote">(<%= link_to t('user.login.lost password link'), :controller => 'user', :action => 'lost_password' %>)</span></td></tr>
+      <tr>
+        <td></td>
+        <td><%= check_box_tag "remember_me", "yes", false, :tabindex => 3 %>
+          <label for="remember_me">
+            <%= t 'user.login.remember' %></label>
+        </td>
+      </tr>
+      <tr>
+        <td></td>
+        <td>
+          <%= submit_tag t('user.login.login_button'), :tabindex => 4 %>
+        </td>
+      </tr>
+    </table>
+    <p><%= t 'user.login.with openid' %></p>
 
-      <br clear="all" />
+    <ul id="login_openid_buttons">
+        <li><%= link_to image_tag("openid.png", :alt => t("user.login.openid_providers.openid.title")), "#", :id => "openid_open_url", :title => t("user.login.openid_providers.openid.title") %></li>
+        <li><%= openid_button "google", "gmail.com" %></li>
+        <li><%= openid_button "yahoo", "me.yahoo.com" %></li>
+        <li><%= openid_button "myopenid", "myopenid.com" %></li>
+        <li><%= openid_button "wordpress", "wordpress.com" %></li>
+        <li><%= openid_button "aol", "aol.com" %></li>
+    </ul>
 
-      <p><%= t 'user.login.with openid' %></p>
+    <table>
+      <tr id="login_openid_url">
+        <td class="fieldName nowrap">
+          <%= raw t 'user.login.openid', :logo => openid_logo %>
+        </td>
+        <td>
+          <%= url_field_tag("openid_url", "", { :size => 28, :maxlength => 255, :tabindex => 3, :class => "openid_url" }) %>
+          <span class="minorNote">(<a href="<%= t 'user.account.openid.link' %>" target="_new"><%= t 'user.account.openid.link text' %></a>)</span>
+        </td>
+      </tr>
+      <tr>
+        <td class="fieldName nowrap" id="remember_me_label"><label for="remember_me"><%= t 'user.login.remember' %></label></td>
+        <td width="100%"><%= check_box_tag "remember_me", "yes", false, :tabindex => 5 %></td>
+      </tr>
+    </table>
 
-      <table id="login_openid_buttons">
-        <tr>
-          <td><%= link_to image_tag("openid.png", :alt => t("user.login.openid_providers.openid.title")), "#", :id => "openid_open_url", :title => t("user.login.openid_providers.openid.title") %></td>
-          <td><%= openid_button "google", "gmail.com" %></td>
-          <td><%= openid_button "yahoo", "me.yahoo.com" %></td>
-          <td><%= openid_button "myopenid", "myopenid.com" %></td>
-          <td><%= openid_button "wordpress", "wordpress.com" %></td>
-          <td><%= openid_button "aol", "aol.com" %></td>
-        </tr>
-      </table>
+    <%= submit_tag t('user.login.login_button'), :tabindex => 6, :id => "login_openid_submit" %>
+  <% end %>
 
-      <table>
-        <tr id="login_openid_url">
-          <td class="fieldName nowrap">
-            <%= raw t 'user.login.openid', :logo => openid_logo %>
-          </td>
-          <td>
-            <%= url_field_tag("openid_url", "", { :size => 28, :maxlength => 255, :tabindex => 3, :class => "openid_url" }) %>
-            <span class="minorNote">(<a href="<%= t 'user.account.openid.link' %>" target="_new"><%= t 'user.account.openid.link text' %></a>)</span>
-          </td>
-        </tr>
-        <tr>
-          <td class="fieldName nowrap" id="remember_me_label"><label for="remember_me"><%= t 'user.login.remember' %></label></td>
-          <td width="100%"><%= check_box_tag "remember_me", "yes", false, :tabindex => 5 %></td>
-        </tr>
-      </table>
-
-      <%= submit_tag t('user.login.login_button'), :tabindex => 6, :id => "login_openid_submit" %>
-    <% end %>
-
-    <br clear="all" />
-  </div>
 </div>
 
 <script type="text/javascript">
index 8cf7624749611fb87e9dd74b5344e56cead1e206..bb67d15819fd7bb45a98097d8c219ae85e0f6edb 100644 (file)
@@ -1,4 +1,7 @@
-<h1><%= t 'user.logout.heading' %></h1>
+<% content_for :heading do %>
+  <h1><%= t 'user.logout.heading' %></h1>
+<% end %>
+
 <%= form_tag :action => "logout" do %>
   <%= hidden_field_tag("referer", h(params[:referer])) %>
   <%= hidden_field_tag("session", request.session_options[:id]) %>
index db1ee742d251e88046e7dd4878dc041bf5c5b1f9..4d1689ef9f74ea1ea5a8b7bd88ce374ce07bd8ba 100644 (file)
@@ -1,4 +1,6 @@
-<h1><%= t 'user.lost_password.heading' %></h1>
+<% content_for :heading do %>
+  <h1><%= t 'user.lost_password.heading' %></h1>
+<% end %>
 
 <p><%= t 'user.lost_password.help_text' %></p>
 
index abae0d201c3583e70d8552c74bd8e86f1149e5be..9adffadd78641376d37044dfd5680d885830f47f 100644 (file)
@@ -1,4 +1,7 @@
-<h1><%= t "user.make_friend.heading", :user => @new_friend.display_name %></h1>
+<% content_for :heading do %>
+  <h1><%= t "user.make_friend.heading", :user => @new_friend.display_name %></h1>
+<% end %>
+
 <%= form_tag do %>
   <% if params[:referer] -%>
   <%= hidden_field_tag("referer", params[:referer]) %>
index f45072a92c8f6b2f366168f8b6b29f7a11ec7f10..71d3e875b51731fa4e5e28691bab95242b49b231 100644 (file)
@@ -1,4 +1,6 @@
-<h1><%= t 'user.new.heading' %></h1>
+<% content_for :heading do %>
+  <h1><%= t 'user.new.heading' %></h1>
+<% end %>
 
 <p><%= t 'user.new.fill_form' %></p>
 
index 8507f5abb2b70d475089400ad99efd3fafb5a1cd..d472f96b044224ce01f64ced662186d59bdde69a 100644 (file)
@@ -1,2 +1,4 @@
-<h2><%= t 'user.no_such_user.heading', :user => h(@not_found_user) %></h2>
+<% content_for :heading do %>
+  <h2><%= t 'user.no_such_user.heading', :user => h(@not_found_user) %></h2>
+<% end %>
 <p><%= t 'user.no_such_user.body', :user => h(@not_found_user) %></p>
index 0919bc95a5dd079ff63959d337108426a248d4b9..9e9a5e515a4987af43a20c9b5f37245b3f3e30fa 100644 (file)
@@ -1,4 +1,7 @@
-<h1><%= t "user.remove_friend.heading", :user => @friend.display_name %></h1>
+<% content_for :heading do %>
+  <h1><%= t "user.remove_friend.heading", :user => @friend.display_name %></h1>
+<% end %>
+
 <%= form_tag do %>
   <% if params[:referer] -%>
   <%= hidden_field_tag("referer", params[:referer]) %>
index adb714b00d26560a511f27676f06ee259c95afc5..36dd741fe00fd1d218b893775a3bec44232c6340 100644 (file)
@@ -1,4 +1,6 @@
-<h1><%= t 'user.reset_password.heading', :user => @user.display_name %></h1>
+<% content_for :heading do %>
+  <h1><%= t 'user.reset_password.heading', :user => @user.display_name %></h1>
+<% end %>
 
 <%= error_messages_for :user %>
 
@@ -7,7 +9,7 @@
 <table id="loginForm">
   <tr><td class="fieldName"><%= t 'user.reset_password.password' %></td><td><%= password_field(:user, :pass_crypt, {:value => '', :size => 30, :maxlength => 255, :tabindex => 4}) %></td></tr>
   <tr><td class="fieldName"><%= t 'user.reset_password.confirm password' %></td><td><%= password_field(:user, :pass_crypt_confirmation, {:value => '', :size => 30, :maxlength => 255, :tabindex => 5}) %></td></tr>
-  
+
   <tr><td colspan=2>&nbsp;<!--vertical spacer--></td></tr>
   <tr><td></td><td class="submitButton"><input type="submit" value="<%= t'user.reset_password.reset' %>" tabindex="6"></td></tr>
 </table>
index 6e9163c01d21520f599290916a08b039a2812bec..f8a80b26c60c3296b4fedddcf4c97dc16becd78e 100644 (file)
@@ -1,3 +1 @@
-blah
-
 <%= @user.email %>
index 53a4eb082c5e5567ff0760176f8db626328e08b7..674f8bcbb1d9bc059b740b0565c9d94851c07ba4 100644 (file)
@@ -1,5 +1,7 @@
 <% @title = t "user.suspended.title" %>
 
-<h1><%= t "user.suspended.heading" %></h1>
+<% content_for :heading do %>
+  <h1><%= t "user.suspended.heading" %></h1>
+<% end %>
 
 <%= raw t "user.suspended.body", :webmaster => link_to(t("user.suspended.webmaster"), "mailto:webmaster@openstreetmap.org") %>
index f006fde77be391c63374d707f13ee5116c6b375d..a2d33e36e55b0b9bd5af4e960807f312ed03a378 100644 (file)
@@ -1,4 +1,6 @@
-<h1><%= t 'user.terms.heading' %></h1>
+<% content_for :heading do %>
+  <h1><%= t 'user.terms.heading' %></h1>
+<% end %>
 
 <p><%= t 'user.terms.read and accept' %></p>
 
index a8fce11cadffdfb9bf23b7888fa0d430f90e6df8..de2e93f9439c2ac4757ddee1d40119832cd6b3c4 100644 (file)
-<%= user_image @this_user %>
+<% content_for :heading do %>
+  <div id='userinformation'>
+    <%= user_image @this_user %>
+    <div class='userinformation-inner'>
+      <h2><%= @this_user.display_name %><%= role_icons(@this_user) %></h2>
+      <% if @user and @this_user.id == @user.id %>
+        <!-- Displaying user's own profile page -->
+        <ul class='secondary-actions clearfix'>
+          <li>
+            <%= link_to t('user.view.my edits'), :controller => 'changeset', :action => 'list', :display_name => @user.display_name %>
+            <span class='count-number'><%= number_with_delimiter(@user.changesets.size) %></span>
+          </li>
+          <li>
+            <%= link_to t('user.view.my traces'), :controller => 'trace', :action=>'mine' %>
+            <span class='count-number'><%= number_with_delimiter(@user.traces.size) %></span>
+          </li>
+          <li>
+            <%= link_to t('user.view.my diary'), :controller => 'diary_entry', :action => 'list', :display_name => @user.display_name %>
+            <span class='count-number'><%= number_with_delimiter(@user.diary_entries.size) %></span>
+          </li>
+          <li>
+            <%= link_to t('user.view.my comments' ), :controller => 'diary_entry', :action => 'comments', :display_name => @user.display_name %>
+          </li>
+          <li>
+            <%= link_to t('user.view.my settings'), :controller => 'user', :action => 'account', :display_name => @user.display_name %>
+          </li>
 
-<h2><%= @this_user.display_name %><%= role_icons(@this_user) %></h2>
+          <% if @user.blocks.exists? %>
+            <li>
+              <%= link_to t('user.view.blocks on me'), :controller => 'user_blocks', :action => 'blocks_on', :display_name => @user.display_name %>
+              <span class='count-number'><%= number_with_delimiter(@user.blocks.active.size) %></span>
+            </li>
+          <% end %>
+
+          <% if @user and @user.moderator? and @user.blocks_created.exists? %>
+            <li>
+              <%= link_to t('user.view.blocks by me'), :controller => 'user_blocks', :action => 'blocks_by', :display_name => @user.display_name %>
+              <span class='count-number'><%= number_with_delimiter(@user.blocks_created.active.size) %></span>
+            </li>
+          <% end %>
+
+        </ul>
+
+        <% else %>
+
+        <ul class='secondary-actions clearfix'>
+
+          <li>
+            <%= link_to t('user.view.edits'), :controller => 'changeset', :action => 'list', :display_name => @this_user.display_name %>
+            <span class='count-number'><%= number_with_delimiter(@this_user.changesets.size) %></span>
+          </li>
+          <li>
+            <%= link_to t('user.view.traces'), :controller => 'trace', :action => 'list', :display_name => @this_user.display_name %>
+            <span class='count-number'><%= number_with_delimiter(@this_user.traces.size) %></span>
+          </li>
+
+          <!-- Displaying another user's profile page -->
+
+          <li>
+            <%= link_to t('user.view.send message'), :controller => 'message', :action => 'new', :display_name => @this_user.display_name %>
+          </li>
+          <li>
+            <%= link_to t('user.view.diary'), :controller => 'diary_entry', :action => 'list', :display_name => @this_user.display_name %>
+            <span class='count-number'><%= number_with_delimiter(@this_user.diary_entries.size) %></span>
+          </li>
+          <li>
+            <%= link_to t('user.view.comments'), :controller => 'diary_entry', :action => 'comments', :display_name => @this_user.display_name %>
+          </li>
+          <li>
+            <% if @user and @user.is_friends_with?(@this_user) %>
+              <%= link_to t('user.view.remove as friend'), remove_friend_path(:display_name => @this_user.display_name), :method => :post %>
+            <% else %>
+              <%= link_to t('user.view.add as friend'), make_friend_path(:display_name => @this_user.display_name), :method => :post %>
+            <% end %>
+          </li>
+
+          <% if @this_user.blocks.exists? %>
+            <li>
+              <%= link_to t('user.view.block_history'), :controller => 'user_blocks', :action => 'blocks_on', :display_name => @this_user.display_name %>
+              <span class='count-number'><%= number_with_delimiter(@this_user.blocks.active.size) %></span>
+            </li>
+          <% end %>
+
+          <% if @this_user.moderator? and @this_user.blocks_created.exists? %>
+            <li>
+              <%= link_to t('user.view.moderator_history'), :controller => 'user_blocks', :action => 'blocks_by', :display_name => @this_user.display_name %>
+              <span class='count-number'><%= number_with_delimiter(@this_user.blocks_created.active.size) %></span>
+            </li>
+          <% end %>
+
+          <% if @user and @user.moderator? %>
+            <li>
+            <%= link_to t('user.view.create_block'), :controller => 'user_blocks', :action => 'new', :display_name => @this_user.display_name %>
+            </li>
+          <% end %>
+
+        </ul>
+
+      <% end %>
+
+      <% if @user and @user.administrator? %>
+
+        <ul class='secondary-actions clearfix'>
+          <% if ["active", "confirmed"].include? @this_user.status %>
+            <li>
+              <%= link_to t('user.view.deactivate_user'), set_status_user_path(:status => 'pending', :display_name => @this_user.display_name), :data => { :confirm => t('user.view.confirm') } %>
+            </li>
+          <% elsif ["pending"].include? @this_user.status %>
+            <li>
+              <%= link_to t('user.view.activate_user'), set_status_user_path(:status => 'active', :display_name => @this_user.display_name), :data => { :confirm => t('user.view.confirm') } %>
+            </li>
+          <% end %>
+
+          <% if ["active", "suspended"].include? @this_user.status %>
+            <li>
+              <%= link_to t('user.view.confirm_user'), set_status_user_path(:status => 'confirmed', :display_name => @this_user.display_name), :data => { :confirm => t('user.view.confirm') } %>
+            </li>
+          <% end %>
+            <li>
+              <% if ["pending", "active", "confirmed", "suspended"].include? @this_user.status %>
+                <%= link_to t('user.view.hide_user'), set_status_user_path(:status => 'deleted', :display_name => @this_user.display_name), :data => { :confirm => t('user.view.confirm') } %>
+            <% else %>
+              <%= link_to t('user.view.unhide_user'), set_status_user_path(:status => 'active', :display_name => @this_user.display_name), :data => { :confirm => t('user.view.confirm') } %>
+            </li>
+          <% end %>
+          <li>
+            <%= link_to t('user.view.delete_user'), delete_user_path(:display_name => @this_user.display_name), :data => { :confirm => t('user.view.confirm') } %>
+          </li>
+        </ul>
+
+        <% end %>
+
+      <p class='deemphasize'>
+        <small>
+          <%= t 'user.view.mapper since' %> <%= l @this_user.creation_time.to_date, :format => :long %>
+          |
+          <%= t 'user.view.ct status' %>
+          <% if not @this_user.terms_agreed.nil? -%>
+          <%= t 'user.view.ct accepted', :ago =>time_ago_in_words(@this_user.terms_agreed)  %>
+          <% elsif not @this_user.terms_seen? -%>
+          <%= t 'user.view.ct undecided' %>
+          <% else -%>
+          <%= t 'user.view.ct declined' %>
+          <% end -%>
+        </small>
+      </p>
+    </div>
+
+    <div class='user-description'><%= @this_user.description.to_html %></div>
+
+  </div>
+
+  <% if @user and @user.administrator? -%>
+    <div class='admin-user-info deemphasize'>
+      <small><b><%= t 'user.view.email address' %></b> <%= @this_user.email %></small>
+      <% unless @this_user.creation_ip.nil? -%>
+        <small><b><%= t 'user.view.created from' %></b> <%= @this_user.creation_ip %></small>
+      <% end -%>
+      <small><b><%= t 'user.view.status' %></b> <%= @this_user.status.capitalize %></small>
+      <small><b><%= t 'user.view.spam score' %></b> <%= @this_user.spam_score %></small>
+    </div>
+  <% end -%>
+
+<% end %>
 
-<div id="userinformation">
   <% if @user and @this_user.id == @user.id %>
-    <!-- Displaying user's own profile page -->
-    <%= link_to t('user.view.my edits'), :controller => 'changeset', :action => 'list', :display_name => @user.display_name %>
-    <span class='count-number'><%= number_with_delimiter(@user.changesets.size) %></span>
-    |
-    <%= link_to t('user.view.my traces'), :controller => 'trace', :action=>'mine' %>
-    <span class='count-number'><%= number_with_delimiter(@user.traces.size) %></span>
-    |
-    <%= link_to t('user.view.my diary'), :controller => 'diary_entry', :action => 'list', :display_name => @user.display_name %>
-    <span class='count-number'><%= number_with_delimiter(@user.diary_entries.size) %></span>
-    |
-    <%= link_to t('user.view.my comments' ), :controller => 'diary_entry', :action => 'comments', :display_name => @user.display_name %>
-    |
-    <%= link_to t('user.view.my settings'), :controller => 'user', :action => 'account', :display_name => @user.display_name %>
-    <% if @user.blocks.exists? %>
-      |
-      <%= link_to t('user.view.blocks on me'), :controller => 'user_blocks', :action => 'blocks_on', :display_name => @user.display_name %>
-      <span class='count-number'><%= number_with_delimiter(@user.blocks.active.size) %></span>
-    <% end %>
-    <% if @user and @user.moderator? and @user.blocks_created.exists? %>
-      |
-      <%= link_to t('user.view.blocks by me'), :controller => 'user_blocks', :action => 'blocks_by', :display_name => @user.display_name %>
-      <span class='count-number'><%= number_with_delimiter(@user.blocks_created.active.size) %></span>
-    <% end %>
-  <% else %>
-    <%= link_to t('user.view.edits'), :controller => 'changeset', :action => 'list', :display_name => @this_user.display_name %>
-    <span class='count-number'><%= number_with_delimiter(@this_user.changesets.size) %></span>
-    |
-    <%= link_to t('user.view.traces'), :controller => 'trace', :action => 'list', :display_name => @this_user.display_name %>
-    <span class='count-number'><%= number_with_delimiter(@this_user.traces.size) %></span>
-    |
-    <!-- Displaying another user's profile page -->
-    <%= link_to t('user.view.send message'), :controller => 'message', :action => 'new', :display_name => @this_user.display_name %>
-    |
-    <%= link_to t('user.view.diary'), :controller => 'diary_entry', :action => 'list', :display_name => @this_user.display_name %>
-    <span class='count-number'><%= number_with_delimiter(@this_user.diary_entries.size) %></span>
-    |
-    <%= link_to t('user.view.comments'), :controller => 'diary_entry', :action => 'comments', :display_name => @this_user.display_name %>
-    |
-    <% if @user and @user.is_friends_with?(@this_user) %>
-      <%= link_to t('user.view.remove as friend'), remove_friend_path(:display_name => @this_user.display_name), :method => :post %>
+    <% if @this_user.home_lat.nil? or @this_user.home_lon.nil? %>
+      <div id="map" class="content_map">
+        <p id="no_home_location"><%= raw(t 'user.view.if set location', :settings_link => (link_to t('user.view.settings_link_text'), :controller => 'user', :action => 'account', :display_name => @user.display_name)) %></p>
+      </div>
     <% else %>
-      <%= link_to t('user.view.add as friend'), make_friend_path(:display_name => @this_user.display_name), :method => :post %>
-    <% end %>
-    <% if @this_user.blocks.exists? %>
-      |
-      <%= link_to t('user.view.block_history'), :controller => 'user_blocks', :action => 'blocks_on', :display_name => @this_user.display_name %>
-      <span class='count-number'><%= number_with_delimiter(@this_user.blocks.active.size) %></span>
-    <% end %>
-    <% if @this_user.moderator? and @this_user.blocks_created.exists? %>
-      |
-      <%= link_to t('user.view.moderator_history'), :controller => 'user_blocks', :action => 'blocks_by', :display_name => @this_user.display_name %>
-      <span class='count-number'><%= number_with_delimiter(@this_user.blocks_created.active.size) %></span>
-    <% end %>
-    <% if @user and @user.moderator? %>
-      | <%= link_to t('user.view.create_block'), :controller => 'user_blocks', :action => 'new', :display_name => @this_user.display_name %>
+      <% content_for :head do %>
+        <%= javascript_include_tag "user" %>
+      <% end %>
+      <%
+        user_data = {
+          :lon => @user.home_lon,
+          :lat => @user.home_lat,
+          :icon => image_path("marker-red.png"),
+          :description => render(:partial => "popup", :object => @user, :locals => {:type => "your location"})
+        }
+      %>
+      <%= content_tag "div", "", :id => "map", :class => "content_map", :data => {:user => user_data} %>
     <% end %>
-  <% end %>
-  <% if @user and @user.administrator? %>
-    <br/>
-    <% if ["active", "confirmed"].include? @this_user.status %>
-      <%= link_to t('user.view.deactivate_user'), set_status_user_path(:status => 'pending', :display_name => @this_user.display_name), :data => { :confirm => t('user.view.confirm') } %> |
-    <% elsif ["pending"].include? @this_user.status %>
-      <%= link_to t('user.view.activate_user'), set_status_user_path(:status => 'active', :display_name => @this_user.display_name), :data => { :confirm => t('user.view.confirm') } %> |
-    <% end %>
-    <% if ["active", "suspended"].include? @this_user.status %>
-      <%= link_to t('user.view.confirm_user'), set_status_user_path(:status => 'confirmed', :display_name => @this_user.display_name), :data => { :confirm => t('user.view.confirm') } %> |
-    <% end %>
-    <% if ["pending", "active", "confirmed", "suspended"].include? @this_user.status %>
-      <%= link_to t('user.view.hide_user'), set_status_user_path(:status => 'deleted', :display_name => @this_user.display_name), :data => { :confirm => t('user.view.confirm') } %> |
+
+    <% friends = @this_user.friends.collect { |f| f.befriendee } %>
+    <% nearby = @this_user.nearby - friends %>
+
+  <div class="activity-block column-1">
+    <h3><%= t 'user.view.your friends' %></h3>
+
+    <% if friends.empty? %>
+      <%= t 'user.view.no friends' %>
     <% else %>
-      <%= link_to t('user.view.unhide_user'), set_status_user_path(:status => 'active', :display_name => @this_user.display_name), :data => { :confirm => t('user.view.confirm') } %> |
+      <ul class='secondary-actions clearfix'>
+        <li><%= link_to t('user.view.friends_changesets'), friend_changesets_path %></li>
+        <li><%= link_to t('user.view.friends_diaries'), friend_diaries_path %></li>
+      </ul>
+      <div id="friends-container">
+        <%= render :partial => "contact", :collection => friends, :locals => {:type => "friend"} %>
+      </div>
     <% end %>
-    <%= link_to t('user.view.delete_user'), delete_user_path(:display_name => @this_user.display_name), :data => { :confirm => t('user.view.confirm') } %>
-  <% end %>
-</div>
-
-<div id="description"><%= @this_user.description.to_html %></div>
-
-<p class='deemphasize'><small>
-<%= t 'user.view.mapper since' %> <%= l @this_user.creation_time.to_date, :format => :long %>
-/
-<%= t 'user.view.ct status' %>
-<% if not @this_user.terms_agreed.nil? -%>
-<%= t 'user.view.ct accepted', :ago =>time_ago_in_words(@this_user.terms_agreed)  %>
-<% elsif not @this_user.terms_seen? -%>
-<%= t 'user.view.ct undecided' %>
-<% else -%>
-<%= t 'user.view.ct declined' %>
-<% end -%>
-</small>
-</p>
-
-<% if @user and @user.administrator? -%>
-  <p><b><%= t 'user.view.email address' %></b> <%= @this_user.email %></p>
-  <% unless @this_user.creation_ip.nil? -%>
-  <p><b><%= t 'user.view.created from' %></b> <%= @this_user.creation_ip %></p>
-  <% end -%>
-  <p><b><%= t 'user.view.status' %></b> <%= @this_user.status.capitalize %></p>
-  <p><b><%= t 'user.view.spam score' %></b> <%= @this_user.spam_score %></p>
-<% end -%>
-
-<% if @user and @this_user.id == @user.id %>
-  <% if @this_user.home_lat.nil? or @this_user.home_lon.nil? %>
-    <div id="map" class="user_map">
-      <p id="no_home_location"><%= raw(t 'user.view.if set location', :settings_link => (link_to t('user.view.settings_link_text'), :controller => 'user', :action => 'account', :display_name => @user.display_name)) %></p>
-    </div>
-  <% else %>
-    <% content_for :head do %>
-      <%= javascript_include_tag "user" %>
+  </div>
+
+  <div class="activity-block column-1">
+    <h3><%= t 'user.view.nearby users' %></h3>
+
+    <% if nearby.empty? %>
+      <%= t 'user.view.no nearby users' %>
+    <% else %>
+      <ul class='secondary-actions clearfix'>
+        <li><%= link_to t('user.view.nearby_changesets'), nearby_changesets_path %></li>
+        <li><%= link_to t('user.view.nearby_diaries'), nearby_diaries_path %></li>
+      </ul>
+      <div id="nearbyusers">
+        <%= render :partial => "contact", :collection => nearby, :locals => {:type => "nearby mapper"} %>
+      </div>
     <% end %>
-    <%
-      user_data = {
-        :lon => @user.home_lon,
-        :lat => @user.home_lat,
-        :icon => image_path("marker-red.png"),
-        :description => render(:partial => "popup", :object => @user, :locals => {:type => "your location"})
-      }
-    %>
-    <%= content_tag "div", "", :id => "map", :class => "user_map", :data => {:user => user_data} %>
-  <% end %>
-
-  <% friends = @this_user.friends.collect { |f| f.befriendee } %>
-  <% nearby = @this_user.nearby - friends %>
-
-  <h3 style="margin-top: 0"><%= t 'user.view.your friends' %></h3>
-
-  <% if friends.empty? %>
-    <%= t 'user.view.no friends' %>
-  <% else %>
-    <%= link_to t('user.view.friends_changesets'), friend_changesets_path %><br/>
-    <%= link_to t('user.view.friends_diaries'), friend_diaries_path %><br/><br/>
-    <table id="friends">
-      <%= render :partial => "contact", :collection => friends, :locals => {:type => "friend"} %>
-    </table>
-  <% end %>
-
-  <h3><%= t 'user.view.nearby users' %></h3>
-
-  <% if nearby.empty? %>
-    <%= t 'user.view.no nearby users' %>
-  <% else %>
-    <%= link_to t('user.view.nearby_changesets'), nearby_changesets_path %><br/>
-    <%= link_to t('user.view.nearby_diaries'), nearby_diaries_path %><br/><br/>
-    <table id="nearbyusers">
-      <%= render :partial => "contact", :collection => nearby, :locals => {:type => "nearby mapper"} %>
-    </table>
-  <% end %>
+  </div>
 <% end %>
index 12f0c7ced4224ee4fee2f0b086045e4f14a011e5..d3908dab3e84caa102d9bdb568a9691eb9f9c317 100644 (file)
   <%= render :partial => 'block', :locals => {:show_revoke_link => show_revoke_link, :show_user_name => show_user_name, :show_creator_name => show_creator_name }, :collection => @user_blocks %>
 </table>
 
-<p>
+<ul class='secondary-actions'>
   <% if @user_blocks_pages.current_page.number > 1 -%>
-    <%= link_to t('user_block.partial.previous'), params.merge({ :page => @user_blocks_pages.current_page.number - 1 }) %>
+    <li><%= link_to t('user_block.partial.previous'), params.merge({ :page => @user_blocks_pages.current_page.number - 1 }) %></li>
   <% else -%>
-    <%= t('user_block.partial.previous') %>
+    <li><%= t('user_block.partial.previous') %></li>
   <% end -%>
 
-  | <%= t('user_block.partial.showing_page', :page => @user_blocks_pages.current_page.number) %> |
+  <li><%= t('user_block.partial.showing_page', :page => @user_blocks_pages.current_page.number) %></li>
 
   <% if @user_blocks_pages.current_page.number < @user_blocks_pages.page_count -%>
-    <%= link_to t('user_block.partial.next'), params.merge({ :page => @user_blocks_pages.current_page.number + 1 }) %>
+    <li><%= link_to t('user_block.partial.next'), params.merge({ :page => @user_blocks_pages.current_page.number + 1 }) %></li>
   <% else -%>
-    <%= t('user_block.partial.next') %>
+    <li><%= t('user_block.partial.next') %></li>
   <% end -%>
-</p>
+</ul>
index dc523cee9fb9304b2f0ea874905b4769bd00b477..a8d761288406adf1868850074a704d1f8a3e7ca5 100644 (file)
@@ -1,5 +1,7 @@
 <% @title = t('user_block.blocks_by.title', :name => h(@this_user.display_name)) %>
-<h1><%= raw(t('user_block.blocks_by.heading', :name => link_to(h(@this_user.display_name), {:controller => 'user', :action => 'view', :display_name => @this_user.display_name}))) %></h1>
+<% content_for :heading do %>
+  <h1><%= raw(t('user_block.blocks_by.heading', :name => link_to(h(@this_user.display_name), {:controller => 'user', :action => 'view', :display_name => @this_user.display_name}))) %></h1>
+<% end %>
 
 <% unless @user_blocks.empty? %>
 <%= render :partial => 'blocks', :locals => { :show_revoke_link => (@user and @user.moderator?), :show_user_name => true, :show_creator_name => false } %>
index 86ae110dfec6fd8aae85bdb19c4a384d2be1dacb..8e91935ed4f5ea7ae3a122fe6e1c1d2e2a8d7ee7 100644 (file)
@@ -1,6 +1,7 @@
 <% @title = t('user_block.blocks_on.title', :name => h(@this_user.display_name)) %>
-<h1><%= raw(t('user_block.blocks_on.heading', :name => link_to(h(@this_user.display_name), {:controller => 'user', :action => 'view', :display_name => @this_user.display_name}))) %></h1>
-
+<% content_for :heading do %>
+  <h1><%= raw(t('user_block.blocks_on.heading', :name => link_to(h(@this_user.display_name), {:controller => 'user', :action => 'view', :display_name => @this_user.display_name}))) %></h1>
+<% end %>
 <% unless @user_blocks.empty? %>
 <%= render :partial => 'blocks', :locals => { :show_revoke_link => (@user and @user.moderator?), :show_user_name => false, :show_creator_name => true } %>
 <% else %>
index d78bd11d803e923e29ddc721207248b2ece2d15e..0b928de548084ce449570cce3892e90b80512547 100644 (file)
@@ -1,8 +1,14 @@
 <% @title = t 'user_block.edit.title', :name => h(@user_block.user.display_name) %>
-<h1><%= raw t('user_block.edit.title',
-              :name => link_to(
-                               h(@user_block.user.display_name),
-                               {:controller => 'user', :action => 'view', :display_name => @user_block.user.display_name})) %></h1>
+<% content_for :heading do %>
+  <h1><%= raw t('user_block.edit.title',
+                :name => link_to(
+                                 h(@user_block.user.display_name),
+                                 {:controller => 'user', :action => 'view', :display_name => @user_block.user.display_name})) %></h1>
+  <ul class='secondary-actions clearfix'>
+    <li><%= link_to t('user_block.edit.show'), @user_block %></li>
+    <li><%= link_to t('user_block.edit.back'), user_blocks_path %></li>
+  </ul>
+<% end %>
 
 <%= form_for(@user_block) do |f| %>
   <%= f.error_messages %>
@@ -22,7 +28,4 @@
   <p>
     <%= f.submit t('user_block.edit.submit') %>
   </p>
-<% end %>
-
-<%= link_to t('user_block.edit.show'), @user_block %> |
-<%= link_to t('user_block.edit.back'), user_blocks_path %>
+<% end %>
\ No newline at end of file
index 2baf91e5f25559e7975e281333d35c3b98805a96..8cf7e81b753a81e1b6b765a3350d137eed4a83f4 100644 (file)
@@ -1,5 +1,7 @@
 <% @title = t('user_block.index.title') %>
-<h1><%= t('user_block.index.heading') %></h1>
+<% content_for :heading do %>
+  <h1><%= t('user_block.index.heading') %></h1>
+<% end %>
 
 <% unless @user_blocks.empty? %>
 <%= render :partial => 'blocks', :locals => { :show_revoke_link => (@user and @user.moderator?), :show_user_name => true, :show_creator_name => true } %>
index f63298373ae2177e1e9915a0bc0e771b83b96448..9ea63f885cb4c49ef3b818c7d29db782a994e8af 100644 (file)
@@ -1,9 +1,10 @@
 <% @title = t 'user_block.new.title', :name => h(@this_user.display_name) %>
-<h1><%= raw t('user_block.new.heading',
-              :name => link_to(
-                               h(@this_user.display_name),
-                               {:controller => 'user', :action => 'view', :display_name => @this_user.display_name})) %></h1>
-
+<% content_for :heading do %>
+  <h1><%= raw t('user_block.new.heading',
+                :name => link_to(
+                                 h(@this_user.display_name),
+                                 {:controller => 'user', :action => 'view', :display_name => @this_user.display_name})) %></h1>
+<% end %>
 <%= form_for(@user_block) do |f| %>
   <%= f.error_messages %>
 
index 28ae01930f6a674a0197dc8e3c2ce8095fb38a04..c67f7cde26900b02da41cc694ec9c13ed366be69 100644 (file)
@@ -1,13 +1,16 @@
 <% @title = t('user_block.revoke.title',
               :block_on => h(@user_block.user.display_name),
               :block_by => h(@user_block.creator.display_name)) %>
-<h1><%= raw t('user_block.revoke.heading',
-              :block_on => link_to(
-                                   h(@user_block.user.display_name),
-                                   {:controller => 'user', :action => 'view', :display_name => @user_block.user.display_name}),
-              :block_by => link_to(
-                                   h(@user_block.creator.display_name),
-                                   {:controller => 'user', :action => 'view', :display_name => @user_block.creator.display_name})) %></h1>
+
+<% content_for :heading do %>
+  <h1><%= raw t('user_block.revoke.heading',
+                :block_on => link_to(
+                                     h(@user_block.user.display_name),
+                                     {:controller => 'user', :action => 'view', :display_name => @user_block.user.display_name}),
+                :block_by => link_to(
+                                     h(@user_block.creator.display_name),
+                                     {:controller => 'user', :action => 'view', :display_name => @user_block.creator.display_name})) %></h1>
+<% end %>
 
 <% if @user_block.ends_at > Time.now %>
 <p><b>
@@ -16,7 +19,7 @@
 
 <%= form_for :revoke, :url => { :action => "revoke" } do |f| %>
   <%= f.error_messages %>
-<p>  
+<p>
   <%= check_box_tag 'confirm', 'yes' %>
   <%= label_tag 'confirm', t('user_block.revoke.confirm') %>
 </p>
index 2311541d9f49f247050bf022a7106370568eec5a..73b26b9306aceb6410d5cecd8032afbaeb0cbd37 100644 (file)
@@ -1,13 +1,28 @@
 <% @title = t('user_block.show.title',
               :block_on => @user_block.user.display_name,
               :block_by => @user_block.creator.display_name) %>
-<h1><%= raw t('user_block.show.heading',
-              :block_on => link_to(
-                                   h(@user_block.user.display_name),
-                                   {:controller => 'user', :action => 'view', :display_name => @user_block.user.display_name}),
-              :block_by => link_to(
-                                   h(@user_block.creator.display_name),
-                                   {:controller => 'user', :action => 'view', :display_name => @user_block.creator.display_name})) %></h1>
+
+<% content_for :heading do %>
+  <h1><%= raw t('user_block.show.heading',
+                :block_on => link_to(
+                                     h(@user_block.user.display_name),
+                                     {:controller => 'user', :action => 'view', :display_name => @user_block.user.display_name}),
+                :block_by => link_to(
+                                     h(@user_block.creator.display_name),
+                                     {:controller => 'user', :action => 'view', :display_name => @user_block.creator.display_name})) %></h1>
+<ul class='secondary-actions clearfix'>
+  <% if @user_block.ends_at > Time.now.getutc %>
+    <% if @user and @user.id == @user_block.creator_id %>
+      <li><%= link_to t('user_block.show.edit'), edit_user_block_path(@user_block) %></li>
+    <% end %>
+    <% if @user and @user.moderator? %>
+      <li><%= link_to(t('user_block.show.revoke'),{:controller => 'user_blocks', :action => 'revoke', :id => @user_block.id}) %></li>
+    <% end %>
+  <% end %>
+  <li><%= link_to t('user_block.show.back'), user_blocks_path %></li>
+</ul>
+<% end %>
+
 <% if @user_block.revoker %>
 <p>
   <b><%= t'user_block.show.revoker' %></b>
 <p><b><%= t'user_block.show.status' %></b>: <%= block_status(@user_block) %></p>
 
 <p><b><%= t'user_block.show.reason' %></b></p>
-<%= @user_block.reason.to_html %>
-
-<% if @user_block.ends_at > Time.now.getutc %>
-<% if @user and @user.id == @user_block.creator_id %>
-<%= link_to t('user_block.show.edit'), edit_user_block_path(@user_block) %> |
-<% end %>
-<% if @user and @user.moderator? %>
-<%= link_to(t('user_block.show.revoke'),{:controller => 'user_blocks', :action => 'revoke', :id => @user_block.id}) %> |
-<% end %>
-<% end %>
-<%= link_to t('user_block.show.back'), user_blocks_path %>
+<%= @user_block.reason.to_html %>
\ No newline at end of file
index 0c21b90275d5ee383ef30a90d46517115b500172..831311615b007b89807fa0e58c4891aba202e98e 100644 (file)
@@ -190,7 +190,7 @@ en:
         relation: relation
         changeset: changeset
     paging_nav:
-      showing_page: "Showing page"
+      showing_page: "page"
       of: "of"
     redacted:
       redaction: "Redaction %{id}"
@@ -239,7 +239,7 @@ en:
       edited_by_user_at_timestamp: "Edited by %{user} at %{timestamp}"
       object_list:
         heading: "Object list"
-        back: "Display object list"
+        back: "Back to object list"
         type:
           node: "Node"
           way: "Way"
@@ -281,11 +281,10 @@ en:
       edit: "Edit way"
   changeset:
     changeset_paging_nav:
-      showing_page: "Showing page %{page}"
+      showing_page: "Page %{page}"
       next: "Next »"
       previous: "« Previous"
     changeset:
-      id: "#%{id}"
       still_editing: "(still editing)"
       anonymous: "Anonymous"
       no_comment: "(none)"
@@ -312,14 +311,14 @@ en:
       heading_user_bbox: "Changesets"
       heading_friend: "Changesets"
       heading_nearby: "Changesets"
-      description: "Recent changes"
+      description: "Browse recent contributions to the map"
       description_user: "Changesets by %{user}"
       description_bbox: "Changesets within %{bbox}"
       description_user_bbox: "Changesets by %{user} within %{bbox}"
       description_friend: "Changesets by your friends"
       description_nearby: "Changesets by nearby users"
       empty_user_html: "It looks you haven't made any edits yet. To get started, check out the <a href='http://wiki.openstreetmap.org/wiki/Beginners_Guide_1.3'>Beginners Guide</a>."
-      empty_anon_html: "No edits made yet"
+      empty_anon_html: "No edits made yet."
     timeout:
       sorry: "Sorry, the list of changesets you requested took too long to retrieve."
   diary_entry:
@@ -334,7 +333,7 @@ en:
       new: New Diary Entry
       new_title: Compose a new entry in your user diary
       no_entries: No diary entries
-      recent_entries: "Recent diary entries:"
+      recent_entries: "Recent diary entries"
       older_entries: Older Entries
       newer_entries: Newer Entries
     edit:
@@ -933,7 +932,6 @@ en:
       h1: OpenStreetMap
     logo:
       alt_text: OpenStreetMap logo
-    welcome_user: "Welcome, %{user_link}"
     welcome_user_link_tooltip: Your user page
     home: home
     home_tooltip: Go to home location
@@ -1444,7 +1442,7 @@ en:
       trace_not_found: "Trace not found!"
       visibility: "Visibility:"
     trace_paging_nav:
-      showing_page: "Showing page %{page}"
+      showing_page: "Page %{page}"
       older: "Older Traces"
       newer: "Newer Traces"
     trace:
@@ -1467,6 +1465,7 @@ en:
       public_traces: "Public GPS traces"
       your_traces: "Your GPS traces"
       public_traces_from: "Public GPS traces from %{user}"
+      description: "Browse recent GPS track uploads"
       tagged_with: " tagged with %{tags}"
       empty_html: "Nothing here yet. <a href='%{upload_link}'>Upload a new trace</a> or learn more about GPS tracing on the <a href='http://wiki.openstreetmap.org/wiki/Beginners_Guide_1.2'>wiki page</a>."
     delete:
@@ -1685,8 +1684,8 @@ en:
       diary: diary
       edits: edits
       traces: traces
-      remove as friend: remove as friend
-      add as friend: add as friend
+      remove as friend: unfriend
+      add as friend: add friend
       mapper since: "Mapper since:"
       ago: "(%{time_in_words_ago} ago)"
       ct status: "Contributor terms:"
@@ -1700,7 +1699,7 @@ en:
       spam score: "Spam Score:"
       description: Description
       user location: User location
-      if set location: "If you set your location, a pretty map and stuff will appear here. You can set your home location on your %{settings_link} page."
+      if set location: "Set your home location on the %{settings_link} page to see nearby users."
       settings_link_text: settings
       your friends: Your friends
       no friends: You have not added any friends yet.
@@ -1728,10 +1727,10 @@ en:
       unhide_user: "unhide this user"
       delete_user: "delete this user"
       confirm: "Confirm"
-      friends_changesets: "Browse all changesets by friends"
-      friends_diaries: "Browse all diary entries by friends"
-      nearby_changesets: "Browse all changesets by nearby users"
-      nearby_diaries: "Browse all diary entries by nearby users"
+      friends_changesets: "friends' changesets"
+      friends_diaries: "friends' diary entries"
+      nearby_changesets: "nearby user changesets"
+      nearby_diaries: "nearby user diary entries"
     popup:
       your location: "Your location"
       nearby mapper: "Nearby mapper"
@@ -1812,12 +1811,12 @@ en:
     make_friend:
       heading: "Add %{user} as a friend?"
       button: "Add as friend"
-      success: "%{name} is now your friend."
+      success: "%{name} is now your friend!"
       failed: "Sorry, failed to add %{name} as a friend."
       already_a_friend: "You are already friends with %{name}."
     remove_friend:
-      heading: "Remove %{user} as a friend?"
-      button: "Remove as friend"
+      heading: "Unfriend %{user}?"
+      button: "Unfriend"
       success: "%{name} was removed from your friends."
       not_a_friend: "%{name} is not one of your friends."
     filter:
@@ -1826,8 +1825,8 @@ en:
       title: Users
       heading: Users
       showing:
-        one: Showing page %{page} (%{first_item} of %{items})
-        other: Showing page %{page} (%{first_item}-%{last_item} of %{items})
+        one: Page %{page} (%{first_item} of %{items})
+        other: Page %{page} (%{first_item}-%{last_item} of %{items})
       summary: "%{name} created from %{ip_address} on %{date}"
       summary_no_ip: "%{name} created on %{date}"
       confirm: Confirm Selected Users
@@ -1926,7 +1925,7 @@ en:
       status: "Status"
       revoker_name: "Revoked by"
       not_revoked: "(not revoked)"
-      showing_page: "Showing page %{page}"
+      showing_page: "Page %{page}"
       next: "Next »"
       previous: "« Previous"
     helper:
index 339533b9292763cc9bed0b0bc0a8fa4a424fe451..de3de0e890b79becc9eb5ea1ddebc1b6b2cbd3f5 100644 (file)
@@ -44,8 +44,7 @@ SET search_path = public, pg_catalog;
 
 CREATE TYPE format_enum AS ENUM (
     'html',
-    'markdown',
-    'text'
+    'markdown'
 );
 
 
@@ -101,7 +100,7 @@ CREATE TYPE user_status_enum AS ENUM (
 
 CREATE FUNCTION maptile_for_point(bigint, bigint, integer) RETURNS integer
     LANGUAGE c STRICT
-    AS '/srv/www/master.osm.compton.nu/db/functions/libpgosm.so', 'maptile_for_point';
+    AS '/srv/www/next.osm.compton.nu/db/functions/libpgosm.so', 'maptile_for_point';
 
 
 --
@@ -110,7 +109,7 @@ CREATE FUNCTION maptile_for_point(bigint, bigint, integer) RETURNS integer
 
 CREATE FUNCTION tile_for_point(integer, integer) RETURNS bigint
     LANGUAGE c STRICT
-    AS '/srv/www/master.osm.compton.nu/db/functions/libpgosm.so', 'tile_for_point';
+    AS '/srv/www/next.osm.compton.nu/db/functions/libpgosm.so', 'tile_for_point';
 
 
 --
@@ -119,7 +118,7 @@ CREATE FUNCTION tile_for_point(integer, integer) RETURNS bigint
 
 CREATE FUNCTION xid_to_int4(xid) RETURNS integer
     LANGUAGE c IMMUTABLE STRICT
-    AS '/srv/www/master.osm.compton.nu/db/functions/libpgosm.so', 'xid_to_int4';
+    AS '/srv/www/next.osm.compton.nu/db/functions/libpgosm.so', 'xid_to_int4';
 
 
 SET default_tablespace = '';
@@ -1000,11 +999,11 @@ CREATE TABLE users (
     status user_status_enum DEFAULT 'pending'::user_status_enum NOT NULL,
     terms_agreed timestamp without time zone,
     consider_pd boolean DEFAULT false NOT NULL,
+    openid_url character varying(255),
     preferred_editor character varying(255),
     terms_seen boolean DEFAULT false NOT NULL,
-    openid_url character varying(255),
-    description_format format_enum DEFAULT 'html'::format_enum NOT NULL,
     image_fingerprint character varying(255),
+    description_format format_enum DEFAULT 'html'::format_enum NOT NULL,
     changesets_count integer DEFAULT 0 NOT NULL,
     traces_count integer DEFAULT 0 NOT NULL,
     diary_entries_count integer DEFAULT 0 NOT NULL,
index 4cc19b2d66aa58ebaa6510cd59d91b0acb767591..b6c11fd3c816dee9a534ac1bc8e0c53643d89b89 100644 (file)
@@ -45,31 +45,31 @@ class BrowseControllerTest < ActionController::TestCase
     xhr :get, :start
     assert_response :success
   end
-  
+
   def test_read_relation
     browse_check 'relation', relations(:visible_relation).relation_id
   end
-  
+
   def test_read_relation_history
     browse_check 'relation_history', relations(:visible_relation).relation_id
   end
-  
+
   def test_read_way
     browse_check 'way', ways(:visible_way).way_id
   end
-  
+
   def test_read_way_history
     browse_check 'way_history', ways(:visible_way).way_id
   end
-  
+
   def test_read_node
     browse_check 'node', nodes(:visible_node).node_id
   end
-  
+
   def test_read_node_history
     browse_check 'node_history', nodes(:visible_node).node_id
   end
-  
+
   def test_read_changeset
     browse_check 'changeset', changesets(:normal_user_first_change).id
   end
@@ -79,51 +79,51 @@ class BrowseControllerTest < ActionController::TestCase
   #
   # note that these are presently highly reliant on the structure of the
   # page for the selection tests, which doesn't work out particularly
-  # well if that structure changes. so... if you change the page layout 
+  # well if that structure changes. so... if you change the page layout
   # then please make it more easily (and robustly) testable!
   ##
   def test_redacted_node_history
     get :node_history, :id => nodes(:redacted_node_redacted_version).node_id
     assert_response :success
     assert_template 'node_history'
-    
+
     # there are 2 revisions of the redacted node, but only one
     # should be showing up here.
-    assert_select "body div[id=content] table[class=browse_details]", 1
-    assert_select "body div[id=content] table[class=browse_details][id=1]", 0
+    assert_select "body div[id=content] div[class=browse_details]", 1
+    assert_select "body div[id=content] div[class=browse_details][id=1]", 0
   end
-  
+
   def test_redacted_way_history
     get :way_history, :id => ways(:way_with_redacted_versions_v1).way_id
     assert_response :success
     assert_template 'way_history'
-    
+
     # there are 4 revisions of the redacted way, but only 2
     # should be showing up here.
-    assert_select "body div[id=content] table[class=browse_details]", 2
+    assert_select "body div[id=content] div[class=browse_details]", 2
     # redacted revisions are 2 & 3
-    assert_select "body div[id=content] table[class=browse_details][id=2]", 0
-    assert_select "body div[id=content] table[class=browse_details][id=3]", 0
+    assert_select "body div[id=content] div[class=browse_details][id=2]", 0
+    assert_select "body div[id=content] div[class=browse_details][id=3]", 0
   end
-  
+
   def test_redacted_relation_history
     get :relation_history, :id => relations(:relation_with_redacted_versions_v1).relation_id
     assert_response :success
     assert_template 'relation_history'
-    
+
     # there are 4 revisions of the redacted relation, but only 2
     # should be showing up here.
-    assert_select "body div[id=content] table[class=browse_details]", 2
+    assert_select "body div[id=content] div[class=browse_details]", 2
     # redacted revisions are 2 & 3
-    assert_select "body div[id=content] table[class=browse_details][id=2]", 0
-    assert_select "body div[id=content] table[class=browse_details][id=3]", 0
+    assert_select "body div[id=content] div[class=browse_details][id=2]", 0
+    assert_select "body div[id=content] div[class=browse_details][id=3]", 0
   end
-  
+
   # This is a convenience method for most of the above checks
   # First we check that when we don't have an id, it will correctly return a 404
   # then we check that we get the correct 404 when a non-existant id is passed
   # then we check that it will get a successful response, when we do pass an id
-  def browse_check(type, id) 
+  def browse_check(type, id)
     assert_raise ActionController::RoutingError do
       get type
     end