Skip to content

Commit

Permalink
Merge pull request #13 from asusoda/Migrate-to-TypeScript
Browse files Browse the repository at this point in the history
⚠️ Migrated Codebase to TypeScript ⚠️
  • Loading branch information
LuaanNguyen authored Aug 2, 2024
2 parents 7d6077c + 87eb22b commit d788e7d
Show file tree
Hide file tree
Showing 30 changed files with 149 additions and 124 deletions.
4 changes: 2 additions & 2 deletions index.html
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,10 @@
<meta charset="UTF-8" />
<link rel="icon" type="image/svg+xml" href="/soda-logo.png" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>SoDA</title>
<title>SoDA - The Software Developer Association at ASU</title>
</head>
<body>
<div id="root"></div>
<script type="module" src="/src/main.jsx"></script>
<script type="module" src="/src/main.tsx"></script>
</body>
</html>
18 changes: 16 additions & 2 deletions package-lock.json

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

7 changes: 4 additions & 3 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
"type": "module",
"scripts": {
"dev": "vite",
"build": "vite build",
"build": "tsc && vite build",
"lint": "eslint . --ext js,jsx --report-unused-disable-directives --max-warnings 0",
"preview": "vite preview"
},
Expand All @@ -24,8 +24,8 @@
"tsparticles": "^3.5.0"
},
"devDependencies": {
"@types/react": "^18.2.66",
"@types/react-dom": "^18.2.22",
"@types/react": "^18.3.3",
"@types/react-dom": "^18.3.0",
"@vitejs/plugin-react": "^4.2.1",
"daisyui": "^4.11.1",
"eslint": "^8.57.0",
Expand All @@ -34,6 +34,7 @@
"eslint-plugin-react-refresh": "^0.4.6",
"postcss": "^8.4.38",
"tailwindcss": "^3.4.3",
"typescript": "^5.5.4",
"vite": "^5.2.0"
}
}
3 changes: 1 addition & 2 deletions src/App.jsx → src/App.tsx
Original file line number Diff line number Diff line change
@@ -1,12 +1,11 @@
import Footer from "./components/Footer";
import Navbar from "./components/Navbar";
import Home from "./pages/Home";
import Footer from "./components/Footer";

