Fixed a bunch of styles
parent
754f07be1b
commit
507ea9dd13
|
@ -99,6 +99,22 @@ body {
|
|||
padding-right: 14px;
|
||||
}
|
||||
|
||||
.page-title
|
||||
{
|
||||
font-weight: 300;
|
||||
font-size: 3.2rem;
|
||||
display: inline-block;
|
||||
margin-left: -3px;
|
||||
padding-right: 0.5rem;
|
||||
padding-left: 0.5rem;
|
||||
}
|
||||
|
||||
.page-title-tag
|
||||
{
|
||||
font-size: 3.2rem;
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.form-title
|
||||
{
|
||||
font-weight: 300;
|
||||
|
@ -131,6 +147,15 @@ body {
|
|||
margin: 30px;
|
||||
}
|
||||
|
||||
.card-header {
|
||||
color: white;
|
||||
padding: 1rem;
|
||||
padding-top: 1.5rem;
|
||||
padding-bottom: 0.5rem;
|
||||
font-size: 2rem;
|
||||
font-weight: 300;
|
||||
}
|
||||
|
||||
/* MEDIUM */
|
||||
@media only screen and (max-width : 992px) {
|
||||
.cont {
|
||||
|
|
|
@ -77,7 +77,7 @@
|
|||
{% if logged_in %}
|
||||
|
||||
<li><a href="{{ url_for('team_dashboard') }}">
|
||||
<div class="side-icon"><i class="material-icons teal-text">track_changes</i></div>
|
||||
<div class="side-icon"><i class="material-icons indigo-text">track_changes</i></div>
|
||||
<div class="side-text">My Team</div>
|
||||
</a></li>
|
||||
<li><a href="{{ url_for('user_dashboard') }}">
|
||||
|
|
|
@ -30,7 +30,10 @@
|
|||
</style>
|
||||
{% endblock %}
|
||||
{% block content %}
|
||||
<h2>{{ team.name }}</h2>
|
||||
<div class="page-title-wrapper">
|
||||
<div class="page-title-tag indigo indigo-text">_</div>
|
||||
<div class="page-title white">{{ team.name }}</div>
|
||||
</div>
|
||||
<section>
|
||||
<div class="row">
|
||||
<div class="col s12">
|
||||
|
@ -43,75 +46,90 @@
|
|||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<section>
|
||||
<h4>Team information</h4>
|
||||
<p>Your score is currently {{ team_score }}. <a href="{{ url_for('challenges') }}">Go solve more challenges!</a></p>
|
||||
<p>Your team email is <code>{{ team.email }}</code>, and you are affiliated with
|
||||
{{ team.affiliation }}.</p>
|
||||
<p>Your team is currently marked {{ "eligible" if team.eligible() else "ineligible" }}.</p>
|
||||
</section>
|
||||
<section>
|
||||
<h4>Edit information</h4>
|
||||
<form method="POST">
|
||||
<div class="input-field">
|
||||
<label for="team-name">Team Name</label>
|
||||
<input required maxlength="50" id="team-name" name="team_name" type="text" value="{{ team.name }}" />
|
||||
<div class="row">
|
||||
<div class="col s12 m6">
|
||||
<div class="card">
|
||||
<div class="card-header teal">
|
||||
Team
|
||||
</div>
|
||||
<div class="card-content">
|
||||
<p>Your score is currently {{ team_score }}. <a href="{{ url_for('challenges') }}">Go solve more challenges!</a></p>
|
||||
{{ team.affiliation }}.</p>
|
||||
<p>Your team is currently marked {{ "eligible" if team.eligible() else "ineligible" }}.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="input-field">
|
||||
<label for="affiliation">Affiliation</label>
|
||||
<input required maxlength="100" id="affiliation" name="team_affiliation" type="text" value="{{ team.affiliation }}" />
|
||||
<div class="col s12 m6">
|
||||
<div class="card">
|
||||
<div class="card-header purple">Edit Information</div>
|
||||
<div class="card-content">
|
||||
<form method="POST">
|
||||
<div class="input-field">
|
||||
<label for="team-name">Team Name</label>
|
||||
<input required maxlength="50" id="team-name" name="team_name" type="text" value="{{ team.name }}" />
|
||||
</div>
|
||||
<div class="input-field">
|
||||
<label for="affiliation">Affiliation</label>
|
||||
<input required maxlength="100" id="affiliation" name="team_affiliation" type="text" value="{{ team.affiliation }}" />
|
||||
</div>
|
||||
<input name="_csrf_token" type="hidden" value="{{ csrf_token() }}" />
|
||||
<br /><br />
|
||||
<button class="btn waves-effect waves-light right" type="submit">Update</button>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<input name="_csrf_token" type="hidden" value="{{ csrf_token() }}" />
|
||||
<br /><br />
|
||||
<button class="btn waves-effect waves-light" type="submit">Update team</button>
|
||||
</form>
|
||||
</section>
|
||||
<section>
|
||||
<h4>Score calculation</h4>
|
||||
{% if team_solves.count() %}
|
||||
<h5>Solved problems</h5>
|
||||
<div class="row">
|
||||
<div class="col s10 offset-s1">
|
||||
<table>
|
||||
<thead>
|
||||
<tr><th>Name</th><th>Category</th><th>Time</th><th>Value</th></tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{% for solve in team_solves %}
|
||||
<tr>
|
||||
<td>{{ solve.challenge.name }}</td>
|
||||
<td>{{ solve.challenge.category }}</td>
|
||||
<td><abbr class="time" title="{{ solve.time }}">{{ solve.time }}</abbr></td>
|
||||
<td>{{ solve.challenge.points }}</td>
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="card">
|
||||
<div class="card-header orange">Score Calculation</div>
|
||||
<div class="card-content">
|
||||
{% if team_solves.count() %}
|
||||
<h5>Solved problems</h5>
|
||||
<div class="row">
|
||||
<div class="col s10 offset-s1">
|
||||
<table>
|
||||
<thead>
|
||||
<tr><th>Name</th><th>Category</th><th>Time</th><th>Value</th></tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{% for solve in team_solves %}
|
||||
<tr>
|
||||
<td>{{ solve.challenge.name }}</td>
|
||||
<td>{{ solve.challenge.category }}</td>
|
||||
<td><abbr class="time" title="{{ solve.time }}">{{ solve.time }}</abbr></td>
|
||||
<td>{{ solve.challenge.points }}</td>
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
{% else %}
|
||||
<p>No problems have been solved.</p>
|
||||
{% endif %}
|
||||
{% if team_adjustments.count() %}
|
||||
<h5>Score adjustments</h5>
|
||||
<div class="row">
|
||||
<div class="col s10 offset-s1">
|
||||
<table>
|
||||
<thead>
|
||||
<tr><th>Reason</th><th>Value</th></tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{% for adj in team_adjustments %}
|
||||
<tr>
|
||||
<td>{{ adj.reason }}</td>
|
||||
<td>{{ adj.value }}</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
{% else %}
|
||||
<p>No score adjustments have been made.</p>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
{% else %}
|
||||
<p>No problems have been solved.</p>
|
||||
{% endif %}
|
||||
{% if team_adjustments.count() %}
|
||||
<h5>Score adjustments</h5>
|
||||
<div class="row">
|
||||
<div class="col s10 offset-s1">
|
||||
<table>
|
||||
<thead>
|
||||
<tr><th>Reason</th><th>Value</th></tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{% for adj in team_adjustments %}
|
||||
<tr>
|
||||
<td>{{ adj.reason }}</td>
|
||||
<td>{{ adj.value }}</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
{% else %}
|
||||
<p>No score adjustments have been made.</p>
|
||||
{% endif %}
|
||||
</section>
|
||||
</div>
|
||||
{% endblock %}
|
||||
|
|
|
@ -30,7 +30,11 @@
|
|||
</style>
|
||||
{% endblock %}
|
||||
{% block content %}
|
||||
<h2>{{ user.username }}</h2>
|
||||
<div class="page-title-wrapper">
|
||||
<div class="page-title-tag teal teal-text">_</div>
|
||||
<div class="page-title white">{{ user.username }}</div>
|
||||
</div>
|
||||
|
||||
{% if not user.email_confirmed %}
|
||||
<div class="row">
|
||||
<div class="col s12">
|
||||
|
@ -52,74 +56,74 @@
|
|||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
<section>
|
||||
<h4>Edit information</h4>
|
||||
<form method="POST">
|
||||
<div class="row no-bot">
|
||||
<div class="input-field col s12">
|
||||
<input class="validate" required maxlength="50" id="username" name="username" type="text" value="{{ user.username }}" />
|
||||
<label for="team-name">Username</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row no-bot">
|
||||
<div class="input-field col s12">
|
||||
<input class="validate" required id="email" name="email" type="email" value="{{ user.email }}" />
|
||||
<label for="email">Email</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row no-bot">
|
||||
<div class="input-field col s6">
|
||||
<input class="validate" id="password" name="password" type="password" />
|
||||
<label for="password">Password</label>
|
||||
</div>
|
||||
<div class="input-field col s6">
|
||||
<input class="validate" id="confirm_password" name="confirm_password" type="password" />
|
||||
<label for="confirm_password">Confirm Password</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row no-bot">
|
||||
<div class="input-field col s6">
|
||||
<select required id="background" name="background">
|
||||
{{select.genoption(select.Backgrounds, selected=user.background)|safe}}
|
||||
</select>
|
||||
<label for="background">Background</label>
|
||||
</div>
|
||||
<div class="input-field col s6">
|
||||
<select required name="country" id="country">
|
||||
{{select.genoption(select.Countries, selected=user.country)|safe}}
|
||||
</select>
|
||||
<label>Country</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row no-bot">
|
||||
<div class="input-field col s6">
|
||||
<select required name="tshirt_size" id="tshirt_size">
|
||||
{{select.genoption(select.TShirts, selected=user.tshirt_size)|safe}}
|
||||
</select>
|
||||
<label>Shirt Size</label>
|
||||
</div>
|
||||
<div class="input-field col s6">
|
||||
{% if user.gender == 'M' %}
|
||||
<input name="gender" type="radio" id="male" value="M" checked="checked" />
|
||||
<label for="male">Male</label>
|
||||
<input name="gender" type="radio" id="female" value="F" />
|
||||
<label for="female" style="margin-left: 1rem;">Female</label>
|
||||
{% elif user.gender == 'F' %}
|
||||
<input name="gender" type="radio" id="male" value="M" />
|
||||
<label for="male">Male</label>
|
||||
<input name="gender" type="radio" id="female" value="F" checked="checked" />
|
||||
<label for="female" style="margin-left: 1rem;">Female</label>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
<div class="row no-bot">
|
||||
<div class="col s12 m6">
|
||||
<button class="btn waves-effect waves-light right register-submit" type="submit">Update information</button>
|
||||
</div>
|
||||
</div>
|
||||
<input name="_csrf_token" type="hidden" value="{{ csrf_token() }}" />
|
||||
</form>
|
||||
</section>
|
||||
<div class="card">
|
||||
<div class="card-header purple">Edit Information</div>
|
||||
<div class="card-content">
|
||||
<form method="POST">
|
||||
<div class="row no-bot">
|
||||
<div class="input-field col s12">
|
||||
<input class="validate" required maxlength="50" id="username" name="username" type="text" value="{{ user.username }}" />
|
||||
<label for="team-name">Username</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row no-bot">
|
||||
<div class="input-field col s12">
|
||||
<input class="validate" required id="email" name="email" type="email" value="{{ user.email }}" />
|
||||
<label for="email">Email</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row no-bot">
|
||||
<div class="input-field col s6">
|
||||
<input class="validate" id="password" name="password" type="password" />
|
||||
<label for="password">Password</label>
|
||||
</div>
|
||||
<div class="input-field col s6">
|
||||
<input class="validate" id="confirm_password" name="confirm_password" type="password" />
|
||||
<label for="confirm_password">Confirm Password</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row no-bot">
|
||||
<div class="input-field col s6">
|
||||
<select required id="background" name="background">
|
||||
{{select.genoption(select.Backgrounds, selected=user.background)|safe}}
|
||||
</select>
|
||||
<label for="background">Background</label>
|
||||
</div>
|
||||
<div class="input-field col s6">
|
||||
<select required name="country" id="country">
|
||||
{{select.genoption(select.Countries, selected=user.country)|safe}}
|
||||
</select>
|
||||
<label>Country</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row no-bot">
|
||||
<div class="input-field col s6">
|
||||
<select required name="tshirt_size" id="tshirt_size">
|
||||
{{select.genoption(select.TShirts, selected=user.tshirt_size)|safe}}
|
||||
</select>
|
||||
<label>Shirt Size</label>
|
||||
</div>
|
||||
<div class="input-field col s6">
|
||||
{% if user.gender == 'M' %}
|
||||
<input name="gender" type="radio" id="male" value="M" checked="checked" />
|
||||
<label for="male">Male</label>
|
||||
<input name="gender" type="radio" id="female" value="F" />
|
||||
<label for="female" style="margin-left: 1rem;">Female</label>
|
||||
{% elif user.gender == 'F' %}
|
||||
<input name="gender" type="radio" id="male" value="M" />
|
||||
<label for="male">Male</label>
|
||||
<input name="gender" type="radio" id="female" value="F" checked="checked" />
|
||||
<label for="female" style="margin-left: 1rem;">Female</label>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
<div class="row no-bot">
|
||||
<button class="btn waves-effect waves-light right register-submit" type="submit">Update</button>
|
||||
</div>
|
||||
<input name="_csrf_token" type="hidden" value="{{ csrf_token() }}" />
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
<div id="firstlogin" class="modal">
|
||||
<div class="modal-content">
|
||||
<h4>Welcome to {{ config.ctf_name }}!</h4>
|
||||
|
|
Loading…
Reference in New Issue