diff --git a/calefaction/modules/members.py b/calefaction/modules/members.py
index 1aea609..396d322 100644
--- a/calefaction/modules/members.py
+++ b/calefaction/modules/members.py
@@ -9,15 +9,15 @@ from ._provided import blueprint
SCOPES = {"esi-corporations.read_corporation_membership.v1"}
-_Member = namedtuple("_Member", ["id", "name"])
+_Member = namedtuple("_Member", ["id", "name", "roles"])
-# ... show roles if possible
+# ... sort by seniority
def get_members():
"""Return a list of the members of the user's corporation.
- Members are returned as 2-namedtuples of (id, name). An empty list is
- returned if there was some error with tokens.
+ Members are returned as 3-namedtuples of (id, name, roles). An empty list
+ is returned if there was some error with tokens.
"""
token = g.auth.get_token()
if not token:
@@ -26,8 +26,10 @@ def get_members():
corp_id = g.config.get("corp.id")
resp = g.eve.esi(token).v2.corporations(corp_id).members.get()
cids = ",".join(str(item["character_id"]) for item in resp)
+ ceo_id = g.eve.esi(token).v2.corporations(corp_id).get()["ceo_id"]
resp = g.eve.esi(token).v1.characters.names.get(character_ids=cids)
- return [_Member(item["character_id"], item["character_name"])
+ return [_Member(item["character_id"], item["character_name"],
+ "CEO" if item["character_id"] == ceo_id else None)
for item in resp]
def home():
diff --git a/static/main.css b/static/main.css
index 7160723..ecac1f2 100644
--- a/static/main.css
+++ b/static/main.css
@@ -150,7 +150,7 @@ header nav > ul > li {
display: inline-block;
}
-header nav > ul > li:not(:last-child):after {
+header nav > ul > li:not(:last-child)::after {
content: " \007c";
color: #777;
}
@@ -175,7 +175,7 @@ footer ul li {
list-style: none;
}
-footer ul li:not(:last-child):after {
+footer ul li:not(:last-child)::after {
content: " \00b7";
}
@@ -251,7 +251,7 @@ footer ul li:not(:last-child):after {
border-width: 1px;
}
-#character-options:after, #character-options:before {
+#character-options::after, #character-options::before {
bottom: 100%;
left: 20px;
border: solid transparent;
@@ -262,13 +262,13 @@ footer ul li:not(:last-child):after {
pointer-events: none;
}
-#character-options:after {
+#character-options::after {
border-bottom-color: black;
border-width: 10px;
margin-left: -10px;
}
-#character-options:before {
+#character-options::before {
border-bottom-color: #4A4A4A;
border-width: 12px;
margin-left: -12px;
@@ -331,22 +331,30 @@ footer ul li:not(:last-child):after {
column-count: 2;
}
-#members-list > li {
+#members-list li {
margin-bottom: 0.5em;
}
-#members-list > li a:hover {
+#members-list a:hover {
text-decoration: none;
}
-#members-list > li img {
+#members-list img {
width: 48px;
height: 48px;
vertical-align: middle;
border-width: 1px;
}
-#members-list > li span {
+#members-list span {
margin-left: 0.5em;
vertical-align: middle;
}
+
+#members-list em {
+ font-size: 90%;
+}
+
+#members-list em::before {
+ content: ", ";
+}
diff --git a/templates/members/members.mako b/templates/members/members.mako
index c763bc7..12a611e 100644
--- a/templates/members/members.mako
+++ b/templates/members/members.mako
@@ -7,7 +7,7 @@
- ${member.name}
+ ${member.name} ${member.roles}
% endfor