From 6943abc1ea2ba24fb1fae3130d27495d215cef3b Mon Sep 17 00:00:00 2001 From: Darshan Gowda T S Date: Sun, 24 May 2026 21:53:07 +0530 Subject: [PATCH] refactor: harden index entrypoint initialization and isolate logging streams --- src/App.js | 115 ++++++++++++++++++++++++++++++++--------------------- 1 file changed, 70 insertions(+), 45 deletions(-) diff --git a/src/App.js b/src/App.js index 8b37399..c3bd768 100644 --- a/src/App.js +++ b/src/App.js @@ -1,64 +1,89 @@ import React, { useState } from "react"; -import PeriodicTable from "./Components/PeriodicTable"; -import Trends from "./Components/Trends/Trends"; -import CompareElements from "./Components/compareElements"; -import ThemeToggle from "./Components/ThemeToggle/ThemeToggle"; import Assistant from "./Components/Assistant/Assistant"; -import QuizMode from "./Components/QuizMode"; +import CompareElements from "./Components/compareElements"; import ElementDetailsPanel from "./Components/ElementDetailsPanel"; +import PeriodicTable from "./Components/PeriodicTable"; +import QuizMode from "./Components/QuizMode"; +import ThemeToggle from "./Components/ThemeToggle/ThemeToggle"; +import Trends from "./Components/Trends/Trends"; +// Extracted style objects to improve scannability and eliminate inline re-renders +const styles = { + header: { + display: "flex", + justifyContent: "space-between", + alignItems: "center", + padding: "1rem 2rem", + }, + titleContainer: { + textAlign: "left", + }, + mainTitle: { + margin: 0, + fontSize: "2.8rem", + letterSpacing: "1px", + fontWeight: "700", + }, + subtitle: { + marginTop: "8px", + opacity: 0.7, + }, + actionContainer: { + display: "flex", + alignItems: "center", + gap: "12px", + }, + quizButton: { + padding: "8px 16px", + borderRadius: "10px", + border: "1px solid rgba(167, 139, 250, 0.35)", + background: "linear-gradient(135deg, rgba(139, 92, 246, 0.22), rgba(167, 139, 250, 0.22))", + color: "#ddd6fe", + fontSize: "14px", + fontWeight: "600", + cursor: "pointer", + fontFamily: "Inter, sans-serif", + transition: "transform 0.1s ease, opacity 0.2s ease", + }, +}; function App() { - const [quizOpen, setQuizOpen] = useState(false); + const [isQuizOpen, setIsQuizOpen] = useState(false); - return (
-
-
-

- Periodic Table Explorer -

-

- Interactive chemistry experience built with React -

-
-
+
+
+

Periodic Table Explorer

+

+ Interactive chemistry experience built with React +

+
+ +
- - - - - - {quizOpen && setQuizOpen(false)} />} + +
+ + + + + +
+ + {isQuizOpen && setIsQuizOpen(false)} />}
); } export default App; -