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

View file

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

View file

@ -9,18 +9,30 @@
<a id="anim-4" href="https://blog.iwakura.rip">&nbsp;[ blog ]&nbsp;</a> <a id="anim-4" href="https://blog.iwakura.rip">&nbsp;[ blog ]&nbsp;</a>
</div> </div>
<div class="link-container" id="main-container"> <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 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>
</div> </div>
<br> <br>
<div id="about-box" class="fadeIn"> <div id="about-box" class="fadeIn">
<bu>About</bu> <div id="about-sect">
<p>iwakura.rip is a collection of servers hosting mostly-private services for hexlocation & friends.</p> <bu>About</bu>
<bu>Explanation</bu> <p>iwakura.rip is a collection of servers hosting mostly-private services for hexlocation & friends.</p>
<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>
<bu>Disclaimer</bu> <div id="expla-sect">
<p>Serial Experiments Lain is the property of Triangle Studios. iwakura.rip is not affiliated with Triangle Studios.</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>
</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>
</div> </div>
<style> <style>
@ -41,7 +53,7 @@ bu {
font-weight: bold; font-weight: bold;
text-decoration: underline; text-decoration: underline;
} }
#about-box{ #expla-sect, #discl-sect, #about-sect {
opacity:0; opacity:0;
display:none; display:none;
} }
@ -99,13 +111,20 @@ a {
</style> </style>
<script> <script>
let getId = (i) => document.getElementById(i); let getId = (i) => document.getElementById(i);
let serviceContainer = getId('service-container'); let serviceContainer = getId('service-container');
let mainContainer = getId('main-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"); mainContainer.classList.add("fadeIn");
let containers = [serviceContainer, mainContainer]; let containers = [serviceContainer, mainContainer, aboutContainer];
function showContainer(container){ function showContainer(container){
for (let _container of containers) { for (let _container of containers) {
//_container.style.display = "none"; //_container.style.display = "none";
@ -116,8 +135,23 @@ a {
container.classList.add("fadeIn"); container.classList.add("fadeIn");
container.style.display = "flex"; 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"; let showAbout = () => document.getElementById('about-box').style.display = "block";
document.getElementById("main-img").onclick = () => { document.getElementById("main-img").onclick = () => {
showContainer(mainContainer) showContainer(mainContainer)
for (let _s of sections) {
_s.style.display="none";
_s.classList.remove("fadeIn");
}
} }
</script> </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>