Compare commits

...

4 commits

Author SHA1 Message Date
hexlocation pc
a910e6549a chore(cargo): update lock
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
2024-07-13 10:45:23 +02:00
hexlocation pc
25f9cd96ff feat(guest): add 'back' button on post & refresh when post is made. 2024-07-13 10:44:53 +02:00
hexlocation pc
e9379d1e23 feat(index): add appriopriate 'section buttons' for each about-section. 2024-07-13 10:44:23 +02:00
hexlocation pc
f1d37a7141 feat(index): add appriopriate 'section buttons' for each about-section. 2024-07-13 10:44:02 +02:00
4 changed files with 75 additions and 155 deletions

16
Cargo.lock generated
View file

@ -167,9 +167,9 @@ checksum = "514de17de45fdb8dc022b1a7975556c53c86f9f0aa5f534b98977b171857c2c9"
[[package]]
name = "cc"
version = "1.1.0"
version = "1.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "eaff6f8ce506b9773fa786672d63fc7a191ffea1be33f72bbd4aeacefca9ffc8"
checksum = "907d8581360765417f8f2e0e7d602733bbed60156b4465b7617243689ef9b83d"
[[package]]
name = "cfg-if"
@ -1606,9 +1606,9 @@ dependencies = [
[[package]]
name = "syn"
version = "2.0.70"
version = "2.0.71"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2f0209b68b3613b093e0ec905354eccaedcfe83b8cb37cbdeae64026c3064c16"
checksum = "b146dcf730474b4bcd16c311627b31ede9ab149045db4d6088b3becaea046462"
dependencies = [
"proc-macro2",
"quote",
@ -1651,18 +1651,18 @@ dependencies = [
[[package]]
name = "thiserror"
version = "1.0.61"
version = "1.0.62"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c546c80d6be4bc6a00c0f01730c08df82eaa7a7a61f11d656526506112cc1709"
checksum = "f2675633b1499176c2dff06b0856a27976a8f9d436737b4cf4f312d4d91d8bbb"
dependencies = [
"thiserror-impl",
]
[[package]]
name = "thiserror-impl"
version = "1.0.61"
version = "1.0.62"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "46c3384250002a6d5af4d114f2845d37b57521033f30d5c3f46c4d70e1197533"
checksum = "d20468752b09f49e909e55a5d338caa8bedf615594e9d80bc4c565d30faf798c"
dependencies = [
"proc-macro2",
"quote",

View file

@ -1,7 +1,7 @@
<div id="page-container">
<div id="header-container">
<h1 id="title">iwakura.rip</h1>
<a class="link" onclick="show_message_poster()" style="margin-bottom: 10px;">&nbsp;[ post message ]&nbsp;</a>
<h1 id="title"><a href="/">iwakura.rip</a></h1>
<a class="link" id="msg-post" onclick="show_message_poster()" style="margin-bottom: 10px;">&nbsp;[ post message ]&nbsp;</a>
</div>
<div id="entries-container">
{% for message in messages %}
@ -27,9 +27,19 @@
</div>
</div>
<script>
let show_post_message = false;
let show_message_poster = () => {
if (!show_post_message) {
show_post_message = !show_post_message
document.getElementById("entries-container").style.display = "none";
document.getElementById("post-container").style.display = "flex";
document.getElementById("msg-post").innerText = " [ back ] ";
return
}
document.getElementById("msg-post").innerText = " [ post message ] "
show_post_message = !show_post_message
document.getElementById("entries-container").style.display = "flex";
document.getElementById("post-container").style.display = "none";
}
let send_msg = async () => {
fetch("/post_message", {
@ -38,10 +48,18 @@
body: document.getElementById("msg-box").value,
name: document.getElementById("name-box").value
}),
}).then(x => {
window.location.reload()
})
}
</script>
<style>
a {
text-decoration: none;
}
a:active {
text-decoration: none;
}
:root {
--term-color: #4AF626;
--title-gap: 0px;
@ -92,6 +110,7 @@ label {
float: left;
}
.link {
cursor: default;
align-items: center;
margin-left: auto;
margin-right: auto;

View file

@ -9,20 +9,32 @@
<a id="anim-4" href="https://blog.iwakura.rip">&nbsp;[ blog ]&nbsp;</a>
</div>
<div class="link-container" id="main-container">
<a onclick="showAbout()">&nbsp;[ about ]&nbsp;</a>
<a onclick="showContainer(aboutContainer)">&nbsp;[ about ]&nbsp;</a>
<a onclick="showContainer(serviceContainer)">&nbsp;[ services ]&nbsp;</a>
<a href="/guestbook">&nbsp;[ guestbook ]&nbsp;</a>
</div>
<div class="link-container" id="about-container">
<a onclick="showSect(aboutSect)">&nbsp;[ i ]&nbsp;</a>
<a onclick="showSect(explaSect)">&nbsp;[ ? ]&nbsp;</a>
<a onclick="showSect(disclSect)">&nbsp;[ ! ]&nbsp;</a>
</div>
</div>
<br>
<div id="about-box" class="fadeIn">
<div id="about-sect">
<bu>About</bu>
<p>iwakura.rip is a collection of servers hosting mostly-private services for hexlocation & friends.</p>
</div>
<div id="expla-sect">
<bu>Explanation</bu>
<p>Most of the gifs/art/names/ui design is inspired by/based on <a href="https://en.wikipedia.org/wiki/Serial_Experiments_Lain"><b>Serial Experiments Lain</b></a>, an anime series about Lain <u>Iwakura</u></p>
</div>
<div id="discl-sect">
<bu>Disclaimer</bu>
<p>Serial Experiments Lain is the property of Triangle Studios. iwakura.rip is not affiliated with Triangle Studios.</p>
</div>
</div>
</div>
<style>
@keyframes fadeIn {
to {
@ -41,7 +53,7 @@ bu {
font-weight: bold;
text-decoration: underline;
}
#about-box{
#expla-sect, #discl-sect, #about-sect {
opacity:0;
display:none;
}
@ -99,13 +111,20 @@ a {
</style>
<script>
let getId = (i) => document.getElementById(i);
let serviceContainer = getId('service-container');
let mainContainer = getId('main-container');
let aboutContainer = getId('about-box');
let aboutContainer = getId('about-container');
let aboutSect = getId('about-sect');
let disclSect = getId('discl-sect');
let explaSect = getId('expla-sect');
let sections = [aboutSect, disclSect, explaSect];
mainContainer.classList.add("fadeIn");
let containers = [serviceContainer, mainContainer];
let containers = [serviceContainer, mainContainer, aboutContainer];
function showContainer(container){
for (let _container of containers) {
//_container.style.display = "none";
@ -116,8 +135,23 @@ a {
container.classList.add("fadeIn");
container.style.display = "flex";
}
let showSect = (s) => {
for (let _s of sections) {
console.log(_s)
if (_s == s) continue;
_s.style.display = "none";
}
s.style.display = "block";
s.classList.add("fadeIn");
}
let showAbout = () => document.getElementById('about-box').style.display = "block";
document.getElementById("main-img").onclick = () => {
showContainer(mainContainer)
for (let _s of sections) {
_s.style.display="none";
_s.classList.remove("fadeIn");
}
}
</script>

View file

@ -1,133 +0,0 @@
<div id="main-content">
<div id="middle-box">
<p style="text-align: center;margin-bottom: 5px;">[ iwakura.rip ]</p>
<img id="main-img" style="display:block;margin-left:auto;margin-right:auto;" src="https://media1.tenor.com/m/OlHMWq46CtAAAAAC/serial-experiments-lain-lain.gif" width="332" height="235">
<div class="link-container" id="service-container">
<a id="anim-1" href="https://mail.iwakura.rip">&nbsp;[ mail ]&nbsp;</a>
<a id="anim-2" href="https://git.iwakura.rip">&nbsp;[ git ]&nbsp;</a>
<a id="anim-3" href="https://media.iwakura.rip">&nbsp;[ media ]&nbsp;</a>
<a id="anim-4" href="https://blog.iwakura.rip">&nbsp;[ blog ]&nbsp;</a>
</div>
<div class="link-container" id="main-container">
<a onclick="showAbout()">&nbsp;[ about ]&nbsp;</a>
<a onclick="showContainer(serviceContainer)">&nbsp;[ services ]&nbsp;</a>
</div>
</div>
<br>
<div id="about-box" class="fadeIn">
<bu>About</bu>
<p>iwakura.rip is a collection of servers hosting mostly-private services for hexlocation & friends.</p>
<bu>Explanation</bu>
<p>Most of the gifs/art/names/ui design is inspired by/based on <a href="https://en.wikipedia.org/wiki/Serial_Experiments_Lain"><b>Serial Experiments Lain</b></a>, an anime series about Lain <u>Iwakura</u></p>
<bu>Disclaimer</bu>
<p>Serial Experiments Lain is the property of Triangle Studios. iwakura.rip is not affiliated with Triangle Studios.</p>
</div>
</div>
<style>
@keyframes fadeIn {
to {
opacity: 1;
}
}
@keyframes fadeOut {
0% {
opacity: 1;
}
100% {
opacity: 0;
}
}
bu {
font-weight: bold;
text-decoration: underline;
}
#about-box{
opacity:0;
display:none;
}
.fadeIn {
animation: fadeIn 0.5s forwards;
}
.fadeOut {
animation: fadeOut 0.5s forwards;
}
:root {
--term-color: #4AF626;
}
@font-face {
font-family: "Hack Nerd Font";
src: url(HNF-Reg.ttf);
}
a:hover {
color: black !important;
background-color: var(--term-color);
}
body {
background-color: black;
}
#main-container {
animation-delay: 0.2s;
}
a {
text-decoration: none;
transition: 0.3s;
cursor: default;
}
.link-container {
display: flex;
margin-top: 5px;
align-items: center;
justify-content: center;
transition: 0.5s;
opacity:0;
}
#service-container {
display: none;
}
#main-content, a {
font-family: "Hack Nerd Font";
color: var(--term-color);
}
#main-content {
/*font-family: "Hack Nerd Font";
color: var(--term-color);*/
position:absolute;
top: 40%;
left: 50%;
transform: translate(-50%, -50%);
}
</style>
<script>
let getId = (i) => document.getElementById(i);
let serviceContainer = getId('service-container');
let mainContainer = getId('main-container');
let aboutContainer = getId('about-container');
mainContainer.classList.add("fadeIn");
let containers = [serviceContainer, mainContainer, serviceContainer];
function showContainer(container){
for (let _container of containers) {
//_container.style.display = "none";
if (_container == container) continue
_container.classList.remove("fadeIn");
_container.classList.add("fadeOut");
_container.style.display = "none"
}
container.classList.add("fadeIn");
container.style.display = "flex";
}
let showAbout = () => document.getElementById('about-box').style.display = "block";
/*
var links = document.getElementById("link-container").getElementsByTagName("a");
let delay = 1;
for (var link of links) {
console.log(link)
link.style.animationDelay = `${delay}s`;
delay += 1;
link.style.animation = "fadeIn 0.3s";
}
*/
var container = document.getElementById("link-container");
//container.style.animation = "fadeIn 0.3s";
</script>