Skip to content

Commit

Permalink
Merge branch 'develop' of https://github.com/UTDNebula/jupiter into d…
Browse files Browse the repository at this point in the history
…evelop
  • Loading branch information
talseku committed Nov 5, 2024
2 parents b504950 + 1e7f939 commit a79c74c
Show file tree
Hide file tree
Showing 15 changed files with 302 additions and 106 deletions.
4 changes: 3 additions & 1 deletion .github/workflows/generateCheck.sh
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
if [ $status == 'success' ]; then
files=$(npx prettier . -l)
status=$?
if [ $status == 0 ]; then
echo "## Formatting Check passed 🥳" >>$GITHUB_STEP_SUMMARY
echo "All files are formatted correctly" >>$GITHUB_STEP_SUMMARY
exit 0
Expand Down
10 changes: 1 addition & 9 deletions .github/workflows/prettierCheck.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,13 +12,5 @@ jobs:
cache: 'npm'
- name: Run npm install
run: npm ci
- name: Run prettier
id: prettier
continue-on-error: true
run: |
files=`npx prettier . -l`
echo files=$files >> "$GITHUB_ENV"
- name: generate errors/summary
- name: Run prettier & generate problems
run: .github/workflows/generateCheck.sh
env:
status: ${{ steps.prettier.outcome }}
46 changes: 20 additions & 26 deletions package-lock.json

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

