Add prototype files

This commit is contained in:
Sasha Koshka 2022-10-08 19:20:43 -04:00
parent b92527da4f
commit 0bd5fa1fd4
3 changed files with 321 additions and 1 deletions

View File

@ -1,3 +1,5 @@
# mintea
Minimal Gitea web interface
Minimal Gitea web interface.
I've honestly never had mint tea but I bet it's pretty good.

137
prototype/index.html Normal file
View File

@ -0,0 +1,137 @@
<!DOCTYPE html>
<html>
<head>
<title>mintea</title>
<meta content="width=device-width, initial-scale=1" name="viewport">
<link rel="stylesheet" href="style.css"></link>
<script>
/*
@licstart The following is the entire license notice for the
JavaScript code in this page.
Copyright (C) 2022 Sasha Koshka (pseudonymous)
The JavaScript code in this page is free software: you can
redistribute it and/or modify it under the terms of the GNU
General Public License (GNU GPL) as published by the Free Software
Foundation, either version 3 of the License, or (at your option)
any later version. The code is distributed WITHOUT ANY WARRANTY;
without even the implied warranty of MERCHANTABILITY or FITNESS
FOR A PARTICULAR PURPOSE. See the GNU GPL for more details.
As additional permission under GNU GPL version 3 section 7, you
may distribute non-source (e.g., minimized or compacted) forms of
that code without the copy of the GNU GPL normally required by
section 4, provided you include this license notice and a URL
through which recipients can access the Corresponding Source.
@licend The above is the entire license notice
for the JavaScript code in this page.
*/
</script>
</head>
<body>
<div id=stickyWrap>
<nav>
<ul class=buttonList>
<li><a href="/">tebibyte</a></li>
<li><a href="/">dashboard</a></li>
<li><a href="/">profile</a></li>
<li><a href="/">notifications</a></li>
</ul>
</nav>
</div>
<header>
viewing
<a href="/">owner</a>/<a href="/">repo</a>/<a href="/">branch</a> as user
</header>
<div class=tabs id=mainTabs>
<ul class=buttonList>
<li><a href="/">code</a></li>
<li><a href="/">history</a></li>
<li><a href="/">tags</a></li>
<li><a href="/">issues</a></li>
<li><a href="/">pull requests</a></li>
<li><a href="/">projects</a></li>
<li><a href="/">releases</a></li>
<li><a href="/">settings</a></li>
</ul>
</div>
<div id=contentWrap>
<aside>
<p class=sidebarLabel>
<a href="/">/</a><a href="/">name/</a>
</p>
<table class=files border=1>
<tbody>
<tr>
<td>file name</td>
<td>most recent commit</td>
<td><time datetime="2023-01-01">in 2 months</time></td>
</tr>
<tr>
<td>file name</td>
<td>most recent commit</td>
<td><time datetime="2023-01-01">in 2 months</time></td>
</tr>
<tr>
<td>file name</td>
<td>most recent commit</td>
<td><time datetime="2023-01-01">in 2 months</time></td>
</tr>
<tr>
<td>file name</td>
<td>most recent commit</td>
<td><time datetime="2023-01-01">in 2 months</time></td>
</tr>
</tbody>
</table>
</aside>
<main>
<p class=previewLabel>README.md</p>
<article class=preview>
<h1>Some Repository</h1>
<p>Ratione quis totam tempora sit magnam voluptas. Recusandae qui illo nulla eligendi. Perspiciatis iusto numquam suscipit aspernatur quibusdam ex.</p>
<p>Consequuntur atque rerum culpa numquam et et possimus dolor. Quidem possimus quia et consectetur. Debitis autem cupiditate vero maxime et libero quae. Tenetur vero architecto iure dolores numquam assumenda enim.</p>
<p>Dolorem facere animi quis repudiandae rerum dolor. Reprehenderit consequatur quae quia quos illum. Labore ducimus ut quaerat et corrupti cupiditate tenetur.</p>
<p>Nisi ut aut sunt dignissimos. Alias magnam itaque deleniti alias quibusdam id possimus eos. Reiciendis et eos placeat. Vero eligendi occaecati quaerat vitae voluptatem deserunt.</p>
<p>Dolor aut corrupti et officia id. Minus ipsam assumenda fugiat neque. Neque et saepe maiores iusto maiores. Dolor et at reprehenderit exercitationem totam neque.</p>
<h2>Heading</h2>
<p>Ratione quis totam tempora sit magnam voluptas. Recusandae qui illo nulla eligendi. Perspiciatis iusto numquam suscipit aspernatur quibusdam ex.</p>
<p>Consequuntur atque rerum culpa numquam et et possimus dolor. Quidem possimus quia et consectetur. Debitis autem cupiditate vero maxime et libero quae. Tenetur vero architecto iure dolores numquam assumenda enim.</p>
<p>Dolorem facere animi quis repudiandae rerum dolor. Reprehenderit consequatur quae quia quos illum. Labore ducimus ut quaerat et corrupti cupiditate tenetur.</p>
<p>Nisi ut aut sunt dignissimos. Alias magnam itaque deleniti alias quibusdam id possimus eos. Reiciendis et eos placeat. Vero eligendi occaecati quaerat vitae voluptatem deserunt.</p>
<p>Dolor aut corrupti et officia id. Minus ipsam assumenda fugiat neque. Neque et saepe maiores iusto maiores. Dolor et at reprehenderit exercitationem totam neque.</p>
<h2>Heading</h2>
<p>Ratione quis totam tempora sit magnam voluptas. Recusandae qui illo nulla eligendi. Perspiciatis iusto numquam suscipit aspernatur quibusdam ex.</p>
<p>Consequuntur atque rerum culpa numquam et et possimus dolor. Quidem possimus quia et consectetur. Debitis autem cupiditate vero maxime et libero quae. Tenetur vero architecto iure dolores numquam assumenda enim.</p>
<p>Dolorem facere animi quis repudiandae rerum dolor. Reprehenderit consequatur quae quia quos illum. Labore ducimus ut quaerat et corrupti cupiditate tenetur.</p>
<p>Nisi ut aut sunt dignissimos. Alias magnam itaque deleniti alias quibusdam id possimus eos. Reiciendis et eos placeat. Vero eligendi occaecati quaerat vitae voluptatem deserunt.</p>
<p>Dolor aut corrupti et officia id. Minus ipsam assumenda fugiat neque. Neque et saepe maiores iusto maiores. Dolor et at reprehenderit exercitationem totam neque.</p>
</article>
</main>
</div>
<script>
let stickyWrap = document.querySelector("#stickyWrap")
document.addEventListener ("scroll", () => {
if (document.documentElement.scrollTop > 0) {
stickyWrap.className = "lifted"
} else {
stickyWrap.className = ""
}
})
</script>
<footer>
mintea gitea frontend. page: #s. template: #s.
</footer>
</body>
</html>

