mirror of
https://github.com/linsa-io/linsa.git
synced 2026-01-12 12:20:23 +01:00
* chore: use tanstack virtual * fix: topic learning state * chore: add skeleton loading and not found topic placeholder * fix: personal links load in list
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:
- New routes are public by default
- 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
- Always add new protected routes to
ROUTE_PATTERNS.protected - Regularly review routes to ensure proper protection
- Be cautious when modifying the
"/:topicName(.*)"catch-all route