Skip to content

Commit 83fec7f

Browse files
piyushxpc7claude
andcommitted
Refactor: move generateSpark from bl-primitives to lib/utils
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1 parent 5940ffb commit 83fec7f

7 files changed

Lines changed: 18 additions & 21 deletions

File tree

app/(app)/company/[ticker]/page.tsx

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,10 +21,9 @@ import {
2121
Meter,
2222
Cite,
2323
DoubleRule,
24-
Spark,
25-
generateSpark,
24+
SectionMark,
2625
} from "@/components/ui/bl-primitives";
27-
import { cn } from "@/lib/utils";
26+
import { generateSpark, cn } from "@/lib/utils";
2827
import { ArrowRight, FileText, Zap, Star } from "lucide-react";
2928

3029
export const dynamic = "force-dynamic";

app/(app)/feed/page.tsx

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,15 +11,14 @@ import {
1111
Calendar,
1212
TrendingUp,
1313
} from "lucide-react";
14-
import { cn } from "@/lib/utils";
14+
import { cn, generateSpark } from "@/lib/utils";
1515
import {
1616
LiveDot,
1717
Stamp,
1818
SevGlyph,
1919
BlBtn,
2020
Metric,
2121
Spark,
22-
generateSpark,
2322
Cite,
2423
} from "@/components/ui/bl-primitives";
2524

app/(app)/screener/page.tsx

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,9 @@ import {
88
SevGlyph,
99
BlBtn,
1010
Spark,
11-
generateSpark,
1211
DoubleRule,
1312
} from "@/components/ui/bl-primitives";
14-
import { cn } from "@/lib/utils";
13+
import { generateSpark, cn } from "@/lib/utils";
1514
import {
1615
SlidersHorizontal,
1716
ArrowUpDown,

app/(app)/watchlist/page.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,9 @@ import {
99
BlBtn,
1010
Metric,
1111
Spark,
12-
generateSpark,
12+
Stamp,
1313
} from "@/components/ui/bl-primitives";
14-
import { cn } from "@/lib/utils";
14+
import { generateSpark, cn } from "@/lib/utils";
1515
import { ArrowRight, RefreshCw, Download, Plus } from "lucide-react";
1616
import { AddTickerDialog } from "@/components/watchlist/add-ticker-dialog";
1717

app/(onboarding)/onboarding/page.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,8 @@
33
import { useState } from "react";
44
import { useRouter } from "next/navigation";
55
import { Check, X, Search, ChevronRight } from "lucide-react";
6-
import { Wordmark, BlBtn, Stamp, generateSpark } from "@/components/ui/bl-primitives";
6+
import { Wordmark, BlBtn, Stamp } from "@/components/ui/bl-primitives";
7+
import { generateSpark } from "@/lib/utils";
78

89
// ── Steps definition ─────────────────────────────────────────────────────────
910
const STEPS = [

components/ui/bl-primitives.tsx

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -445,14 +445,3 @@ export function SectionMark({
445445
);
446446
}
447447

448-
// ── SEED / UTILITY ─────────────────────────────────────────────────────────
449-
/** Generate a deterministic sparkline for demo/seed data */
450-
export function generateSpark(seed: number, n = 24, base = 50, amp = 18): number[] {
451-
const out: number[] = [];
452-
let s = seed;
453-
for (let i = 0; i < n; i++) {
454-
s = (s * 9301 + 49297) % 233280;
455-
out.push(base + Math.sin(i / 3 + seed) * amp + (s / 233280 - 0.5) * amp * 0.6);
456-
}
457-
return out;
458-
}

lib/utils.ts

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,3 +40,13 @@ export function jsonSafeParse<T>(value: string): T | null {
4040
return null;
4141
}
4242
}
43+
44+
export function generateSpark(seed: number, n = 24, base = 50, amp = 18): number[] {
45+
const out: number[] = [];
46+
let s = seed;
47+
for (let i = 0; i < n; i++) {
48+
s = (s * 9301 + 49297) % 233280;
49+
out.push(base + Math.sin(i / 3 + seed) * amp + (s / 233280 - 0.5) * amp * 0.6);
50+
}
51+
return out;
52+
}

0 commit comments

Comments
 (0)