Files
portfolio/components/about_page.templ
Mohammad Hariri 5070f591d3 feat: animations, responsive design
Animations
- added opacity animation for experience page
- added stagger animation for navbar items on mobile
- added animation for landing page for years and language indications

Pages
- About Page mockup

Redesign
- Navbar to include icons on desktop
2025-02-21 00:07:25 +01:00

203 lines
10 KiB
Plaintext

package components
templ AboutPage() {
@rootLayout() {
<main class="w-full min-h-full py-16 px-4 sm:px-6 lg:px-8">
<div class="max-w-4xl mx-auto flex flex-col gap-16">
<!-- Hero Section -->
<section class="text-center flex flex-col items-center gap-6">
<div class="relative inline-block">
<img
src="/assets/images/profile.jpg"
alt="Mohammad Hariri"
class="w-40 h-40 rounded-full object-cover border-4 border-emerald-500 shadow-xl"
/>
<div class="absolute -bottom-2 left-1/2 -translate-x-1/2 bg-emerald-500 text-white px-3 py-1 rounded-full text-sm font-medium whitespace-nowrap">
Available for Work
</div>
</div>
<div>
<h1 class="text-4xl font-bold text-slate-100 mb-4">Your Name</h1>
<p class="text-xl text-slate-300">Full Stack Developer & Problem Solver</p>
</div>
<p class="text-slate-400 max-w-2xl mx-auto">
Passionate about crafting elegant solutions to complex problems. With expertise in modern web technologies,
I bring ideas to life through clean code and intuitive user experiences.
</p>
</section>
<!-- Journey Section -->
<section class="bg-slate-800/50 rounded-2xl p-8 backdrop-blur-sm">
<h2 class="text-2xl font-bold text-slate-100">My Journey</h2>
<div class="flex flex-col gap-8 mt-6">
<div class="flex gap-4">
<div class="flex-shrink-0 w-1 bg-emerald-500 rounded relative">
<div class="absolute w-3 h-3 bg-emerald-500 rounded-full -left-1 top-0"></div>
</div>
<div>
<h3 class="text-lg font-semibold text-emerald-400">Where I Started</h3>
<p class="text-slate-300 mt-2">
My journey in software development began with a curiosity about how things work.
From building simple websites to developing complex applications, every step has been a learning experience.
</p>
</div>
</div>
<div class="flex gap-4">
<div class="flex-shrink-0 w-1 bg-emerald-500 rounded relative">
<div class="absolute w-3 h-3 bg-emerald-500 rounded-full -left-1 top-0"></div>
</div>
<div>
<h3 class="text-lg font-semibold text-emerald-400">Where I Am</h3>
<p class="text-slate-300 mt-2">
Currently, I specialize in full-stack development, focusing on creating scalable and maintainable applications.
I'm passionate about using technology to solve real-world problems.
</p>
</div>
</div>
<div class="flex gap-4">
<div class="flex-shrink-0 w-1 bg-emerald-500 rounded relative">
<div class="absolute w-3 h-3 bg-emerald-500 rounded-full -left-1 top-0"></div>
</div>
<div>
<h3 class="text-lg font-semibold text-emerald-400">Where I'm Going</h3>
<p class="text-slate-300 mt-2">
My goal is to continue growing as a developer while contributing to meaningful projects that make a difference.
I'm always excited to learn new technologies and tackle new challenges.
</p>
</div>
</div>
</div>
</section>
<!-- Skills Section -->
<section class="flex flex-col gap-6">
<h2 class="text-2xl font-bold text-slate-100">Technical Expertise</h2>
<div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6">
<div class="bg-slate-800/50 p-6 rounded-xl backdrop-blur-sm">
<h3 class="text-lg font-semibold text-emerald-400">Frontend Development</h3>
<ul class="flex flex-col gap-2 text-slate-300 mt-4">
<li class="flex items-center">
<svg class="w-5 h-5 text-emerald-500 mr-2" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 13l4 4L19 7"></path>
</svg>
React & Next.js
</li>
<li class="flex items-center">
<svg class="w-5 h-5 text-emerald-500 mr-2" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 13l4 4L19 7"></path>
</svg>
TypeScript
</li>
<li class="flex items-center">
<svg class="w-5 h-5 text-emerald-500 mr-2" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 13l4 4L19 7"></path>
</svg>
Tailwind CSS
</li>
</ul>
</div>
<div class="bg-slate-800/50 p-6 rounded-xl backdrop-blur-sm">
<h3 class="text-lg font-semibold text-emerald-400">Backend Development</h3>
<ul class="flex flex-col gap-2 text-slate-300 mt-4">
<li class="flex items-center">
<svg class="w-5 h-5 text-emerald-500 mr-2" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 13l4 4L19 7"></path>
</svg>
Go & Fiber
</li>
<li class="flex items-center">
<svg class="w-5 h-5 text-emerald-500 mr-2" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 13l4 4L19 7"></path>
</svg>
Node.js
</li>
<li class="flex items-center">
<svg class="w-5 h-5 text-emerald-500 mr-2" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 13l4 4L19 7"></path>
</svg>
PostgreSQL
</li>
</ul>
</div>
<div class="bg-slate-800/50 p-6 rounded-xl backdrop-blur-sm">
<h3 class="text-lg font-semibold text-emerald-400">Tools & Practices</h3>
<ul class="flex flex-col gap-2 text-slate-300 mt-4">
<li class="flex items-center">
<svg class="w-5 h-5 text-emerald-500 mr-2" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 13l4 4L19 7"></path>
</svg>
Git & GitHub
</li>
<li class="flex items-center">
<svg class="w-5 h-5 text-emerald-500 mr-2" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 13l4 4L19 7"></path>
</svg>
Docker
</li>
<li class="flex items-center">
<svg class="w-5 h-5 text-emerald-500 mr-2" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 13l4 4L19 7"></path>
</svg>
CI/CD
</li>
</ul>
</div>
</div>
</section>
<!-- Personal Section -->
<section class="bg-slate-800/50 rounded-2xl p-8 backdrop-blur-sm">
<h2 class="text-2xl font-bold text-slate-100 mb-6">Beyond the Code</h2>
<div class="grid grid-cols-1 md:grid-cols-2 gap-8">
<div>
<h3 class="text-lg font-semibold text-emerald-400">When I'm Not Coding</h3>
<p class="text-slate-300">
Outside of development, I enjoy [Your Hobbies/Interests]. I believe in maintaining a healthy work-life balance
and finding inspiration in various aspects of life.
</p>
</div>
<div>
<h3 class="text-lg font-semibold text-emerald-400">Let's Connect</h3>
<div class="flex flex-col gap-4">
<p class="text-slate-300">
I'm always interested in hearing about new projects and opportunities.
Feel free to reach out if you'd like to collaborate or just chat about technology.
</p>
<div class="flex gap-4">
<a
href="https://github.com/yourusername"
target="_blank"
rel="noopener noreferrer"
class="text-slate-400 hover:text-emerald-500 transition-colors"
>
<svg class="h-6 w-6" fill="currentColor" viewBox="0 0 24 24">
<path d="M12 0c-6.626 0-12 5.373-12 12 0 5.302 3.438 9.8 8.207 11.387.599.111.793-.261.793-.577v-2.234c-3.338.726-4.033-1.416-4.033-1.416-.546-1.387-1.333-1.756-1.333-1.756-1.089-.745.083-.729.083-.729 1.205.084 1.839 1.237 1.839 1.237 1.07 1.834 2.807 1.304 3.492.997.107-.775.418-1.305.762-1.604-2.665-.305-5.467-1.334-5.467-5.931 0-1.311.469-2.381 1.236-3.221-.124-.303-.535-1.524.117-3.176 0 0 1.008-.322 3.301 1.23.957-.266 1.983-.399 3.003-.404 1.02.005 2.047.138 3.006.404 2.291-1.552 3.297-1.23 3.297-1.23.653 1.653.242 2.874.118 3.176.77.84 1.235 1.911 1.235 3.221 0 4.609-2.807 5.624-5.479 5.921.43.372.823 1.102.823 2.222v3.293c0 .319.192.694.801.576 4.765-1.589 8.199-6.086 8.199-11.386 0-6.627-5.373-12-12-12z"></path>
</svg>
</a>
<a
href="https://linkedin.com/in/yourprofile"
target="_blank"
rel="noopener noreferrer"
class="text-slate-400 hover:text-emerald-500 transition-colors"
>
<svg class="h-6 w-6" fill="currentColor" viewBox="0 0 24 24">
<path d="M19 0h-14c-2.761 0-5 2.239-5 5v14c0 2.761 2.239 5 5 5h14c2.762 0 5-2.239 5-5v-14c0-2.761-2.238-5-5-5zm-11 19h-3v-11h3v11zm-1.5-12.268c-.966 0-1.75-.79-1.75-1.764s.784-1.764 1.75-1.764 1.75.79 1.75 1.764-.783 1.764-1.75 1.764zm13.5 12.268h-3v-5.604c0-3.368-4-3.113-4 0v5.604h-3v-11h3v1.765c1.396-2.586 7-2.777 7 2.476v6.759z"></path>
</svg>
</a>
<a
href="https://twitter.com/yourhandle"
target="_blank"
rel="noopener noreferrer"
class="text-slate-400 hover:text-emerald-500 transition-colors"
>
<svg class="h-6 w-6" fill="currentColor" viewBox="0 0 24 24">
<path d="M23.953 4.57a10 10 0 01-2.825.775 4.958 4.958 0 002.163-2.723c-.951.555-2.005.959-3.127 1.184a4.92 4.92 0 00-8.384 4.482C7.69 8.095 4.067 6.13 1.64 3.162a4.822 4.822 0 00-.666 2.475c0 1.71.87 3.213 2.188 4.096a4.904 4.904 0 01-2.228-.616v.06a4.923 4.923 0 003.946 4.827 4.996 4.996 0 01-2.212.085 4.936 4.936 0 004.604 3.417 9.867 9.867 0 01-6.102 2.105c-.39 0-.779-.023-1.17-.067a13.995 13.995 0 007.557 2.209c9.053 0 13.998-7.496 13.998-13.985 0-.21 0-.42-.015-.63A9.935 9.935 0 0024 4.59z"></path>
</svg>
</a>
</div>
</div>
</div>
</div>
</section>
</div>
</main>
}
}