Files
archived-linsa/web
Aslam 8eed3f8cc2 feat(shortcut): Keyboard Navigation (#168)
* chore: remove sliding menu

* feat(ui): sheet

* feat: shortcut component

* chore: register new shortcut component to layout

* fix: react attr naming

* fix: set default to false for shortcut

* feat(store): keydown-manager

* feat(hooks): keyboard manager

* chore: use util from base for la-editor

* chore: use util from base for minimal-tiptap-editor

* chore(utils): keyboard

* chore: use new keyboard manager

* fix: uniqueness of certain component

* feat: global key handler

* chore: implement new key handler
2024-09-19 21:17:11 +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