aboutsummaryrefslogtreecommitdiffstats
path: root/frontend-vanilla/src/main.ts
diff options
context:
space:
mode:
authorAdam Mathes <adam@adammathes.com>2026-02-16 08:18:42 -0800
committerAdam Mathes <adam@adammathes.com>2026-02-16 08:18:42 -0800
commitde741fa9c5491787ab1e55dcb8b361a598fc945a (patch)
treebd5d3cd3014193ba853f1f0a85a9dffddd194320 /frontend-vanilla/src/main.ts
parent795d48fe18c38422fe63ffa900c26405e395ade2 (diff)
downloadneko-de741fa9c5491787ab1e55dcb8b361a598fc945a.tar.gz
neko-de741fa9c5491787ab1e55dcb8b361a598fc945a.tar.bz2
neko-de741fa9c5491787ab1e55dcb8b361a598fc945a.zip
Implement settings toggle logic and refactor sidebar navigation
- Close NK-s8nytj: Settings page close behavior - Update frontend-vanilla/src/main.ts to toggle settings/filter navigation - Add tests in frontend-vanilla/src/main.test.ts for navigation logic - Created NK-gxvegm for feed/tag settings behavior - Created NK-f64ocp for routing logic refactor
Diffstat (limited to 'frontend-vanilla/src/main.ts')
-rw-r--r--frontend-vanilla/src/main.ts14
1 files changed, 12 insertions, 2 deletions
diff --git a/frontend-vanilla/src/main.ts b/frontend-vanilla/src/main.ts
index b167a18..c22dd26 100644
--- a/frontend-vanilla/src/main.ts
+++ b/frontend-vanilla/src/main.ts
@@ -114,7 +114,12 @@ export function attachLayoutListeners() {
if (navType === 'filter') {
e.preventDefault();
const filter = link.getAttribute('data-value') as FilterType;
- router.updateQuery({ filter });
+ const currentRoute = router.getCurrentRoute();
+ if (currentRoute.path === '/settings') {
+ router.navigate('/', { ...currentQuery, filter });
+ } else {
+ router.updateQuery({ filter });
+ }
} else if (navType === 'tag') {
e.preventDefault();
const tag = link.getAttribute('data-value')!;
@@ -129,7 +134,12 @@ export function attachLayoutListeners() {
}
} else if (navType === 'settings') {
e.preventDefault();
- router.navigate('/settings', currentQuery);
+ const currentRoute = router.getCurrentRoute();
+ if (currentRoute.path === '/settings') {
+ router.navigate('/', currentQuery);
+ } else {
+ router.navigate('/settings', currentQuery);
+ }
}
// Auto-close sidebar on mobile after clicking a link