From 5b48a712d1d359f0ac30430e32ea32fa70428db5 Mon Sep 17 00:00:00 2001 From: Scott Bishel Date: Tue, 15 Aug 2023 08:26:36 -0600 Subject: [PATCH] MM-52910 - remove boards product tour code (#24223) * remove boards product tour code * remove another constant * i18n-extract * remove boards from onboarding flow * remove unused import * i19n-extract --- .../product_menu/product_menu.tsx | 12 ++--- .../components/onboarding_tasks/constants.ts | 2 - .../onboarding_tasks_manager.tsx | 22 +-------- .../channels/src/components/tours/constant.ts | 1 - webapp/channels/src/components/tours/hooks.ts | 5 +- .../boards_tour_tip.tsx | 47 ------------------- .../onboarding_explore_tools_tour/index.ts | 1 - webapp/channels/src/i18n/en.json | 3 -- webapp/channels/src/utils/constants.tsx | 1 - 9 files changed, 5 insertions(+), 89 deletions(-) delete mode 100644 webapp/channels/src/components/tours/onboarding_explore_tools_tour/boards_tour_tip.tsx diff --git a/webapp/channels/src/components/global_header/left_controls/product_menu/product_menu.tsx b/webapp/channels/src/components/global_header/left_controls/product_menu/product_menu.tsx index 663019a0e0..39d59130a1 100644 --- a/webapp/channels/src/components/global_header/left_controls/product_menu/product_menu.tsx +++ b/webapp/channels/src/components/global_header/left_controls/product_menu/product_menu.tsx @@ -14,7 +14,7 @@ import {getInt} from 'mattermost-redux/selectors/entities/preferences'; import Menu from 'components/widgets/menu/menu'; import MenuWrapper from 'components/widgets/menu/menu_wrapper'; -import {BoardsTourTip, PlaybooksTourTip} from 'components/tours/onboarding_explore_tools_tour'; +import {PlaybooksTourTip} from 'components/tours/onboarding_explore_tools_tour'; import {FINISHED, TutorialTourName} from 'components/tours'; import {isSwitcherOpen} from 'selectors/views/product_menu'; @@ -81,9 +81,8 @@ const ProductMenu = (): JSX.Element => { const triggerStep = useSelector((state: GlobalState) => getInt(state, OnboardingTaskCategory, OnboardingTasksName.EXPLORE_OTHER_TOOLS, FINISHED)); const exploreToolsTourTriggered = triggerStep === GenericTaskSteps.STARTED; - const {boardsPlugin, playbooksPlugin} = useGetPluginsActivationState(); + const {playbooksPlugin} = useGetPluginsActivationState(); - const showBoardsTour = enableTutorial && tutorialStep === ExploreOtherToolsTourSteps.BOARDS_TOUR && exploreToolsTourTriggered && boardsPlugin; const showPlaybooksTour = enableTutorial && tutorialStep === ExploreOtherToolsTourSteps.PLAYBOOKS_TOUR && exploreToolsTourTriggered && playbooksPlugin; const handleClick = () => dispatch(setProductMenuSwitcherOpen(!switcherOpen)); @@ -107,14 +106,9 @@ const ProductMenu = (): JSX.Element => { const productItems = products?.map((product) => { let tourTip; - // focalboard - if (boardsPlugin && showBoardsTour) { - tourTip = (); - } - // playbooks if (product.pluginId === suitePluginIds.playbooks && showPlaybooksTour) { - tourTip = (); + tourTip = (); } return ( diff --git a/webapp/channels/src/components/onboarding_tasks/constants.ts b/webapp/channels/src/components/onboarding_tasks/constants.ts index c5d1836e56..6e3f4f8037 100644 --- a/webapp/channels/src/components/onboarding_tasks/constants.ts +++ b/webapp/channels/src/components/onboarding_tasks/constants.ts @@ -8,7 +8,6 @@ export const OnboardingTaskCategory = 'onboarding_task_list'; // Whole task list is based on these export const OnboardingTasksName = { CHANNELS_TOUR: 'channels_tour', - BOARDS_TOUR: 'boards_tour', PLAYBOOKS_TOUR: 'playbooks_tour', INVITE_PEOPLE: 'invite_people', DOWNLOAD_APP: 'download_app', @@ -34,7 +33,6 @@ export const GenericTaskSteps = { export const TaskNameMapToSteps = { [OnboardingTasksName.CHANNELS_TOUR]: GenericTaskSteps, - [OnboardingTasksName.BOARDS_TOUR]: GenericTaskSteps, [OnboardingTasksName.PLAYBOOKS_TOUR]: GenericTaskSteps, [OnboardingTasksName.COMPLETE_YOUR_PROFILE]: GenericTaskSteps, [OnboardingTasksName.EXPLORE_OTHER_TOOLS]: GenericTaskSteps, diff --git a/webapp/channels/src/components/onboarding_tasks/onboarding_tasks_manager.tsx b/webapp/channels/src/components/onboarding_tasks/onboarding_tasks_manager.tsx index e6346224d4..201015d659 100644 --- a/webapp/channels/src/components/onboarding_tasks/onboarding_tasks_manager.tsx +++ b/webapp/channels/src/components/onboarding_tasks/onboarding_tasks_manager.tsx @@ -36,7 +36,6 @@ import { import {ModalIdentifiers, TELEMETRY_CATEGORIES, ExploreOtherToolsTourSteps} from 'utils/constants'; -import BullsEye from 'components/common/svg_images_components/bulls_eye_svg'; import Channels from 'components/common/svg_images_components/channels_svg'; import Clipboard from 'components/common/svg_images_components/clipboard_svg'; import Gears from 'components/common/svg_images_components/gears_svg'; @@ -62,14 +61,6 @@ const useGetTaskDetails = () => { defaultMessage: 'Take a tour of Channels.', }), }, - [OnboardingTasksName.BOARDS_TOUR]: { - id: 'task_plan_sprint_with_kanban_style_boards', - svg: BullsEye, - message: formatMessage({ - id: 'onboardingTask.checklist.task_plan_sprint_with_kanban_style_boards', - defaultMessage: 'Manage tasks with your first board.', - }), - }, [OnboardingTasksName.PLAYBOOKS_TOUR]: { id: 'task_resolve_incidents_faster_with_playbooks', svg: Clipboard, @@ -156,9 +147,6 @@ export const useTasksList = () => { const showStartTrialTask = selfHostedTrialCondition || cloudTrialCondition; const list: Record = {...OnboardingTasksName}; - if (!pluginsList.focalboard || !isUserFirstAdmin) { - delete list.BOARDS_TOUR; - } if (!pluginsList.playbooks || !isUserFirstAdmin) { delete list.PLAYBOOKS_TOUR; } @@ -253,8 +241,6 @@ export const useHandleOnBoardingTaskTrigger = () => { const isGuestUser = useSelector((state: GlobalState) => isCurrentUserGuestUser(state)); const inAdminConsole = matchPath(pathname, {path: '/admin_console'}) != null; const inChannels = matchPath(pathname, {path: '/:team/channels/:chanelId'}) != null; - const pluginsList = useSelector((state: GlobalState) => state.plugins.plugins); - const boards = pluginsList.focalboard; return (taskName: string) => { switch (taskName) { @@ -283,12 +269,6 @@ export const useHandleOnBoardingTaskTrigger = () => { } break; } - case OnboardingTasksName.BOARDS_TOUR: { - history.push('/boards'); - localStorage.setItem(OnboardingTaskCategory, 'true'); - handleSaveData(taskName, TaskNameMapToSteps[taskName].FINISHED, true); - break; - } case OnboardingTasksName.PLAYBOOKS_TOUR: { history.push('/playbooks/start'); localStorage.setItem(OnboardingTaskCategory, 'true'); @@ -313,7 +293,7 @@ export const useHandleOnBoardingTaskTrigger = () => { user_id: currentUserId, category: tourCategory, name: currentUserId, - value: boards ? ExploreOtherToolsTourSteps.BOARDS_TOUR.toString() : ExploreOtherToolsTourSteps.PLAYBOOKS_TOUR.toString(), + value: ExploreOtherToolsTourSteps.PLAYBOOKS_TOUR.toString(), }, { user_id: currentUserId, diff --git a/webapp/channels/src/components/tours/constant.ts b/webapp/channels/src/components/tours/constant.ts index 22afa43927..6ce7b68c24 100644 --- a/webapp/channels/src/components/tours/constant.ts +++ b/webapp/channels/src/components/tours/constant.ts @@ -42,7 +42,6 @@ export const OnboardingTourStepsForGuestUsers = { }; export const ExploreOtherToolsTourSteps = { - BOARDS_TOUR: 0, PLAYBOOKS_TOUR: 1, FINISHED, }; diff --git a/webapp/channels/src/components/tours/hooks.ts b/webapp/channels/src/components/tours/hooks.ts index ea359a00e9..4fccbb0054 100644 --- a/webapp/channels/src/components/tours/hooks.ts +++ b/webapp/channels/src/components/tours/hooks.ts @@ -34,7 +34,7 @@ export const useGetTourSteps = (tourCategory: string) => { let tourSteps: Record = TTNameMapToTourSteps[tourCategory]; - const {playbooksPlugin, playbooksProductEnabled, boardsPlugin} = useGetPluginsActivationState(); + const {playbooksPlugin, playbooksProductEnabled} = useGetPluginsActivationState(); if (tourCategory === TutorialTourName.EXPLORE_OTHER_TOOLS) { const steps: Record = tourSteps as typeof ExploreOtherToolsTourSteps; @@ -42,9 +42,6 @@ export const useGetTourSteps = (tourCategory: string) => { delete steps.PLAYBOOKS_TOUR; } - if (!boardsPlugin) { - delete steps.BOARDS_TOUR; - } tourSteps = steps; } else if (tourCategory === TutorialTourName.ONBOARDING_TUTORIAL_STEP && isGuestUser) { // restrict the 'learn more about messaging' tour when user is guest (townSquare, channel creation and user invite are restricted to guests) diff --git a/webapp/channels/src/components/tours/onboarding_explore_tools_tour/boards_tour_tip.tsx b/webapp/channels/src/components/tours/onboarding_explore_tools_tour/boards_tour_tip.tsx deleted file mode 100644 index 93f5b6c75c..0000000000 --- a/webapp/channels/src/components/tours/onboarding_explore_tools_tour/boards_tour_tip.tsx +++ /dev/null @@ -1,47 +0,0 @@ -// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved. -// See LICENSE.txt for license information. - -import React from 'react'; -import {FormattedMessage} from 'react-intl'; - -import BoardsImg from 'images/boards_tour_tip.svg'; - -import {useMeasurePunchouts} from '@mattermost/components'; - -import OnboardingExploreToolsTourTip from './onboarding_explore_tools_tour_tip'; - -interface BoardsTourTipProps { - singleTip: boolean; -} - -export const BoardsTourTip = ({singleTip}: BoardsTourTipProps) => { - const title = ( - - ); - const screen = ( -

- -

- ); - - const overlayPunchOut = useMeasurePunchouts(['product-menu-item-boards'], []); - - return ( - - ); -}; - diff --git a/webapp/channels/src/components/tours/onboarding_explore_tools_tour/index.ts b/webapp/channels/src/components/tours/onboarding_explore_tools_tour/index.ts index 11a001493d..9ae542f147 100644 --- a/webapp/channels/src/components/tours/onboarding_explore_tools_tour/index.ts +++ b/webapp/channels/src/components/tours/onboarding_explore_tools_tour/index.ts @@ -2,4 +2,3 @@ // See LICENSE.txt for license information. export * from './playbooks_tour_tip'; -export * from './boards_tour_tip'; diff --git a/webapp/channels/src/i18n/en.json b/webapp/channels/src/i18n/en.json index 367e7fa5a4..5e06a0416d 100644 --- a/webapp/channels/src/i18n/en.json +++ b/webapp/channels/src/i18n/en.json @@ -4191,7 +4191,6 @@ "onboardingTask.checklist.task_explore_other_tools_in_platform": "Explore other tools in the platform.", "onboardingTask.checklist.task_invite_team_members": "Invite team members to the workspace.", "onboardingTask.checklist.task_learn_more_about_messaging": "Take a tour of Channels.", - "onboardingTask.checklist.task_plan_sprint_with_kanban_style_boards": "Manage tasks with your first board.", "onboardingTask.checklist.task_resolve_incidents_faster_with_playbooks": "Explore workflows with your first playbook.", "onboardingTask.checklist.task_start_enterprise_trial": "Learn more about Enterprise-level high-security features.", "onboardingTask.checklist.task_visit_system_console": "Visit the System Console to configure your workspace.", @@ -4200,8 +4199,6 @@ "onboardingTask.completeYourProfileTour.title": "Edit your profile", "onboardingTask.visitSystemConsole.Description": "More detailed configuration settings for your workspace can be accessed here.", "onboardingTask.visitSystemConsole.title": "Visit the System Console", - "onboardingTour.BoardsTourTip.Boards": "Keep every project organized with kanban-style boards that integrate tightly with channel-based collaboration.", - "onboardingTour.BoardsTourTip.title": "Manage tasks with Boards", "onboardingTour.ChannelsAndDirectMessagesTour.channels": "Channels are where you can communicate with your team about a topic or project.", "onboardingTour.ChannelsAndDirectMessagesTour.directMessages": "Direct messages are for private conversations between individuals or small groups.", "onboardingTour.ChannelsAndDirectMessagesTour.firstChannel": "Hey look, there’s your **{firstChannelName}** channel! ", diff --git a/webapp/channels/src/utils/constants.tsx b/webapp/channels/src/utils/constants.tsx index 12c2c41ed7..5f462bbe46 100644 --- a/webapp/channels/src/utils/constants.tsx +++ b/webapp/channels/src/utils/constants.tsx @@ -661,7 +661,6 @@ export const CrtTutorialSteps = { }; export const ExploreOtherToolsTourSteps = { - BOARDS_TOUR: 0, PLAYBOOKS_TOUR: 1, FINISHED: 999, };