Skip to content

Commit e16dca7

Browse files
committed
new
1 parent dbd56f3 commit e16dca7

File tree

102 files changed

+6839
-197
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

102 files changed

+6839
-197
lines changed

.github/workflows/deploy.yml

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
name: Deploy to GitHub Pages
2+
3+
on:
4+
push:
5+
branches: [ main ]
6+
workflow_dispatch:
7+
8+
jobs:
9+
build-and-deploy:
10+
runs-on: ubuntu-latest
11+
steps:
12+
- name: Checkout
13+
uses: actions/checkout@v3
14+
15+
- name: Setup Node.js
16+
uses: actions/setup-node@v3
17+
with:
18+
node-version: 18
19+
20+
- name: Install dependencies
21+
run: npm ci
22+
23+
- name: Build
24+
run: npm run export
25+
26+
- name: Deploy
27+
uses: JamesIves/github-pages-deploy-action@v4
28+
with:
29+
folder: out
30+
branch: gh-pages
31+

.gitignore

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
2+
3+
# dependencies
4+
/node_modules
5+
6+
# next.js
7+
/.next/
8+
/out/
9+
10+
# production
11+
/build
12+
13+
# debug
14+
npm-debug.log*
15+
yarn-debug.log*
16+
yarn-error.log*
17+
.pnpm-debug.log*
18+
19+
# env files
20+
.env*
21+
22+
# vercel
23+
.vercel
24+
25+
# typescript
26+
*.tsbuildinfo
27+
next-env.d.ts

.nojekyll

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
2+

.vscode/settings.json

Lines changed: 0 additions & 3 deletions
This file was deleted.

CNAME

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,2 @@
1-
www.tanmayhinge.com
1+
tanmayhinge.com
2+

app/ClientPage.tsx

