Merge pull request #40 from ProjectSegfault/form

Add form (fixme)
This commit is contained in:
Akis 2022-07-28 16:59:25 +03:00 committed by GitHub
commit 1f05888d25
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 109 additions and 0 deletions

View File

@ -22,6 +22,7 @@
"prettier-plugin-svelte": "^2.7.0", "prettier-plugin-svelte": "^2.7.0",
"svelte": "^3.49.0", "svelte": "^3.49.0",
"svelte-check": "^2.8.0", "svelte-check": "^2.8.0",
"svelte-hcaptcha": "^0.1.1",
"svelte-preprocess": "^4.10.7", "svelte-preprocess": "^4.10.7",
"svelte-seo": "^1.4.1", "svelte-seo": "^1.4.1",
"tslib": "^2.4.0", "tslib": "^2.4.0",

6
pnpm-lock.yaml generated
View File

@ -10,6 +10,7 @@ specifiers:
prettier-plugin-svelte: ^2.7.0 prettier-plugin-svelte: ^2.7.0
svelte: ^3.49.0 svelte: ^3.49.0
svelte-check: ^2.8.0 svelte-check: ^2.8.0
svelte-hcaptcha: ^0.1.1
svelte-preprocess: ^4.10.7 svelte-preprocess: ^4.10.7
svelte-seo: ^1.4.1 svelte-seo: ^1.4.1
tslib: ^2.4.0 tslib: ^2.4.0
@ -27,6 +28,7 @@ devDependencies:
prettier-plugin-svelte: 2.7.0_o3ioganyptcsrh6x4hnxvjkpqi prettier-plugin-svelte: 2.7.0_o3ioganyptcsrh6x4hnxvjkpqi
svelte: 3.49.0 svelte: 3.49.0
svelte-check: 2.8.0_svelte@3.49.0 svelte-check: 2.8.0_svelte@3.49.0
svelte-hcaptcha: 0.1.1
svelte-preprocess: 4.10.7_uslzfc62di2n2otc2tvfklnwji svelte-preprocess: 4.10.7_uslzfc62di2n2otc2tvfklnwji
svelte-seo: 1.4.1_typescript@4.7.4 svelte-seo: 1.4.1_typescript@4.7.4
tslib: 2.4.0 tslib: 2.4.0
@ -1034,6 +1036,10 @@ packages:
- sugarss - sugarss
dev: true dev: true
/svelte-hcaptcha/0.1.1:
resolution: {integrity: sha512-iFF3HwfrCRciJnDs4Y9/rpP/BM2U/5zt+vh+9d4tALPAHVkcANiJIKqYuS835pIaTm6gt+xOzjfFI3cgiRI29A==}
dev: true
/svelte-hmr/0.14.12_svelte@3.49.0: /svelte-hmr/0.14.12_svelte@3.49.0:
resolution: {integrity: sha512-4QSW/VvXuqVcFZ+RhxiR8/newmwOCTlbYIezvkeN6302YFRE8cXy0naamHcjz8Y9Ce3ITTZtrHrIL0AGfyo61w==} resolution: {integrity: sha512-4QSW/VvXuqVcFZ+RhxiR8/newmwOCTlbYIezvkeN6302YFRE8cXy0naamHcjz8Y9Ce3ITTZtrHrIL0AGfyo61w==}
engines: {node: ^12.20 || ^14.13.1 || >= 16} engines: {node: ^12.20 || ^14.13.1 || >= 16}

View File

@ -3,10 +3,41 @@ title: Contact Us
description: Do you want to contact us? description: Do you want to contact us?
--- ---
<script lang="ts">
import IconLock from '~icons/fa6-solid/lock';
import HCaptcha from 'svelte-hcaptcha';
</script>
# { title } # { title }
{ description } { description }
## Contact Form
<form action="https://segfautilities.projectsegfau.lt/api/form" method="POST">
<div class="ip-note">
<IconLock />
<b>Your IP will be logged for anti-abuse measures.</b>
</div>
<div class="meta">
<input type="text" name="email" class="form-textbox" placeholder="Email" required="required"/>
<select id="commentType" name="commentType" required="required" class="button">
<option value="" selected="selected" disabled="disabled">Select a type of comment</option>
<option value="Feedback">Feedback</option>
<option value="Suggestion">Suggestion</option>
<option value="Question">Question</option>
<option value="Bug">Bug</option>
</select>
</div>
<textarea id="comment" name="message" rows="4" cols="25" required="required" class="form-textbox" placeholder="Your message"></textarea>
<HCaptcha
sitekey=67e84266-980c-4050-8a39-142a91928fe8
theme=dark
/>
<input type="submit" value="Submit" class="button" />
</form>
## Our email ## Our email
[contact@projectsegfau.lt](mailto:contact@projectsegfau.lt) [contact@projectsegfau.lt](mailto:contact@projectsegfau.lt)
@ -16,3 +47,74 @@ _Please be aware that Microsoft often blocks non-popular emails, if you do conta
## People ## People
You can find ways to contact individual members [on our Members page](/members). You can find ways to contact individual members [on our Members page](/members).
<style>
form {
display: flex;
flex-direction: column;
gap: 1rem;
width: fit-content;
}
.ip-note {
display: flex;
align-items: center;
gap: 4px;
}
.meta {
display: flex;
align-items: center;
flex-direction: row;
gap: 1rem;
}
.meta > * {
width: 50%;
}
@media screen and (max-width: 450px) {
.meta {
flex-direction: column;
align-items: flex-start;
justify-content: center;
}
}
.form-textbox {
background-color: var(--tertiary);
color: var(--text);
border-radius: 10px;
border: none;
padding: 0.5rem;
font-family: 'Comfortaa', sans-serif;
}
.form-textbox:focus {
outline: none !important;
}
.button {
background-color: var(--tertiary);
border: none;
border-radius: 10px;
padding: 0.5rem;
cursor: pointer;
color: var(--text);
font-family: var(--font-primary);
text-decoration: none;
}
.button:not(select):hover {
background-color: var(--accent-tertiary);
text-decoration: none;
transition: all 0.5s;
color: var(--secondary);
}
.button:not(select):active {
background-color: var(--accent-primary);
text-decoration: none;
transition: all 0.5s;
color: var(--secondary);
}
</style>