<?php if (Auth::check()): ?>
<?php if (!isset($groups_hidden)): ?>
<?php $groups = queryGroupsOfUser(Auth::id()); ?>
<?php if (count($groups)): ?>
<div class="card card-default mb-2" id="group-user-announcements">
	<div class="card-header fw-bold bg-transparent">
		<?= UOJLocale::get('group announcements') ?>
	</div>
	<ul class="list-group list-group-flush">
		<?php foreach ($groups as $group): ?>
			<?php
				$group_detail = DB::selectFirst("select * from groups where id = {$group['id']}");
			$group_announcement = $group_detail['announcement'];
			?>
			<li class="list-group-item">
				<a class="fw-bold text-decoration-none" href="<?= HTML::url('/group/'.$group['id']) ?>">
					<?= $group['title'] ?>
				</a>
				<?php if ($group_announcement): ?>
				<div class="text-break">
					<?= HTML::purifier_inline()->purify($group_announcement) ?>
				</div>
				<?php else: ?>
				<div class="text-muted">
					<?= UOJLocale::get('none') ?>
				</div>
				<?php endif ?>
			</li>
		<?php endforeach ?>
	</ul>
</div>

<?php if (!isset($assignments_hidden)): ?>
<?php
	$assignments = [];
	foreach ($groups as $group) {
		$assignments = array_merge($assignments, queryGroupActiveAssignments($group['id']));
	}

	usort($assignments, function($a, $b) {
		$deadline_a = DateTime::createFromFormat('Y-m-d H:i:s', $a['deadline']);
		$deadline_b = DateTime::createFromFormat('Y-m-d H:i:s', $b['deadline']);

		return $deadline_a->getTimestamp() - $deadline_b->getTimestamp();
	});
	?>
<?php if (count($assignments)): ?>
<div class="card card-default mb-2" id="group-assignments">
	<div class="card-header fw-bold bg-transparent">
		<?= UOJLocale::get('assignments') ?>
	</div>
	<ul class="list-group list-group-flush">
		<?php foreach ($assignments as $assignment): ?>
			<li class="list-group-item">
				<?php
				$deadline = DateTime::createFromFormat('Y-m-d H:i:s', $assignment['deadline']);
			$create_time = DateTime::createFromFormat('Y-m-d H:i:s', $assignment['create_time']);
			$now = new DateTime();
			?>
				<a href="<?= HTML::url('/assignment/'.$assignment['id']) ?>" class="fw-bold text-decoration-none">
					<?= $assignment['title'] ?>
					<?php if ($deadline < $now): ?>
						<sup class="fw-normal text-danger">overdue</sup>
					<?php elseif ($deadline->getTimestamp() - $now->getTimestamp() < 86400): ?>
						<sup class="fw-normal text-danger">soon</sup>
					<?php elseif ($now->getTimestamp() - $create_time->getTimestamp() < 86400): ?>
						<sup class="fw-normal text-danger">new</sup>
					<?php endif ?>
				</a>
				<div class="text-end small text-muted">
					截止时间: <?= $deadline->format('Y-m-d H:i') ?>
				</div>
			</li>
		<?php endforeach ?>
	</ul>
</div>
<?php endif // count($assignments) ?>
<?php endif // !isset($assignments_hidden) ?>
<?php endif // count($groups) ?>
<?php endif // !isset($group_hidden) ?>
<?php endif // Auth::check() ?>

<?php if (!UOJConfig::$data['switch']['force-login'] || Auth::check()): ?>
<?php if (!isset($upcoming_contests_hidden)): ?>
<?php
	$upcoming_contests = DB::selectAll("SELECT * FROM contests WHERE status = 'unfinished' ORDER BY start_time ASC, id ASC LIMIT 7");
	?>
<div class="card card-default mb-2" id="group-user-announcements">
	<div class="card-header fw-bold bg-transparent">
		近期比赛
	</div>
	<?php $count = 0; ?>
	<ul class="list-group list-group-flush">
		<?php foreach ($upcoming_contests as $contest): ?>
			<?php genMoreContestInfo($contest) ?>
			<?php if ($contest['cur_progress'] == CONTEST_NOT_STARTED || $contest['cur_progress'] == CONTEST_IN_PROGRESS): ?>
			<?php $count++; ?>
			<li class="list-group-item text-center">
				<a class="fw-bold text-decoration-none" href="<?= HTML::url('/contest/'.$contest['id']) ?>">
					<?= $contest['name'] ?>
				</a>
				<div class="small">
				<?php if ($contest['cur_progress'] == CONTEST_IN_PROGRESS): ?>
				<?= UOJLocale::get('contests::in progress') ?>
				<?php else: ?>
				<?php
						$rest_seconds = $contest['start_time']->getTimestamp() - UOJTime::$time_now->getTimestamp();
					?>
				<?php if ($rest_seconds > 86400): ?>
				<?= UOJLocale::get('contests::will start in x days', ceil($rest_seconds / 86400)) ?>
				<?php else: ?>
				<div id="contest-<?= $contest['id'] ?>-countdown"></div>
				<script>$('#contest-<?= $contest['id'] ?>-countdown').countdown(<?= $rest_seconds ?>, function(){}, 'inherit', false);</script>
				<?php endif ?>
				<?php endif ?>
				</div>
			</li>
			<?php endif ?>
		<?php endforeach ?>
		<?php if ($count == 0): ?>
			<li class="list-group-item text-center">
				<?= UOJLocale::get('none') ?>
			</li>
		<?php endif ?>
	</ul>
	<div class="card-footer bg-transparent text-center small">
		<a class="text-decoration-none" href="<?= HTML::url('/contests?all=true') ?>">
			<?= UOJLocale::get('view all') ?>
		</a>
	</div>
</div>
<?php endif // !isset($upcoming_contests_hidden) ?>
<?php endif // !UOJConfig::$data['switch']['force-login'] || Auth::check() ?>