aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/components/3DModels.jsx25
-rw-r--r--src/components/BlogCommentsForm.jsx1
-rw-r--r--src/components/FetchMessages.jsx2
-rw-r--r--src/components/FormHandling.jsx2
-rw-r--r--src/components/GuestbookForm.jsx1
-rw-r--r--src/components/Navbar.svelte2
-rw-r--r--src/data/models.json8
-rw-r--r--src/data/webarchive.json10
-rwxr-xr-xsrc/images/snug_cup.pngbin0 -> 2177091 bytes
-rw-r--r--src/layouts/Default.astro7
-rw-r--r--src/pages/archive/index.astro21
-rw-r--r--src/pages/index.astro9
-rw-r--r--src/pages/privacy.md50
-rw-r--r--src/pages/projects/3d.astro46
-rw-r--r--src/pages/projects/index.astro30
-rw-r--r--src/pages/projects/programming.astro (renamed from src/pages/projects.astro)10
-rw-r--r--src/styles/Page.css2
-rw-r--r--src/styles/cards.css2
-rw-r--r--src/styles/index.css1
19 files changed, 207 insertions, 22 deletions
diff --git a/src/components/3DModels.jsx b/src/components/3DModels.jsx
new file mode 100644
index 0000000..4d8507e
--- /dev/null
+++ b/src/components/3DModels.jsx
@@ -0,0 +1,25 @@
+import { Canvas, useLoader } from "@react-three/fiber";
+import { OrbitControls } from "@react-three/drei";
+import { GLTFLoader } from "three/examples/jsm/loaders/GLTFLoader";
+
+const Model = ({ model, scale }) => {
+ const gltf = useLoader(GLTFLoader, model);
+ return (
+ <>
+ <primitive object={gltf.scene} scale={scale} />
+ </>
+ );
+};
+
+export default function ThreeJSModels({ modelName, scale = 2 }) {
+ return (
+ <div>
+ <Canvas style={{ width: '70%', height: '70%', borderRadius: '10px', paddingBottom: '.5em' }}>
+ <Model model={modelName} scale={scale} />
+ <ambientLight intensity={1.5} />
+ <directionalLight color="white" position={[0, 2, 0]} />
+ <OrbitControls />
+ </Canvas>
+ </div>
+ )
+}
diff --git a/src/components/BlogCommentsForm.jsx b/src/components/BlogCommentsForm.jsx
index d0c585c..20e4748 100644
--- a/src/components/BlogCommentsForm.jsx
+++ b/src/components/BlogCommentsForm.jsx
@@ -1,4 +1,3 @@
-import { h } from 'preact';
import withFormHandling from './FormHandling';
import '../styles/Form.css';
diff --git a/src/components/FetchMessages.jsx b/src/components/FetchMessages.jsx
index aa6f261..0a7eea3 100644
--- a/src/components/FetchMessages.jsx
+++ b/src/components/FetchMessages.jsx
@@ -1,4 +1,4 @@
-import { Component } from 'preact';
+import { Component } from 'react';
const withMessages = (WrappedComponent, apiEndpoint, FormComponent) => {
return class extends Component {
diff --git a/src/components/FormHandling.jsx b/src/components/FormHandling.jsx
index 8f7f688..5210bdf 100644
--- a/src/components/FormHandling.jsx
+++ b/src/components/FormHandling.jsx
@@ -1,4 +1,4 @@
-import { Component } from 'preact';
+import { Component } from 'react';
import { marked } from 'marked';
import DOMPurify from 'dompurify';
diff --git a/src/components/GuestbookForm.jsx b/src/components/GuestbookForm.jsx
index 4e06a27..7e47b5e 100644
--- a/src/components/GuestbookForm.jsx
+++ b/src/components/GuestbookForm.jsx
@@ -1,4 +1,3 @@
-import { h } from 'preact';
import withFormHandling from './FormHandling';
import '../styles/Form.css';
diff --git a/src/components/Navbar.svelte b/src/components/Navbar.svelte
index 3211799..b90a90e 100644
--- a/src/components/Navbar.svelte
+++ b/src/components/Navbar.svelte
@@ -107,10 +107,10 @@
<ul class={active ? 'nav-list show' : 'nav-list'}>
<li><a href="/" class="nav-link" on:click={toggleNav}>Home</a></li>
<li><a href="/projects" class="nav-link" on:click={toggleNav}>Projects</a></li>
+ <li><a href="https://files.alee14.me" class="nav-link" on:click={toggleNav}>Files</a></li>
<li><a href="/blog" class="nav-link" on:click={toggleNav}>Blog</a></li>
<li><a href="/guestbook" class="nav-link" on:click={toggleNav}>Guestbook</a></li>
<li><a href="/videos" class="nav-link" on:click={toggleNav}>Videos</a></li>
-<!-- <li><a href="https://archive.alee14.me" class="nav-link" on:click={toggleNav}>Archive</a></li>-->
<li><a href="/contacts" class="nav-link" on:click={toggleNav}>Contacts</a></li>
</ul>
</nav>
diff --git a/src/data/models.json b/src/data/models.json
new file mode 100644
index 0000000..8d71642
--- /dev/null
+++ b/src/data/models.json
@@ -0,0 +1,8 @@
+[
+ {
+ "name": "Snug Cup",
+ "description": "A cup for a project at school.",
+ "model": "/models/snug_cup_model.glb",
+ "fallback": "/images/snug_cup.png"
+ }
+]
diff --git a/src/data/webarchive.json b/src/data/webarchive.json
new file mode 100644
index 0000000..9a6b1bb
--- /dev/null
+++ b/src/data/webarchive.json
@@ -0,0 +1,10 @@
+[
+ {
+ "name": "First Website",
+ "description": "Created by my dad using iFrames.",
+ "type": "personal"
+ },
+ {
+ "name": "alee14.ga"
+ }
+]
diff --git a/src/images/snug_cup.png b/src/images/snug_cup.png
new file mode 100755
index 0000000..cd6f7ae
--- /dev/null
+++ b/src/images/snug_cup.png
Binary files differ
diff --git a/src/layouts/Default.astro b/src/layouts/Default.astro
index 95ceeaf..368f089 100644
--- a/src/layouts/Default.astro
+++ b/src/layouts/Default.astro
@@ -5,6 +5,7 @@ interface Props {
}
const { title = "Andrew Lee", description = "Andrew Lee Website" } = Astro.props;
+import { ClientRouter } from "astro:transitions";
import Navbar from '../components/Navbar.svelte';
const date = new Date();
---
@@ -40,15 +41,15 @@ const date = new Date();
<script defer data-domain="alee14.me" data-api="/plausible/api/event" src="/plausible/js/script.js"/>
<script>window.plausible = window.plausible || function() { (window.plausible.q = window.plausible.q || []).push(arguments) }</script>
- <!--<ClientRouter fallback="animate" />-->
+ <ClientRouter fallback="animate" />
<title>{title}</title>
</head>
<body>
<Navbar client:load />
- <div>
+ <div transition:name="main" transition:animate="fade">
<slot />
<footer>
- <p class="small">Made with {Astro.generator} and Hosted on Vercel</p>
+ <p class="small">Made with Astro and Hosted on Vercel</p>
<p>Copyright &copy; {date.getFullYear()} Andrew Lee. <a href="https://github.com/Alee14/personal-website" target="_blank">View source code.</a></p>
</footer>
</div>
diff --git a/src/pages/archive/index.astro b/src/pages/archive/index.astro
new file mode 100644
index 0000000..7a23d95
--- /dev/null
+++ b/src/pages/archive/index.astro
@@ -0,0 +1,21 @@
+---
+import Page from "../../layouts/Page.astro";
+import "../../styles/cards.css";
+---
+<Page title="Website Archive" description="Collection of my old websites">
+ <main>
+ <h1>Personal</h1>
+ <div class="grid">
+ <article class="card">
+ <h1>First website</h1>
+ <p>Created by my dad using iFrames</p>
+ <small>2013</small>
+ </article>
+ <article class="card">
+ <h1>alee14.ga</h1>
+ <p>My first website that I made using Bootstrap 3 with a template</p>
+ <small>2017</small>
+ </article>
+ </div>
+ </main>
+</Page>
diff --git a/src/pages/index.astro b/src/pages/index.astro
index e7cc46d..d109080 100644
--- a/src/pages/index.astro
+++ b/src/pages/index.astro
@@ -37,7 +37,7 @@ const featuredProjects = projects.filter(project => project.featured);
</div>
<div class="description">
<h2>21 Years Old</h2>
- <h2>Living in Montreal, Quebec, Canada</h2>
+ <h2>Montreal, Quebec, Canada</h2>
</div>
<div>
<h3><a href="mailto:andrew@alee14.me" class="email-contact">andrew@alee14.me</a></h3>
@@ -90,13 +90,6 @@ const featuredProjects = projects.filter(project => project.featured);
<li>RAM: 4 GB</li>
<li>Storage: 206 GB</li>
</ul>
- <h2>Vultr (Web Server)</h2>
- <ul>
- <li>OS: Ubuntu Server 24.04 LTS</li>
- <li>CPU: Intel Xeon Processor (Skylake, IBRS)</li>
- <li>RAM: 1 GB</li>
- <li>Storage: 25 GB (and 100 GB for Block Storage)</li>
- </ul>
<h2>Proxmox</h2>
<ul>
<li>Model: Lenovo ThinkCentre M800</li>
diff --git a/src/pages/privacy.md b/src/pages/privacy.md
index e69de29..e81296a 100644
--- a/src/pages/privacy.md
+++ b/src/pages/privacy.md
@@ -0,0 +1,50 @@
+---
+title: Privacy Policy
+description: This policy covers any services provided under alee14.me, including websites, applications, and tools we develop.
+layout: '../layouts/PageMarkdown.astro'
+---
+# Privacy Policy
+Last updated: April 2, 2024 (EDT)
+
+## Introduction
+Privacy is a human right. If you have any concerns or complaints about how we handle privacy, feel free to reach out at privacy@alee14.me.
+
+## Services We Provide
+This policy covers any services provided under alee14.me, including websites, applications, and tools we develop. Below are specific policies for different services.
+
+### AleeBot (Discord Bot)
+**Information Collected:**
+- User IDs (for personal settings & command usage)
+- Server IDs (to store bot settings & command usage)
+
+**How We Use It:**
+- To provide bot features
+- To store preferences per server
+- To store preferences per user
+- To improve bot performance
+
+**Opting Out:**
+- Removing AleeBot from a server will automatically delete all settings related to that server.
+- If you want personal data removed, contact us.
+
+### Websites & Other Applications
+**Information Collected:**
+- Basic analytics (e.g., visitor count, page interactions)
+- User-submitted content (if applicable)
+
+**How We Use It:**
+- To analyze website performance
+- To ensure proper functionality
+
+## General Data Practices
+We don’t collect personal information like your real name, address, or payment details. Data is only used to operate and improve services.
+
+## Data Retention
+We only keep data as long as it’s needed for the service. If you want your data removed, contact us.
+
+## Future Changes
+We may update this policy as we add new services. Any significant changes will be posted here.
+
+## Contact
+For any questions, reach out at privacy@alee14.me.
+
diff --git a/src/pages/projects/3d.astro b/src/pages/projects/3d.astro
new file mode 100644
index 0000000..8f9a06d
--- /dev/null
+++ b/src/pages/projects/3d.astro
@@ -0,0 +1,46 @@
+---
+import Page from "../../layouts/Page.astro";
+import "../../styles/cards.css";
+import ThreeJSModels from "../../components/3DModels.jsx";
+---
+<Page title="3D Models" description="Things that I made using Blender">
+ <main>
+ <div class="grid">
+ <div class="card">
+ <h1>Test</h1>
+ <p>Description</p>
+ <ThreeJSModels modelName="/models/snug_cup_model.glb" client:load />
+ <div class="column">
+ <a href="#">Download</a>
+ <small>Licensed with (license)</small>
+ </div>
+ </div>
+ <div class="card">
+ <h1>Test</h1>
+ <p>Description</p>
+ <ThreeJSModels modelName="/models/alee_logo.glb" client:load />
+ <div class="column">
+ <a href="#">Download</a>
+ <small>Licensed with (license)</small>
+ </div>
+ </div>
+ <div class="card">
+ <h1>Test</h1>
+ <p>Description</p>
+ <!--<ThreeJSModels modelName="/models/snug_cup_model.glb" client:load />-->
+ <div class="column">
+ <a href="#">Download</a>
+ <small>Licensed with (license)</small>
+ </div>
+ </div>
+ </div>
+ </main>
+</Page>
+<style>
+ .column {
+ display: flex;
+ flex-direction: column;
+ gap: 0.1em;
+ }
+</style>
+
diff --git a/src/pages/projects/index.astro b/src/pages/projects/index.astro
new file mode 100644
index 0000000..9a2dbc7
--- /dev/null
+++ b/src/pages/projects/index.astro
@@ -0,0 +1,30 @@
+---
+import Page from "../../layouts/Page.astro";
+import "../../styles/cards.css";
+---
+<Page title="Projects" description="Things that I have been working on in the past, and present">
+ <main>
+ <div class="column">
+ <div class="card">
+ <h1><a href="/projects/3d">3D Models</a></h1>
+ <p>Things I made on Blender</p>
+ </div>
+ <div class="card">
+ <h1><a href="/projects/programming">Programming</a></h1>
+ <p>Things I programmed</p>
+ </div>
+ <div class="card">
+ <h1><a href="/projects/website">Website Archive</a></h1>
+ <p>Websites I created</p>
+ </div>
+ </div>
+ </main>
+</Page>
+<style>
+ .column {
+ display: flex;
+ flex-direction: column;
+ gap: 0.1em;
+ }
+</style>
+
diff --git a/src/pages/projects.astro b/src/pages/projects/programming.astro
index 80bc97c..2c5d073 100644
--- a/src/pages/projects.astro
+++ b/src/pages/projects/programming.astro
@@ -1,11 +1,11 @@
---
-import Page from "../layouts/Page.astro";
-import projects from "../data/projects.json";
-import "../styles/cards.css";
-import GitHubProjects from "../components/GitHubProjects.svelte";
+import Page from "../../layouts/Page.astro";
+import projects from "../../data/projects.json";
+import "../../styles/cards.css";
+import GitHubProjects from "../../components/GitHubProjects.svelte";
---
-<Page title="Projects" description="Things that I have been working on in the past, and present">
+<Page title="Programming" description="Things that I programmed">
<main>
<div class="grid">
{
diff --git a/src/styles/Page.css b/src/styles/Page.css
index 59aea44..64b28c7 100644
--- a/src/styles/Page.css
+++ b/src/styles/Page.css
@@ -41,4 +41,4 @@ h2.header-text {
to {
opacity: 0;
}
- } \ No newline at end of file
+ }
diff --git a/src/styles/cards.css b/src/styles/cards.css
index 12e5a3f..7376a54 100644
--- a/src/styles/cards.css
+++ b/src/styles/cards.css
@@ -1,4 +1,5 @@
.card h1 {
+ font-size: 1.5em;
margin-top: 2px;
margin-bottom: 2px;
}
@@ -14,6 +15,7 @@
.card {
background-color: #3B513B;
+ drop-shadow(2px 3px 5px black);
padding: 1.2em;
border-radius: 20px;
gap: 0.5em;
diff --git a/src/styles/index.css b/src/styles/index.css
index 0404e7c..f4e5191 100644
--- a/src/styles/index.css
+++ b/src/styles/index.css
@@ -50,6 +50,7 @@
}
.box h1 {
+ font-size: 1.7em;
margin-top: 0.2em;
}