22 lines
561 B
JavaScript
22 lines
561 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 />;
|
|
}
|
|
|
|
// Check if user has *either* premium or pro
|
|
const hasPremiumOrPro = user.is_premium || user.is_pro_premium;
|
|
if (!hasPremiumOrPro) {
|
|
// Logged in but neither plan; go to paywall
|
|
return <Navigate to="/paywall" replace />;
|
|
}
|
|
|
|
// User is logged in and has premium or pro
|
|
return children;
|
|
}
|
|
|
|
export default PremiumRoute;
|