Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
36 commits
Select commit Hold shift + click to select a range
1eec998
Add SSTRUK alien dating app features, pages, and mock data
appo357 Apr 18, 2026
f43b39f
chat bot changes
emac129 Apr 18, 2026
df7eac2
getting rid of header and fixing website name/logo
natashaw17 Apr 18, 2026
c1316d6
Merge remote-tracking branch 'origin/Catherine's-Branch-for-Sign-Up-P…
emac129 Apr 18, 2026
6138134
Merge remote-tracking branch 'origin/tash2-branch'
emac129 Apr 18, 2026
ac3610c
fix for error
emac129 Apr 18, 2026
3c388a7
feat: overhaul orbit system and expand alien database
appo357 Apr 18, 2026
bfe35fb
Merge branch 'apollos-branch'
appo357 Apr 18, 2026
2c244c9
fix for sign up scroll
emac129 Apr 18, 2026
d153f1c
fix for compulsory fields for sign up
emac129 Apr 18, 2026
efb10bf
swiping on profiles
natashaw17 Apr 18, 2026
c42c690
feat: implement dynamic compatibility scoring algorithm based on biol…
appo357 Apr 18, 2026
a67a619
Merge branch 'apollo2'
appo357 Apr 18, 2026
5c7c6fa
Add exit button to chat interface
natashaw17 Apr 18, 2026
0d5cbbf
fix: sync package-lock.json for npm ci
Apr 18, 2026
618735a
feat: implement rocket transition and match overlay
Apr 18, 2026
07d5e8a
ci: add VITE_GEMINI_API_KEY secret to deploy workflow
Apr 18, 2026
ac80074
merge: resolve conflicts and integrate rocket transition into main
Apr 18, 2026
49087ca
fix: resolve typescript build errors in main branch
Apr 18, 2026
c03280d
fix: resolve button interactivity issue in rocket transition
Apr 18, 2026
c395eb6
feat: implement graceful chat error handling with romantically awkwar…
Apr 18, 2026
c2c168c
Ran out of matches + Light years
catheriinelu Apr 18, 2026
d0a2fef
fix: resolve offset-path hover jump by removing negative animation delay
appo357 Apr 18, 2026
c63899f
Merge origin/main and resolve PR conflicts
Copilot Apr 18, 2026
b3734af
Merge branch 'Catherine's-Branch--Warning-when-no-more-stars'
Apr 18, 2026
bb94794
feat: (short term) saving the profile data and easy editing.
appo357 Apr 18, 2026
6f251d9
fix for light years
Apr 18, 2026
2efc0af
Feat: scientific features and warnings implemented
appo357 Apr 18, 2026
baeca24
Merge branch 'apollo3'
appo357 Apr 18, 2026
ec593d0
chat loading messages
Apr 18, 2026
092a0ef
fix deploy issues
Apr 18, 2026
9319af0
Fix: Scientific warnings remove choices if you chose to remove them.
appo357 Apr 18, 2026
a4bd62a
fix for back button and remove interest suggestions
Apr 18, 2026
011ba8b
Fix: storage issue overwriting refresh on page.
appo357 Apr 19, 2026
c6b73cf
UI changes
Apr 19, 2026
9cff9a6
fixes
Apr 19, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .github/workflows/deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,8 @@ jobs:

- run: npm ci
- run: npm run build
env:
VITE_GEMINI_API_KEY: ${{ secrets.VITE_GEMINI_API_KEY }}

- uses: actions/configure-pages@v5

