Skip to content

Commit bcb2f0c

Browse files
Merge pull request #6 from HoagieClub/preview
Merge to Main 10/26/25
2 parents 0dcaeed + 85fbc81 commit bcb2f0c

23 files changed

Lines changed: 5867 additions & 1798 deletions

.github/pull_request_template.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
**References**
2+
- Linear:
3+
4+
**Proposed Changes**
5+
- _Add your proposed changes here_

.github/workflows/lint.yml

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
name: Lint
2+
on: pull_request
3+
jobs:
4+
run-linters:
5+
name: Run linters
6+
runs-on: ubuntu-latest
7+
defaults:
8+
run:
9+
working-directory: ./frontend
10+
11+
steps:
12+
- name: Check out Git repository
13+
uses: actions/checkout@v5
14+
15+
- name: Set up Node.js
16+
uses: actions/setup-node@v5
17+
with:
18+
node-version: 22
19+
20+
# ESLint and Prettier must be in `package.json`
21+
- name: Install Node.js dependencies
22+
run: yarn install --frozen-lockfile
23+
24+
- name: Run linters
25+
uses: wearerequired/lint-action@v2.3.0
26+
with:
27+
eslint: true
28+
eslint_dir: ./frontend
29+
prettier: true
30+
prettier_dir: ./frontend

README.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,31 @@
1-
# Hoagie Template
1+
# HoagieSparks
22

3-
Hoagie Club's app template repository.
3+
Repository for HoagieSparks.
44

55
## Getting Started
66

77
### Prerequisites
88

