Compare commits
4 commits
| Author | SHA1 | Date | |
|---|---|---|---|
| ce3ec5bbc8 | |||
| 22dd43b6ed | |||
| a9d4c896dd | |||
| c0984e7f12 |
5 changed files with 5 additions and 161 deletions
|
|
@ -2,7 +2,7 @@
|
|||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<link rel="icon" href="%sveltekit.assets%/favicon.png" />
|
||||
<link rel="icon" href="/signature.svg" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
%sveltekit.head%
|
||||
</head>
|
||||
|
|
|
|||
|
|
@ -1,14 +1,9 @@
|
|||
<script lang="ts">
|
||||
import '../app.css';
|
||||
let { children } = $props();
|
||||
import ThemeToggle from './theme.svelte';
|
||||
</script>
|
||||
|
||||
<div class="flex min-h-screen bg-dark-bg">
|
||||
<div class="absolute right-0 top-0">
|
||||
<ThemeToggle />
|
||||
</div>
|
||||
|
||||
<!-- Left Section - Hidden on mobile, visible on lg screens -->
|
||||
<div class="relative hidden border-r border-dark-neutral lg:flex lg:w-1/4">
|
||||
<!-- Diagonal line pattern -->
|
||||
|
|
|
|||
|
|
@ -28,9 +28,7 @@
|
|||
const hikari_data = json_to_project(hikari);
|
||||
</script>
|
||||
|
||||
<div
|
||||
class="min-h-screen bg-light-bg text-light-fg transition-colors duration-300 dark:bg-dark-bg dark:text-dark-fg"
|
||||
>
|
||||
<div class="min-h-screen bg-dark-bg text-dark-fg transition-colors duration-300">
|
||||
<main class="bg-card p-8 transition-all duration-300 ease-out">
|
||||
<Bio />
|
||||
|
||||
|
|
@ -83,102 +81,3 @@
|
|||
<br />
|
||||
</main>
|
||||
</div>
|
||||
<!-- Brief Bio
|
||||
-->
|
||||
|
||||
<!--OPEN SOURCE PROJECTS -->
|
||||
<!-- Description
|
||||
-->
|
||||
<!-- Gallery
|
||||
<...images...>
|
||||
-->
|
||||
<!-- Technical Details
|
||||
Technology behind Dazzle:
|
||||
-->
|
||||
<!-- Source Code
|
||||
Check out the source code on any of the official mirrors or on the main self-hosted repo.
|
||||
Self-hosted with <3 using Forgejo (a fork of Gittea)
|
||||
CodeBerg mirror
|
||||
GitLab mirror
|
||||
GitHub mirror
|
||||
<Commit_Tiles/>
|
||||
-->
|
||||
|
||||
<!-- Brief Light
|
||||
Light is an awesome bleeding-edge, *all the buzzwords* game-engine...
|
||||
-->
|
||||
<!-- Gallery
|
||||
* Insert awesome renders here *
|
||||
-->
|
||||
<!-- Technical Details
|
||||
Features:
|
||||
MSAA
|
||||
SSAO
|
||||
PBR Lighting
|
||||
|
||||
Technology behind Light:
|
||||
Languages:
|
||||
C++23, CMake, Shell-script, Lua, Python
|
||||
Graphics APIs:
|
||||
OpenGL, Vulkan, Metal, DirectX12
|
||||
CICD:
|
||||
Drone, Docker,
|
||||
|
||||
Check out the source code on any of the official mirrors or on the main self-hosted repo.
|
||||
Self-hosted with <3 using Forgejo (a fork of Gittea)
|
||||
CodeBerg mirror
|
||||
GitLab mirror
|
||||
GitHub mirror
|
||||
|
||||
<Commit_Tiles/>
|
||||
-->
|
||||
|
||||
<!-- Brief Bonfire
|
||||
You're enjoying its warmth on your eyes! It's my portfolio v2.0 rebuilt from scratch using the rightfully
|
||||
loved Svelte framework. 0 uninterresting information. 0 tabs/navigaroins, just scroll down :)
|
||||
-->
|
||||
<!-- Gallery
|
||||
-->
|
||||
<!-- Technical Details
|
||||
Bonfire is powered by:
|
||||
Svelte,
|
||||
Tailwindcss,
|
||||
Nginx
|
||||
Segs
|
||||
-->
|
||||
<!-- Source Code
|
||||
Self-hosted with <3 using Forgejo (a fork of Gittea)
|
||||
CodeBerg mirror
|
||||
GitLab mirror
|
||||
GitHub mirror
|
||||
|
||||
<Commit_Tiles/>
|
||||
-->
|
||||
|
||||
<!-- Work Experience -->
|
||||
<!-- Brief Bitwyre -->
|
||||
<!-- Details -->
|
||||
|
||||
<!-- Brief STG -->
|
||||
<!-- Details -->
|
||||
|
||||
<!-- Call to action (Got a problem?)
|
||||
Let me have a shot at it!
|
||||
...
|
||||
-->
|
||||
|
||||
<!-- Contact
|
||||
Location: Iran - Tehran Province - Tehran
|
||||
|
||||
Call: +________________
|
||||
Mail: job@light7734.com
|
||||
Mail: light7734@tuta.io
|
||||
Message:
|
||||
Telegram: @Light7734
|
||||
Matrix: matrix.org:@light7734
|
||||
|
||||
[Download] Resume (pdf)
|
||||
[Download] Business Card (pdf)
|
||||
|
||||
PS: I may not respond till Saturday (unless you call my phone) since I'm **locked in** on other days.
|
||||
-->
|
||||
|
|
|
|||
|
|
@ -1,36 +1,11 @@
|
|||
<script lang="ts">
|
||||
const bio = `
|
||||
`;
|
||||
|
||||
let tiltX = 0;
|
||||
let tiltY = 0;
|
||||
|
||||
function handleMouseMove(event: MouseEvent) {
|
||||
const card = event.currentTarget as HTMLElement;
|
||||
const rect = card.getBoundingClientRect();
|
||||
const x = event.clientX - rect.left;
|
||||
const y = event.clientY - rect.top;
|
||||
const centerX = rect.width / 2;
|
||||
const centerY = rect.height / 2;
|
||||
const percentX = (x - centerX) / centerX;
|
||||
const percentY = (centerY - y) / centerY; // Invert Y for natural tilt
|
||||
const maxTilt = 2;
|
||||
tiltX = percentY * maxTilt;
|
||||
tiltY = percentX * maxTilt;
|
||||
}
|
||||
|
||||
function handleMouseLeave() {
|
||||
tiltX = 0;
|
||||
tiltY = 0;
|
||||
}
|
||||
</script>
|
||||
|
||||
<!-- svelte-ignore a11y_no_static_element_interactions -->
|
||||
<div
|
||||
class="bg-card border-border relative mx-auto w-full max-w-2xl rounded-lg border border-dark-muted transition-all duration-300 ease-out hover:scale-[1.01] hover:shadow-[5px_5px_5px_#000000]"
|
||||
style="transform: perspective(1000px) rotateX({tiltX}deg) rotateY({tiltY}deg);"
|
||||
on:mousemove={handleMouseMove}
|
||||
on:mouseleave={handleMouseLeave}
|
||||
class="bg-card border-border relative mx-auto w-full max-w-2xl rounded-lg border border-dark-muted transition-all duration-100 ease-out hover:scale-[1.01] hover:shadow-[5px_5px_5px_#000000]"
|
||||
>
|
||||
<div class="mx-auto flex max-w-2xl origin-center">
|
||||
<img
|
||||
|
|
|
|||
|
|
@ -35,36 +35,11 @@
|
|||
let expanded = false;
|
||||
|
||||
import { slide } from 'svelte/transition';
|
||||
|
||||
let tiltX = 0;
|
||||
let tiltY = 0;
|
||||
|
||||
function handleMouseMove(event: MouseEvent) {
|
||||
const card = event.currentTarget as HTMLElement;
|
||||
const rect = card.getBoundingClientRect();
|
||||
const x = event.clientX - rect.left;
|
||||
const y = event.clientY - rect.top;
|
||||
const centerX = rect.width / 2;
|
||||
const centerY = rect.height / 2;
|
||||
const percentX = (x - centerX) / centerX;
|
||||
const percentY = (centerY - y) / centerY; // Invert Y for natural tilt
|
||||
const maxTilt = 2;
|
||||
tiltX = percentY * maxTilt;
|
||||
tiltY = percentX * maxTilt;
|
||||
}
|
||||
|
||||
function handleMouseLeave() {
|
||||
tiltX = 0;
|
||||
tiltY = 0;
|
||||
}
|
||||
</script>
|
||||
|
||||
<!-- svelte-ignore a11y_no_static_element_interactions -->
|
||||
<div
|
||||
class="bg-card border-border relative mx-auto w-full max-w-2xl rounded-lg border transition-all duration-300 ease-out hover:scale-[1.01] hover:shadow-[5px_5px_5px_#000000]"
|
||||
style="transform: perspective(1000px) rotateX({tiltX}deg) rotateY({tiltY}deg);"
|
||||
on:mousemove={handleMouseMove}
|
||||
on:mouseleave={handleMouseLeave}
|
||||
class="bg-card border-border relative mx-auto w-full max-w-2xl rounded-lg border transition-all duration-100 ease-out hover:scale-[1.01] hover:shadow-[5px_5px_5px_#000000]"
|
||||
>
|
||||
<div class="p-6">
|
||||
<div class="mb-4 flex items-center gap-4">
|
||||
|
|
@ -156,7 +131,7 @@
|
|||
</a>
|
||||
|
||||
<a
|
||||
href={data.gitlab}
|
||||
href={data.codeberg}
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
class="text-accent-foreground flex items-center gap-1 transition-colors duration-200 hover:underline"
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue