Files
archived-linsa/web
Aslam 2a637705f2 fix: Bug fixing & Enhancement (#161)
* chore: memoize sorted pages

* chore: make link size more precise

* fix(link): disable enter press on create mode

* fix(onboarding): move is base logic and use escape for single quote

* fix(page): on delete success redirect to pages

* fix(sntry): sentry client error report

* chore(page): dynamic focus on title/content

* chore(link): tweak badge class

* chore(link): use nuqs for handling create mode

* fix(link): refs

* feat(palette): implement new link
2024-09-11 15:25:21 +07:00
..
2024-09-11 15:25:21 +07:00
2024-09-07 03:11:43 +07:00
2024-09-10 13:58:58 +03:00
.
2024-07-15 20:08:18 +04:00
2024-09-10 18:18:37 +07:00
2024-09-10 13:58:58 +03:00
2024-08-07 20:57:22 +03:00
2024-08-07 20:57:22 +03:00
2024-09-10 13:58:58 +03:00
2024-08-07 20:57:22 +03:00
2024-09-07 01:48:51 +07:00
2024-09-10 13:58:58 +03:00

LA Editor

This folder should not contain any changes. It is a copy of the original LA Editor component from the LA Editor repository.

This component is a temporary solution until the original repository publish the component to npm.

Clerk Middleware for Route Protection

This middleware manages authentication and protects routes in our Next.js application using Clerk.

Key Concepts

  • Public Routes: Accessible to all users
  • Protected Routes: Require authentication

Important: Route Registration

The middleware uses a catch-all public route "/:topicName(.*)". This means:

  1. New routes are public by default
  2. Protected routes MUST be explicitly registered

How to Register Routes

Update the ROUTE_PATTERNS object in the middleware file:

const ROUTE_PATTERNS = {
	public: ["/sign-in(.*)", "/sign-up(.*)", "/", "/:topicName(.*)"],
	protected: [
		"/edit-profile(.*)",
		"/links(.*)",
		// Add new protected routes here
		"/new-protected-feature(.*)"
	]
}

Best Practices

  1. Always add new protected routes to ROUTE_PATTERNS.protected
  2. Regularly review routes to ensure proper protection
  3. Be cautious when modifying the "/:topicName(.*)" catch-all route