20 lines
440 B
JavaScript
20 lines
440 B
JavaScript
import React from 'react';
|
|
import { Navigate } from 'react-router-dom';
|
|
|
|
function PremiumRoute({ user, children }) {
|
|
if (!user) {
|
|
// Not even logged in; go to sign in
|
|
return <Navigate to="/signin" replace />;
|
|
}
|
|
|
|
if (!user.is_premium) {
|
|
// Logged in but not premium; go to paywall
|
|
return <Navigate to="/paywall" replace />;
|
|
}
|
|
|
|
// User is logged in and has premium
|
|
return children;
|
|
}
|
|
|
|
export default PremiumRoute;
|