mirror of
https://github.com/SoPat712/my-portfolio.git
synced 2025-08-21 18:28:46 -04:00
Clean portfolio redesign
This commit is contained in:
21
src/App.css
21
src/App.css
@@ -36,3 +36,24 @@
|
|||||||
transform: rotate(360deg);
|
transform: rotate(360deg);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.dropdown-button {
|
||||||
|
background-color: #61dafb;
|
||||||
|
color: black;
|
||||||
|
padding: 10px 20px;
|
||||||
|
margin: 10px;
|
||||||
|
border: none;
|
||||||
|
border-radius: 5px;
|
||||||
|
font-weight: bold;
|
||||||
|
cursor: pointer;
|
||||||
|
transition: background-color 0.2s ease;
|
||||||
|
}
|
||||||
|
|
||||||
|
.dropdown-button:hover {
|
||||||
|
background-color: #4bb0e5;
|
||||||
|
}
|
||||||
|
|
||||||
|
.dropdown {
|
||||||
|
margin-top: 10px;
|
||||||
|
text-align: left;
|
||||||
|
}
|
||||||
|
66
src/App.js
66
src/App.js
@@ -1,20 +1,64 @@
|
|||||||
import logo from "./logo.svg";
|
import React, { useState, useEffect } from "react";
|
||||||
import "./App.css";
|
import "./App.css";
|
||||||
|
|
||||||
function App() {
|
function App() {
|
||||||
|
const [loading, setLoading] = useState(true);
|
||||||
|
const [showJobs, setShowJobs] = useState(false);
|
||||||
|
const [showGrades, setShowGrades] = useState(false);
|
||||||
|
|
||||||
|
useEffect(() => {
|
||||||
|
const timeout = setTimeout(() => setLoading(false), 1000); // preload effect
|
||||||
|
return () => clearTimeout(timeout);
|
||||||
|
}, []);
|
||||||
|
|
||||||
|
if (loading) {
|
||||||
|
return (
|
||||||
|
<div className="App">
|
||||||
|
<h2>Loading portfolio...</h2>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div className="App">
|
<div className="App">
|
||||||
<header className="App-header">
|
<header className="App-header">
|
||||||
<img src={logo} className="App-logo" alt="logo" />
|
<h1>Josh Park</h1>
|
||||||
<p>Josh Patra's Portfolio</p>
|
<p>Computer Science Student at [Your University]</p>
|
||||||
<a
|
<p>GPA: 3.87</p>
|
||||||
className="App-link"
|
<div style={{ marginTop: "20px" }}>
|
||||||
href="https://reactjs.org"
|
<button
|
||||||
target="_blank"
|
onClick={() => setShowGrades(!showGrades)}
|
||||||
rel="noopener noreferrer"
|
className="dropdown-button"
|
||||||
>
|
>
|
||||||
Learn React
|
{showGrades ? "Hide Classes & Grades" : "Show Classes & Grades"}
|
||||||
</a>
|
</button>
|
||||||
|
{showGrades && (
|
||||||
|
<div className="dropdown">
|
||||||
|
<ul>
|
||||||
|
<li>CS 323: A</li>
|
||||||
|
<li>CS 214: A</li>
|
||||||
|
<li>Math 428: A</li>
|
||||||
|
<li>CS 352: A</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
)}
|
||||||
|
|
||||||
|
<button
|
||||||
|
onClick={() => setShowJobs(!showJobs)}
|
||||||
|
className="dropdown-button"
|
||||||
|
>
|
||||||
|
{showJobs ? "Hide Work Experience" : "Show Work Experience"}
|
||||||
|
</button>
|
||||||
|
{showJobs && (
|
||||||
|
<div className="dropdown">
|
||||||
|
<ul>
|
||||||
|
<li>Software Intern @ TechCorp (Summer 2024)</li>
|
||||||
|
<li>IT Assistant @ University (2023–2024)</li>
|
||||||
|
<li>Freelance Developer (2022–Present)</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
)}
|
||||||
|
</div>
|
||||||
</header>
|
</header>
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
|
Reference in New Issue
Block a user