mirror of
https://github.com/aykhans/slash-e.git
synced 2025-07-03 12:17:55 +00:00
chore: fix feature checks
This commit is contained in:
@ -16,7 +16,7 @@ const Header: React.FC = () => {
|
||||
const workspaceStore = useWorkspaceStore();
|
||||
const currentUser = useUserStore().getCurrentUser();
|
||||
const [showAboutDialog, setShowAboutDialog] = useState<boolean>(false);
|
||||
const profile = workspaceStore.profile;
|
||||
const subscription = workspaceStore.getSubscription();
|
||||
const isAdmin = currentUser.role === Role.ADMIN;
|
||||
const shouldShowRouterSwitch = location.pathname === "/shortcuts" || location.pathname === "/collections";
|
||||
const selectedSection = location.pathname === "/shortcuts" ? "Shortcuts" : location.pathname === "/collections" ? "Collections" : "";
|
||||
@ -35,10 +35,10 @@ const Header: React.FC = () => {
|
||||
<Logo className="mr-2" />
|
||||
Slash
|
||||
</Link>
|
||||
{profile.subscription?.plan && [PlanType.PRO, PlanType.ENTERPRISE].includes(profile.subscription.plan) && (
|
||||
{[PlanType.PRO, PlanType.ENTERPRISE].includes(subscription.plan) && (
|
||||
<span className="ml-1 text-xs px-1.5 leading-5 border rounded-full bg-blue-600 border-blue-700 text-white shadow dark:opacity-70">
|
||||
{/* PRO or ENT */}
|
||||
{profile.subscription.plan.substring(0, 3)}
|
||||
{subscription.plan.substring(0, 3)}
|
||||
</span>
|
||||
)}
|
||||
{shouldShowRouterSwitch && (
|
||||
|
@ -1,6 +1,6 @@
|
||||
import classNames from "classnames";
|
||||
import { useWorkspaceStore } from "@/stores";
|
||||
import { PlanType } from "@/types/proto/api/v1/subscription_service";
|
||||
import { FeatureType } from "@/stores/workspace";
|
||||
import Icon from "./Icon";
|
||||
|
||||
interface Props {
|
||||
@ -9,7 +9,7 @@ interface Props {
|
||||
|
||||
const Logo = ({ className }: Props) => {
|
||||
const workspaceStore = useWorkspaceStore();
|
||||
const hasCustomBranding = workspaceStore.profile.subscription?.plan === PlanType.PRO;
|
||||
const hasCustomBranding = workspaceStore.checkFeatureAvailable(FeatureType.CustomeBranding);
|
||||
const branding = hasCustomBranding && workspaceStore.setting.branding ? new TextDecoder().decode(workspaceStore.setting.branding) : "";
|
||||
return (
|
||||
<div className={classNames("w-8 h-auto dark:text-gray-500 rounded-lg overflow-hidden", className)}>
|
||||
|
@ -7,7 +7,6 @@ import { workspaceServiceClient } from "@/grpcweb";
|
||||
import { useWorkspaceStore } from "@/stores";
|
||||
import { FeatureType } from "@/stores/workspace";
|
||||
import { Visibility } from "@/types/proto/api/v1/common";
|
||||
import { PlanType } from "@/types/proto/api/v1/subscription_service";
|
||||
import { WorkspaceSetting } from "@/types/proto/api/v1/workspace_service";
|
||||
import FeatureBadge from "../FeatureBadge";
|
||||
import Icon from "../Icon";
|
||||
@ -35,7 +34,7 @@ const WorkspaceSection = () => {
|
||||
const [workspaceSetting, setWorkspaceSetting] = useState<WorkspaceSetting>(workspaceStore.setting);
|
||||
const originalWorkspaceSetting = useRef<WorkspaceSetting>(workspaceStore.setting);
|
||||
const allowSave = !isEqual(originalWorkspaceSetting.current, workspaceSetting);
|
||||
const hasCustomBranding = workspaceStore.profile.subscription?.plan === PlanType.PRO;
|
||||
const hasCustomBranding = workspaceStore.checkFeatureAvailable(FeatureType.CustomeBranding);
|
||||
const branding = hasCustomBranding && workspaceSetting.branding ? new TextDecoder().decode(workspaceSetting.branding) : "";
|
||||
|
||||
const onBrandingChange = async (event: React.ChangeEvent<HTMLInputElement>) => {
|
||||
|
Reference in New Issue
Block a user