function App() {
return (
<>
<Navbar />
{/* Edit Home at /pages/Home.jsx */}
<Home />
<Footer />
</>
Expand Down
File renamed without changes.
File renamed without changes.
Original file line number Diff line number Diff line change
@@ -1,6 +1,10 @@
import PropTypes from "prop-types";

function RegularButton({ name }) {
type RegularButtonTypes = {
name: string;
};

function RegularButton({ name }: RegularButtonTypes) {
return (
<button type="button" className="regular-btn">
<span className="btn-text">{name}</span>
Expand All @@ -9,7 +13,3 @@ function RegularButton({ name }) {
}

export default RegularButton;

RegularButton.propTypes = {
name: PropTypes.string.isRequired,
};
Original file line number Diff line number Diff line change
@@ -1,6 +1,10 @@
import PropTypes from "prop-types";

function RoundedButton({ name }) {
type RoundedButtonTypes = {
name: string;
};

function RoundedButton({ name }: RoundedButtonTypes) {
return (
<button type="button" className="rounded-btn">
<span className="btn-text">{name}</span>
Expand Down
74 changes: 0 additions & 74 deletions src/components/Contact/Contact.jsx

This file was deleted.

File renamed without changes.
4 changes: 2 additions & 2 deletions src/components/Footer.jsx → src/components/Footer.tsx
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import AllRightsReserved from "../components/AllRightsReserved.jsx";
import HorizontalLine from "../components/HorizontalLine.jsx";
import AllRightsReserved from "./AllRightsReserved.js";
import HorizontalLine from "./HorizontalLine.js";

export default function Footer() {
return (
Expand Down
File renamed without changes.
File renamed without changes.
File renamed without changes.
Original file line number Diff line number Diff line change
@@ -1,3 +1,12 @@
import { ReactNode } from "react";

type ContentItemTypes = {
id: number;
title: string;
content: ReactNode;
button: string;
};

const content = [
{
id: 1,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,12 @@
import PropTypes from "prop-types";
import { GiHamburgerMenu } from "react-icons/gi";
import { LiaTimesSolid } from "react-icons/lia";

export default function MobileNav({ setIsOpen, isOpen }) {
type setIsOpenTypes = {
isOpen: boolean;
setIsOpen: React.Dispatch<React.SetStateAction<boolean>>;
};

export default function MobileNav({ setIsOpen, isOpen }: setIsOpenTypes) {
return (
<nav className="w-full sm:hidden flex justify-between py-5 px-5 z-99999">
<button onClick={() => setIsOpen(!isOpen)}>
Expand All @@ -18,8 +22,3 @@ export default function MobileNav({ setIsOpen, isOpen }) {
</nav>
);
}

MobileNav.propTypes = {
setIsOpen: PropTypes.func.isRequired,
isOpen: PropTypes.bool.isRequired,
};
Original file line number Diff line number Diff line change
@@ -1,7 +1,10 @@
import PropTypes from "prop-types";
import { LiaTimesSolid } from "react-icons/lia";

export default function OpenedMobileNav({ setIsOpen }) {
type setIsOpenTypes = {
setIsOpen: React.Dispatch<React.SetStateAction<boolean>>;
};

export default function OpenedMobileNav({ setIsOpen }: setIsOpenTypes) {
return (
<section
className="fixed inset-0 bg-opacity-50"
Expand Down Expand Up @@ -36,7 +39,3 @@ export default function OpenedMobileNav({ setIsOpen }) {
</section>
);
}

OpenedMobileNav.propTypes = {
setIsOpen: PropTypes.node.isRequired,
};
2 changes: 1 addition & 1 deletion src/components/Navbar.jsx → src/components/Navbar.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import MobileNav from "./Mobile/MobileNav";
import RoundedButton from "./Button/RoundedButton";

function Navbar() {
const [isOpen, setIsOpen] = useState(false);
const [isOpen, setIsOpen] = useState<boolean>(false);
return (
<header className="navigation">
{/* Primary Navigation - Hidden on mobile */}
Expand Down
File renamed without changes.
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,23 @@ import workiva from "./logo/workiva.png";
import generalmotors from "./logo/generalmotors.png";
import americanexpress from "./logo/americanexpress.png";

type SponsorLogo =
| "amazon"
| "statefarm"
| "drivetime"
| "deloitte"
| "goldmansachs"
| "garmin"
| "starbucks"
| "paypal"
| "godaddy"
| "americanexpress"
| "axosoft"
| "workiva"
| "generalmotors";

function SponsorsMarquee() {
const logoMap = {
const logoMap: Record<SponsorLogo, string> = {
amazon,
statefarm,
drivetime,
Expand All @@ -29,6 +44,7 @@ function SponsorsMarquee() {
workiva,
generalmotors,
};

return (
<section id="sponsors">
<h1 className="text-white font-bold text-2xl md:text-4xl text-center p-5">
Expand All @@ -39,21 +55,20 @@ function SponsorsMarquee() {
{sponsors.map((element, index) => (
<img
key={index}
src={logoMap[element.name]}
src={logoMap[element.name as SponsorLogo]} // Casting element.name to SponsorLogo
alt={element.name}
className="w-[10vw] object-contain"
/>
))}
{sponsors.map((element, index) => (
<img
key={index}
src={logoMap[element.name]}
src={logoMap[element.name as SponsorLogo]} // Casting element.name to SponsorLogo
alt={element.name}
className="w-[12vw] object-contain"
/>
))}
</div>
{/* <div className="animate-marquee2 flex flex-row gap-8"></div> */}
</section>
</section>
);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,21 +16,21 @@ const statistics = [
label: "worth of pizza served",
value: 22500,
steps: 1000,
formatter: (x) => dollarFormatter.format(x),
formatter: (x: number) => <>{dollarFormatter.format(x)}</>,
},
{
key: "sponsors",
label: "Sponsors",
value: 12,
steps: 1,
formatter: (x) => x,
formatter: (x: number) => <>{x}</>,
},
{
key: "teams",
label: "Committees",
value: Object.keys(teams).length,
steps: 1,
formatter: (x) => x,
formatter: (x: number) => <>{x}</>,
},
{
key: "officers",
Expand All @@ -39,14 +39,14 @@ const statistics = [
return total + team.length;
}, 0),
steps: 1,
formatter: (x) => x,
formatter: (x: number) => <>{x}</>,
},
{
key: "advisors",
label: "Advisors",
value: Object.keys(advisors).length,
steps: 1,
formatter: (x) => x,
formatter: (x: number) => <>{x}</>,
},
];

Expand Down
Loading

0 comments on commit d788e7d

Please sign in to comment.