jargons.dev icon indicating copy to clipboard operation
jargons.dev copied to clipboard

Implement Redirect to First Page Route for Alphabetical Browse

Open babblebey opened this issue 10 months ago • 0 comments

Currently, when a user visits the /browse/[alpha] (example "/browse/a") route, they receive a 404 error. This issue requests implementing a redirect to the first page route (/browse/[alpha]/1 i.e. "/browse/a/1") when a user visits /browse/[alpha]. This will ensure a smoother browsing experience for users.

Steps to Implement:

  1. Detect when a user visits the /browse/[alpha] route without specifying a page number.
  2. Redirect the user to the first page route (/browse/[alpha]/1).

Implementation Note:

  • The following code snippet could be implemented into a /browse/[alpha]/index.astro file to handle the redirection:

    ---
    /**
     * Redirect traffic from `/[alpha]` to `/[alpha]/1` to avoid 404 error
     */
    return Astro.redirect(`${Astro.params.alpha}/1`);
    ---
    

    However, there's a build conflict with /browse/[...slug], so it's important to understand the Route Priority Order for this to work.

Acceptance Criteria:

  • When a user visits the /browse/[alpha] route, they should be automatically redirected to the first page route (/browse/[alpha]/1).
  • The redirect should happen seamlessly without any additional user input.

Additional Information:

  • This enhancement will improve user experience by ensuring that users are directed to the correct page when browsing alphabetically.
  • It's important to state that I have tried the stated implementation in the implementation note and experienced the conflict myself, It worked by redirecting, but the words route that gets built from src/content/dictionary were also getting the redirects; not nice 😞

babblebey avatar Apr 24 '24 12:04 babblebey