Lines changed: 116 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,116 @@
1+
"use client"
2+
3+
import { useState } from "react"
4+
import MainSection from "@/components/MainSection"
5+
import Link from "next/link"
6+
import { ArrowRight, X } from "lucide-react"
7+
import dynamic from "next/dynamic"
8+
9+
// Import SplineBackground with no SSR
10+
const SplineBackground = dynamic(() => import("@/components/SplineBackground"), {
11+
ssr: false,
12+
})
13+
14+
export default function ClientPage() {
15+
const [mobileMenuOpen, setMobileMenuOpen] = useState(false)
16+
17+
const toggleMobileMenu = () => {
18+
setMobileMenuOpen(!mobileMenuOpen)
19+
}
20+
21+
return (
22+
<div className="min-h-screen bg-transparent text-white relative">
23+
{/* Main content with lowest z-index */}
24+
<div className="relative z-[1]">
25+
<MainSection />
26+
</div>
27+
28+
{/* Spline Background with middle z-index */}
29+
<div className="fixed inset-0 z-[50]">
30+
<SplineBackground />
31+
</div>
32+
33+
{/* Navigation with highest z-index */}
34+
<nav className="fixed top-0 left-0 right-0 z-[100] py-4 sm:py-8">
35+
<div className="w-full px-4 sm:px-6 flex justify-between items-center">
36+
{/* Logo at extreme left */}
37+
<div className="z-[200]">
38+
<Link href="/" className="text-xl sm:text-2xl font-medium" style={{ pointerEvents: "auto" }}>
39+
Tanmay Hinge
40+
</Link>
41+
</div>
42+
43+
{/* Center navigation links (desktop only) */}
44+
<div className="absolute left-1/2 transform -translate-x-1/2 hidden md:flex items-center gap-8 z-[200]">
45+
<Link href="#work" className="hover:text-gray-300" style={{ pointerEvents: "auto" }}>
46+
Work
47+
</Link>
48+
<Link href="#about" className="hover:text-gray-300" style={{ pointerEvents: "auto" }}>
49+
About
50+
</Link>
51+
<Link href="#contact" className="hover:text-gray-300" style={{ pointerEvents: "auto" }}>
52+
Contact
53+
</Link>
54+
</div>
55+
56+
{/* Right section - Button and mobile menu toggle */}
57+
<div className="z-[200]">
58+
{/* Mobile menu button (only visible on small screens) */}
59+
<button
60+
onClick={toggleMobileMenu}
61+
className="md:hidden w-8 h-8 flex flex-col justify-center gap-1.5"
62+
style={{ pointerEvents: "auto" }}
63+
aria-label="Toggle mobile menu"
64+
>
65+
{mobileMenuOpen ? (
66+
<X className="w-6 h-6" />
67+
) : (
68+
<>
69+
<span className="w-full h-0.5 bg-white"></span>
70+
<span className="w-full h-0.5 bg-white"></span>
71+
</>
72+
)}
73+
</button>
74+
75+
{/* Let's collaborate button (desktop only) */}
76+
<Link
77+
href="#contact"
78+
className="hidden md:inline-flex items-center gap-2 border border-white px-4 py-2 hover:bg-white hover:text-black transition-colors bg-black bg-opacity-70"
79+
style={{ pointerEvents: "auto" }}
80+
>
81+
Let's collaborate <ArrowRight className="w-4 h-4" />
82+
</Link>
83+
</div>
84+
</div>
85+
86+
{/* Mobile menu (only visible when open) */}
87+
{mobileMenuOpen && (
88+
<div
89+
className="md:hidden fixed inset-0 bg-black bg-opacity-95 z-[150] pt-20 px-4"
90+
style={{ pointerEvents: "auto" }}
91+
>
92+
<div className="flex flex-col items-center gap-8 text-xl">
93+
<Link href="#work" className="hover:text-gray-300" onClick={() => setMobileMenuOpen(false)}>
94+
Work
95+
</Link>
96+
<Link href="#about" className="hover:text-gray-300" onClick={() => setMobileMenuOpen(false)}>
97+
About
98+
</Link>
99+
<Link href="#contact" className="hover:text-gray-300" onClick={() => setMobileMenuOpen(false)}>
100+
Contact
101+
</Link>
102+
<Link
103+
href="#contact"
104+
className="inline-flex items-center gap-2 border border-white px-4 py-2 mt-4 hover:bg-white hover:text-black transition-colors"
105+
onClick={() => setMobileMenuOpen(false)}
106+
>
107+
Let's collaborate <ArrowRight className="w-4 h-4" />
108+
</Link>
109+
</div>
110+
</div>
111+
)}
112+
</nav>
113+
</div>
114+
)
115+
}
116+

app/about/page.tsx

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
export default function AboutPage() {
2+
return (
3+
<div className="min-h-screen pt-32 px-4 flex items-center justify-center">
4+
<div className="text-center">
5+
<h1 className="text-4xl font-bold mb-4">About</h1>
6+
<p className="text-gray-400">This page is under construction.</p>
7+
</div>
8+
</div>
9+
)
10+
}
11+

app/actions.ts

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
"use server"
2+
3+
export async function downloadResume() {
4+
const resume = `Juan
5+
Software Engineer Manager
6+
Mexico City, Mexico (GMT-6)
7+
(+52) 55 83 67 99 08
8+
9+
juancarlosjiron.com
10+
11+
As a Software Engineer, I developed an Android application used nationwide for delivering medicine in Mexico, created a website that receives 100,000 visitors per month, built an e-commerce platform generating $500,000 in sales per month, and contributed to open-source libraries in the real estate sector. My experience includes working with technologies such as React, Android, Java, Kotlin, TypeScript, and Spring Boot.
12+
13+
[... rest of resume content ...]`
14+
15+
return new Response(resume, {
16+
headers: {
17+
"Content-Type": "text/plain",
18+
"Content-Disposition": 'attachment; filename="juan-carlos-jiron-resume.txt"',
19+
},
20+
})
21+
}
22+

0 commit comments

Comments
 (0)