ui: highlight upcoming and current contest

pull/232/head
undefined 3 years ago
parent fb19c8073f
commit 81076b4899

@ -8,6 +8,7 @@
![GitHub commit activity](https://img.shields.io/github/commit-activity/y/hydro-dev/Hydro)
Hydro是一个高效的信息学在线测评系统。特点易于部署且提供安装脚本轻量功能强大且易于扩展。
Also see previous version at [vijos/vj4](https://github.com/vijos/vj4)
[中文文档](https://hydro.js.org/)

@ -28,14 +28,14 @@
"license": "AGPL-3.0-only",
"devDependencies": {
"@types/cross-spawn": "^6.0.2",
"@types/node": "^16.10.2",
"@types/node": "^16.10.3",
"@types/semver": "^7.3.8",
"@typescript-eslint/eslint-plugin": "^4.33.0",
"@typescript-eslint/parser": "^4.33.0",
"cac": "^6.7.3",
"cac": "^6.7.8",
"cross-env": "^7.0.3",
"cross-spawn": "^7.0.3",
"esbuild": "^0.12.29",
"esbuild": "^0.13.4",
"eslint": "^7.32.0",
"eslint-config-airbnb-typescript": "12.3.1",
"eslint-import-resolver-typescript": "^2.5.0",
@ -44,7 +44,7 @@
"fs-extra": "^10.0.0",
"globby": "11.0.4",
"latest-version": "^6.0.0",
"mongodb": "^3.7.1",
"mongodb": "^3.7.2",
"nmls": "^3.0.1",
"ora": "5.4.1",
"semver": "^7.3.5",

@ -1,6 +1,6 @@
{
"name": "hydrooj",
"version": "2.39.12",
"version": "2.39.13",
"bin": "bin/hydrooj.js",
"main": "src/loader",
"module": "src/loader",

@ -527,7 +527,7 @@ export function isNew(tdoc: Tdoc, days = 1) {
return (now < readyAt - days * 24 * 3600 * 1000);
}
export function isUpcoming(tdoc: Tdoc, days = 1) {
export function isUpcoming(tdoc: Tdoc, days = 7) {
const now = new Date().getTime();
const readyAt = tdoc.beginAt.getTime();
return (now > readyAt - days * 24 * 3600 * 1000 && now < tdoc.beginAt.getTime());

@ -1,6 +1,6 @@
{
"name": "@hydrooj/ui-default",
"version": "4.23.1",
"version": "4.23.2",
"author": "undefined <i@undefined.moe>",
"license": "AGPL-3.0",
"main": "hydro.js",

@ -13,6 +13,16 @@ $highlight-button-color = #F6DF45
.contest__info-attended
color: $success-color
.contest__item
border-left: rem(5px) solid transparent
padding-left: rem(5px)
&.live
border-left: rem(5px) solid #E98696
&.ready
border-left: rem(5px) solid #469DCF
.section--contest
&.live
background: #E98696

@ -5,7 +5,7 @@
</div>
<ol class="section__list contest__list">
{%- for tdoc in tdocs -%}
<li class="section__list__item contest__item contest-type--{{ tdoc.rule }}">
<li class="section__list__item contest__item contest-type--{{ tdoc.rule }} {% if model.contest.isOngoing(tdoc) %}{{ 'live' }}{% elif model.contest.isUpcoming(tdoc) %}{{ 'ready' }}{% endif %}">
<div class="media">
<div class="media__left medium">
<div class="contest__date numbox">

Loading…
Cancel
Save