Compare commits

...

7 Commits

9 changed files with 93 additions and 48 deletions

View File

@ -2,6 +2,7 @@
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="google-site-verification" content="lsAs9c2Pv7c6Sm26z1hd2YqR2depbp4sJddIDYKHkxY" />
<link rel="icon" href="%sveltekit.assets%/favicon.ico" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
%sveltekit.head%

View File

@ -102,6 +102,7 @@
div div ul div {
display: flex;
flex-direction: row;
gap: 0px;
}
a {

View File

@ -3,7 +3,7 @@
let { independent_page = true, techTablePromise = null } = $props();
let limitProjects = $derived(independent_page ? 0 : 8);
let limitProjects = $derived(independent_page ? 0 : 6);
let projectsPromise = $state(null);
let techPromise = $state(null);
@ -171,5 +171,6 @@
flex-direction: row;
flex-wrap: wrap;
column-gap: 1svw;
justify-content: space-evenly;
}
</style>

View File

@ -108,7 +108,7 @@
justify-self: center;
margin: 0svh 1svw;
margin: 0svh 0svw;
padding-top: 1svh;
object-fit: contain;
color: transparent;
@ -125,6 +125,7 @@
border-radius: var(--underlineTitleBorderRadius);
margin: 0px 2svw;
padding: 0px 2svw;
padding-right: 0px;
justify-content: space-between;
align-items: center;
@ -173,9 +174,10 @@
.project-title-info div {
display: flex;
gap: 1svw;
gap: 20px;
justify-content: flex-end;
border-bottom: none;
margin: 0svh 10px;
}
.project-card div p {

24
src/lib/style/globals.css Normal file
View File

@ -0,0 +1,24 @@
:root {
--underlineTitle: 4px solid purple;
--underlineTitleBorderRadius: 4px;
--img-width: 32px;
--img-height: 32px;
--card-background-color: rgba(38, 38, 38, 0.5);
--card-border-radius: 0.5rem;
}
body {
background-color: #0f1116;
color: #ffffff;
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
margin: 20px;
}
h2 {
border-bottom: var(--underlineTitle);
border-radius: var(--underlineTitleBorderRadius);
display: flex;
margin: 2svh 2svw;
padding: 0svh 2svw;
padding-bottom: 1svh;
}

View File

@ -2,35 +2,10 @@
let { children } = $props();
import Top from '$lib/components/layout/Top.svelte';
import Bottom from '$lib/components/layout/Bottom.svelte';
import '$lib/style/globals.css';
</script>
<Top />
{@render children()}
<Bottom />
<style>
:global(:root) {
--underlineTitle: 4px solid purple;
--underlineTitleBorderRadius: 4px;
--img-width: 32px;
--img-height: 32px;
--card-background-color: rgba(38, 38, 38, 0.5);
--card-border-radius: 0.5rem;
}
:global(body) {
background-color: #0f1116;
color: #ffffff;
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
margin: 20px;
}
:global(h2) {
border-bottom: var(--underlineTitle);
border-radius: var(--underlineTitleBorderRadius);
display: flex;
margin: 2svh 2svw;
padding: 0svh 2svw;
padding-bottom: 1svh;
}
</style>

View File

@ -1,11 +1,41 @@
<script>
import Contact from '$lib/components/contact.svelte';
let contactName = $state('');
let contactEmail = $state('');
let contactMessage = $state('');
let error_box_message = $state('');
let submitButtonEnable = $state(true);
let submitButtonText = $derived(submitButtonEnable ? 'Submit' : 'Submitting');
const formSubmit = async (event) => {
event.preventDefault();
submitButtonEnable = false;
const formData = new FormData(event.target);
const formObject = Object.fromEntries(formData.entries());
try {
let json_to_send = {
content: `***New Message***\n*Name*: ${formObject.name}\n*Email*: [${formObject.email}](mailto:${formObject.email})\n*Message*: ${formObject.message}`
};
const res = await fetch(
'https://discord.com/api/webhooks/1374798951475187732/zOL9aD1wWn9rCywjqVAy3oUMnzPu25SVIMCDaLD4N8C_V9OqPK8Hj2Wmm-7Ts5QHTbzN',
{
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify(json_to_send)
}
);
if (!res.ok) {
throw new Error(`Discord webhook error: ${res.status} ${res.statusText}`);
}
} catch (err) {
error_box_message = 'An error has occurred';
console.error(err);
}
submitButtonEnable = true;
};
</script>
<title>Brock Tomlinson - Contact</title>
@ -18,22 +48,23 @@
to either fill out this form or contact me through one of the many of the platforms below
</p>
</div>
<form
onsubmit={(e) => {
e.preventDefault();
}}
>
<form onsubmit={formSubmit}>
<label for="name">Name</label>
<input type="text" id="name" bind:value={contactName} />
<input type="text" id="name" name="name" />
<label for="email">Email</label>
<input type="email" id="email" bind:value={contactEmail} />
<input type="email" id="email" name="email" />
<label for="message">Message</label>
<textarea id="message" bind:value={contactMessage}></textarea>
<textarea id="message" name="message"></textarea>
<p>{error_box_message}</p>
<button onclick={() => console.log('Clicked')}> Submit </button>
<input
type="submit"
disabled={!submitButtonEnable}
class="submitButton"
id={submitButtonEnable ? '' : 'disabledSubmitButton'}
/>
</form>
</div>
<Contact />
@ -72,7 +103,7 @@
border-radius: var(--card-border-radius);
border-color: rgba(245, 245, 245, 0.5);
border-width: 2px;
padding: 1svh 0svw;
padding: 1svh 1ch;
margin: 1svh 0.5svw;
color: inherit;
align-items: start;
@ -83,14 +114,14 @@
border-radius: var(--card-border-radius);
border-color: rgba(245, 245, 245, 0.4);
border-width: 2px;
padding: 1svh 0svw;
padding: 1svh 1ch;
margin: 1svh 0.5svw;
color: inherit;
align-items: start;
min-height: 25svh;
}
button {
.submitButton {
border-radius: var(--card-border-radius);
border-color: rgba(245, 245, 245, 0.5);
padding: 1svh 0svw;
@ -101,9 +132,17 @@
border-color: transparent;
}
button:hover {
.submitButton:hover {
cursor: pointer;
color: #91a4d2;
background-color: rgba(0, 150, 0, 0.6);
}
#disabledSubmitButton {
background-color: rgba(211, 211, 211, 0.6);
}
#disabledSubmitButton:hover {
background-color: rgba(180, 180, 180, 0.6);
}
</style>

View File

@ -1,7 +1,7 @@
import { format } from 'date-fns';
export const GET = async () => {
const baseUrl = 'https://yourdomain.com'; // Change to your domain
const baseUrl = 'https://darkicewolf50.pages.dev';
const staticPages = [
'', // homepage

View File

@ -1,2 +1,4 @@
User-agent: *
Disallow: /blogs/
Sitemap: https://darkicewolf50.pages.dev/sitemap.xml