feat: add debut page and form

This commit is contained in:
Damillora 2021-05-15 14:44:17 +07:00
parent e1238b8206
commit fc16b42387
5 changed files with 104 additions and 7 deletions

View File

@ -27,16 +27,23 @@
them here.
</p>
<h3>Illustrator: Mira Cassiela</h3>
<p>*Insert description here*</p>
<p>Virtual artist | L2D artist + freelance character designer and illustrator</p>
<p>
<a href="https://linktr.ee/miracassiela">Linktree</a>
<a href="https://www.youtube.com/channel/UCW62PICl31M0TDhTcvwepqw">YouTube</a>
&bull;
<a href="https://twitter.com/miracassiela">Twitter</a>
&bull;
<a href="https://www.instagram.com/miracassiela/">Instagram</a>
&bull;
<a href="https://linktr.ee/miracassiela">Links</a>
</p>
<h3>Live2D Rigging: Siauw Adhie</h3>
<p>*Insert description here*</p>
<p>
<a href="https://twitter.com/adhiesc123">Twitter</a>
&bull;
<a href="https://www.youtube.com/c/SiauwAdhie">YouTube</a>
&bull;
<a href="https://www.fiverr.com/adhiesc">Fiverr</a>
</p>
<h2>Where you can find me</h2>
<h3>Publishing media</h3>

30
src/routes/ask-form.js Normal file
View File

@ -0,0 +1,30 @@
// Public webhook URL for forms.
let webhookUrl = "https://n8n.nanao.moe/webhook/fd943cbe-fd27-47f8-98ec-01c14b5104fe";
export async function post({ body }) {
if (!body.message) {
return {
status: 400,
body: {
error: "No message!"
}
}
}
const data = await fetch(webhookUrl, {
method: "POST",
headers: {
"Content-Type": "application/json",
},
body: JSON.stringify({
message: body.message ?? "Blank form",
}),
})
return {
body: {
success: true,
}
}
}

57
src/routes/debut.svelte Normal file
View File

@ -0,0 +1,57 @@
<script>
import PageHeader from '$lib/components/PageHeader.svelte';
let message = '';
let errors = '';
const submitMessage = async () => {
errors = '';
const endpoint = '/ask-form';
const response = await fetch(endpoint, {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({
message: message
})
});
const data = await response.json();
if (response.status === 400) {
errors = data.error;
} else {
errors = 'Success!';
}
};
</script>
<svelte:head>
<title>Damillora</title>
</svelte:head>
<div class="page">
<PageHeader>
<h1 class="page-header__heading">Debut Stream!</h1>
</PageHeader>
<main class="container main">
<p>This page contains information about my debut stream as a Virtual YouTuber.</p>
<h2>When will it happen?</h2>
<p>The debut stream is set to be on <strong>June 19th, 2021</strong>.</p>
<h2>Watch my debut</h2>
<p>
My debut stream will be in this link: <a href="https://www.youtube.com/watch?v=PSTM2_tAywg"
>[Debut Stream] Connection Established #1</a
>
</p>
<h2>Send me a message for my debut!</h2>
<p>
All submissions are <strong>anonymous</strong>. Seriously,
<a href="/projects/rinze">check it for yourself, it's open source</a>.
</p>
<p>The messages you send will be read during my debut stream.</p>
<form on:submit|preventDefault={submitMessage}>
<textarea class="input" bind:value={message} rows="5" />
<p>{errors}</p>
<button class="button" type="submit">Send</button>
</form>
</main>
</div>

View File

@ -16,7 +16,10 @@
Welcome to the official website of indie Virtual YouTuber and technology enthusiast Damillora!
</p>
<h2>Catch my debut!</h2>
<p>My debut date is currently set to <strong>July 17th, 2020</strong>.</p>
<p>
My debut date is currently set to <strong>June 19th, 2021</strong>. More info in
<a href="/debut">the special page</a>.
</p>
<h2>Channel trailer</h2>
<p>Coming soon...</p>
<h2>Join the Network</h2>

View File

@ -24,9 +24,9 @@
js-tokens "^4.0.0"
"@damillora/shian@^2.0.1":
version "2.1.0"
resolved "https://registry.yarnpkg.com/@damillora/shian/-/shian-2.1.0.tgz#d39b9201b6dc9150911d36073939e607c91e5a2b"
integrity sha512-wlxsLtPaYw0vPfA/GCaHX6F1Kmwqej+ic0XS7z9NDGyubtMZZyDan+d8J4UkcWP7bnoIgWpKztKxZlPzVYBNkw==
version "2.2.0"
resolved "https://registry.yarnpkg.com/@damillora/shian/-/shian-2.2.0.tgz#fee06946796e2759e2afe958b8181a137e5a4bc0"
integrity sha512-F/EHL1eVNPO/wQHW+hvMlSs9Nwqa58MoF8Oe23MGyAqze4T1lsxjNIOPUomiNLlEnNR9gWd1mn/06x72JVg5qw==
"@eslint/eslintrc@^0.4.1":
version "0.4.1"