181
prototype/style.css Normal file
View File

@ -0,0 +1,181 @@
:root {
--glass: #EEEEEE77;
--background: #EEE;
--foreground: #333;
--subtle-foreground: #888;
--outline: #00000015;
--accent: #209D6E;
--subtle-accent: #209D6E30;
--shadow: 0 4px 32px #03281A12;
}
* {
box-sizing: border-box;
scrollbar-color: var(--accent) transparent;
}
*::selection {
background-color: var(--subtle-accent);
}
body {
background: var(--background);
color: var(--foreground);
font-size: 10pt;
font-family: monospace;
margin: 0;
}
a {
color: var(--accent);
text-decoration: none;
}
a:hover {
text-decoration: underline;
}
h1 {
font-size: 2em;
font-weight: bold;
border-bottom: 1px solid var(--outline);
margin: 0.5em 0;
padding-bottom: 0.2em;
}
h2 {
font-size: 1.5em;
font-weight: bold;
margin: 1em 0;
}
h3 {
font-size: 1em;
font-weight: bold;
margin: 1em 0;
}
#contentWrap, #mainTabs, header, nav, footer {
max-width: 90rem;
margin: auto;
}
#stickyWrap {
position: sticky;
top: 0;
transition: 0.2s box-shadow;
z-index: 255;
}
#stickyWrap.lifted {
background: var(--glass);
backdrop-filter: blur(32px);
box-shadow: var(--shadow);
border-bottom: 1px solid var(--outline);
}
nav {
padding: 1rem;
}
.buttonList {
margin: 0;
padding: 0;
}
.buttonList li {
display: inline;
}
.buttonList a {
margin-right: 1em;
}
header {
padding: 0 1rem;
}
#contentWrap {
padding: 1rem;
}
@media screen and not (min-width: 60rem) {
aside {
margin-bottom: 1rem;
}
}
@media screen and (min-width: 60rem) {
#contentWrap {
display: grid;
grid-gap: 1rem;
grid-template-columns: 24rem auto;
}
}
@media screen and (min-width: 80rem) {
#contentWrap {
grid-template-columns: 36rem auto;
}
}
.tabs {
padding: 1rem 1rem 0 1rem;
position: relative;
}
.tabs::after {
position: absolute;
display: block;
width: 1rem;
height: 100%;
top: 0;
right: 1rem;
content: "";
background-image: linear-gradient(to right, transparent 0%, var(--background) 100%);
}
.tabs ul {
overflow-x: auto;
white-space: nowrap;
scrollbar-width: thin;
max-width: 100%;
display: inline;
}
.files {
border-collapse:collapse;
border: none;
width: 100%;
}
.files tr {
display: grid;
grid-template-columns: 30% auto 30%;
}
.files td {
border: none;
padding: 0;
}
.files td:last-child {
text-align: right;
}
.files tr:not(:last-child) {
border-bottom: 1px solid var(--outline);
padding-bottom: 0.5rem;
margin-bottom: 0.5rem;
}
footer {
padding: 1rem;
text-align: center;
color: var(--subtle-foreground);
}
/* please leave this at the very bottom */
*:first-child { margin-top: 0 }
*:last-child { margin-bottom: 0 }