The sidebar sometimes did not show that the current tab was selected. This is because the check was comparing the current route and then list of route Ids. When certain tabs were selected, like the photos tab, the $page.route.id would return /(user)/photos/[[assetId=id]] while the check was looking for /(user)/photos. Regex was used to check for just the first portion ie. /(user)/[anything] as well as /admin/[anything]. The regex has an or for an empty array to avoid returning null if there are no matches.
The colour when hovered and selected was also changed from bg-immich-primary-25 to bg-immich-primary-10 as a darker hover is not needed when on the current page, just seems redundant and doesn't look as good.
How has this been tested
I ran the npm run check:all and tested both the user and admin page within the browser.
Description
The sidebar sometimes did not show that the current tab was selected. This is because the check was comparing the current route and then list of route Ids. When certain tabs were selected, like the photos tab, the
$page.route.id
would return/(user)/photos/[[assetId=id]]
while the check was looking for/(user)/photos
. Regex was used to check for just the first portion ie./(user)/[anything]
as well as/admin/[anything]
. The regex has an or for an empty array to avoid returning null if there are no matches.The colour when hovered and selected was also changed from
bg-immich-primary-25
tobg-immich-primary-10
as a darker hover is not needed when on the current page, just seems redundant and doesn't look as good.How has this been tested
I ran the
npm run check:all
and tested both the user and admin page within the browser.