@@ -3,7 +3,7 @@ from datetime import datetime, timedelta | |||
import humanize | |||
__all__ = ["format_isk", "format_isk_compact", "format_utctime", | |||
"format_utctime_compact"] | |||
"format_utctime_compact", "format_security", "get_security_class"] | |||
def format_isk(value): | |||
"""Nicely format an ISK value.""" | |||
@@ -64,3 +64,13 @@ def format_utctime_compact(value): | |||
if delta < timedelta(seconds=1): | |||
return "just now" | |||
return "{} ago".format(_format_compact_delta(delta)) | |||
def format_security(value): | |||
"""Given a system security status as a float, return a rounded string.""" | |||
return str(round(value, 1)) | |||
def get_security_class(value): | |||
"""Given a system security status, return the corresponding CSS class.""" | |||
if value < 0.05: | |||
return "sec-null" | |||
return "sec-" + str(round(value, 1)).replace(".", "_") |
@@ -331,6 +331,50 @@ footer ul li:not(:last-child)::after { | |||
margin-bottom: 1em; | |||
} | |||
.sec-null { | |||
color: #F30202; | |||
} | |||
.sec-0_1 { | |||
color: #DC3201; | |||
} | |||
.sec-0_2 { | |||
color: #EB4903; | |||
} | |||
.sec-0_3 { | |||
color: #F66301; | |||
} | |||
.sec-0_4 { | |||
color: #E58000; | |||
} | |||
.sec-0_5 { | |||
color: #F5F501; | |||
} | |||
.sec-0_6 { | |||
color: #96F933; | |||
} | |||
.sec-0_7 { | |||
color: #00FF00; | |||
} | |||
.sec-0_8 { | |||
color: #02F34B; | |||
} | |||
.sec-0_9 { | |||
color: #4BF3C3; | |||
} | |||
.sec-1_0 { | |||
color: #33F9F9; | |||
} | |||
/* ================================ Modules ================================ */ | |||
/* ------------------------------- Campaigns ------------------------------- */ | |||
@@ -455,7 +499,7 @@ h2 .disabled-info { | |||
.operation .killboard.expanded { | |||
position: absolute; | |||
z-index: 1; | |||
transition: clip-path 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94); | |||
transition: clip-path 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94); | |||
clip-path: inset(0 100% 0 0); | |||
} | |||
@@ -1,22 +1,27 @@ | |||
<%! | |||
from calefaction.format import format_isk_compact, format_utctime_compact | |||
from calefaction.format import ( | |||
format_isk_compact, format_utctime_compact, format_security, | |||
get_security_class) | |||
%> | |||
<%def name="_killboard_kill(kill)"> | |||
<% victim = kill["victim"] %> | |||
<% | |||
victim = kill["victim"] | |||
system = g.eve.universe.system(kill["system"]) | |||
%> | |||
<tr> | |||
<td class="fluid"> | |||
<abbr title="${kill["date"].strftime("%Y-%m-%d %H:%M")}">${format_utctime_compact(kill["date"]) | h}</abbr><br/> | |||
<a href="https://zkillboard.com/kill/${kill['id']}/"> | |||
<abbr title="${kill["date"].strftime("%Y-%m-%d %H:%M")}">${format_utctime_compact(kill["date"]) | h}</abbr><br/> | |||
<abbr title="${"{:,.2f}".format(kill["value"])} ISK">${format_isk_compact(kill["value"]) | h}</abbr> | |||
</a> | |||
</td> | |||
<td class="fluid extra"> | |||
${kill["system"]} 0.3<br/><!-- ... --> | |||
Region<!-- ... --> | |||
<a href="https://zkillboard.com/system/${system.id}/">${system.name}</a> <abbr title="${system.security}" class="${get_security_class(system.security)}">${format_security(system.security)}</abbr><br/> | |||
<a href="https://zkillboard.com/region/${system.region.id}/">${system.region.name}</a> | |||
</td> | |||
<td class="icon"> | |||
<a href="https://zkillboard.com/kill/${kill['id']}/"> | |||
<img title="Kill ${kill['id']}" alt="Kill ${kill['id']}" src="${g.eve.image.inventory(victim["ship_id"], 64)}"/> | |||
<img title="Kill ${kill['id']}: ..." alt="Kill ${kill['id']}: ..." src="${g.eve.image.inventory(victim["ship_id"], 64)}"/> | |||
</a> | |||
</td> | |||
<td class="icon extra"> | |||