Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
d4be857
style(Frontend): Add & update comments for theme toggling functionality
SeanSan06 Feb 21, 2026
aa8d234
feat(Frontend): Add basic logic for cream color theme
SeanSan06 Feb 21, 2026
96bb774
feat/fix(Frontend): Adjust cream theme colors and fix toggle button text
SeanSan06 Feb 21, 2026
3884496
Merge branch 'main' into seansan06/feature/frontendToBackend
SeanSan06 Feb 21, 2026
ca8d3d6
fix(Frontend): Adjust the cream colors to have warmer tones
SeanSan06 Feb 21, 2026
e5b5232
feat(Frontend): Add midnight blue theme to NavBar's button
SeanSan06 Feb 21, 2026
154d111
fix/refactor(Frontend): Fix toogle theme button and refactor css
SeanSan06 Feb 21, 2026
7ad1ff6
fix(GitHub): Fix the pull request template CI
SeanSan06 Feb 21, 2026
8f66c21
Merge branch 'main' into seansan06/feature/frontendToBackend
SeanSan06 Feb 21, 2026
ef79c7c
feat(Frontend): Add 3 new components for Home Page
SeanSan06 Feb 22, 2026
a669d40
feat(Frontend): Layout the basic HTML structure for the home pg stats
SeanSan06 Feb 22, 2026
df8daae
refactor(Frontend): Update HTML id selectors to be more descriptive
SeanSan06 Feb 22, 2026
857feae
feat(Frontend): Position the stats area & make How It Works title bigger
SeanSan06 Feb 22, 2026
ef77198
feat(Frontend): Add backgrounds to each statistic & format entire area
SeanSan06 Feb 22, 2026
ec7abbb
feat(Frontend): Apply color scheme to boxes on home page statistics area
SeanSan06 Feb 22, 2026
2f3dec9
feat(Frontend): Update statistic area on home page to be spaced out more
SeanSan06 Feb 22, 2026
2dd0367
feat(Frontend): Add RecommendProvr component and integrate into HomePage
SeanSan06 Feb 22, 2026
326893b
feat(Frontend): Color and style the Provr area of the homepage
SeanSan06 Feb 22, 2026
1b2d4d2
feat/fix(Frontend): Add link to the Provr website and fix styling issues
SeanSan06 Feb 22, 2026
12b6011
feat/refactor(Frontend): Rename CallToAction component and style area
SeanSan06 Feb 22, 2026
52725d4
feat/fix(Frontend): Adds new component pages and updates footer area
SeanSan06 Feb 22, 2026
ad1a598
feat/refactor(Frontend): Add basic Pricing Page and Update NavBar
SeanSan06 Feb 23, 2026
3a43567
feat(Frontend): Layout the pricing page using flexbox
SeanSan06 Feb 23, 2026
091e6bd
feat(Frontend): Color pricing page boxes and add hover effects
SeanSan06 Feb 23, 2026
d97f7c1
fix(Frontend): Fixes the duplicated CSS width property
SeanSan06 Feb 23, 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
16 changes: 13 additions & 3 deletions frontend/src/App.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -7,19 +7,23 @@ import HomePage from './pages/HomePage';
import FormPage from './pages/FormPage';
import DashboardPage from './pages/DashboardPage';
import AboutPage from './pages/AboutPage';
import ContactPage from './pages/ContactPage';
import PricingPage from './pages/PricingPage';

import './styles/styles.css'
import './styles/home-page.css'
import './styles/form-page.css'
import './styles/dashboard-page.css'
import './styles/about-page.css'
import './styles/pricing-page.css'

import './styles/contact-page.css'

import './styles/specific-component/resume-template.css'

// Defines what Page Component appears for each of the 5 webpages
// based on the current path
function App() {
// Initialize theme based on what user set. If new user, default to light
const [theme, setTheme] = useState(() => {
return localStorage.getItem("theme") || "light";
});
Expand All @@ -30,8 +34,14 @@ function App() {
localStorage.setItem("theme", theme);
}, [theme]);

