Files
archived-linsa/web
Aslam 1cd6063768 chore: improve link accesibility and keybind (#153)
* fix(topic): handleSelectLearningState missing depth

* fix(link): use active index instead of native focus

* chore(palette): use atom for maintain state

* chore(link): prevent keydown if command palette active
2024-09-08 08:32:10 +07:00
..
2024-09-07 03:11:43 +07:00
2024-09-04 05:32:37 +07:00
2024-08-30 16:19:29 +03:00
.
2024-07-15 20:08:18 +04:00
.
2024-07-15 20:08:18 +04:00
2024-08-07 20:57:22 +03:00
2024-08-07 20:57:22 +03:00
2024-09-03 18:37:10 +03:00
2024-08-07 20:57:22 +03:00
2024-09-07 01:48:51 +07:00
2024-08-30 16:19:29 +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