Skip to content

Commit 7e27f7d

Browse files
css refactoring for clarity
1 parent 595556f commit 7e27f7d

8 files changed

+426
-358
lines changed

src/App.css

+15-291
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,14 @@
11
:root {
2+
/* Colors */
23
--bg-color: #ffffff;
34
--text-color: #333333;
45
--card-bg: #f0f0f0;
56
--btn-bg: #e0e0e0;
67
--btn-text: #333333;
78
--nav-bg: #f8f8f8;
89
--nav-text: #333333;
10+
11+
/* Button colors */
912
--download-btn: #007bff;
1013
--download-btn-hover: #0056b3;
1114
--run-btn: #28a745;
@@ -18,21 +21,25 @@
1821
--downloading-btn-hover: #cc8400;
1922
--stopping-btn: #ff6b6b;
2023
--stopping-btn-hover: #ff4f4f;
24+
25+
/* Modal colors */
2126
--modal-bg: #f0f0f0;
2227
--modal-text: #333;
2328
--download-item-bg: #fff;
2429
--download-item-text: #555;
2530
--progress-bar-bg: #e0e0e0;
2631
--progress-bar-fill: #4caf50;
32+
2733
/* Base sizing */
2834
--base-font-size: 0.95rem;
2935
--base-spacing: 0.5rem;
36+
3037
/* Fixed window dimensions */
3138
--window-width: 450px;
3239
--window-height: 550px;
3340
}
3441

35-
/* Rest of the dark theme variables remain unchanged */
42+
/* Dark theme variables */
3643
.dark {
3744
--bg-color: #333333;
3845
--text-color: #ffffff;
@@ -59,6 +66,7 @@
5966
--progress-bar-fill: #4caf50;
6067
}
6168

