Newer
Older
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Group Allocator</title>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3" crossorigin="anonymous">
<link href="css/main.css" rel="stylesheet" />
<body onload="start();" class="bg-light">
<div id="header" class="bg-dark text-light">
<div class="container">
<h1 class="display-1">Allocator</h1>
</div>
<div class="container">
<!-- Name Entry Stage -->
<div id="stage-name" class="stage">
<form class="form" onsubmit="changeName(); return false;">
<div class="form-group">
<label for="input-name" class="display-2">Hi, my name is...</label>
<input required class="form-control mt-3" name="studentName" id="input-name" placeholder="Matt Watkins" />
</div>
<label for="input-code" class="display-3">The code is...</label>
<input required class="form-control" name="studentName" id="input-code" placeholder="COMP140-12" />
<button type="submit" class="btn my-2 btn-primary">Ready</button>
<hr />
<h2 onclick="showPassword();">Staff Options</h2>
<div class="form-group staff-only d-none">
<label for="input-password" class="display-3">The password is...</label>
<input class="form-control" name="password" id="input-password" type="password" />
</div>
</form>
</div>
<!-- Application Stage -->
<div id="stage-submitted" class="d-none">
<h2 class="display-2">Hi, <span id="span-name">NAME</span></h2>
<hr />
<div id="stage-wait" class="stage">
<p class="display-3 pulse bg-dark text-center p-3">Waiting for students...</p>
</div>
<div id="stage-allocated" class="stage d-none">
<!-- Allocation Page -->
<p class="display-3 text-center p-3 m-0">Group <span id="span-team">GROUP</span></p>
<ul class="display-4 list-unstyled p-3 m-0" id="span-members">
</ul>
</div>
<span onclick="logout();">logout</span>
<div id="stage-error" class="stage d-none">
<h2 class="display-1">Error</h2>
<p class="lead">An error has occoured and the server has killed the connection. Refresh the page.</p>
</div>
<!-- Staff Stage -->
<div id="stage-staff" class="stage d-none">
<form class="row row-cols-lg-auto g-3 align-items-center" onsubmit="onStartAllocate(); return false;">
<div class="col-12">
<div class="input-group"></div>
<input class="form-control" type="number" min="0" max="999" id="input-ideal" />
</div>
<div class="col-12">
<select class="form-select" id="input-method">
<option value="groups">groups in total</option>
<option value="members">students per group</option>
</select>
</div>
<div class="col-12">
<div class="input-group"></div>
<input class="form-control" type="number" min="1" value="2" max="999" id="input-minsize" />
<span class="input-group-text">minimum</span>
</div>
<div class="col-12">
<button class="btn btn-primary" />Start</button>
</div>
</form>
<hr />
<ul class="nav nav-tabs" id="tab-groupings">
<li class="nav-item" role="presentation">
<button class="nav-link active" id="staff-groupings-label" data-bs-toggle="tab" data-bs-target="#staff-groupings-panel" type="button" role="tab">Groups</button>
</li>
<li class="nav-item" role="presentation">
<button class="nav-link" id="staff-students-label" data-bs-toggle="tab" data-bs-target="#staff-students-panel" type="button" role="tab">Students</button>
</li>
</ul>
<div class="tab-content">
<div class="tab-pane fade show active" id="staff-groupings-panel">
<div id="staff-groupings" class="row row-cols-1 row-cols-md-2 g-4 mt-2"></div>
</div>
<div class="tab-pane fade" id="staff-students-panel" class="row row-cols-1 row-cols-md-2 g-4">
<div id="staff-students" class="row row-cols-1 row-cols-md-2 g-4 mt-2"></div>
</div>
<div class="card-body">
<h3 class="card-title">Group name</h3>
</div>
<ul class="list-group list-group-flush"></ul>
</div>
<template id="tpl-student">
<div class="col">
<div class="card h-100">
<div class="card-body">
<h3 class="card-title">Student name</h3>
<a href="#" class="rename card-link">Rename</a>
<a href="#" class="notify card-link">Notify</a>
<a href="#" class="kick card-link">Kick</a>
<div class="container">
<hr />
<p>This browser-toy was created by <a href="https://joseph.walton-rivers.uk">Joseph Walton-Rivers</a></p>
</div>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-ka7Sk0Gln4gmtz2MlQnikT1wXgYsOg+OMhuP+IlRH9sENBO0LRn5q+8nbTov4+1p" crossorigin="anonymous"></script>
<script src="js/client.js"></script>
</body>
</html>