// Cycles through: light -> dark -> cream -> light
const toggleTheme = () => {
setTheme(prev => prev === "light" ? "dark" : "light");
setTheme(prev => {
if (prev === "light") return "cream";
if (prev === "cream") return "midnight"; // New step!
if (prev === "midnight") return "dark";
return "light";
});
};

return (
Expand All @@ -43,7 +53,7 @@ function App() {
<Route path="/form" element={<FormPage />} />
<Route path="/dashboard" element={<DashboardPage />} />
<Route path="/about" element={<AboutPage />} />
<Route path="/contact" element={<ContactPage />} />
<Route path="/pricing" element={<PricingPage />} />
</Routes>
</div>
)
Expand Down
24 changes: 24 additions & 0 deletions frontend/src/components/CallToAction.jsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
import { useNavigate } from 'react-router-dom'

function CallToAction() {
const navigate = useNavigate()

return (
<div id="call-to-action-area">
<h2 id="ready-to-get-started-h2">Ready to get started?</h2>
<p id="call-to-action-p-top">Make Resumes. Prep for Interviews. Get Hired.</p>
<p id="call-to-action-p-bottom">Its the 3 step Method</p>
<button
id="call-to-action-sign-up-button"
onClick={() => {
navigate('/form');
window.scrollTo(0, 0);
}}
>
Sign Up Now
</button>
</div>
);
}

export default CallToAction;
15 changes: 12 additions & 3 deletions frontend/src/components/Footer.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -23,11 +23,20 @@ function Footer() {
<p>Ved Patel</p>
</div>
<div>
<h2>Socials</h2>
<h2>Socials/Contacts</h2>
<p>LinkedIn</p>
<p>Email</p>
<p></p>
<p></p>
<p>GitHub</p>
<p>Reddit</p>
<p>Discord</p>
</div>
<div>
<h2>Extras</h2>
<p>Pricing</p>
<p>About</p>
<p>Terms of Service</p>
<p>Privacy Policy</p>
<p>FAQs</p>
</div>
</div>
<p id="copyright">
Expand Down
53 changes: 53 additions & 0 deletions frontend/src/components/HomeStatistics.jsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
function HomeStatistics() {
return (
<div id="home-statistics-area">
<div id="home-users-count-subarea">
<h2 id="home-statistics-title-h2">Real Success</h2>
<div id="home-users-count">
<h4>Users</h4>
<p>0</p>
</div>
</div>

<div id="home-statistics">
<div id="home-impact-statistics-subarea">
<h3 id="home-impact-statistics-h3">Impact Statistics</h3>
<div id="impact-statistics-data">
<div id="home-resumes-sent">
<h4>Resumes Sent</h4>
<p>0</p>
</div>
<div id="home-interviews-held">
<h4>Interviews Held</h4>
<p>0</p>
</div>
<div id="home-jobs-offered">
<h4>Jobs Offered</h4>
<p>0</p>
</div>
</div>
</div>

<div id="home-impact-statistics-subarea">
<h3 id="home-the-method-statistics-h3">The Method Statistics</h3>
<div id="home-the-method-statistics-data">
<div id="home-resumes-optimized">
<h4>Resumes Optimized</h4>
<p>0</p>
</div>
<div id="home-hours-practicing-interviews">
<h4>Hours Practicing Interviews</h4>
<p>0</p>
</div>
<div id="home-jobs-found">
<h4>Jobs Recommended</h4>
<p>0</p>
</div>
</div>
</div>
</div>
</div>
);
}

export default HomeStatistics;
9 changes: 6 additions & 3 deletions frontend/src/components/NavBar.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -44,10 +44,10 @@ function NavBar({ toggleTheme, theme }) {

<li>
<NavLink
to="/contact"
to="/pricing"
className={({ isActive }) => isActive ? 'active-link' : undefined}
>
Contact
Pricing
</NavLink>
</li>
</ul>
Expand All @@ -58,7 +58,10 @@ function NavBar({ toggleTheme, theme }) {
</div>
<div id="light-dark-toggle">
<button onClick={toggleTheme}>
{theme === "light" ? "Dark Mode" : "Light Mode"}
{theme === "light" && "Switch to Cream"}
{theme === "cream" && "Switch to Midnight"}
{theme === "midnight" && "Switch to Dark"}
{theme === "dark" && "Switch to Light"}
</button>
</div>
</div>
Expand Down
16 changes: 16 additions & 0 deletions frontend/src/components/RecommendProvr.jsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
function RecommendProvr() {
return (
<div id="recommend-provr-area">
<h2 id="try-provr-h2">Try Provr!</h2>
<p id="recommend-provr-p">Want to master a new skill or improve your existing one? Provr focus on real
learning as opposed to shallow AI learning. It focuses on building real
connections and skills that take time to devleop.
</p>
<a href="https://www.provr.me/" target="_blank" rel="noopener noreferrer" id="visit-provr-link">
<button id="visit-provr-button">Visit Provr</button>
</a>
</div>
);
}

export default RecommendProvr;
2 changes: 0 additions & 2 deletions frontend/src/pages/AboutPage.jsx
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
import NavBar from "../components/NavBar";

function AboutPage() {
return (
<div>
Expand Down
2 changes: 0 additions & 2 deletions frontend/src/pages/ContactPage.jsx
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
import NavBar from "../components/NavBar";

function ContactPage() {
return (
<div>
Expand Down
1 change: 0 additions & 1 deletion frontend/src/pages/DashboardPage.jsx
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
import NavBar from "../components/NavBar";
import FileUpload from "../components/FileUpload";

function DashboardPage() {
Expand Down
Empty file added frontend/src/pages/FAQs.jsx
Empty file.
1 change: 0 additions & 1 deletion frontend/src/pages/FormPage.jsx
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
import NavBar from "../components/NavBar";
import Form from "../components/Form";

function FormPage() {
Expand Down
9 changes: 7 additions & 2 deletions frontend/src/pages/HomePage.jsx
Original file line number Diff line number Diff line change
@@ -1,15 +1,20 @@
import NavBar from "../components/NavBar";
import HeroArea from "../components/HeroArea";
import HowItWorks from "../components/HowItWorks";
import HomeStatistics from "../components/HomeStatistics";
import Reviews from "../components/Reviews";
import RecommendProvr from "../components/RecommendProvr";
import CallToAction from "../components/CallToAction";
import Footer from "../components/Footer";
import HowItWorks from "../components/HowItWorks";

function HomePage() {
return (
<div>
<HeroArea />
<HowItWorks />
<HomeStatistics />
<Reviews />
<RecommendProvr />
<CallToAction />
<Footer />
</div>
);
Expand Down
53 changes: 53 additions & 0 deletions frontend/src/pages/PricingPage.jsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
function PricingPage() {
return (
<div id="pricing-page">
<h1 id="pricing-page-h1">Pricing Page</h1>
<div id="pricing-tiers-subarea">
<div id="pricing-free-tier">
<h2 className="pricing-h2">Free</h2>
<p className="pricing-p">Basic features for everyone</p>
<p className="pricing-price-p">$0/month</p>
<div>
<ul>
<li>Basic access to all features</li>
<li>Community support</li>
<li>Interview Prep</li>
<li>Job Apply</li>
<li>WIP</li>
</ul>
</div>
</div>
<div id="pricing-student-tier">
<h2 className="pricing-h2">Student</h2>
<p className="pricing-p">Discounted pricing for students</p>
<p className="pricing-price-p">$2.49/month</p>
<div>
<ul>
<li>Everything in free plan +</li>
<li>Store 10 more resumes</li>
<li>Priority support</li>
<li>Feature requests</li>
<li>WIP</li>
</ul>
</div>
</div>
<div id="pricing-premium-tier">
<h2 className="pricing-h2">Premium</h2>
<p className="pricing-p">All features for professionals</p>
<p className="pricing-price-p">$6.99/month</p>
<div>
<ul>
<li>Everything in free plan +</li>
<li>Store 15 more resumes</li>
<li>Use more optimization options</li>
<li>5 more resume templates</li>
<li>WIP</li>
</ul>
</div>
</div>
</div>
</div>
);
}

export default PricingPage;
Empty file.
Empty file.
Loading