69+
/* Base styles */
6270
body {
6371
background-color: var(--bg-color);
6472
color: var(--text-color);
@@ -71,6 +79,12 @@ body {
7179
font-size: var(--base-font-size);
7280
}
7381

82+
code {
83+
font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New',
84+
monospace;
85+
}
86+
87+
/* App container */
7488
.App {
7589
text-align: center;
7690
background-color: var(--bg-color);
@@ -91,293 +105,3 @@ body {
91105
.App-header {
92106
margin-bottom: var(--base-spacing);
93107
}
94-
95-
.card-container {
96-
width: 100%;
97-
max-width: var(--window-width);
98-
padding: 0 var(--base-spacing);
99-
}
100-
101-
.card {
102-
background-color: var(--card-bg);
103-
border-radius: 4px;
104-
padding: 0;
105-
margin-bottom: var(--base-spacing);
106-
display: flex;
107-
flex-direction: column;
108-
color: var(--text-color);
109-
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
110-
}
111-
112-
.dark .card {
113-
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
114-
}
115-
116-
.dark .card:hover {
117-
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.4);
118-
}
119-
120-
.card-header {
121-
padding: var(--base-spacing);
122-
border-bottom: 1px solid rgba(0, 0, 0, 0.1);
123-
text-align: left;
124-
}
125-
126-
.card-header h2 {
127-
margin: 0;
128-
font-size: 1.1rem;
129-
font-weight: 600;
130-
}
131-
132-
.card-content {
133-
padding: var(--base-spacing);
134-
flex-grow: 1;
135-
text-align: left;
136-
background-color: #f5f5f5;
137-
}
138-
139-
.card-content p {
140-
margin: 0;
141-
font-size: var(--base-font-size);
142-
line-height: 1.4;
143-
color: var(--text-color);
144-
}
145-
146-
.dark .card-content {
147-
background-color: #2a2a2a;
148-
}
149-
150-
.card-actions {
151-
padding: var(--base-spacing);
152-
display: flex;
153-
align-items: center;
154-
justify-content: space-between;
155-
border-top: 1px solid rgba(0, 0, 0, 0.1);
156-
}
157-
158-
.btn {
159-
min-width: 70px;
160-
margin: 0;
161-
padding: 0.4rem 0.75rem;
162-
border: none;
163-
border-radius: 4px;
164-
cursor: pointer;
165-
font-weight: 600;
166-
font-size: var(--base-font-size);
167-
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen',
168-
'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue',
169-
sans-serif;
170-
text-align: center;
171-
color: white;
172-
transition: background-color 0.2s ease, opacity 0.2s ease, width 0.2s ease;
173-
white-space: nowrap;
174-
}
175-
176-
/* Fixed width for most states */
177-
.btn.download,
178-
.btn.run,
179-
.btn.running,
180-
.btn.stop,
181-
.btn.stopping {
182-
width: 85px;
183-
overflow: hidden;
184-
text-overflow: ellipsis;
185-
}
186-
187-
/* Allow width to grow for downloading/extracting states */
188-
.btn.downloading,
189-
.btn.extracting {
190-
width: auto;
191-
}
192-
193-
.btn:disabled {
194-
cursor: wait;
195-
opacity: 0.8;
196-
}
197-
198-
.settings-icon-button {
199-
background: none;
200-
border: none;
201-
padding: calc(var(--base-spacing) * 0.5);
202-
cursor: pointer;
203-
border-radius: 50%;
204-
display: flex;
205-
align-items: center;
206-
justify-content: center;
207-
color: var(--text-color);
208-
opacity: 0.7;
209-
transition: all 0.2s ease;
210-
}
211-
212-
.settings-icon-button:hover {
213-
opacity: 1;
214-
background-color: rgba(0, 0, 0, 0.1);
215-
}
216-
217-
.dark .settings-icon-button:hover {
218-
background-color: rgba(255, 255, 255, 0.1);
219-
}
220-
221-
.dark .card-header,
222-
.dark .card-actions {
223-
border-color: rgba(255, 255, 255, 0.1);
224-
}
225-
226-
.download { background-color: var(--download-btn); }
227-
.download:hover { background-color: var(--download-btn-hover); }
228-
.run { background-color: var(--run-btn); }
229-
.run:hover { background-color: var(--run-btn-hover); }
230-
.downloading, .extracting { background-color: var(--downloading-btn); }
231-
.downloading:hover, .extracting:hover { background-color: var(--downloading-btn-hover); }
232-
.running { background-color: var(--running-btn); }
233-
.running:hover { background-color: var(--running-btn-hover); }
234-
.stop { background-color: var(--stop-btn); }
235-
.stop:hover { background-color: var(--stop-btn-hover); }
236-
.stopping { background-color: var(--stopping-btn); }
237-
.stopping:hover { background-color: var(--stopping-btn-hover); }
238-
.settings { background-color: var(--btn-bg); color: var(--btn-text); }
239-
240-
.Nodes, .Wallet, .Tools, .Settings, .Other {
241-
width: 100%;
242-
padding: var(--base-spacing);
243-
box-sizing: border-box;
244-
}
245-
246-
/* Chain List Layout */
247-
.chain-list {
248-
width: 100%;
249-
max-width: var(--window-width);
250-
margin: 0 auto;
251-
box-sizing: border-box;
252-
padding: 0 var(--base-spacing);
253-
}
254-
255-
.chain-heading-row {
256-
display: flex;
257-
justify-content: space-between;
258-
align-items: center;
259-
margin-bottom: var(--base-spacing);
260-
}
261-
262-
.chain-heading {
263-
font-size: calc(var(--base-font-size) * 1.3);
264-
font-weight: bold;
265-
text-align: left;
266-
margin: 0;
267-
padding: calc(var(--base-spacing) * 0.75) 0;
268-
}
269-
270-
/* L1 Chain Layout */
271-
.l1-chains {
272-
display: flex;
273-
flex-direction: column;
274-
gap: var(--base-spacing);
275-
margin: 0;
276-
padding: 0;
277-
width: 100%;
278-
}
279-
280-
.l1-chains > .card {
281-
width: 100%;
282-
margin: 0;
283-
box-sizing: border-box;
284-
}
285-
286-
/* L2 Chain Layout */
287-
.l2-chains {
288-
display: flex;
289-
flex-direction: column;
290-
gap: var(--base-spacing);
291-
margin: 0;
292-
padding: 0;
293-
width: 100%;
294-
}
295-
296-
.l2-chains > div {
297-
width: 100%;
298-
margin: 0;
299-
box-sizing: border-box;
300-
}
301-
302-
.l2-chains > .card {
303-
width: 100%;
304-
margin: 0;
305-
box-sizing: border-box;
306-
}
307-
308-
/* Quick Start/Stop Button */
309-
.quick-start-stop-btn {
310-
padding: calc(var(--base-spacing) * 0.75) var(--base-spacing);
311-
transition: background-color 0.2s ease !important;
312-
font-size: var(--base-font-size);
313-
min-width: 110px;
314-
}
315-
316-
.quick-start-stop-btn:not(:disabled):hover {
317-
background-color: var(--stop-btn-hover) !important;
318-
}
319-
320-
.quick-start-stop-btn[data-state="start"]:not(:disabled):hover {
321-
background-color: var(--run-btn-hover) !important;
322-
}
323-
324-
.quick-start-stop-btn[data-state="download"]:not(:disabled):hover {
325-
background-color: var(--download-btn-hover) !important;
326-
}
327-
328-
/* Shimmering effect for download button */
329-
.btn-shimmer {
330-
--border-width: 1px;
331-
--border-radius: 4px;
332-
position: relative;
333-
border: var(--border-width) solid transparent;
334-
isolation: isolate;
335-
}
336-
337-
.btn-shimmer::before {
338-
content: "";
339-
position: absolute;
340-
inset: calc(var(--border-width) * -1);
341-
z-index: -1;
342-
border: inherit;
343-
border-radius: inherit;
344-
background: linear-gradient(90deg,
345-
var(--current-color, var(--download-btn)) 0%,
346-
rgba(255, 255, 255, 0.9) 25%,
347-
var(--current-color, var(--download-btn)) 50%,
348-
var(--current-color, var(--download-btn)) 100%
349-
);
350-
background-size: 200% 100%;
351-
-webkit-mask:
352-
linear-gradient(#fff 0 0) content-box,
353-
linear-gradient(#fff 0 0);
354-
mask:
355-
linear-gradient(#fff 0 0) content-box,
356-
linear-gradient(#fff 0 0);
357-
-webkit-mask-composite: xor;
358-
mask-composite: exclude;
359-
animation: shine 1s linear infinite;
360-
}
361-
362-
@keyframes shine {
363-
to {
364-
background-position: -200% 0;
365-
}
366-
}
367-
368-
.btn-shimmer:disabled::before {
369-
animation: none;
370-
}
371-
372-
.btn-shimmer[data-state="download"] {
373-
--current-color: var(--download-btn);
374-
}
375-
376-
.btn-shimmer[data-state="start"] {
377-
--current-color: var(--run-btn);
378-
}
379-
380-
code {
381-
font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New',
382-
monospace;
383-
}

0 commit comments

Comments
 (0)