Skip to content

Commit 46b49b1

Browse files
committed
fix: build issue
1 parent eb98b31 commit 46b49b1

6 files changed

Lines changed: 119 additions & 1011 deletions

File tree

netlify.toml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
[build]
2+
command = "npm run build"
3+
publish = "dist"
4+
5+
[build.environment]
6+
NODE_VERSION = "22"
7+
NPM_FLAGS = "--legacy-peer-deps"
8+

package.json

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,5 @@
2626
"postcss": "^8.5.6",
2727
"tailwindcss": "^4.1.11",
2828
"vite": "^6.0.7"
29-
},
30-
"packageManager": "yarn@4.6.0+sha512.5383cc12567a95f1d668fbe762dfe0075c595b4bfff433be478dbbe24e05251a8e8c3eb992a986667c1d53b6c3a9c85b8398c35a960587fbd9fa3a0915406728"
29+
}
3130
}

src/App.css

Lines changed: 98 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,24 @@
88
box-sizing: border-box;
99
}
1010

11+
html,
1112
body {
1213
margin: 0;
14+
padding: 0;
1315
min-height: 100vh;
16+
}
17+
18+
body {
1419
background: radial-gradient(circle at top, #eef2ff, #f4f7fb 45%, #ffffff 80%);
1520
color: #0f172a;
21+
display: flex;
22+
flex-direction: column;
23+
}
24+
25+
#root {
26+
min-height: 100vh;
27+
display: flex;
28+
flex-direction: column;
1629
}
1730

