From aa8b47a5881dfa96ab75ae0a6477e1c5690fe71d Mon Sep 17 00:00:00 2001 From: 0x29a Date: Wed, 14 Aug 2024 18:39:53 +0200 Subject: [PATCH] feat: hide studio button for limited staff --- src/instructor-toolbar/InstructorToolbar.jsx | 5 +++-- src/tab-page/LoadedTabPage.jsx | 6 ++++++ 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/src/instructor-toolbar/InstructorToolbar.jsx b/src/instructor-toolbar/InstructorToolbar.jsx index 81643d0656..dce8ac8b79 100644 --- a/src/instructor-toolbar/InstructorToolbar.jsx +++ b/src/instructor-toolbar/InstructorToolbar.jsx @@ -56,6 +56,7 @@ export default function InstructorToolbar(props) { courseId, unitId, canViewLegacyCourseware, + studioButtonVisible, tab, } = props; @@ -85,7 +86,7 @@ export default function InstructorToolbar(props) {
- {(urlLegacy || urlStudio || urlInsights) && ( + {(urlLegacy || urlStudio && studioButtonVisible || urlInsights) && ( <>
View course in: @@ -96,7 +97,7 @@ export default function InstructorToolbar(props) { Legacy experience )} - {urlStudio && ( + {urlStudio && studioButtonVisible && ( Studio diff --git a/src/tab-page/LoadedTabPage.jsx b/src/tab-page/LoadedTabPage.jsx index 12a00f95dd..fd0e704dd5 100644 --- a/src/tab-page/LoadedTabPage.jsx +++ b/src/tab-page/LoadedTabPage.jsx @@ -15,6 +15,8 @@ import useLogistrationAlert from '../alerts/logistration-alert'; import ProductTours from '../product-tours/ProductTours'; +const restrictedStudioAccessRoles = ["limited_staff"]; + function LoadedTabPage({ activeTabSlug, children, @@ -29,6 +31,7 @@ function LoadedTabPage({ originalUserIsStaff, tabs, title, + userRoles, verifiedMode, } = useModel(metadataModel, courseId); @@ -39,6 +42,8 @@ function LoadedTabPage({ const activeTab = tabs.filter(tab => tab.slug === activeTabSlug)[0]; + const canVisitStudio = !restrictedStudioAccessRoles.some(role => userRoles.includes(role)); + const streakLengthToCelebrate = celebrations && celebrations.streakLengthToCelebrate; const streakDiscountCouponEnabled = celebrations && celebrations.streakDiscountEnabled && verifiedMode; const [isStreakCelebrationOpen,, closeStreakCelebration] = useToggle(streakLengthToCelebrate); @@ -61,6 +66,7 @@ function LoadedTabPage({ unitId={unitId} canViewLegacyCourseware={canViewLegacyCourseware} tab={activeTabSlug} + studioButtonVisible={canVisitStudio} /> )}