mefechoel / svelte-navigator

Simple, accessible routing for Svelte
Other
506 stars 39 forks source link

Prefix to slugs / more flexible path parsing #101

Open asprionj opened 1 year ago

asprionj commented 1 year ago

Problem: I want do discern between two different components based on a prefix of an ID:

/group1/group1-1 -> view this group of things (e.g. a list) /group1/element001 -> view/edit details of an element

Is there already a way of doing this? I tried to abuse nested <Route>s (outer with path="/group1/group*", inner with path=":id") but that did not work (no error, but neither a match for an according URI).

I want to strictly separate concerns, i.e. not parse parts of the path in a component and then display the correct content.

A simple (and completely flexible) solution could be to allow specification of an arbitrary function that gets the (remaining) path (or a matched slug or the contents of a wildcard), and returns a component and the params.

the-eater commented 1 year ago

maybe a bit of a necro, but I added prefix support here for myself here, https://github.com/mefechoel/svelte-navigator/commit/027e40b8a56659aa5369cef58a45c4702e96aec8

I am unsure if there's actual interest in it however

(notation is ^<prefix>:<var name>, which seemed the most intuitive solution to me)