1831
.header {
@@ -26,11 +39,50 @@ body {
2639
.header nav ul {
2740
display: flex;
2841
gap: 1rem;
42+
align-items: center;
2943
list-style: none;
3044
padding: 0;
3145
margin: 0;
3246
}
3347

48+
.header nav ul li {
49+
display: flex;
50+
align-items: center;
51+
}
52+
53+
.theme-toggle-item {
54+
margin-left: 0.5rem;
55+
}
56+
57+
.theme-toggle-button {
58+
display: flex;
59+
align-items: center;
60+
justify-content: center;
61+
background: transparent;
62+
border: 1px solid rgba(15, 23, 42, 0.15);
63+
border-radius: 50%;
64+
width: 2.5rem;
65+
height: 2.5rem;
66+
cursor: pointer;
67+
color: inherit;
68+
font-size: 1.25rem;
69+
transition: all 0.2s ease;
70+
padding: 0;
71+
}
72+
73+
.App.dark .theme-toggle-button {
74+
border-color: rgba(226, 232, 240, 0.25);
75+
}
76+
77+
.theme-toggle-button:hover {
78+
background: rgba(15, 23, 42, 0.05);
79+
transform: scale(1.05);
80+
}
81+
82+
.App.dark .theme-toggle-button:hover {
83+
background: rgba(226, 232, 240, 0.1);
84+
}
85+
3486
.logo {
3587
font-size: 1.8rem;
3688
margin: 0;
@@ -45,32 +97,16 @@ body {
4597
display: flex;
4698
flex-direction: column;
4799
gap: 2rem;
48-
padding: 1.5rem clamp(1rem, 4vw, 3rem) 3rem;
100+
padding: 1.5rem clamp(1rem, 4vw, 3rem) 0;
49101
transition: background-color 0.3s ease, color 0.3s ease;
102+
padding-bottom: 0;
50103
}
51104

52105
.App.dark {
53106
background: radial-gradient(circle at top, #0f172a, #020617 60%, #000);
54107
color: #e2e8f0;
55108
}
56109

57-
.toggle-theme {
58-
position: fixed;
59-
top: 1.5rem;
60-
right: 1.5rem;
61-
font-size: 1.5rem;
62-
color: inherit;
63-
border: 1px solid rgba(15, 23, 42, 0.15);
64-
border-radius: 999px;
65-
padding: 0.35rem 0.85rem;
66-
cursor: pointer;
67-
backdrop-filter: blur(8px);
68-
z-index: 10;
69-
}
70-
71-
.App.dark .toggle-theme {
72-
border-color: rgba(226, 232, 240, 0.25);
73-
}
74110

75111
.analyzer-panel,
76112
.results-panel,
@@ -200,8 +236,9 @@ body {
200236

201237
.status-grid {
202238
display: grid;
203-
grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
239+
grid-template-columns: repeat(2, 1fr);
204240
gap: 1.5rem;
241+
max-width: 100%;
205242
}
206243

207244
.status-card {
@@ -362,7 +399,9 @@ body {
362399
background: #0f172a;
363400
color: #f8fafc;
364401
border-radius: 1.25rem 1.25rem 0 0;
365-
padding: 1.5rem;
402+
padding: 1.5rem clamp(1rem, 4vw, 3rem);
403+
width: 100%;
404+
flex-shrink: 0;
366405
}
367406

368407
.App.dark .footer {
@@ -398,6 +437,37 @@ body {
398437
}
399438

400439
@media (max-width: 768px) {
440+
.header {
441+
flex-wrap: wrap;
442+
gap: 0.75rem;
443+
}
444+
445+
.header nav ul {
446+
gap: 0.75rem;
447+
flex-wrap: wrap;
448+
}
449+
450+
.header nav ul li {
451+
font-size: 0.9rem;
452+
}
453+
454+
.theme-toggle-button {
455+
width: 2.25rem;
456+
height: 2.25rem;
457+
font-size: 1.1rem;
458+
}
459+
460+
.App {
461+
padding: 1rem 1rem 0;
462+
gap: 1.5rem;
463+
}
464+
465+
.analyzer-panel,
466+
.results-panel,
467+
.preview-grid {
468+
padding: 1.5rem;
469+
}
470+
401471
.input-row {
402472
flex-direction: column;
403473
}
@@ -409,4 +479,12 @@ body {
409479
.preview-grid__frames {
410480
grid-template-columns: 1fr;
411481
}
482+
483+
.status-grid {
484+
grid-template-columns: 1fr;
485+
}
486+
487+
.footer {
488+
padding: 1.25rem 1rem;
489+
}
412490
}

src/App.jsx

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
import React, { useEffect, useState } from "react";
22
import axios from "axios";
3-
import { FiSun, FiMoon } from "react-icons/fi";
43
import "./App.css";
54
import Header from "./Components/Header";
65
import Footer from "./Components/Footer";
@@ -110,10 +109,7 @@ const App = () => {
110109

111110
return (
112111
<div className={`App ${theme}`}>
113-
<div className="toggle-theme" onClick={handleToggleTheme}>
114-
{theme === "light" ? <FiMoon /> : <FiSun />}
115-
</div>
116-
<Header theme={theme} />
112+
<Header theme={theme} onToggleTheme={handleToggleTheme} />
117113
<section className="analyzer-panel">
118114
<form onSubmit={handleSubmit} className="url-form">
119115
<label htmlFor="url">Test a public URL</label>

src/Components/Header.jsx

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
11
import { useState, useEffect } from "react";
22
import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
33
import { faCodeFork, faStar } from "@fortawesome/free-solid-svg-icons";
4+
import { FiSun, FiMoon } from "react-icons/fi";
45

5-
function Header({ theme }) {
6+
function Header({ theme, onToggleTheme }) {
67
const [repoData, setRepoData] = useState({ stars: 0, forks: 0 });
78

89
useEffect(() => {
@@ -44,6 +45,15 @@ function Header({ theme }) {
4445
/>
4546
{repoData.forks}
4647
</li>
48+
<li className="theme-toggle-item">
49+
<button
50+
className="theme-toggle-button"
51+
onClick={onToggleTheme}
52+
aria-label="Toggle dark/light mode"
53+
>
54+
{theme === "light" ? <FiMoon /> : <FiSun />}
55+
</button>
56+
</li>
4757
</ul>
4858
</nav>
4959
</header>

0 commit comments

Comments
 (0)