Files
linsa-linsa-io/web
Aslam 867478d55c fix: Link, Pages, Topic, Hook and Others (#178)
* chore: remove useKeyDownListener

* chore: remove react-use, update jazz version and add query string

* chore: update jazz version

* chore: use simple mac or win utils code

* feat(util): add isTextInput

* feat(hooks): all needed hooks

* fix: link bunch stuff

* fix: page bunch stuff

* chore: bunch update for custom component

* chore: use throttle from internal hook

* chore: topic bunch stuff

* chore: update layout

* fix: truncate content header of topic detail
2024-09-23 23:16:02 +07: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