2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@
"dependencies": {
"@auth/drizzle-adapter": "^0.3.2",
"@hookform/resolvers": "^3.3.2",
"@next/third-parties": "^14.2.15",
"@radix-ui/react-alert-dialog": "^1.0.5",
"@radix-ui/react-dialog": "^1.0.5",
"@radix-ui/react-dropdown-menu": "^2.0.6",
Expand All @@ -27,7 +28,6 @@
"@trpc/client": "^11.0.0-rc.340",
"@trpc/react-query": "^11.0.0-rc.340",
"@trpc/server": "^11.0.0-rc.340",
"@vercel/analytics": "^1.3.1",
"date-fns": "^2.30.0",
"dotenv": "^16.0.3",
"drizzle-orm": "^0.28.5",
Expand Down
99 changes: 72 additions & 27 deletions src/app/about/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -14,59 +14,104 @@ export const metadata: Metadata = {
};

const About = () => {
const teamMembers = [
{ name: 'Ethan Bickel', position: 'Project Lead' },
{ name: 'Braeden Kotko', position: 'Engineer' },
{ name: 'Connor Harris', position: 'Engineer' },
{ name: 'Jonathan Le', position: 'Engineer' },
{ name: 'Alex Vazquez', position: 'Engineer' },
{ name: 'Ishaan Gupta', position: 'Engineer' },
{ name: 'Ritvik Thota', position: 'Engineer' },
];
const recruits = [
{ name: 'Jordan Joelson', position: 'Engineer' },
{ name: 'Mansi Cherukupally', position: 'Engineer' },
{ name: 'Aryav Rastogi', position: 'Engineer' },
{ name: 'Sreevasan Siasubramanian', position: 'Engineer' },
{ name: 'Ninad Sudarsanam', position: 'Engineer' },
{ name: 'Shivesh Gupta', position: 'Engineer' },
{ name: 'Natalia Sekulic', position: 'Engineer' },
{ name: 'Mamoun Elmamoun', position: 'Engineer' },
{ name: 'Chloe Alzaga', position: 'Engineer' },
{ name: 'Joshua Perez', position: 'Engineer' },
{ name: 'Ankith Ganji', position: 'Engineer' },
{ name: 'Valeria Gallardo', position: 'Designer' },
{ name: 'Waseef Kabir', position: 'Designer' },
{ name: 'Ved Mahant', position: 'Designer' },
];
return (
<main className="h-full md:pl-72">
<Header />
<div className="mx-6 h-full">
<h1 className="p-2 py-12 text-2xl font-bold text-slate-500">
About us
</h1>
<div className="rounded-lg bg-slate-100 p-8 shadow-md">
<h2 className="mb-4 text-lg font-semibold text-slate-500">
Project Jupiter
About Jupiter
</h2>
<h3 className="mb-2 text-base text-slate-500">Our Goal</h3>

<p className="mt-2 space-y-4 text-sm font-light text-slate-500">
Jupiter is a user-friendly platform that can be utilized by students
to seamlessly join school clubs. This tool allows students to browse
through the list of available clubs, their activities, and
objectives, all in one place. Students can easily sign up for clubs
that interest them and receive real-time updates on events,
meetings, and other activities organized by the clubs. The platform
also enables club leaders to manage and promote their clubs more
efficiently, keeping members informed about important details and
facilitating communication between members.
Jupiter is a platform being developed by nebula labs in order to
help students find organizations and events on and around campus.
<br />
You&apos;re able to track organizations you&apos;re interested in,
find new organizations, and keep up to date on events you want to
attend.
<br />
Jupiter comes with several features that make it an ideal tool for
school club management. For instance, the platform provides a
comprehensive dashboard that enables club leaders to track
attendance, monitor club performance, and collect feedback from
members. The tool also integrates with the school&apos;s social
media pages and website, making it easy for students to discover
clubs that match their interests. With Jupiter, students can easily
find and join clubs, and club leaders can manage their clubs more
effectively, leading to more successful and fulfilling club
experiences for everyone involved.
For organizations we offer a better way to keep your info up to
date, and for people well suited for your organization to find out
about you and your events.
</p>
<p className="mt-2 space-y-4 text-sm font-light text-slate-500">
If you&apos;re interested in contributing to Jupiter check out the{' '}
<a
href="https://discord.utdnebula.com/"
className="text-blue-primary hover:underline"
>
Nebula Discord
</a>
, or our{' '}
<a
href="https://github.com/UTDNebula/jupiter"
className="text-blue-primary hover:underline"
>
Github
</a>
</p>
</div>
<div className="mt-16 py-3">
<h1 className="mb-10 text-center text-3xl font-bold text-slate-500">
Our Team
</h1>
<div className="grid grid-cols-1 gap-6 sm:grid-cols-2 md:grid-cols-3 lg:grid-cols-4 xl:grid-cols-4">
{Array.from({ length: 8 }).map((_, key) => (
{teamMembers.map((member, key) => (
<div
key={key}
className="rounded-lg bg-slate-100 p-5 shadow-md transition-shadow duration-300 hover:shadow-lg"
>
<h2 className="mb-2 text-xl font-medium text-slate-500">
Name
{member.name}
</h2>
<h3 className="text-lg text-slate-500">Position</h3>
<h3 className="text-lg text-slate-500">{member.position}</h3>
</div>
))}
</div>
<div className="mt-16 py-3">
<h1 className="mb-10 text-center text-3xl font-bold text-slate-500">
Recruits
</h1>
<div className="grid grid-cols-1 gap-6 sm:grid-cols-2 md:grid-cols-3 lg:grid-cols-4 xl:grid-cols-4">
{recruits.map((member, key) => (
<div
key={key}
className="rounded-lg bg-slate-100 p-5 shadow-md transition-shadow duration-300 hover:shadow-lg"
>
<h2 className="mb-2 text-xl font-medium text-slate-500">
{member.name}
</h2>
<h3 className="text-lg text-slate-500">{member.position}</h3>
</div>
))}
</div>
</div>
</div>
</div>
</main>
Expand Down
39 changes: 39 additions & 0 deletions src/app/directory/search/ClubSearch.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
'use client';
import { api } from '@src/trpc/react';
import type { SelectClub as Club } from '@src/server/db/models';
import { type Session } from 'next-auth';
import ClubCard from '@src/components/club/ClubCard';

interface ClubSearchComponentProps {
userSearch: string;
session: Session | null;
}

export const ClubSearchComponent = ({
userSearch,
session,
}: ClubSearchComponentProps) => {
const { data } = api.club.byNameNoLimit.useQuery(
{ name: userSearch },
{ enabled: !!userSearch },
);

if (!data) {
return <p />;
}
if (data.length === 0) {
return (
<div className="text-center text-4xl font-bold text-slate-500">
No Search Results Found
</div>
);
}

return (
<div className="grid w-full auto-rows-fr grid-cols-[repeat(auto-fill,320px)] justify-center gap-16 pb-4">
{data.map((club: Club) => (
<ClubCard key={club.id} club={club} session={session} priority />
))}
</div>
);
};
24 changes: 24 additions & 0 deletions src/app/directory/search/page.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
import Header from '@src/components/header/BaseHeader';
import { ClubSearchComponent } from './ClubSearch';
import { getServerAuthSession } from '@src/server/auth';

type Params = {
searchParams: { [key: string]: string | undefined };
};

const clubSearch = async (props: Params) => {
const { searchParams } = props;
const userSearch = searchParams['search'] || '';
const session = await getServerAuthSession();

return (
<main className="md:pl-72">
<div>
<Header />
<ClubSearchComponent userSearch={userSearch} session={session} />
</div>
</main>
);
};

export default clubSearch;
4 changes: 2 additions & 2 deletions src/app/layout.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import { TRPCReactProvider } from '@src/trpc/react';
import Sidebar from '@src/components/nav/Sidebar';
import { type Metadata } from 'next';

import { Analytics } from '@vercel/analytics/react';
import { GoogleAnalytics } from '@next/third-parties/google';

const inter = Inter({
subsets: ['latin'],
Expand Down Expand Up @@ -48,7 +48,7 @@ export default function RootLayout({
<Sidebar />
<div className="max-h-screen overflow-y-scroll">{children}</div>
</TRPCReactProvider>
<Analytics />
<GoogleAnalytics gaId="G-FYTBHVKNG6" />
</body>
</html>
);
Expand Down
3 changes: 2 additions & 1 deletion src/app/manage/[clubId]/edit/EditContactForm.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ import { zodResolver } from '@hookform/resolvers/zod';
import EditContactSelector from '@src/app/manage/[clubId]/edit/EditContactSelector';
import { type SelectClub, type SelectContact } from '@src/server/db/models';
import { api } from '@src/trpc/react';
import { type contact } from '@src/utils/contact';
import { editClubContactSchema } from '@src/utils/formSchemas';
import { useRouter } from 'next/navigation';
import { useReducer } from 'react';
Expand Down Expand Up @@ -55,7 +56,7 @@ const deletedReducer = (
export default function EditContactForm({
club,
}: {
club: SelectClub & { contacts: SelectContact[] };
club: SelectClub & { contacts: contact[] };
}) {
const {
register,
Expand Down
Loading

0 comments on commit a79c74c

Please sign in to comment.