9-
Before you begin, ensure you have [Bun](https://bun.sh/) installed. You can install Bun via [Homebrew](https://brew.sh/) using the following command:
9+
Before you begin, ensure you have [Yarn](https://yarnpkg.com/) installed. You can install Yarn via [Homebrew](https://brew.sh/) using the following command:
1010

1111
```bash
12-
brew install bun
12+
brew install yarn
1313
```
1414

1515
### Installation
1616

1717
To install the necessary dependencies, run:
1818

1919
```bash
20-
bun install
20+
yarn
2121
```
2222

2323
### Running the App
2424

2525
Once the dependencies are installed, you can start the development server by running:
2626

2727
```bash
28-
bun run dev
28+
yarn dev
2929
```
3030

3131
The app will now be running locally, and you can view it in your browser at localhost:3000.

frontend/.node-version

Lines changed: 0 additions & 1 deletion
This file was deleted.

frontend/.prettierignore

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,2 @@
1-
.next
1+
.next
2+
next-env.d.ts

frontend/app/about/page.tsx

Lines changed: 61 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,20 @@
22

33
import React from 'react';
44

5+
import { Heading, majorScale, Pane, Text, useTheme } from 'evergreen-ui';
56
import Image from 'next/image';
67

78
// --- Helper Components & Data ---
89

10+
interface member {
11+
name: string;
12+
role: string;
13+
imgSrc: string;
14+
socials: {
15+
linkedin: string;
16+
};
17+
}
18+
919
// Icon for social media links
1020
const SocialIcon = ({ href, children }: { href: string; children: React.ReactNode }) => (
1121
<a
@@ -38,16 +48,23 @@ const LinkedinIcon = () => (
3848
);
3949

4050
// Team data organized for easier management
41-
const teamLeads = [
51+
const teamLeads: member[] = [
4252
{
43-
name: 'Hoagie.io',
53+
name: 'Spencer Doyle',
4454
role: 'Team Lead',
45-
bio: 'Hoagie is an experienced software engineer with a passion for building campus apps for Princeton students.',
46-
imgSrc: 'https://github.com/HoagieClub/club/raw/refs/heads/source/src/assets/hoagie-hi.svg',
55+
imgSrc: 'https://media.licdn.com/dms/image/v2/D4E03AQFgKlbpu5PV9Q/profile-displayphoto-shrink_400_400/profile-displayphoto-shrink_400_400/0/1710630696392?e=1762992000&v=beta&t=0BKZ_8Nv9L8OgZbItbsoHfuUL1xlXTTOMDpTzuU5a_w',
4756
socials: {
48-
linkedin: 'https://www.linkedin.com',
57+
linkedin: 'https://www.linkedin.com/in/spencer-doyle3/',
58+
},
59+
},
60+
{
61+
name: 'Issac Li',
62+
role: 'Team Lead',
63+
imgSrc: 'https://media.licdn.com/dms/image/v2/D5603AQEDK7V3q61jAA/profile-displayphoto-shrink_400_400/profile-displayphoto-shrink_400_400/0/1690434142044?e=1762992000&v=beta&t=Xf393UgOpXgB_WpSMMNOUZazRfOsF7JMdKaHBvxNqIY',
64+
socials: {
65+
linkedin: 'https://www.linkedin.com/in/issactli/',
4966
},
50-
}
67+
},
5168
];
5269

5370
const teamMembers = [
@@ -67,47 +84,67 @@ const teamMembers = [
6784
* Features a clean, professional design with interactive cards.
6885
*/
6986
export function App() {
87+
const theme = useTheme();
7088
return (
7189
<div className='min-h-screen font-sans text-slate-800'>
7290
<div className='container mx-auto px-4 sm:px-6 lg:px-8 py-16'>
7391
{/* Header */}
74-
<header className='text-center mb-12'>
75-
<h1 className='text-4xl sm:text-5xl lg:text-6xl font-extrabold text-slate-900 tracking-tight'>
76-
Meet the <span className='text-emerald-600'>HoagieMeal</span> Team
77-
</h1>
78-
<p className='mt-4 text-lg text-slate-600 max-w-2xl mx-auto'>
79-
We&apos;re a passionate group of foodies, developers, and designers
80-
dedicated to making your dining experience easier and more enjoyable.
81-
</p>
82-
</header>
92+
<Pane textAlign='center' marginBottom={majorScale(6)}>
93+
<Heading
94+
size={900}
95+
fontSize='3rem'
96+
fontWeight={700}
97+
marginBottom={majorScale(4)}
98+
>
99+
Meet the{' '}
100+
<Text size={900} fontSize='3rem' color={theme.colors.blue500}>
101+
HoagieSparks
102+
</Text>{' '}
103+
Team
104+
</Heading>
105+
<Text size={500} display='block' maxWidth={672} marginX='auto'>
106+
We&apos;re a passionate group of developers and designers dedicated to
107+
improving your Princeton academic experience.
108+
</Text>
109+
</Pane>
83110

84111
{/* Team Leadership Section */}
85112
<section className='mb-16'>
86113
<h2 className='text-3xl font-bold text-slate-900 mb-12 text-center'>
87114
Team Leadership
88115
</h2>
89-
<div className='grid grid-cols-1 lg:grid-cols-1 gap-10 max-w-lg mx-auto'>
116+
<div className='grid grid-cols-1 lg:grid-cols-2 gap-10 max-w-5xl mx-auto'>
90117
{teamLeads.map((lead) => (
91118
<div
92119
key={lead.name}
93120
className='bg-white rounded-2xl shadow-lg overflow-hidden transform hover:scale-[1.02] transition-transform duration-300 ease-in-out'
94121
>
95122
<div className='p-8 flex flex-col sm:flex-row items-center'>
96-
<Image
97-
src={lead.imgSrc}
98-
alt={lead.name}
99-
className='w-32 h-32 rounded-full mb-6 sm:mb-0 sm:mr-8 flex-shrink-0 border-4 border-emerald-200 shadow-md'
100-
height={0}
101-
width={0}
102-
/>
123+
<Pane
124+
flexShrink={0}
125+
marginBottom={majorScale(3)}
126+
marginRight={majorScale(4)}
127+
width={128}
128+
height={128}
129+
borderRadius='50%'
130+
border={`4px solid ${theme.colors.blue200}`}
131+
boxShadow='0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06)'
132+
overflow='hidden'
133+
>
134+
<Image
135+
src={lead.imgSrc}
136+
alt={lead.name}
137+
height={128}
138+
width={128}
139+
/>
140+
</Pane>
103141
<div className='text-center sm:text-left'>
104142
<h3 className='text-2xl font-bold text-slate-900'>
105143
{lead.name}
106144
</h3>
107145
<p className='text-md font-semibold text-emerald-600 mb-2'>
108146
{lead.role}
109147
</p>
110-
<p className='text-slate-600 mb-4'>{lead.bio}</p>
111148
<div className='flex justify-center sm:justify-start space-x-4'>
112149
<SocialIcon href={lead.socials.linkedin}>
113150
<LinkedinIcon />

frontend/app/globals.css

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,9 @@
1212

1313
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700&display=swap');
1414

15-
@import "tailwindcss";
15+
@import 'tailwindcss';
1616
@config "../tailwind.config.ts";
1717

18-
1918
@layer base {
2019
:root {
2120
--background: 0 0% 100%;

frontend/app/layout.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,7 @@ async function Content({ children }: ContentProps): Promise<JSX.Element> {
4848
const user = session?.user;
4949

5050
const tabs = [
51+
{ title: 'About', href: '/about' },
5152
{ title: 'Feature 1', href: '/feature1' },
5253
{ title: 'Feature 2', href: '/feature2' },
5354
{ title: 'Feature 3', href: '/feature3' },

frontend/app/page.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,14 +22,14 @@ import {
2222
ArrowRightIcon,
2323
ArrowLeftIcon,
2424
Button,
25+
useTheme,
2526
} from 'evergreen-ui';
2627
import Link from 'next/link';
2728

2829
import AuthButton from '@/lib/hoagie-ui/AuthButton';
29-
import { hoagieTemplate } from '@/lib/hoagie-ui/Theme/themes';
3030

3131
export function Home() {
32-
const theme = hoagieTemplate;
32+
const theme = useTheme();
3333
const { user, error, isLoading } = useUser();
3434

3535
let Profile;
@@ -44,7 +44,7 @@ export function Home() {
4444
<Button
4545
height={56}
4646
width={majorScale(35)}
47-
backgroundColor={theme.colors.teal100}
47+
backgroundColor={theme.colors.blue100}
4848
marginBottom={20}
4949
iconBefore={ArrowRightIcon}
5050
>

0 commit comments

Comments
 (0)