File tree 1 file changed +18
-1
lines changed
1 file changed +18
-1
lines changed Original file line number Diff line number Diff line change @@ -91,10 +91,27 @@ const createStore = <P extends z.ZodType>(
91
91
if ( parsedParams . success ) {
92
92
const pushOrReplace = options . replace || routerOptions . replace ? Router . replace : Router . push
93
93
94
+ // Extract dynamic route parameters
95
+ const dynamicParams = Object . keys ( Router . query ) . reduce (
96
+ ( acc , key ) => {
97
+ if ( Router . pathname . includes ( `[${ key } ]` ) || Router . pathname . includes ( `[...${ key } ]` ) ) {
98
+ acc [ key ] = Router . query [ key ]
99
+ }
100
+ return acc
101
+ } ,
102
+ { } as Record < string , string | string [ ] | undefined > ,
103
+ )
104
+
105
+ // Merge dynamic params with new params, prioritizing dynamic params
106
+ const mergedParams = {
107
+ ...parsedParams . data ,
108
+ ...dynamicParams ,
109
+ } as z . infer < P >
110
+
94
111
pushOrReplace (
95
112
{
96
113
pathname : Router . pathname ,
97
- query : parsedParams . data as z . infer < P > ,
114
+ query : mergedParams ,
98
115
} ,
99
116
undefined ,
100
117
pick (
You can’t perform that action at this time.
0 commit comments