mirror of
https://github.com/renbaoshuo/S2OJ.git
synced 2024-11-08 14:48:41 +00:00
feat(contest/standings): wider table when has > 8 problems
All checks were successful
continuous-integration/drone/push Build is passing
All checks were successful
continuous-integration/drone/push Build is passing
This commit is contained in:
parent
b952c2f00b
commit
72ec5e63f4
@ -8,6 +8,8 @@ Auth::check() || redirectToLogin();
|
|||||||
UOJContest::init(UOJRequest::get('id')) || UOJResponse::page404();
|
UOJContest::init(UOJRequest::get('id')) || UOJResponse::page404();
|
||||||
UOJContest::cur()->userCanView(Auth::user(), ['ensure' => true, 'check-register' => true]);
|
UOJContest::cur()->userCanView(Auth::user(), ['ensure' => true, 'check-register' => true]);
|
||||||
|
|
||||||
|
$PageContainerClass = 'container';
|
||||||
|
|
||||||
$contest = UOJContest::info();
|
$contest = UOJContest::info();
|
||||||
$is_manager = UOJContest::cur()->userCanManage(Auth::user());
|
$is_manager = UOJContest::cur()->userCanManage(Auth::user());
|
||||||
|
|
||||||
@ -235,7 +237,13 @@ if ($cur_tab == 'dashboard') {
|
|||||||
} else {
|
} else {
|
||||||
$reply_question = null;
|
$reply_question = null;
|
||||||
}
|
}
|
||||||
|
} elseif ($cur_tab == 'standings') {
|
||||||
|
$PageContainerClass = 'container-fluid';
|
||||||
|
} elseif ($cur_tab == 'after_contest_standings') {
|
||||||
|
$PageContainerClass = 'container-fluid';
|
||||||
} elseif ($cur_tab == 'self_reviews') {
|
} elseif ($cur_tab == 'self_reviews') {
|
||||||
|
$PageContainerClass = 'container-fluid';
|
||||||
|
|
||||||
$self_reviews_update_form = new UOJForm('self_reviews_update');
|
$self_reviews_update_form = new UOJForm('self_reviews_update');
|
||||||
$self_reviews_update_form->config['ctrl_enter_submit'] = true;
|
$self_reviews_update_form->config['ctrl_enter_submit'] = true;
|
||||||
$self_reviews_update_form->addHidden('self_reviews_update__username', '', function ($username, &$vdata) {
|
$self_reviews_update_form->addHidden('self_reviews_update__username', '', function ($username, &$vdata) {
|
||||||
@ -471,7 +479,14 @@ function echoSelfReviews() {
|
|||||||
] + UOJContest::cur()->queryResult());
|
] + UOJContest::cur()->queryResult());
|
||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
<?php echoUOJPageHeader($tabs_info[$cur_tab]['name'] . ' - ' . UOJContest::info('name') . ' - ' . UOJLocale::get('contests::contest')) ?>
|
|
||||||
|
<?php
|
||||||
|
|
||||||
|
echoUOJPageHeader($tabs_info[$cur_tab]['name'] . ' - ' . UOJContest::info('name') . ' - ' . UOJLocale::get('contests::contest'), [
|
||||||
|
'PageContainerClass' => $PageContainerClass,
|
||||||
|
]);
|
||||||
|
|
||||||
|
?>
|
||||||
|
|
||||||
<div class="text-center d-md-none mb-3">
|
<div class="text-center d-md-none mb-3">
|
||||||
<h1><?= $contest['name'] ?></h1>
|
<h1><?= $contest['name'] ?></h1>
|
||||||
@ -493,7 +508,7 @@ function echoSelfReviews() {
|
|||||||
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div <?php if ($cur_tab == 'standings' || $cur_tab == 'after_contest_standings' || $cur_tab == 'self_reviews') : ?> class="col-12" <?php else : ?> class="col-md-9" <?php endif ?>>
|
<div <?php if ($cur_tab == 'standings' || $cur_tab == 'after_contest_standings' || $cur_tab == 'self_reviews') : ?> class="col-12" <?php else : ?> class="col-md-9" <?php endif ?>>
|
||||||
<?= HTML::tablist($tabs_info, $cur_tab, 'nav-pills') ?>
|
<?= HTML::tablist($tabs_info, $cur_tab, 'nav-pills container uoj-contest-nav') ?>
|
||||||
<?php if ($cur_tab == 'standings' || $cur_tab == 'after_contest_standings' || $cur_tab == 'self_reviews') : ?>
|
<?php if ($cur_tab == 'standings' || $cur_tab == 'after_contest_standings' || $cur_tab == 'self_reviews') : ?>
|
||||||
<div class="d-none d-md-block text-center">
|
<div class="d-none d-md-block text-center">
|
||||||
<h1 class="mt-2 mb-3"><?= $contest['name'] ?></h1>
|
<h1 class="mt-2 mb-3"><?= $contest['name'] ?></h1>
|
||||||
|
@ -40,8 +40,8 @@ foreach ($contest_data['people'] as $person) {
|
|||||||
?>
|
?>
|
||||||
|
|
||||||
<?php if ($contest['extra_config']['basic_rule'] === 'ACM') : ?>
|
<?php if ($contest['extra_config']['basic_rule'] === 'ACM') : ?>
|
||||||
<div class="text-warning">
|
<div class="text-warning-emphasis text-center">
|
||||||
ACM 比赛的赛后总结暂时不支持显示附加信息。
|
ACM 比赛的赛后总结暂时不支持显示罚时、附加题等信息。
|
||||||
</div>
|
</div>
|
||||||
<?php endif ?>
|
<?php endif ?>
|
||||||
|
|
||||||
@ -74,8 +74,8 @@ foreach ($contest_data['people'] as $person) {
|
|||||||
standings,
|
standings,
|
||||||
1,
|
1,
|
||||||
'<tr>' +
|
'<tr>' +
|
||||||
'<th style="width:2em">#</th>' +
|
'<th style="width:3em">#</th>' +
|
||||||
'<th style="width:8em">' + uojLocale('username') + '</th>' +
|
'<th style="width:14em">' + uojLocale('username') + '</th>' +
|
||||||
'<th style="width:5em">' + uojLocale('contests::total score') + '</th>' +
|
'<th style="width:5em">' + uojLocale('contests::total score') + '</th>' +
|
||||||
$.map(problems, function(col, idx) {
|
$.map(problems, function(col, idx) {
|
||||||
return '<th style="width:10em">' + '<a href="/contest/' + contest_id + '/problem/' + col + '" class="text-decoration-none">' + String.fromCharCode('A'.charCodeAt(0) + idx) + '</a>' + '</th>';
|
return '<th style="width:10em">' + '<a href="/contest/' + contest_id + '/problem/' + col + '" class="text-decoration-none">' + String.fromCharCode('A'.charCodeAt(0) + idx) + '</a>' + '</th>';
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
</h4>
|
</h4>
|
||||||
<?php endif ?>
|
<?php endif ?>
|
||||||
|
|
||||||
<div id="standings"></div>
|
<div id="standings" class="container"></div>
|
||||||
|
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
var contest_rule = <?= json_encode($contest['extra_config']['basic_rule']) ?>;
|
var contest_rule = <?= json_encode($contest['extra_config']['basic_rule']) ?>;
|
||||||
@ -19,5 +19,9 @@
|
|||||||
var after_contest = <?= json_encode(isset($after_contest) && $after_contest) ?>;
|
var after_contest = <?= json_encode(isset($after_contest) && $after_contest) ?>;
|
||||||
var first_accepted = {};
|
var first_accepted = {};
|
||||||
|
|
||||||
|
if (problems.length > 8) {
|
||||||
|
$('#standings').removeClass('container');
|
||||||
|
}
|
||||||
|
|
||||||
$(document).ready(showStandings());
|
$(document).ready(showStandings());
|
||||||
</script>
|
</script>
|
||||||
|
@ -9,6 +9,9 @@ if (!isset($PageMainTitleOnSmall)) {
|
|||||||
if (!isset($ShowPageHeader)) {
|
if (!isset($ShowPageHeader)) {
|
||||||
$ShowPageHeader = true;
|
$ShowPageHeader = true;
|
||||||
}
|
}
|
||||||
|
if (!isset($PageContainerClass)) {
|
||||||
|
$PageContainerClass = 'container';
|
||||||
|
}
|
||||||
?>
|
?>
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html lang="<?= UOJLocale::locale() ?>">
|
<html lang="<?= UOJLocale::locale() ?>">
|
||||||
@ -245,4 +248,4 @@ if (!isset($ShowPageHeader)) {
|
|||||||
<?php uojIncludeView($PageNav, array('REQUIRE_LIB' => $REQUIRE_LIB)) ?>
|
<?php uojIncludeView($PageNav, array('REQUIRE_LIB' => $REQUIRE_LIB)) ?>
|
||||||
<?php endif ?>
|
<?php endif ?>
|
||||||
|
|
||||||
<div class="uoj-content container flex-fill">
|
<div class="uoj-content <?= $PageContainerClass ?> flex-fill">
|
||||||
|
@ -488,3 +488,17 @@ form.form-horizontal {
|
|||||||
.white-space-pre {
|
.white-space-pre {
|
||||||
white-space: pre !important;
|
white-space: pre !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Contest Nav */
|
||||||
|
|
||||||
|
.uoj-content.container-fluid .uoj-contest-nav {
|
||||||
|
padding-left: 0.75rem !important;
|
||||||
|
padding-right: 0.75rem !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (max-width: 1200px) {
|
||||||
|
.uoj-content.container-fluid .uoj-contest-nav {
|
||||||
|
padding-left: 0 !important;
|
||||||
|
padding-right: 0 !important;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@ -1762,10 +1762,7 @@ function setACMStandingsTH(th, i, meta) {
|
|||||||
if (i == -3) {
|
if (i == -3) {
|
||||||
return $(th).css('width', '3em').text('#');
|
return $(th).css('width', '3em').text('#');
|
||||||
} else if (i == -2) {
|
} else if (i == -2) {
|
||||||
if (problems.length <= 10) {
|
return $(th).css('width', '14em').text(uojLocale('username'));
|
||||||
$(th).css('width', '14em');
|
|
||||||
}
|
|
||||||
return $(th).text(uojLocale('username'));
|
|
||||||
} else if (i == -1) {
|
} else if (i == -1) {
|
||||||
return $(th).css('width', '5em').text(uojLocale('contests::total score'));
|
return $(th).css('width', '5em').text(uojLocale('contests::total score'));
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user