From 3054a4cb59104457c2a2671e8c8e0197f9857add Mon Sep 17 00:00:00 2001 From: Sivin Varghese <64252451+iamsivin@users.noreply.github.com> Date: Thu, 6 Jul 2023 00:43:32 +0530 Subject: [PATCH] feat: Add support for dark mode in dashboard (#7460) - Add config for TailwindCSS - Enable HMR - Add a config in LocalStorage for Dark Mode Co-authored-by: Pranav Raj S --- app/javascript/dashboard/App.vue | 31 ++- .../assets/scss/_foundation-custom.scss | 9 - .../assets/scss/_helper-classes.scss | 2 +- .../dashboard/assets/scss/_mixins.scss | 24 +-- .../dashboard/assets/scss/_rtl.scss | 12 -- .../assets/scss/_utility-helpers.scss | 6 +- .../dashboard/assets/scss/_woot.scss | 9 + .../assets/scss/views/settings/inbox.scss | 4 +- .../assets/scss/widgets/_buttons.scss | 5 + .../assets/scss/widgets/_conv-header.scss | 5 - .../scss/widgets/_conversation-card.scss | 5 + .../scss/widgets/_conversation-view.scss | 39 ++++ .../dashboard/assets/scss/widgets/_forms.scss | 4 + .../dashboard/assets/scss/widgets/_modal.scss | 1 - .../assets/scss/widgets/_reply-box.scss | 2 +- .../assets/scss/widgets/_states.scss | 15 -- .../assets/scss/widgets/_widget_builder.scss | 0 .../assets/scss/widgets/_woot-tables.scss | 6 +- .../dashboard/components/ChatList.vue | 2 - app/javascript/dashboard/components/Modal.vue | 3 +- .../dashboard/components/ModalHeader.vue | 2 +- .../dashboard/components/SidemenuIcon.vue | 7 +- .../dashboard/components/layout/Sidebar.vue | 117 ++--------- .../sidebarComponents/AccountContext.vue | 73 ++----- .../sidebarComponents/AccountSelector.vue | 54 ++--- .../layout/sidebarComponents/Logo.vue | 16 +- .../sidebarComponents/NotificationBell.vue | 62 ++---- .../layout/sidebarComponents/OptionsMenu.vue | 1 - .../layout/sidebarComponents/Primary.vue | 45 ++--- .../sidebarComponents/PrimaryNavItem.vue | 60 ++---- .../layout/sidebarComponents/Secondary.vue | 35 +--- .../SecondaryChildNavItem.vue | 163 +++++---------- .../sidebarComponents/SecondaryNavItem.vue | 190 +++--------------- .../dashboard/components/ui/TimeAgo.vue | 15 +- .../components/widgets/LoadingState.vue | 9 +- .../widgets/WootWriter/ReplyTopPanel.vue | 9 +- .../widgets/conversation/ConversationBox.vue | 25 +-- .../conversation/ConversationHeader.vue | 26 +-- .../widgets/conversation/OnboardingView.vue | 8 +- .../widgets/conversation/PriorityMark.vue | 28 +-- .../widgets/conversation/ReplyBox.vue | 3 +- .../widgets/conversation/bubble/Actions.vue | 6 - .../dashboard/constants/localStorage.js | 1 + .../dashboard/routes/dashboard/Dashboard.vue | 2 +- .../contacts/components/ContactInfoPanel.vue | 3 +- .../contacts/components/SectionHeader.vue | 2 +- .../contacts/pages/ContactManageView.vue | 2 +- .../dashboard/conversation/ContactPanel.vue | 5 +- .../conversation/ConversationView.vue | 2 +- .../helpcenter/components/ArticleTable.vue | 7 +- .../helpcenter/components/PortalPopover.vue | 2 +- .../components/PortalSettingsBasicForm.vue | 2 +- .../PortalSettingsCustomizationForm.vue | 2 +- .../helpcenter/components/Sidebar/Sidebar.vue | 2 +- .../pages/articles/ArticleSettings.vue | 2 +- .../dashboard/settings/SettingsHeader.vue | 6 +- .../dashboard/settings/account/Index.vue | 13 +- .../settings/inbox/WidgetBuilder.vue | 15 +- .../settings/profile/ChangePassword.vue | 4 +- .../dashboard/settings/profile/Index.vue | 10 +- .../settings/profile/MessageSignature.vue | 4 +- .../settings/profile/NotificationSettings.vue | 12 +- config/webpacker.yml | 2 +- tailwind.config.js | 6 + 64 files changed, 390 insertions(+), 854 deletions(-) create mode 100644 app/javascript/dashboard/assets/scss/widgets/_widget_builder.scss diff --git a/app/javascript/dashboard/App.vue b/app/javascript/dashboard/App.vue index 839047671..17b8611e7 100644 --- a/app/javascript/dashboard/App.vue +++ b/app/javascript/dashboard/App.vue @@ -3,7 +3,8 @@ v-if="!authUIFlags.isFetching" id="app" class="app-wrapper app-root" - :class="{ 'app-rtl--wrapper': isRTLView }" + :class="{ 'app-rtl--wrapper': isRTLView, dark: theme === 'dark' }" + :dir="isRTLView ? 'rtl' : 'ltr'" >