computersandblues.lodestone/public/index.html

274 lines
5.8 KiB
HTML

<!doctype html>
<html>
<head>
<meta charset="utf-8" />
<title>Lodestone</title>
<meta name="viewport" content="width=device-width, initial-scale=1" />
<style>
*, *:before, *:after { box-sizing: border-box; }
html, body { padding: 0; margin: 0; }
body {
margin: 24px;
min-height: 100vh;
max-width: 960px;
background: #fbf5de;
color: #222;
font-family: sans-serif;
font-size: 16px;
line-height: 1.2;
}
@media screen and (min-width: 768px) {
body {
margin: 24px;
}
}
h1, h2, h3 {
font-family: serif;
margin: 0;
}
h1 {
font-size: 36px;
line-height: 48px;
margin-bottom: 12px;
}
h2 {
font-size: 24px;
line-height: 30px;
margin-bottom: 6px;
}
h3 {
clear: both;
font-size: 18px;
line-height: 24px;
margin-bottom: 6px;
}
img,
video {
max-width: 100%;
height: auto;
}
p {
margin: 16px 0;
}
img.illustration {
width: 150px;
height: auto;
float: left;
margin-right: 24px;
margin-bottom: 24px;
mix-blend-mode: luminosity;
vertical-align: middle;
}
p.intro {
font-size: 20px;
}
#root {
clear: both;
}
input,
button {
margin: 6px 0;
padding: 6px;
border: 2px solid #222;
color: #222;
background: rgba(255, 255, 255, 0.8);
}
button[disabled] {
opacity: 0.6;
cursor: not-allowed;
}
section.login label,
section.login input {
display: block;
width: 100%;
max-width: 480px;
}
section.login label {
padding: 6px 0;
margin: 6px 0;
}
section.posts .controls {
padding: 0 0 36px;
display: grid;
grid-template:
"a"
"b"
"c";
}
section.posts .controls .search-form input {
width: 80%;
}
section.posts .controls .loading-indicator {
width: 20px;
height: 20px;
vertical-align: middle;
margin-left: 16px;
overflow: visible;
}
section.posts .controls .loading-indicator .arc {
/* svg */
fill: transparent;
stroke-width: 20;
stroke-linecap: round;
stroke-linejoin: round;
stroke: #dccb8b;
animation: spin 2s ease-in-out infinite;
transform-origin: 50px 50px;
}
@keyframes spin {
100% {
transform: rotate(360deg);
}
}
section.posts .controls .buttons {
display: flex;
justify-content: end;
flex-wrap: wrap;
}
section.posts .controls .post-info {
grid-area: b;
}
section.posts .controls .search-form {
grid-area: c;
}
section.posts .controls .buttons {
grid-area: a;
}
@media screen and (min-width: 640px) {
section.posts .controls .post-info {
grid-area: a;
}
section.posts .controls .search-form {
grid-area: b;
}
section.posts .controls .search-form input {
width: auto;
}
section.posts .controls .buttons {
grid-area: c;
}
}
section.posts .controls .control-button {
padding: 6px;
margin: 6px 0 6px 12px;
background: #f5e6ab;
color: #444;
cursor: pointer;
text-decoration: none;
display: inline-block;
border: none;
}
section.posts ul.results {
margin: 0;
padding: 0;
list-style-type: none;
}
section.posts ul.results li.result {
padding: 36px 0;
border-top: 2px dotted #dccb8b;
}
section.posts .post .metadata {
display: grid;
grid-template-columns: 1fr 1fr;
}
section.posts .post .metadata .post-info {
text-align: right;
}
section.posts .post .metadata .mentions,
section.posts .post .metadata .date {
color: #777;
}
section.posts .post .content p:last-child {
margin-bottom: 0
}
section.posts .post .content + .attachments {
margin-top: 18px;
}
section.posts .post .controls {
margin: 24px 0 0;
padding: 0;
list-style-type: none;
display: flex;
justify-content: end;
flex-wrap: wrap;
}
@media screen and (min-width: 640px) {
section.posts .post .controls .control-element a {
margin: 0 0 0 12px;
}
}
code {
font-family: monospace;
padding: .16rem .24rem;
font-size: 92%;
background: #4c462f;
color: #eee;
margin: .16rem;
}
blockquote {
margin-left: 0;
padding: 16px 0 16px 24px;
border-left: 3px solid #f5e6ab;
}
blockquote p:first-child {
margin-top: 0;
}
blockquote p:last-child {
margin-bottom: 0;
}
</style>
</head>
<body>
<img class="illustration" src="./img/lodestone_attracting_nails_small.jpeg" width="150" />
<h1>Lodestone</h1>
<p class="intro">Lodestone helps you navigate the Fediverse.</p>
<p>It gives you a tool to quickly search through your favorite posts, and helps you rediscover the things you found relevant.</p>
<div id="root">
Loading application…
<noscript>Please turn on JavaScript to run the application.</noscript>
</div>
<script src="./js/main.js"></script>
</body>
</html>