Initial commit
This commit is contained in:
commit
181d6b8914
6 changed files with 1462 additions and 0 deletions
681
app/index.html
Normal file
681
app/index.html
Normal file
File diff suppressed because one or more lines are too long
9
assets/anon.svg
Normal file
9
assets/anon.svg
Normal file
File diff suppressed because one or more lines are too long
After Width: | Height: | Size: 46 KiB |
23
assets/anvil.svg
Normal file
23
assets/anvil.svg
Normal file
|
@ -0,0 +1,23 @@
|
|||
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||
<!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
|
||||
<svg fill="#000000" height="800px" width="800px" version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
viewBox="0 0 512 512" xml:space="preserve">
|
||||
<g transform="translate(1 1)">
|
||||
<g>
|
||||
<path d="M504.724,137.96c4.074-12.905,6.276-26.621,6.276-40.826c0-5.12-3.413-8.533-8.533-8.533H152.6
|
||||
c-5.12,0-8.533,3.413-8.533,8.533V114.2H7.533c-5.12,0-8.533,3.413-8.533,8.533c0,61.44,49.493,110.933,110.933,110.933H152.6
|
||||
h13.79c8.898,8.688,15.684,18.143,20.343,29.013c0.655,1.309,1.437,2.362,2.343,3.169c4.636,11.454,7.044,23.769,7.044,36.084
|
||||
c0,26.034-10.865,50.512-28.886,68.267h-31.701c-14.507,0-25.6,11.093-25.6,25.6c0,14.507,11.093,25.6,25.6,25.6h238.933
|
||||
c14.507,0,25.6-11.093,25.6-25.6c0-14.507-11.093-25.6-25.6-25.6h-30.949c-18.692-17.826-28.785-43.043-28.785-68.267
|
||||
c0-25.223,10.092-50.441,28.044-68.267h31.689c54.908,0,102.511-32.852,124.138-79.869c0.476-0.6,0.914-1.275,1.302-2.051
|
||||
C501.702,147.259,503.314,142.652,504.724,137.96z M161.133,105.667h332.8c-0.853,11.947-3.413,23.04-7.68,34.133h-325.12v-17.067
|
||||
V105.667z M189.293,233.667h131.413c-3.982,5.388-7.496,11.106-10.525,17.067H200.387
|
||||
C196.973,244.76,193.56,238.787,189.293,233.667z M16.92,131.267h127.147v17.067V216.6h-33.28
|
||||
C61.293,216.6,21.187,179.053,16.92,131.267z M383,395.8c0,5.12-3.413,8.533-8.533,8.533H135.533c-5.12,0-8.533-3.413-8.533-8.533
|
||||
s3.413-8.533,8.533-8.533h34.133h170.667h34.133C379.587,387.267,383,390.68,383,395.8z M320.707,370.2H189.293
|
||||
c15.36-19.627,23.04-43.52,23.04-68.267c0-11.691-1.736-23.184-5.164-34.133h95.962c-3.539,10.95-5.464,22.443-5.464,34.133
|
||||
C297.667,326.68,306.2,350.573,320.707,370.2z M374.467,216.6H339.48H168.813h-7.68v-59.733h317.18
|
||||
C457.601,192.662,418.765,216.6,374.467,216.6z"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 1.9 KiB |
659
assets/index-0e5924d3.css
Normal file
659
assets/index-0e5924d3.css
Normal file
|
@ -0,0 +1,659 @@
|
|||
@font-face {
|
||||
font-family: Cera Pro;
|
||||
font-weight: 400;
|
||||
src: url(../assets/CeraPro-6e898994.ttf)
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: Cera Pro;
|
||||
font-weight: 500;
|
||||
src: url(../assets/CeraProMedium-68415c8e.otf)
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: Cera Pro;
|
||||
font-weight: 600;
|
||||
src: url(../assets/CeraProBold-ca2bcc9e.otf)
|
||||
}
|
||||
|
||||
*,
|
||||
:before,
|
||||
:after {
|
||||
box-sizing: border-box;
|
||||
border-width: 0;
|
||||
border-style: solid;
|
||||
border-color: #e5e7eb
|
||||
}
|
||||
|
||||
html {
|
||||
line-height: 1.25;
|
||||
-webkit-text-size-adjust: 100%;
|
||||
-moz-tab-size: 4;
|
||||
-o-tab-size: 4;
|
||||
tab-size: 4;
|
||||
font-family: Cera Pro, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen, Ubuntu, Cantarell, Open Sans, Helvetica Neue, sans-serif;
|
||||
font-feature-settings: normal;
|
||||
font-variation-settings: normal;
|
||||
/* min-height: 100%;
|
||||
height: auto;
|
||||
height: 100%; */
|
||||
max-height: none;
|
||||
}
|
||||
|
||||
body {
|
||||
margin: 0;
|
||||
line-height: inherit
|
||||
}
|
||||
|
||||
hr {
|
||||
height: 0;
|
||||
color: #000;
|
||||
border-top-width: 1px
|
||||
}
|
||||
|
||||
abbr:where([title]) {
|
||||
-webkit-text-decoration: underline dotted;
|
||||
text-decoration: underline dotted
|
||||
}
|
||||
|
||||
h1,
|
||||
h2,
|
||||
h3,
|
||||
h4,
|
||||
h5,
|
||||
h6 {
|
||||
font-size: inherit;
|
||||
font-weight: inherit
|
||||
}
|
||||
|
||||
a {
|
||||
color: inherit;
|
||||
text-decoration: inherit
|
||||
}
|
||||
|
||||
b,
|
||||
strong {
|
||||
font-weight: bolder
|
||||
}
|
||||
|
||||
code,
|
||||
kbd,
|
||||
samp,
|
||||
pre {
|
||||
font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace;
|
||||
font-size: 1em
|
||||
}
|
||||
|
||||
small {
|
||||
font-size: 80%
|
||||
}
|
||||
|
||||
sub,
|
||||
sup {
|
||||
font-size: 75%;
|
||||
line-height: 0;
|
||||
position: relative;
|
||||
vertical-align: baseline
|
||||
}
|
||||
|
||||
sub {
|
||||
bottom: -.25em
|
||||
}
|
||||
|
||||
sup {
|
||||
top: -.5em
|
||||
}
|
||||
|
||||
table {
|
||||
text-indent: 0;
|
||||
border-color: inherit;
|
||||
border-collapse: collapse
|
||||
}
|
||||
|
||||
button,
|
||||
input,
|
||||
optgroup,
|
||||
select,
|
||||
textarea {
|
||||
font-family: inherit;
|
||||
font-size: 100%;
|
||||
font-weight: inherit;
|
||||
line-height: inherit;
|
||||
color: inherit;
|
||||
margin: 0;
|
||||
padding: 0
|
||||
}
|
||||
|
||||
button,
|
||||
select {
|
||||
text-transform: none
|
||||
}
|
||||
|
||||
button,
|
||||
[type=button],
|
||||
[type=reset],
|
||||
[type=submit] {
|
||||
-webkit-appearance: button;
|
||||
appearance: button;
|
||||
background-color: transparent;
|
||||
background-image: none
|
||||
}
|
||||
|
||||
:-moz-focusring {
|
||||
outline: auto
|
||||
}
|
||||
|
||||
:-moz-ui-invalid {
|
||||
box-shadow: none
|
||||
}
|
||||
|
||||
progress {
|
||||
vertical-align: baseline
|
||||
}
|
||||
|
||||
::-webkit-inner-spin-button,
|
||||
::-webkit-outer-spin-button {
|
||||
height: auto
|
||||
}
|
||||
|
||||
[type=search] {
|
||||
-webkit-appearance: textfield;
|
||||
appearance: textfield;
|
||||
outline-offset: -2px
|
||||
}
|
||||
|
||||
::-webkit-search-decoration {
|
||||
-webkit-appearance: none
|
||||
}
|
||||
|
||||
::-webkit-file-upload-button {
|
||||
-webkit-appearance: button;
|
||||
font: inherit
|
||||
}
|
||||
|
||||
summary {
|
||||
display: list-item
|
||||
}
|
||||
|
||||
blockquote,
|
||||
dl,
|
||||
dd,
|
||||
h1,
|
||||
h2,
|
||||
h3,
|
||||
h4,
|
||||
h5,
|
||||
h6,
|
||||
hr,
|
||||
figure,
|
||||
p,
|
||||
pre {
|
||||
margin: 0
|
||||
}
|
||||
|
||||
fieldset {
|
||||
margin: 0;
|
||||
padding: 0
|
||||
}
|
||||
|
||||
legend {
|
||||
padding: 0
|
||||
}
|
||||
|
||||
ol,
|
||||
ul,
|
||||
menu {
|
||||
list-style: none;
|
||||
margin: 0;
|
||||
padding: 0
|
||||
}
|
||||
|
||||
textarea {
|
||||
resize: vertical
|
||||
}
|
||||
|
||||
input::-moz-placeholder,
|
||||
textarea::-moz-placeholder {
|
||||
opacity: 1;
|
||||
color: #9ca3af
|
||||
}
|
||||
|
||||
input::placeholder,
|
||||
textarea::placeholder {
|
||||
opacity: 1;
|
||||
color: #9ca3af
|
||||
}
|
||||
|
||||
button,
|
||||
[role=button] {
|
||||
cursor: pointer
|
||||
}
|
||||
|
||||
:disabled {
|
||||
cursor: default
|
||||
}
|
||||
|
||||
img,
|
||||
svg,
|
||||
video,
|
||||
canvas,
|
||||
audio,
|
||||
iframe,
|
||||
embed,
|
||||
object {
|
||||
display: block;
|
||||
}
|
||||
|
||||
img,
|
||||
video {
|
||||
max-width: 100%;
|
||||
height: auto
|
||||
}
|
||||
|
||||
[hidden] {
|
||||
display: none
|
||||
}
|
||||
|
||||
body,
|
||||
html,
|
||||
#root {
|
||||
font-family: Cera Pro, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen, Ubuntu, Cantarell, Open Sans, Helvetica Neue, sans-serif;
|
||||
background-color: rgb(248 248 248);
|
||||
background-size: cover;
|
||||
width: 100%;
|
||||
min-height: 100%;
|
||||
height: 100% !important;
|
||||
max-height: none;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
h1,
|
||||
h2,
|
||||
h3 {
|
||||
font-weight: 500
|
||||
}
|
||||
|
||||
h1 {
|
||||
font-size: 2.25rem;
|
||||
/*line-height: 2.5rem*/
|
||||
}
|
||||
|
||||
h2 {
|
||||
font-size: 1.5rem;
|
||||
/*line-height: 2rem*/
|
||||
}
|
||||
|
||||
h3 {
|
||||
font-size: 1.25rem;
|
||||
/*line-height: 1.75rem*/
|
||||
}
|
||||
|
||||
h4 {
|
||||
font-size: 1.125rem;
|
||||
/*line-height: 1.75rem*/
|
||||
}
|
||||
|
||||
|
||||
|
||||
.btn-primary {
|
||||
--tw-text-opacity: 1;
|
||||
color: rgb(66 165 245 / var(--tw-text-opacity));
|
||||
background-color: #4fc3f74d
|
||||
}
|
||||
|
||||
.btn-primary:hover {
|
||||
--tw-bg-opacity: 1;
|
||||
background-color: rgb(66 165 245 / var(--tw-bg-opacity));
|
||||
--tw-text-opacity: 1;
|
||||
color: rgb(248 248 248 / var(--tw-text-opacity))
|
||||
}
|
||||
|
||||
.btn-secondary {
|
||||
--tw-text-opacity: 1;
|
||||
color: rgb(3 54 40 / var(--tw-text-opacity));
|
||||
background-color: #55ad95
|
||||
}
|
||||
|
||||
.btn-secondary:hover {
|
||||
--tw-bg-opacity: 1;
|
||||
background-color: rgb(85 173 149 / var(--tw-bg-opacity));
|
||||
--tw-text-opacity: 1;
|
||||
color: rgb(248 248 248 / var(--tw-text-opacity))
|
||||
}
|
||||
|
||||
#left-col {
|
||||
flex: 1;
|
||||
width: 20%;
|
||||
position: relative;
|
||||
overflow-y: scroll;
|
||||
word-break: break-word;
|
||||
}
|
||||
|
||||
#right-col {
|
||||
flex: 4;
|
||||
width: 80%;
|
||||
overflow-y: auto;
|
||||
word-break: break-word;
|
||||
}
|
||||
|
||||
#appContainer{
|
||||
display: flex;
|
||||
height: 100%;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
#markscheme-box, #report-box{
|
||||
min-height: 100%;
|
||||
overflow-y: scroll;
|
||||
}
|
||||
|
||||
.square-container {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
/* min-height: 100%;
|
||||
height: 100%;
|
||||
max-height: none; */
|
||||
width: auto;
|
||||
background-color: #ffffff;
|
||||
align-items: left;
|
||||
margin: 1em;
|
||||
border: 1px solid #ccc;
|
||||
border-radius: 8px;
|
||||
overflow: scroll;
|
||||
}
|
||||
|
||||
.specification {
|
||||
display: grid;
|
||||
align-items: flex-start;
|
||||
gap: 1em;
|
||||
margin: 10px;
|
||||
}
|
||||
|
||||
.question {
|
||||
display: flex;
|
||||
/*flex-direction: column;*/
|
||||
max-width: 100%;
|
||||
flex-wrap: wrap;
|
||||
gap: 1em;
|
||||
margin: 10px;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.marks {
|
||||
order: 1;
|
||||
margin-left: auto;
|
||||
}
|
||||
.question_part_label {
|
||||
order: -1;
|
||||
}
|
||||
|
||||
.dark-mode {
|
||||
filter: invert(100%);
|
||||
}
|
||||
|
||||
.btn-primary {
|
||||
font-weight: 500;
|
||||
border-radius: .25rem;
|
||||
padding: .25rem;
|
||||
-webkit-padding-end: .5rem;
|
||||
padding-inline-end: .5rem;
|
||||
-webkit-padding-start: .5rem;
|
||||
padding-inline-start: .5rem
|
||||
}
|
||||
|
||||
.btn-secondary {
|
||||
font-weight: 500;
|
||||
border-radius: .25rem;
|
||||
padding: .25rem;
|
||||
-webkit-padding-end: .5rem;
|
||||
padding-inline-end: .5rem;
|
||||
-webkit-padding-start: .5rem;
|
||||
padding-inline-start: .5rem
|
||||
}
|
||||
|
||||
.fixed {
|
||||
position: fixed
|
||||
}
|
||||
|
||||
.left-0 {
|
||||
left: 0px
|
||||
}
|
||||
|
||||
.right-0 {
|
||||
right: 0px
|
||||
}
|
||||
|
||||
.top-0 {
|
||||
top: 0px
|
||||
}
|
||||
|
||||
.m-0 {
|
||||
margin: 0
|
||||
}
|
||||
|
||||
.me-2 {
|
||||
-webkit-margin-end: .5rem;
|
||||
margin-inline-end: .5rem
|
||||
}
|
||||
|
||||
.me-auto {
|
||||
-webkit-margin-end: auto;
|
||||
margin-inline-end: auto
|
||||
}
|
||||
|
||||
.ms-2 {
|
||||
-webkit-margin-start: .5rem;
|
||||
margin-inline-start: .5rem
|
||||
}
|
||||
|
||||
.ms-auto {
|
||||
-webkit-margin-start: auto;
|
||||
margin-inline-start: auto
|
||||
}
|
||||
|
||||
.mt-16 {
|
||||
margin-top: 4rem
|
||||
}
|
||||
|
||||
.mt-2 {
|
||||
margin-top: .5rem
|
||||
}
|
||||
|
||||
.mt-32 {
|
||||
margin-top: 8rem
|
||||
}
|
||||
|
||||
.mt-4 {
|
||||
margin-top: 1rem
|
||||
}
|
||||
|
||||
.flex {
|
||||
display: flex
|
||||
}
|
||||
|
||||
.hidden {
|
||||
display: none
|
||||
}
|
||||
|
||||
.h-full {
|
||||
height: 100%;
|
||||
max-height: none;
|
||||
min-height: 100%;
|
||||
}
|
||||
|
||||
.w-1\/5 {
|
||||
width: 20%
|
||||
}
|
||||
|
||||
.w-4\/5 {
|
||||
width: 80%
|
||||
}
|
||||
|
||||
.w-full {
|
||||
width: 100%
|
||||
}
|
||||
|
||||
.shrink {
|
||||
flex-shrink: 1
|
||||
}
|
||||
|
||||
.flex-grow,
|
||||
.grow {
|
||||
flex-grow: 1
|
||||
}
|
||||
|
||||
.basis-0 {
|
||||
flex-basis: 0px
|
||||
}
|
||||
|
||||
.cursor-pointer {
|
||||
cursor: pointer
|
||||
}
|
||||
|
||||
.flex-col {
|
||||
flex-direction: column
|
||||
}
|
||||
|
||||
.items-start {
|
||||
align-items: flex-start
|
||||
}
|
||||
|
||||
.items-center {
|
||||
align-items: center
|
||||
}
|
||||
|
||||
.justify-center {
|
||||
justify-content: center
|
||||
}
|
||||
|
||||
.justify-between {
|
||||
justify-content: space-between
|
||||
}
|
||||
|
||||
.justify-evenly {
|
||||
justify-content: space-evenly
|
||||
}
|
||||
|
||||
.overflow-auto {
|
||||
overflow: auto
|
||||
}
|
||||
|
||||
.rounded {
|
||||
border-radius: .25rem
|
||||
}
|
||||
|
||||
.rounded-full {
|
||||
border-radius: 9999px
|
||||
}
|
||||
|
||||
.border {
|
||||
border-width: 1px
|
||||
}
|
||||
|
||||
.bg-black\/70 {
|
||||
background-color: #000000b3
|
||||
}
|
||||
|
||||
.bg-gray-100 {
|
||||
background-color: rgb(248 248 248)
|
||||
}
|
||||
|
||||
.bg-gray-400\/30 {
|
||||
background-color: #9ca3af4d
|
||||
}
|
||||
|
||||
.bg-red-300\/30 {
|
||||
background-color: #fca5a54d
|
||||
}
|
||||
|
||||
.bg-secondary\/30 {
|
||||
background-color: #4fc3f74d
|
||||
}
|
||||
|
||||
.bg-white {
|
||||
background-color: rgb(255 255 255)
|
||||
}
|
||||
|
||||
.p-0 {
|
||||
padding: 0
|
||||
}
|
||||
|
||||
.p-2 {
|
||||
padding: .5rem
|
||||
}
|
||||
|
||||
.p-3 {
|
||||
padding: .75rem
|
||||
}
|
||||
|
||||
.p-4 {
|
||||
padding: 1rem
|
||||
}
|
||||
|
||||
.pt-3 {
|
||||
padding-top: .75rem
|
||||
}
|
||||
|
||||
.pt-5 {
|
||||
padding-top: 1.25rem
|
||||
}
|
||||
|
||||
.text-center {
|
||||
text-align: center
|
||||
}
|
||||
|
||||
.font-sans {
|
||||
font-family: Cera Pro, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen, Ubuntu, Cantarell, Open Sans, Helvetica Neue, sans-serif
|
||||
}
|
||||
|
||||
.font-serif {
|
||||
font-family: Times New Roman, Times, ui-serif, Georgia, Cambria, serif
|
||||
}
|
||||
|
||||
.text-lg {
|
||||
font-size: 1.125rem;
|
||||
line-height: 1.75rem
|
||||
}
|
||||
|
||||
.font-medium {
|
||||
font-weight: 500
|
||||
}
|
||||
|
||||
.text-gray-500 {
|
||||
--tw-text-opacity: 1;
|
||||
color: rgb(107 114 128 / var(--tw-text-opacity))
|
||||
}
|
||||
|
||||
.text-neutralVariant {
|
||||
--tw-text-opacity: 1;
|
||||
color: rgb(178 186 187 / var(--tw-text-opacity))
|
||||
}
|
||||
|
||||
.text-primary {
|
||||
--tw-text-opacity: 1;
|
||||
color: rgb(66 165 245 / var(--tw-text-opacity))
|
||||
}
|
||||
|
||||
.text-secondary {
|
||||
--tw-text-opacity: 1;
|
||||
color: rgb(79 195 247 / var(--tw-text-opacity))
|
||||
}
|
||||
|
||||
@media (min-width: 768px) {
|
||||
.md\:h-3\/4 {
|
||||
height: 75%
|
||||
}
|
||||
|
||||
.md\:w-1\/2 {
|
||||
width: 50%
|
||||
}
|
||||
|
||||
.md\:w-3\/4 {
|
||||
width: 75%
|
||||
}
|
||||
}
|
||||
|
||||
#landingPage {
|
||||
max-width: 1200px
|
||||
}
|
2
favicon.svg
Normal file
2
favicon.svg
Normal file
|
@ -0,0 +1,2 @@
|
|||
<?xml version="1.0" encoding="utf-8"?><!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
|
||||
<svg fill="#000000" width="800px" height="800px" viewBox="0 0 512 512" xmlns="http://www.w3.org/2000/svg"><path d="M501.54 60.91c17.22-17.22 12.51-46.25-9.27-57.14a35.696 35.696 0 0 0-37.37 3.37L251.09 160h151.37l99.08-99.09zM496 192H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h16c0 80.98 50.2 150.11 121.13 178.32-12.76 16.87-21.72 36.8-24.95 58.69-1.46 9.92 6.04 18.98 16.07 18.98h223.5c10.03 0 17.53-9.06 16.07-18.98-3.22-21.89-12.18-41.82-24.95-58.69C429.8 406.11 480 336.98 480 256h16c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16z"/></svg>
|
After Width: | Height: | Size: 669 B |
88
index.html
Normal file
88
index.html
Normal file
|
@ -0,0 +1,88 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<link rel="icon" type="image/svg+xml" href="./favicon.svg" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Mortar & Pestle</title>
|
||||
<link rel="stylesheet" href="./assets/index-0e5924d3.css">
|
||||
<script>
|
||||
function toggleDarkMode() {
|
||||
const body = document.body;
|
||||
const button = document.querySelector('.btn-primary');
|
||||
body.classList.toggle('dark-mode');
|
||||
|
||||
if (body.classList.contains('dark-mode')) {
|
||||
button.style.position = 'static';
|
||||
button.style.zIndex = 'auto';
|
||||
} else {
|
||||
button.style.position = 'fixed';
|
||||
button.style.zIndex = '9999';
|
||||
button.style.right = '0';
|
||||
}
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div id="root">
|
||||
<div class="me-auto ms-auto flex flex-col items-center p-4 pt-3" id="landingPage">
|
||||
<header class="flex w-full items-start" style="position: fixed">
|
||||
<div style="position: fixed; right: 15px; z-index: 9999;"><button class="btn-primary" onclick="toggleDarkMode()">Dark Mode</button></div>
|
||||
</header>
|
||||
<div>
|
||||
<div style="text-align:center;"><h1><b>Mortar & Pestle</b></h1><br></div>
|
||||
<h1>The <em>Next Generation</em> of Question Grinding</h1>
|
||||
</div><br>
|
||||
<div class="mt-4" style="text-align:center;">
|
||||
<h2>Practice IB Exam-Style Questions, create topic-wise tests, and much more!</h2><br>
|
||||
<h2 style="color:orangered">Warning: This site is on early beta release, and it is <b>NOT</b> optimized for mobile.</h2>
|
||||
</div>
|
||||
<br>
|
||||
<div class="p-3" style="text-align:center;"><a href="app/index.html"><button class="btn-primary"><h1>Start Grinding!</h1></button></a></div>
|
||||
<br>
|
||||
<div class="mt-8 font-medium text-neutralVariant">
|
||||
<h2>Features</h2>
|
||||
</div>
|
||||
<section class="flex w-full justify-evenly pt-5">
|
||||
<div class="flex shrink grow basis-0 flex-col items-center">
|
||||
<div class="rounded-full bg-secondary/30 p-2"><svg xmlns="http://www.w3.org/2000/svg" width="24"
|
||||
height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
|
||||
stroke-linecap="round" stroke-linejoin="round">
|
||||
<line x1="12" y1="5" x2="12" y2="19"></line>
|
||||
<line x1="5" y1="12" x2="19" y2="12"></line>
|
||||
</svg></div>
|
||||
<div class="font-medium text-gray-500">Combine Topics</div>
|
||||
</div>
|
||||
<div class="flex shrink grow basis-0 flex-col items-center">
|
||||
<div class="rounded-full bg-red-300/30 p-2">
|
||||
<!-- <svg xmlns="http://www.w3.org/2000/svg" width="24"
|
||||
height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
|
||||
stroke-linecap="round" stroke-linejoin="round">
|
||||
<path d="M20.24 12.24a6 6 0 0 0-8.49-8.49L5 10.5V19h8.5z"></path>
|
||||
<line x1="16" y1="8" x2="2" y2="22"></line>
|
||||
<line x1="17.5" y1="15" x2="9" y2="15"></line>
|
||||
</svg> -->
|
||||
<img src="./assets/anvil.svg" width="24"
|
||||
height="24" viewBox="0 0 24 24">
|
||||
|
||||
</div>
|
||||
<div class="font-medium text-gray-500">Heavy but powerful</div>
|
||||
</div>
|
||||
<div class="flex shrink grow basis-0 flex-col items-center">
|
||||
<div class="rounded-full bg-gray-400/30 p-2"><img src="./assets/anon.svg"
|
||||
alt="anonymous image"></div>
|
||||
<div class="font-medium text-gray-500">No trackers/cookies</div>
|
||||
</div>
|
||||
</section>
|
||||
<br>
|
||||
</div>
|
||||
|
||||
<footer class="mt-16 flex flex-col text-center">
|
||||
<p><a href="https://reddit.com/r/pirateIB">IB Documents (2) Team</a><br>#freexiletow</p>
|
||||
</footer>
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
Loading…
Add table
Add a link
Reference in a new issue