tokentrace 0.15.1 → 0.15.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +6 -0
- package/components/period-filter.tsx +36 -38
- package/package.json +1 -1
- package/server.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,12 @@ All notable changes to TokenTrace are documented here.
|
|
|
4
4
|
|
|
5
5
|
## Unreleased
|
|
6
6
|
|
|
7
|
+
## [0.15.2] - 2026-05-23
|
|
8
|
+
|
|
9
|
+
### Fixed
|
|
10
|
+
|
|
11
|
+
- Period filter presets (Today / 7d / 30d / 60d / 90d / Month / All time) now navigate correctly when clicked on the production webpack build. Previously the preset `<Link>` elements were rendered inside the custom-date `<form>`, and under Next.js 16 + React 19 the form was eating Link clicks, leaving the URL and rendered data unchanged. The preset links are now siblings of the form rather than children.
|
|
12
|
+
|
|
7
13
|
## [0.15.1] - 2026-05-22
|
|
8
14
|
|
|
9
15
|
### Changed
|
|
@@ -72,47 +72,45 @@ export function PeriodFilter({
|
|
|
72
72
|
|
|
73
73
|
return (
|
|
74
74
|
<div className="min-w-0 max-w-full rounded-lg bg-card p-3 outline-solid outline-1 outline-border sm:p-4">
|
|
75
|
-
<
|
|
76
|
-
<
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
<span>Period</span>
|
|
84
|
-
<span className="hidden shrink-0 whitespace-nowrap rounded-md bg-muted px-2 py-0.5 text-xs font-medium text-muted-foreground 2xl:inline-flex">
|
|
85
|
-
{statusLabel}
|
|
86
|
-
</span>
|
|
87
|
-
</div>
|
|
88
|
-
|
|
89
|
-
<div className="period-preset-scroll -mx-3 min-w-0 flex-1 overflow-x-auto px-3 sm:mx-0 sm:px-0 md:overflow-visible">
|
|
90
|
-
<div className="flex w-max items-center gap-1.5 pr-1 md:w-auto md:flex-wrap">
|
|
91
|
-
{dateRangeOptions.map((option) => (
|
|
92
|
-
<Button
|
|
93
|
-
key={option.key}
|
|
94
|
-
asChild
|
|
95
|
-
size="sm"
|
|
96
|
-
variant={range.key === option.key ? "default" : "outline"}
|
|
97
|
-
className="px-2.5"
|
|
98
|
-
>
|
|
99
|
-
<Link href={rangeHref(option.key, basePath, preserveParams)}>
|
|
100
|
-
{compactOptionLabel(option.key, option.label)}
|
|
101
|
-
</Link>
|
|
102
|
-
</Button>
|
|
103
|
-
))}
|
|
104
|
-
</div>
|
|
105
|
-
</div>
|
|
75
|
+
<div className="flex min-w-0 flex-wrap items-center gap-x-3 gap-y-3 lg:flex-nowrap">
|
|
76
|
+
<div className="flex shrink-0 items-center gap-2 text-sm font-semibold">
|
|
77
|
+
<CalendarDays className="h-4 w-4 shrink-0 text-muted-foreground" />
|
|
78
|
+
<span>Period</span>
|
|
79
|
+
<span className="hidden shrink-0 whitespace-nowrap rounded-md bg-muted px-2 py-0.5 text-xs font-medium text-muted-foreground 2xl:inline-flex">
|
|
80
|
+
{statusLabel}
|
|
81
|
+
</span>
|
|
82
|
+
</div>
|
|
106
83
|
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
84
|
+
<div className="period-preset-scroll -mx-3 min-w-0 flex-1 overflow-x-auto px-3 sm:mx-0 sm:px-0 md:overflow-visible">
|
|
85
|
+
<div className="flex w-max items-center gap-1.5 pr-1 md:w-auto md:flex-wrap">
|
|
86
|
+
{dateRangeOptions.map((option) => (
|
|
87
|
+
<Button
|
|
88
|
+
key={option.key}
|
|
89
|
+
asChild
|
|
90
|
+
size="sm"
|
|
91
|
+
variant={range.key === option.key ? "default" : "outline"}
|
|
92
|
+
className="px-2.5"
|
|
93
|
+
>
|
|
94
|
+
<Link href={rangeHref(option.key, basePath, preserveParams)}>
|
|
95
|
+
{compactOptionLabel(option.key, option.label)}
|
|
96
|
+
</Link>
|
|
97
|
+
</Button>
|
|
98
|
+
))}
|
|
113
99
|
</div>
|
|
114
100
|
</div>
|
|
115
|
-
|
|
101
|
+
|
|
102
|
+
<form className="period-custom-row ml-auto flex min-w-0 flex-wrap items-center gap-2 shrink-0 lg:flex-nowrap" action={basePath}>
|
|
103
|
+
<input type="hidden" name="range" value="custom" />
|
|
104
|
+
{Object.entries(preserveParams).map(([key, value]) =>
|
|
105
|
+
value ? <input key={key} type="hidden" name={key} value={value} /> : null
|
|
106
|
+
)}
|
|
107
|
+
<PeriodDateField label="From" name="from" defaultValue={range.fromInput} />
|
|
108
|
+
<PeriodDateField label="To" name="to" defaultValue={range.toInput} />
|
|
109
|
+
<Button size="sm" type="submit" variant={range.key === "custom" ? "default" : "outline"}>
|
|
110
|
+
Apply
|
|
111
|
+
</Button>
|
|
112
|
+
</form>
|
|
113
|
+
</div>
|
|
116
114
|
</div>
|
|
117
115
|
);
|
|
118
116
|
}
|
package/package.json
CHANGED
package/server.json
CHANGED
|
@@ -8,12 +8,12 @@
|
|
|
8
8
|
"url": "https://github.com/abhiyoheswaran1/tokentrace",
|
|
9
9
|
"source": "github"
|
|
10
10
|
},
|
|
11
|
-
"version": "0.15.
|
|
11
|
+
"version": "0.15.2",
|
|
12
12
|
"packages": [
|
|
13
13
|
{
|
|
14
14
|
"registryType": "npm",
|
|
15
15
|
"identifier": "tokentrace",
|
|
16
|
-
"version": "0.15.
|
|
16
|
+
"version": "0.15.2",
|
|
17
17
|
"runtimeHint": "npx",
|
|
18
18
|
"packageArguments": [
|
|
19
19
|
{
|