mirror of
https://github.com/t404owo/t404null.git
synced 2025-12-12 18:08:47 +00:00
Compare commits
27 Commits
123fd0a7bf
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
f3d4e659df | ||
|
|
c528c7203f | ||
|
|
cc95f657ae | ||
|
|
800ec53291 | ||
|
|
c3af2e62c8 | ||
|
|
e6e37e5ba5 | ||
|
|
b721d85d6d | ||
|
|
9f398ccb5d | ||
|
|
bb2f59f974 | ||
|
|
4cb191f2e0 | ||
|
|
bc83fa4ed8 | ||
|
|
a5f838fbd0 | ||
|
|
23210ce689 | ||
|
|
a998ad564b | ||
|
|
1636d189fe | ||
|
|
5c1b16789b | ||
|
|
9001ec9e38 | ||
|
|
bb23015bc4 | ||
|
|
892c24b498 | ||
|
|
d71bbe78a9 | ||
|
|
efb2966d62 | ||
|
|
ddb1501e39 | ||
|
|
5a8bce7125 | ||
|
|
e74d3dcf43 | ||
|
|
9e18c458a5 | ||
|
|
254bc8a3cc | ||
|
|
eefe20d81c |
@@ -713,7 +713,7 @@ textfield {
|
|||||||
|
|
||||||
@font-face {
|
@font-face {
|
||||||
font-family: "NerdFontsSymbols Nerd Font";
|
font-family: "NerdFontsSymbols Nerd Font";
|
||||||
src: url("/assets/fonts/nf-symbols.woff2") format("woff2");
|
src: url("https://www.nerdfonts.com/assets/fonts/Symbols-2048-em Nerd Font Complete.woff2") format("woff2");
|
||||||
}
|
}
|
||||||
|
|
||||||
.nf-icons {
|
.nf-icons {
|
||||||
|
|||||||
@@ -17,8 +17,7 @@ half_img_cards = document.querySelector(".half-image-cards");
|
|||||||
import { createClient } from "https://cdn.jsdelivr.net/npm/@supabase/supabase-js/+esm";
|
import { createClient } from "https://cdn.jsdelivr.net/npm/@supabase/supabase-js/+esm";
|
||||||
|
|
||||||
const supabaseUrl = "https://owbamcqdmqetrgcznxva.supabase.co";
|
const supabaseUrl = "https://owbamcqdmqetrgcznxva.supabase.co";
|
||||||
const supabaseKey =
|
const supabaseKey = "sb_publishable_b0fMYw5I1X97gQXJLVBnrA_-0L4qHGv";
|
||||||
"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6Im93YmFtY3FkbXFldHJnY3pueHZhIiwicm9sZSI6ImFub24iLCJpYXQiOjE3MjI5NDU5NjIsImV4cCI6MjAzODUyMTk2Mn0.xNen7b513ZGwJ-Qu5iZ6K8qrmvy4QVjS10wiYbEEwKc";
|
|
||||||
//anon key, you cant access private stuffs or add hilarious stuffs w/ this...
|
//anon key, you cant access private stuffs or add hilarious stuffs w/ this...
|
||||||
//(unless sending me some malicious links but I delete your msg)
|
//(unless sending me some malicious links but I delete your msg)
|
||||||
//the moment you notice you need an API endpoint.
|
//the moment you notice you need an API endpoint.
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ import { createClient } from "https://cdn.jsdelivr.net/npm/@supabase/supabase-js
|
|||||||
|
|
||||||
const supabaseUrl = "https://owbamcqdmqetrgcznxva.supabase.co";
|
const supabaseUrl = "https://owbamcqdmqetrgcznxva.supabase.co";
|
||||||
const supabaseKey =
|
const supabaseKey =
|
||||||
"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6Im93YmFtY3FkbXFldHJnY3pueHZhIiwicm9sZSI6ImFub24iLCJpYXQiOjE3MjI5NDU5NjIsImV4cCI6MjAzODUyMTk2Mn0.xNen7b513ZGwJ-Qu5iZ6K8qrmvy4QVjS10wiYbEEwKc";
|
"sb_publishable_b0fMYw5I1X97gQXJLVBnrA_-0L4qHGv";
|
||||||
//anon key, you cant access private stuffs or add hilarious stuffs w/ this...
|
//anon key, you cant access private stuffs or add hilarious stuffs w/ this...
|
||||||
//(unless sending me some malicious links but I delete your msg)
|
//(unless sending me some malicious links but I delete your msg)
|
||||||
//the moment you notice you need an API endpoint.
|
//the moment you notice you need an API endpoint.
|
||||||
@@ -13,7 +13,8 @@ const form = document.getElementById("mail-form"),
|
|||||||
emailInput = document.getElementById("email"),
|
emailInput = document.getElementById("email"),
|
||||||
subjectInput = document.getElementById("subject"),
|
subjectInput = document.getElementById("subject"),
|
||||||
messageInput = document.getElementById("message"),
|
messageInput = document.getElementById("message"),
|
||||||
statusMessage = document.querySelector(".box");
|
statusMessage = document.querySelector(".box"),
|
||||||
|
submitButton = form.querySelector('button[type="submit"]');;
|
||||||
|
|
||||||
form.addEventListener("submit", async (e) => {
|
form.addEventListener("submit", async (e) => {
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
@@ -23,14 +24,16 @@ form.addEventListener("submit", async (e) => {
|
|||||||
const subject = subjectInput.value.trim();
|
const subject = subjectInput.value.trim();
|
||||||
const message = messageInput.value.trim();
|
const message = messageInput.value.trim();
|
||||||
|
|
||||||
|
|
||||||
try {
|
try {
|
||||||
|
|
||||||
[name, email, subject, message].forEach(obj =>
|
[name, email, subject, message].forEach(obj => {
|
||||||
if (!obj || obj.length===0) {
|
if (!obj || obj.length===0) {
|
||||||
throw new Error("field_missing");
|
throw new Error("field_missing");
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
if (submitButton) submitButton.disabled = true;
|
||||||
const { data, error } = await supabase
|
const { data, error } = await supabase
|
||||||
.from("mail")
|
.from("mail")
|
||||||
.insert([{ name, email, subject, message }]);
|
.insert([{ name, email, subject, message }]);
|
||||||
@@ -38,17 +41,19 @@ form.addEventListener("submit", async (e) => {
|
|||||||
if (error) {
|
if (error) {
|
||||||
throw error;
|
throw error;
|
||||||
}
|
}
|
||||||
|
|
||||||
statusMessage.textContent = "Message sent successfully!";
|
statusMessage.textContent = "Message sent successfully!";
|
||||||
statusMessage.style = "background: #DDF6D2";
|
statusMessage.style = "background: #DDF6D2";
|
||||||
form.reset();
|
form.reset();
|
||||||
|
if (submitButton) submitButton.disabled = false;
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error("Error sending message:", error);
|
console.error("Error sending message:", error);
|
||||||
statusMessage.textContent = (error === "field_missing") ?
|
statusMessage.textContent = (error.message === "field_missing") ?
|
||||||
/*if (error==="field_missing")*/
|
/*if (error==="field_missing")*/
|
||||||
"Please fill in all fields." :
|
"Please fill in all fields." :
|
||||||
/*else*/
|
/*else*/
|
||||||
"Error sending message. Please try again.";
|
"Error sending message. Please try again.";
|
||||||
statusMessage.style = "background: #FFDCDC";
|
statusMessage.style = "background: #FFDCDC";
|
||||||
|
if (submitButton) submitButton.disabled = false;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -234,7 +234,7 @@ Here is my contact list. Feel free to contact me in case you need anything in my
|
|||||||
</h1>
|
</h1>
|
||||||
<div class="contact-email">
|
<div class="contact-email">
|
||||||
<form method="POST" class="form" id="mail-form">
|
<form method="POST" class="form" id="mail-form">
|
||||||
<label for="name">Subject:</label>
|
<label for="name">Name:</label>
|
||||||
<input type="text" name="name" id="name" class="inputbox" placeholder="Your Name" required>
|
<input type="text" name="name" id="name" class="inputbox" placeholder="Your Name" required>
|
||||||
<br>
|
<br>
|
||||||
<label for="email">Email:</label>
|
<label for="email">Email:</label>
|
||||||
@@ -253,4 +253,4 @@ Here is my contact list. Feel free to contact me in case you need anything in my
|
|||||||
</main>
|
</main>
|
||||||
<div class="footer">© t404:null 2021-2025 - All Rights Reserved</div>
|
<div class="footer">© t404:null 2021-2025 - All Rights Reserved</div>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|||||||
@@ -198,4 +198,4 @@ I write/make/produce EDM music(DTM), and for every releases I'll post my music o
|
|||||||
</main>
|
</main>
|
||||||
<div class="footer">© t404:null 2021-2025 - All Rights Reserved</div>
|
<div class="footer">© t404:null 2021-2025 - All Rights Reserved</div>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|||||||
Reference in New Issue
Block a user