# HG changeset patch # User bsw # Date 1299496522 -3600 # Node ID 4f6e6b213fb89eaedb3f511fee4a1dea7204edb3 # Parent 1dab81353eb1b15227bdc34653b8ec3b0936b9f8 Cleanup on second generation frontend code and stylesheet diff -r 1dab81353eb1 -r 4f6e6b213fb8 app/main/lf2/_avatars.lua --- a/app/main/lf2/_avatars.lua Sat Mar 05 15:34:17 2011 +0100 +++ b/app/main/lf2/_avatars.lua Mon Mar 07 12:15:22 2011 +0100 @@ -1,8 +1,7 @@ local members = param.get("members", "table") local hidefirst = param.get("hidefirst", atom.boolean) local size = param.get("size") or "normal" - -local first_participation = true +local issue_id = param.get("issue_id", atom.integer) ui.container{ attr = { class = "avatars " .. size }, content = function() for i, member in ipairs(members) do @@ -28,14 +27,13 @@ end if not hidefirst or i > 1 then local class = "avatar" - if first_participation and member.participation then + if member.participation then class = class .. " participation" - first_participation = false end if member.overridden then class = class .. " overridden" end - ui.container{ attr = { class = class, title = member.name }, content = function() + local args = { attr = { class = class, title = member.name }, content = function() ui.avatar(member, size) --ui.image{ module = "member_image", view = "show", id = member.id, params = { image_type = "avatar" } } if size == "normal" then @@ -45,6 +43,14 @@ ui.container{ attr = { class = "weight" }, content = member.weight } end end } + if issue_id then + args.module = "lf2" + args.view = "interest" + args.params = { issue_id = issue_id, member_id = member.id } + ui.link(args) + else + ui.container(args) + end end end end } diff -r 1dab81353eb1 -r 4f6e6b213fb8 app/main/lf2/_initiative.lua --- a/app/main/lf2/_initiative.lua Sat Mar 05 15:34:17 2011 +0100 +++ b/app/main/lf2/_initiative.lua Mon Mar 07 12:15:22 2011 +0100 @@ -61,8 +61,10 @@ slot.put(" ", _"and", " ") end ui.link{ - module = "lf2", view = "initiative", id = initiative.id, - params = { member_id = member.id }, content = function() + module = "lf2", view = "interest", params = { + issue_id = initiative.issue_id, + member_id = member.id + }, content = function() ui.tag{ content = member.name } end } diff -r 1dab81353eb1 -r 4f6e6b213fb8 app/main/lf2/_initiatives.lua --- a/app/main/lf2/_initiatives.lua Sat Mar 05 15:34:17 2011 +0100 +++ b/app/main/lf2/_initiatives.lua Mon Mar 07 12:15:22 2011 +0100 @@ -2,12 +2,10 @@ initiatives:load("initiating_members", nil, "initiating_members") -ui.box{ content = function() - for i, initiative in ipairs(initiatives) do +for i, initiative in ipairs(initiatives) do - ui.box_row{ class = "initiative", content = function() ui.box_col { content = function() - execute.view{ module = "lf2", view = "_initiative", params = { initiative = initiative } } - end } end } + ui.box_row{ class = "initiative", content = function() ui.box_col { content = function() + execute.view{ module = "lf2", view = "_initiative", params = { initiative = initiative } } + end } end } - end -end } \ No newline at end of file +end \ No newline at end of file diff -r 1dab81353eb1 -r 4f6e6b213fb8 app/main/lf2/_interested.lua --- a/app/main/lf2/_interested.lua Sat Mar 05 15:34:17 2011 +0100 +++ b/app/main/lf2/_interested.lua Mon Mar 07 12:15:22 2011 +0100 @@ -1,4 +1,5 @@ local interested_members = param.get("interested_members", "table") +local issue_id = param.get("issue_id", atom.integer) ui.box{ row_count = 2, content = function() ui.box_row{ class = "head interested", content = function() ui.box_col{ class = "head left", content = _"Members, interested in this issue" } @@ -6,7 +7,7 @@ end } ui.box_row{ class = "interested", content = function() ui.box_col{ class = "", content = function() - execute.view{ module = "lf2", view = "_avatars", params = { members = interested_members } } + execute.view{ module = "lf2", view = "_avatars", params = { members = interested_members, issue_id = issue_id } } end } end } end } diff -r 1dab81353eb1 -r 4f6e6b213fb8 app/main/lf2/_issues.lua --- a/app/main/lf2/_issues.lua Sat Mar 05 15:34:17 2011 +0100 +++ b/app/main/lf2/_issues.lua Mon Mar 07 12:15:22 2011 +0100 @@ -63,7 +63,7 @@ end } - ui.box_row{ class = "head", content = function() + ui.box_row{ class = "head2", content = function() ui.box_col{ class = "state_name left", content = function() ui.tag{ content = issue.state_name } @@ -74,13 +74,13 @@ end } if #trustees > 1 then - local class = "head2" - if issue.closed or issue.fully_frozen then - class = class .. " head2_last" + local class = "head" + if not issue.closed and not issue.fully_frozen then + class = "head2" end - ui.box_row{ class = class, content = function() + ui.box_row{ class = "head2", content = function() ui.box_col{ class = "left", content = function() - execute.view{ module = "lf2", view = "_avatars", params = { members = trustees, arrows = true, size = "small" } } + execute.view{ module = "lf2", view = "_avatars", params = { members = trustees, arrows = true, size = "small", issue_id = issue.id } } end } if not issue.closed and not issue.fully_frozen then if trustees[1].scope_out == "issue" then @@ -99,7 +99,7 @@ end if not issue.closed and not issue.fully_frozen then - ui.box_row{ class = "head2 head2_last", content = function() + ui.box_row{ class = "head", content = function() ui.box_col{ class = "interest left", content = function() if interest then ui.image{ static = "lf2/icon_star.png" } diff -r 1dab81353eb1 -r 4f6e6b213fb8 app/main/lf2/_issues_issue.lua --- a/app/main/lf2/_issues_issue.lua Sat Mar 05 15:34:17 2011 +0100 +++ b/app/main/lf2/_issues_issue.lua Mon Mar 07 12:15:22 2011 +0100 @@ -65,7 +65,7 @@ ui.box_row{ class = "delegation", content = function() if delegation then ui.box_col{ content = function() - execute.view{ module = "lf2", view = "_avatars", params = { members = { app.session.member, delegation.trustee }, arrows = true, hidefirst = true } } + execute.view{ module = "lf2", view = "_avatars", params = { members = { app.session.member, delegation.trustee }, arrows = true, hidefirst = true, issue_id = issue.id } } end } else end diff -r 1dab81353eb1 -r 4f6e6b213fb8 app/main/lf2/_sidebar_issue.lua --- a/app/main/lf2/_sidebar_issue.lua Sat Mar 05 15:34:17 2011 +0100 +++ b/app/main/lf2/_sidebar_issue.lua Mon Mar 07 12:15:22 2011 +0100 @@ -23,36 +23,40 @@ ui.box{ class = "issue", content = function() - ui.box_row{ class = "unit_name head2", content = function() ui.box_col{ content = function() + ui.box_row{ class = "unit_name head2x", content = function() ui.box_col{ content = function() ui.link{ module = "lf2", view = "index", id = 1, content = "DE / Berlin / Friedrichshain-Kreuzberg" } end } end } - ui.box_row{ class = "area_name head2", content = function() ui.box_col{ content = function() + ui.box_row{ class = "area_name head2x", content = function() ui.box_col{ content = function() ui.link{ module = "lf2", view = "area", id = issue.area_id, content = issue.area.name } end } end } - ui.box_row{ class = "issue_id head2", content = function() ui.box_col{ class = "head", content = function() + ui.box_row{ class = "issue_id subhead", content = function() ui.box_col{ class = "head", content = function() ui.link{ module = "lf2", view = "issue", id = issue.id, content = _("Issue ##{id}", { id = issue.id }) } end } end } - ui.box_row{ class = "policy_name head2", content = function() ui.box_col{ content = function() + ui.box_row{ class = "policy_name", content = function() ui.box_col{ content = function() ui.link{ module = "lf2", view = "policy", id = issue.policy_id, content = issue.policy.name } end } end } - ui.box_row{ class = "time_left head", content = function() - ui.box_col{ content = issue.closed and _("Closed since #{date}", { date = format.date(issue.closed.date) }) or _("#{time_left} left", { time_left = issue.state_time_left }) } + ui.box_row{ class = "time_left", content = function() + ui.box_col{ class = "left", content = function() + ui.tag{ content = issue.state_name } + slot.put(" · ") + ui.tag{ content = issue.closed and _("since #{date}", { date = format.date(issue.closed.date) }) or _("#{time_left} left", { time_left = issue.state_time_left }) } + end } end } ui.box_row{ class = "interest hoverbutton_container", content = function() ui.box_col{ content = function() @@ -181,11 +185,11 @@ if #trustees > 1 then ui.box_row{ class = "delegation", content = function() ui.box_col{ content = function() - execute.view{ module = "lf2", view = "_avatars", params = { members = trustees, arrows = true, size = "small" } } + execute.view{ module = "lf2", view = "_avatars", params = { members = trustees, arrows = true, size = "small", issue_id = issue.id } } end } end } end - ui.box_row{ class = "subhead", content = function() ui.box_col{ class = "head", content = _"Initiatives in this issue" } end } + ui.box_row{ class = "subhead", content = function() ui.box_col{ class = "head", content = _"Initiatives" } end } ui.box_row{ class = "initiatives last", content = function() ui.box_col{ class = "scrolled", content = function() execute.view{ module = "lf2", view = "_issue_initiatives", params = { initiatives = alternative_initiatives, current_initiative_id = initiative_id } } diff -r 1dab81353eb1 -r 4f6e6b213fb8 app/main/lf2/initiative.lua --- a/app/main/lf2/initiative.lua Sat Mar 05 15:34:17 2011 +0100 +++ b/app/main/lf2/initiative.lua Mon Mar 07 12:15:22 2011 +0100 @@ -99,14 +99,14 @@ } } ui.box_row{ class = "subhead", content = function() ui.box_col{ class = "head", content = _"Current draft" } end } - ui.box_row{ content = function() ui.box_col{ content = function() + ui.box_row{ class = "member_content", content = function() ui.box_col{ content = function() execute.view{ module = "lf2", view = "_draft", params = { draft = draft } } end } end } if initiative.issue.fully_frozen and initiative.issue.closed then ui.box_row{ class = "subhead", content = function() ui.box_col{ class = "head", content = _"Voters" } end } ui.box_row{ content = function() ui.box_col{ content = function() - execute.view{ module = "lf2", view = "_avatars", params = { members = voting_members } } + execute.view{ module = "lf2", view = "_avatars", params = { members = voting_members, issue_id = initiative.issue_id } } end } end } end @@ -117,7 +117,7 @@ ui.box_row{ class = "subhead", content = function() ui.box_col{ class = "head", content = _"Supporters" } end } ui.box_row{ content = function() ui.box_col{ content = function() - execute.view{ module = "lf2", view = "_avatars", params = { members = supporting_members } } + execute.view{ module = "lf2", view = "_avatars", params = { members = supporting_members, issue_id = initiative.issue_id } } end } end } end } diff -r 1dab81353eb1 -r 4f6e6b213fb8 app/main/lf2/interest.lua --- a/app/main/lf2/interest.lua Sat Mar 05 15:34:17 2011 +0100 +++ b/app/main/lf2/interest.lua Mon Mar 07 12:15:22 2011 +0100 @@ -1,20 +1,27 @@ slot.set_layout("lf2") +slot.put_into("leftright_pre", '') -local issue = Issue:by_id(param.get_id()) -local member = Member:by_id(param.get("member", atom.integer)) +local issue = Issue:by_id(param.get("issue_id", atom.integer)) +local member = Member:by_id(param.get("member_id", atom.integer)) local area = issue.area -- TODO broken --issue:load("interested_members_snapshot", {}, "interested_members") -issue:load("delegating_interest_snapshot_for_member", { member_id = app.session.member_id }, "delegating_interest") -issue:load("interest_for_member", { member_id = app.session.member_id }, "interest") -issue:load("outgoing_delegations_for_member", { member_id = app.session.member_id }, "outgoing_delegations") +issue:load("delegating_interest_snapshot_for_member", { member_id = member.id }, "delegating_interest") +issue:load("interest_for_member", { member_id = member.id }, "interest") +issue:load("outgoing_delegations_for_member", { member_id = member.id }, "outgoing_delegations") +issue:load("trusters_for_member", { member_id = member.id }, "trusters") local initiatives = issue.initiatives -local interested_members = issue.interested_members +local supported_initiatives = Initiative:new_selector() + :add_where{ "initiative.issue_id = ?", issue.id } + :join("supporter", nil, { "supporter.initiative_id = initiative.id AND supporter.member_id = ?", member.id }) + :exec() + local interest = issue.interest @@ -22,7 +29,7 @@ local trustees = Member:new_selector() :add_field("delegation_chain.*") - :join("delegation_chain(" .. tostring(app.session.member.id) .. ", " .. tostring(area_id or "NULL") .. ", " .. tostring(issue_id or "NULL") .. ")", "delegation_chain", "member.id = delegation_chain.member_id") + :join("delegation_chain(" .. tostring(member.id) .. ", " .. tostring(issue.area_id or "NULL") .. ", " .. tostring(issue_id or "NULL") .. ")", "delegation_chain", "member.id = delegation_chain.member_id") :add_order_by("index") :exec() @@ -45,17 +52,54 @@ app.topnav_area_id = issue.area_id slot.select("sidebar", function() - execute.view{ module = "lf2", view = "_sidebar_unit", params = { current_area_id = issue.area_id } } + execute.view{ module = "lf2", view = "_sidebar_issue", params = { issue = issue, alternative_initiatives = initiatives } } + end) -execute.view{ module = "lf2", view = "_area", params = { area = area } } - -execute.view{ module = "lf2", view = "_issues", params = { issues = { issue } } } +ui.box{ content = function() + ui.box_row{ class = "head", content = function() ui.box_col{ class = "head", content = function() + ui.link{ module = "lf2", view = "member", id = member.id, content = function() + ui.avatar(member) + slot.put(" ") + ui.tag{ content = member.name } + end } + end } end } + if not member.active then + ui.box_row{ class = "head", content = function() ui.box_col{ class = "head", content = function() + ui.tag{ content = _"Member is deactivated" } + end } end } + end + ui.box_row{ content = function() ui.box_col{ content = function() + if interest then + ui.image{ static = "lf2/icon_star.png" } + slot.put(" ") + ui.tag{ content = _"Member is interested in this issue" } + elseif delegating_interest then + ui.image{ static = "lf2/icon_delegated_star.png" } + slot.put(" ") + ui.tag{ content = _"Someone in members delegation chain is interested" } + else + ui.image{ static = "lf2/icon_star_grey.png" } + slot.put(" ") + ui.tag{ content = _"Member is not interested" } + end + end } end } + if #trustees > 1 then + ui.box_row{ content = function() ui.box_col{ content = function() + execute.view{ module = "lf2", view = "_avatars", params = { members = trustees, arrows = true, size = "small", issue_id = issue.id } } + end } end } + end --- TODO bugfix for not working reference loader -interested_members = issue:get_reference_selector("interested_members_snapshot"):exec() + ui.box_row{ class = "subhead", content = function() ui.box_col{ class = "head", content = _"Statement about issue" } end } + + ui.box_row{ class = "subhead", content = function() ui.box_col{ class = "head", content = _"Supported initiatives" } end } + execute.view{ module = "lf2", view = "_initiatives", params = { initiatives = supported_initiatives } } -execute.view{ module = "lf2", view = "_interested", params = { - interested_members = interested_members -} } + ui.box_row{ class = "subhead", content = function() ui.box_col{ class = "head", content = _"Incoming delegations" } end } + ui.box_row{ content = function() ui.box_col{ content = function() + execute.view{ module = "lf2", view = "_avatars", params = { members = issue.trusters, size = "small", issue_id = issue.id } } + end } end } + +end } + diff -r 1dab81353eb1 -r 4f6e6b213fb8 app/main/lf2/issue.lua --- a/app/main/lf2/issue.lua Sat Mar 05 15:34:17 2011 +0100 +++ b/app/main/lf2/issue.lua Mon Mar 07 12:15:22 2011 +0100 @@ -54,6 +54,6 @@ interested_members = issue:get_reference_selector("interested_members_snapshot"):exec() execute.view{ module = "lf2", view = "_interested", params = { - interested_members = interested_members + interested_members = interested_members, issue_id = issue.id } } diff -r 1dab81353eb1 -r 4f6e6b213fb8 env/ui/avatar.lua --- a/env/ui/avatar.lua Sat Mar 05 15:34:17 2011 +0100 +++ b/env/ui/avatar.lua Mon Mar 07 12:15:22 2011 +0100 @@ -60,7 +60,7 @@ member:save() end - ui.tag{ tag = "img", attr = { src = "data:image/jpeg;base64," .. base64_string } } + ui.tag{ tag = "img", attr = { class = "avatar_image", src = "data:image/jpeg;base64," .. base64_string } } end diff -r 1dab81353eb1 -r 4f6e6b213fb8 model/issue.lua --- a/model/issue.lua Sat Mar 05 15:34:17 2011 +0100 +++ b/model/issue.lua Mon Mar 07 12:15:22 2011 +0100 @@ -236,6 +236,42 @@ end } +Issue:add_reference{ + mode = 'mm', + to = "Member", + this_key = 'id', + that_key = 'mm_ref_', + ref = 'trusters_for_member', + back_ref = 'issue', + selector_generator = function(list, options) + + local member_id = assert(options.member_id) + + -- build list of issue ids + local ids = { sep = ", " } + for i, object in ipairs(list) do + local id = object.id + if id ~= nil then + ids[#ids+1] = {"?", id} + end + end + + if #ids == 0 then + return Delegation:new_selector():empty_list_mode() + end + + local selector = Member:new_selector() + selector:join("delegating_interest_snapshot", nil, { "delegating_interest_snapshot.delegate_member_ids[1] = ? AND delegating_interest_snapshot.member_id = member.id", member_id }) + selector:join("issue", nil, "delegating_interest_snapshot.issue_id = issue.id AND delegating_interest_snapshot.event = issue.latest_snapshot_event") + selector:add_where{ 'delegating_interest_snapshot.issue_id IN ($)', ids } + selector:add_field("delegating_interest_snapshot.issue_id", "mm_ref_") + selector:add_field("delegating_interest_snapshot.weight", "weight") + selector:add_order_by("delegating_interest_snapshot.weight DESC, member.id") + return selector + + end +} + function Issue:get_state_name_for_state(value) diff -r 1dab81353eb1 -r 4f6e6b213fb8 static/lf2.css --- a/static/lf2.css Sat Mar 05 15:34:17 2011 +0100 +++ b/static/lf2.css Mon Mar 07 12:15:22 2011 +0100 @@ -1,4 +1,6 @@ -/* CSS reset */ +/* + * CSS reset + */ html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, @@ -47,210 +49,170 @@ quotes: "" ""; } -/* end CSS reset */ + +/* + * Positioning + */ + +.tab1 .right + { float: right; } + +.tab1 a { float: left; } + +.slot_default + { position: relative; width: 67%; } + +.slot_sidebar + { float: left; width: 30%; } + +.sidebar_right .slot_sidebar + { float: right; width: 30%; } + +.slot_sidebar .box + { width: 100%; } + +.box + { position: relative; width: 100%; } + +.box .row + { overflow: auto; } + +.box .row .col.left + { float: left; } + +.box .row .col.right + { float: right; } /* - Global settings -*/ -body { - font-family: sans-serif; - background-color: #7df; - xbackground-image: url('lf2/back.jpg'); - color: #000; -} + * Margins und paddings + */ + +.tab1 a + { margin: 0 0 0 0.5em; padding: 0.5ex 0.5em 0.5ex 0.5em; } +.tab1 .right a + { margin: 0 0.5em 0 0; } + +.slot_default + { margin: 2ex 1% 2ex 32%; } + +.sidebar_right .slot_default + { margin: 2ex 32% 2ex 1%; } + +.slot_sidebar + { margin: 2ex 1% 2ex 1%; } + +.sidebar_right .slot_sidebar + { margin: 0 1% 2ex 1%; } + +.box + { margin: 0 0 2ex 0; } + + +.box .row .col + { padding: 0.5ex 0.2em 0.5ex 0.2em; } + +.box .row .col:first-child + { padding-left: 0.5em; } + +.box .row.subhead .col + { margin-top: 2ex; } + -a { - color: #000; -} +/* + * Colors + */ + +body, +.tab1 a.active +/* { background-color: #7df; color: #000 }*/ + { background-color: #27C9FF; color: #000 } + +.tab1, +.tab1 a { background-color: #444; color: #fff; } + + +.box { background-color: #fff; } + +.box { color: #000; } + +.box a { color: #068; } + +.box .row.head, +.box .row.head2, +.box .row.active + { background-color: #D7F5FF;} + +.box .row.head .col.head + { color: #444; } + +.draft .authors, +.initiative .authors + { color: #777; } + +.member_content + { background-color: #fec; } /* - Main top navigation -*/ + * Borders + */ + +.box .row + { border-bottom: 1px solid #ccc; } +.box .row.head + { border-bottom-color: #777; } +.box .row.subhead + { border-bottom-color: #777; } +.box .row:last-child + { border-bottom: none; } + +.box.issue .row.unit_name + { border-bottom-color: #ccc; } -.tab1 { - background-color: #444; - color: #000; -} +/* + * Rounded corners + */ + +.box { border-radius: 1ex; -moz-border-radius: 1ex; + -webkit-box-shadow: 2px 2px 3px 0px #444; -moz-box-shadow: 2px 2px 3px 0px #444; } -.tab1 .right { - float: right; +.box .row:first-child.head, +.box .row:first-child.head2 + { border-radius: 1ex 1ex 0 0 ; } +.box .row:last-child + { border-radius: 0 0 1ex 1ex; } + +/* + * Text Formatting + */ + +body, input, select { + font-family: sans-serif; + font-size: 100%; } .tab1 a { - float: left; - padding: 0.5ex 0.5em 0.5ex 0.5em; - margin-left: 0.5em; - background-color: #444; - color: #fff; font-weight: bold; text-decoration: none; } -.tab1 .right a { - margin-left: 0; - margin-right: 0.5em; -} - -.tab1 a.active { - background-color: #7df; - color: #000; -} +.box a { text-decoration: none; } -/* - Default slot -*/ - -.slot_default { - margin: 2ex 1% 2ex 32%; - position: relative; - width: 67%; -} +.box .row .col + { line-height: 115%; } -.sidebar_right .slot_default { - margin: 2ex 32% 2ex 1%; -} - -/* -Sidebar -*/ +.box .row.head .col.head, +.box .row.head2 .col.head + { font-weight: bold; } -.slot_sidebar { - margin: 2ex 1% 2ex 1%; - float: left; - width: 30%; -} +.box .row.subhead .col + { font-weight: bold; } -.sidebar_right .slot_sidebar { - margin: 0 1% 2ex 1%; - float: right; - width: 30%; -} - -.slot_sidebar .box { - width: 100%; -} /* - Boxes -*/ - -.box a { - text-decoration: none; - color: #46a; -} - -.box { - /* position */ - position: relative; - width: 100%; - margin-bottom: 2ex; - - /* border and shadow*/ - border-radius: 1ex; - -moz-border-radius: 1ex; - -webkit-box-shadow: 2px 2px 3px 0px #444; - -moz-box-shadow: 2px 2px 3px 0px #444; - - /* color */ - background-color: #fff; - color: #000; - -} - -.box .row { - overflow: auto; - /* position */ - - /* border */ - border-bottom: 1px solid #ccc; -} - -.box .row .col { - /* position */ - padding: 0.5ex 0.2em 0.5ex 0.2em; - - /* text format */ - line-height: 115%; -} - -.box .row .col.left { - float: left; -} - -.box .row .col.right { - float: right; -} - -.box .row:last-child { - /* border */ - border-bottom: none; -} - -.box .row .col:first-child { - /* position */ - padding-left: 0.5em; -} - -.box .row:first-child.head, -.box .row:first-child.head2 { - border-radius: 1ex 1ex 0 0; -} - -.box .row.head { - background-color: #fafcff; - color: #000; - border-bottom-color: #777; -} - -.box .row:last-child { - border-radius: 0 0 1ex 1ex; -} - -.box .row.head .col.head { - font-weight: bold; - color: #444; -} - -.box .row.head .col a { - background-color: #fafcff; - color: #3B6E7F; -} - -.box .row.head2 { - background-color: #fafcff; - color: #000; -} - -.box .row.head2 .col.head { - font-weight: bold; -} - -.box .row.head2 .col a { - background-color: #fafcff; - color: #3B6E7F; -} - -.box .row.subhead .col { - margin-top: 2ex; - font-weight: bold; -} - -.box .row.subhead { - border-bottom-color: #777; -} - -.box .row .col a { - color: #3B6E7F; -} - -.box .row.active, -.box .row.active a { - background-color: #DDF7FF; -} - -/* Sidebar hover button */ + * Sidebar hover button + */ .hoverbutton_container { position: relative; @@ -312,7 +274,9 @@ } -/* Scrolled col */ +/* + * Scrolled col + */ .box .row .col.scrolled { padding: 0; @@ -326,8 +290,8 @@ } /* - Bars -*/ + * Bars + */ .bar { float: right; @@ -348,8 +312,12 @@ } /* - Avatars -*/ + * Avatars + */ + +.avatar_image { + border-radius: 1ex; +} .avatars { overflow: auto; @@ -380,16 +348,6 @@ margin-top: 0.3ex; } -.avatars .avatar.myweight { - border-color: #f70; - background-color: #f70; -} - -.avatars .avatar.autoreject { - border-color: #f00; - background-color: #f00; -} - .avatars.small .avatar img { border-radius: 0.25ex; -moz-border-radius: 0.25ex; @@ -436,8 +394,8 @@ } /* - Area -*/ + * Area + */ .area .name { color: #444; @@ -452,7 +410,9 @@ margin-top: -3px; } -/* Initiatives */ +/* + * Initiative + */ .initiative .name, .initiative a.name { @@ -461,29 +421,20 @@ .draft .authors, .initiative .authors { - /* color */ - color: #777; - /* text format */ font-size: 80%; font-style: italic; } -.draft .authors a, -.initiative .authors a { - /* color */ -} - .drafts .draft .created { font-weight: bold; } -.box.issue .row.unit_name { - border-bottom-color: #ccc; -} -/* Draft */ +/* + * Draft + */ -.draft { +.initiative .draft { line-height: 135%; }