Files
Hydro/packages/ui-default/pages/contest.page.ts
T

18 lines
663 B
TypeScript

import NProgress from 'nprogress';
import { NamedPage } from 'vj/misc/Page';
export default new NamedPage(['contest_detail', 'contest_detail_problem'], () => {
const beginAt = new Date(UiContext.tdoc.beginAt).getTime();
const endAt = new Date(UiContext.tdoc.endAt).getTime();
NProgress.configure({ trickle: false, showSpinner: false, minimum: 0 });
function updateProgress() {
const now = Date.now();
if (beginAt <= now && now <= endAt) NProgress.set((now - beginAt) / (endAt - beginAt));
else if (now > endAt) NProgress.set(1);
else NProgress.set(0);
}
NProgress.start();
updateProgress();
setInterval(updateProgress, 5000);
});