-
-
-
+
-
+
+
+
+
+
+
+
This is my gitea instance, this is here I share my projects.
+

+
Go to website
+
+
+
+
+
+
This is my personal blog, where I share reviews of the things I enjoy (did it by
+ myself btw 😁).
+

+
+
+
+
+
+
diff --git a/package.json b/package.json
new file mode 100644
index 0000000..bf82f80
--- /dev/null
+++ b/package.json
@@ -0,0 +1,18 @@
+{
+ "name": "asa_pres_bootstrap",
+ "private": true,
+ "version": "0.0.0",
+ "type": "module",
+ "scripts": {
+ "dev": "vite",
+ "build": "tsc && vite build",
+ "preview": "vite preview"
+ },
+ "devDependencies": {
+ "typescript": "~5.7.2",
+ "vite": "^6.2.0"
+ },
+ "dependencies": {
+ "bootstrap": "^5.3.3"
+ }
+}
diff --git a/public/icon.jpg b/public/icon.jpg
new file mode 100644
index 0000000..6e0e8ef
Binary files /dev/null and b/public/icon.jpg differ
diff --git a/img/abonentendeur.png b/src/img/abonentendeur.png
similarity index 100%
rename from img/abonentendeur.png
rename to src/img/abonentendeur.png
diff --git a/img/fishgolf.gif b/src/img/fishgolf.gif
similarity index 100%
rename from img/fishgolf.gif
rename to src/img/fishgolf.gif
diff --git a/img/gitea.png b/src/img/gitea.png
similarity index 100%
rename from img/gitea.png
rename to src/img/gitea.png
diff --git a/img/guams.gif b/src/img/guams.gif
similarity index 100%
rename from img/guams.gif
rename to src/img/guams.gif
diff --git a/src/main.ts b/src/main.ts
new file mode 100644
index 0000000..ce74d9f
--- /dev/null
+++ b/src/main.ts
@@ -0,0 +1,20 @@
+import './style.css'
+import 'bootstrap';
+
+document.addEventListener("DOMContentLoaded", () => {
+ const chkBox = document.getElementById('dark-mode') as HTMLInputElement;
+ chkBox?.addEventListener("change", changeTheme);
+});
+
+function changeTheme() {
+ const htmlElement = document.getElementById('html');
+ const chkBox = document.getElementById('dark-mode') as HTMLInputElement;
+
+ if (chkBox && htmlElement) {
+ htmlElement.setAttribute("data-bs-theme", chkBox.checked ? "dark" : "light");
+ document.getElementById("dark-mode-text")!.innerHTML = chkBox.checked ? "Dark theme enabled 🌕" : "Light theme enabled ☀️";
+ }
+}
+
+
+
diff --git a/src/style.css b/src/style.css
new file mode 100644
index 0000000..48e8fd3
--- /dev/null
+++ b/src/style.css
@@ -0,0 +1,40 @@
+@import '../node_modules/bootstrap/dist/css/bootstrap.css';
+
+main {
+ gap: 50px;
+ border-radius: 4px;
+ padding: 1%;
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ box-shadow: rgba(0, 0, 0, 0.05) 0 6px 24px 0, rgba(0, 0, 0, 0.08) 0 0 0 1px;
+ min-height: 800px;
+}
+
+.card {
+ width: 100%;
+}
+
+body {
+ padding-top: 90px;
+}
+
+div.body {
+ margin: auto;
+ width: 50%;
+ padding: 10px;
+}
+
+img.showcase {
+ width: 80%;
+}
+
+@media screen and (max-width: 700px) {
+ main {
+ width: 100%;
+ }
+ div.body {
+ width: 100%;
+ }
+
+}
diff --git a/src/vite-env.d.ts b/src/vite-env.d.ts
new file mode 100644
index 0000000..11f02fe
--- /dev/null
+++ b/src/vite-env.d.ts
@@ -0,0 +1 @@
+///
diff --git a/tsconfig.json b/tsconfig.json
new file mode 100644
index 0000000..a4883f2
--- /dev/null
+++ b/tsconfig.json
@@ -0,0 +1,24 @@
+{
+ "compilerOptions": {
+ "target": "ES2020",
+ "useDefineForClassFields": true,
+ "module": "ESNext",
+ "lib": ["ES2020", "DOM", "DOM.Iterable"],
+ "skipLibCheck": true,
+
+ /* Bundler mode */
+ "moduleResolution": "bundler",
+ "allowImportingTsExtensions": true,
+ "isolatedModules": true,
+ "moduleDetection": "force",
+ "noEmit": true,
+
+ /* Linting */
+ "strict": true,
+ "noUnusedLocals": true,
+ "noUnusedParameters": true,
+ "noFallthroughCasesInSwitch": true,
+ "noUncheckedSideEffectImports": true
+ },
+ "include": ["src"]
+}