Skip to content

Commit 0d9ec99

Browse files
style(dashboard): fix active time limits infinite scroll stretching
1 parent fb58423 commit 0d9ec99

2 files changed

Lines changed: 9 additions & 7 deletions

File tree

src/tabs/dashboard.tsx

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1967,7 +1967,7 @@ export default function AnalyticsDashboard() {
19671967
</div>
19681968
</div>
19691969

1970-
<div className="rules-main" style={{ display: 'flex', flexDirection: 'column', gap: '16px' }}>
1970+
<div className="rules-main" style={{ display: 'flex', flexDirection: 'column', gap: '16px', height: '100%' }}>
19711971
<div className="rules-card" style={{ display: "flex", flexDirection: "column" }}>
19721972
<div style={{ display: "flex", justifyContent: "space-between", alignItems: "flex-start", marginBottom: "16px" }}>
19731973
<div style={{ display: "flex", alignItems: "center", gap: "8px" }}>
@@ -2095,7 +2095,7 @@ export default function AnalyticsDashboard() {
20952095
</div>
20962096
</div>
20972097

2098-
<div className="rules-card" style={{ display: "flex", flexDirection: "column", marginTop: "16px" }}>
2098+
<div className="rules-card" style={{ display: "flex", flexDirection: "column", flex: 1 }}>
20992099
<div style={{ display: "flex", justifyContent: "space-between", alignItems: "flex-start", marginBottom: "16px" }}>
21002100
<div style={{ display: "flex", alignItems: "center", gap: "8px" }}>
21012101
<h3 style={{ margin: 0 }}>Active Time Limits</h3>
@@ -2110,7 +2110,8 @@ export default function AnalyticsDashboard() {
21102110
</div>
21112111
</div>
21122112

2113-
<div className="elegant-list-container" style={{ maxHeight: "150px", overflowY: "auto", paddingRight: timeLimitRules.length > 5 ? "8px" : "0" }}>
2113+
<div style={{ flex: 1, position: 'relative', minHeight: '150px' }}>
2114+
<div className="elegant-list-container" style={{ position: 'absolute', top: 0, left: 0, right: 0, bottom: 0, overflowY: "auto", paddingRight: timeLimitRules.length > 5 ? "8px" : "0" }}>
21142115
{timeLimitRules.length === 0 ? (
21152116
<div className="vis-empty" style={{ minHeight: "150px" }}>
21162117
<p className="vis-empty-title">No Limits Set</p>
@@ -2144,6 +2145,7 @@ export default function AnalyticsDashboard() {
21442145
</div>
21452146
))
21462147
)}
2148+
</div>
21472149
</div>
21482150
</div>
21492151
</div>
@@ -2241,7 +2243,7 @@ export default function AnalyticsDashboard() {
22412243
<div className="premium-input-group" style={{ flex: 1, minWidth: '200px' }}>
22422244
<label style={{ fontSize: '11px', color: 'var(--text-secondary)', fontWeight: 600, textTransform: 'uppercase', letterSpacing: '0.04em', marginBottom: '8px', display: 'block' }}>Format</label>
22432245
<div className="premium-input-wrapper">
2244-
<select className="premium-input" value={exportFormat} onChange={e => setExportFormat(e.target.value as any)} style={{ appearance: 'none', backgroundColor: 'transparent' }}>
2246+
<select className="premium-input" value={exportFormat} onChange={e => setExportFormat(e.target.value as ExportFormat)} style={{ appearance: 'none', backgroundColor: 'transparent' }}>
22452247
<option value="csv" style={{ background: 'var(--bg)', color: 'var(--text)' }}>CSV (Spreadsheet Report)</option>
22462248
<option value="json" style={{ background: 'var(--bg)', color: 'var(--text)' }}>JSON (Full Backup)</option>
22472249
<option value="pdf" style={{ background: 'var(--bg)', color: 'var(--text)' }}>Visual Report (PDF/Print)</option>
@@ -2255,7 +2257,7 @@ export default function AnalyticsDashboard() {
22552257
<div className="premium-input-group" style={{ flex: 1, minWidth: '200px' }}>
22562258
<label style={{ fontSize: '11px', color: 'var(--text-secondary)', fontWeight: 600, textTransform: 'uppercase', letterSpacing: '0.04em', marginBottom: '8px', display: 'block' }}>Time Range</label>
22572259
<div className="premium-input-wrapper">
2258-
<select className="premium-input" value={exportRange} onChange={e => setExportRange(e.target.value as any)} style={{ appearance: 'none', backgroundColor: 'transparent' }}>
2260+
<select className="premium-input" value={exportRange} onChange={e => setExportRange(e.target.value as ExportDateRange)} style={{ appearance: 'none', backgroundColor: 'transparent' }}>
22592261
<option value="all" style={{ background: 'var(--bg)', color: 'var(--text)' }}>All Time</option>
22602262
<option value="this_month" style={{ background: 'var(--bg)', color: 'var(--text)' }}>Last 30 Days</option>
22612263
<option value="today" style={{ background: 'var(--bg)', color: 'var(--text)' }}>Today</option>

src/tabs/report.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ export default function ReportPage() {
4545

4646
chrome.runtime.sendMessage(
4747
{ type: "GET_HISTORICAL_STATS", version: 1, startMs, endMs },
48-
(res: any) => {
48+
(res: HistoricalStatsResponse & { error?: string } | null) => {
4949
if (chrome.runtime.lastError) {
5050
setErrorDetails("Runtime Error: " + chrome.runtime.lastError.message);
5151
} else if (!res) {
@@ -109,7 +109,7 @@ export default function ReportPage() {
109109

110110
const createPieSlice = (value: number, color: string, gap: number = 0.0) => {
111111
if (value === 0 || total === 0) return null;
112-
let percent = value / total;
112+
const percent = value / total;
113113

114114
const adjustedPercent = percent;
115115
const startOffset = gap/2;

0 commit comments

Comments
 (0)