Expand Down
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -22,3 +22,6 @@ dist-ssr
*.njsproj
*.sln
*.sw?
.env
.env.local
.env.*.local
4 changes: 2 additions & 2 deletions index.html
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@
<html lang="en">
<head>
<meta charset="UTF-8" />
<link rel="icon" type="image/svg+xml" href="/favicon.svg" />
<link rel="icon" type="image/png" href="/SSTRUK-logo.png" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>devs-sesa-beginner-hackathon-2026</title>
<title>SSTRUK</title>
</head>
<body>
<div id="root"></div>
Expand Down
80 changes: 74 additions & 6 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
"preview": "vite preview"
},
"dependencies": {
"framer-motion": "^12.38.0",
"lucide-react": "^1.8.0",
"react": "^19.2.4",
"react-dom": "^19.2.4",
Expand Down
Binary file added public/alien_crystal.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added public/alien_cyra.jpeg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added public/alien_fungal.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added public/alien_ignis.jpeg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added public/alien_kaelen.jpeg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added public/alien_lumina.webp
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added public/alien_plasma.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added public/alien_sparky.jpeg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added public/alien_squish.webp
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added public/alien_xeno.webp
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added public/alien_zarok.webp
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
28 changes: 14 additions & 14 deletions src/App.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -4,27 +4,25 @@ import Preferences from './pages/Preferences';
import Home from './pages/home/Home';
import Explore from './pages/Explore';
import Chat from './pages/Chat';
import { Rocket } from 'lucide-react';
import { Starfield } from './components/Starfield';
import { RocketTransition } from './components/RocketTransition';


function App() {
const location = useLocation();
const hideExploreLink = location.pathname === '/' || location.pathname === '/preferences';
const isHomePage = location.pathname === '/';

return (
<div className="app-container">
<nav className="navbar">
<Link to="/" className="navbar-brand">
<Rocket className="inline-block mr-2" size={24} style={{ verticalAlign: 'text-bottom', color: 'var(--color-secondary)' }} />
SSTRUK
</Link>
{!hideExploreLink && (
<div style={{ display: 'flex', gap: '16px' }}>
<Link to="/explore" className="btn-outline" style={{ padding: '6px 16px', fontSize: '0.9rem' }}>Explore</Link>
</div>
)}
</nav>

<Starfield />
{!isHomePage && (
<div style={{ position: 'absolute', top: '24px', left: '32px', zIndex: 100 }}>
<Link to="/" style={{ display: 'inline-block' }}>
<img src={`${import.meta.env.BASE_URL}SSTRUK-logo.png?v=5`} alt="SSTRUK Logo" style={{ height: '80px', objectFit: 'contain' }} />
</Link>
</div>
)}

<main className="main-content">
<Routes>
<Route path="/" element={<Home />} />
Expand All @@ -34,6 +32,8 @@ function App() {
<Route path="/chat/:id" element={<Chat />} />
</Routes>
</main>

<RocketTransition />
</div>
);
}
Expand Down
16 changes: 8 additions & 8 deletions src/components/MatchOverlay.tsx
Original file line number Diff line number Diff line change
@@ -1,23 +1,23 @@
import { useEffect } from 'react';
import type { AlienProfile } from '../data/mockAliens';
import { useNavigate } from 'react-router';
import { Heart } from 'lucide-react';
import { useRocketNav } from '../context/TransitionContext';

interface MatchOverlayProps {
alien: AlienProfile;
userName: string;
}

export default function MatchOverlay({ alien, userName }: MatchOverlayProps) {
const navigate = useNavigate();
const triggerRocketNav = useRocketNav();

useEffect(() => {
// Automatically redirect to chat after 3 seconds
// Trigger rocket navigation after 2 seconds (giving time to see the match)
const timer = setTimeout(() => {
navigate(`/chat/${alien.id}`);
}, 3000);
triggerRocketNav(`/chat/${alien.id}`);
}, 2000);
return () => clearTimeout(timer);
}, [navigate, alien.id]);
}, [triggerRocketNav, alien.id]);

return (
<div style={{
Expand Down Expand Up @@ -45,8 +45,8 @@ export default function MatchOverlay({ alien, userName }: MatchOverlayProps) {
}
`}</style>

<h1 style={{ fontSize: '4rem', fontStyle: 'italic', marginBottom: '40px', textShadow: '0 4px 20px rgba(0,0,0,0.5)' }}>
IT'S A MATCH!
<h1 style={{ fontSize: '3.5rem', fontStyle: 'italic', marginBottom: '40px', textShadow: '0 4px 20px rgba(0,0,0,0.5)', textAlign: 'center' }}>
YOU'VE BEEN STARSTRUCK!
</h1>

<div style={{ display: 'flex', alignItems: 'center', gap: '32px', marginBottom: '40px' }}>
Expand Down
Loading
Loading