Chore: moves localstorage helper as a shared utility (#6838)

* Chore: moves localstorage helper as a shared utility and refactors constants

* Refactors constants file

* Fixes merge conflicts

* Delete constants.js

---------

Co-authored-by: Sivin Varghese <64252451+iamsivin@users.noreply.github.com>
This commit is contained in:
Nithin David Thomas 2023-04-11 15:50:46 +05:30 committed by GitHub
parent 17ff1f11a7
commit 09ce85b30d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
29 changed files with 36 additions and 36 deletions

View File

@ -1,5 +1,5 @@
/* global axios */ /* global axios */
import wootConstants from 'dashboard/constants'; import wootConstants from 'dashboard/constants/globals';
export const getTestimonialContent = () => { export const getTestimonialContent = () => {
return axios.get(wootConstants.TESTIMONIAL_URL); return axios.get(wootConstants.TESTIMONIAL_URL);

View File

@ -173,7 +173,7 @@ import ConversationCard from './widgets/conversation/ConversationCard';
import timeMixin from '../mixins/time'; import timeMixin from '../mixins/time';
import eventListenerMixins from 'shared/mixins/eventListenerMixins'; import eventListenerMixins from 'shared/mixins/eventListenerMixins';
import conversationMixin from '../mixins/conversations'; import conversationMixin from '../mixins/conversations';
import wootConstants from '../constants'; import wootConstants from 'dashboard/constants/globals';
import advancedFilterTypes from './widgets/conversation/advancedFilterItems'; import advancedFilterTypes from './widgets/conversation/advancedFilterItems';
import filterQueryGenerator from '../helper/filterQueryGenerator.js'; import filterQueryGenerator from '../helper/filterQueryGenerator.js';
import AddCustomViews from 'dashboard/routes/dashboard/customviews/AddCustomViews'; import AddCustomViews from 'dashboard/routes/dashboard/customviews/AddCustomViews';

View File

@ -12,7 +12,8 @@
</template> </template>
<script> <script>
import Banner from 'dashboard/components/ui/Banner.vue'; import Banner from 'dashboard/components/ui/Banner.vue';
import { LocalStorage, LOCAL_STORAGE_KEYS } from '../../helper/localStorage'; import { LOCAL_STORAGE_KEYS } from 'dashboard/constants/localStorage';
import { LocalStorage } from 'shared/helpers/localStorage';
import { mapGetters } from 'vuex'; import { mapGetters } from 'vuex';
import adminMixin from 'dashboard/mixins/isAdmin'; import adminMixin from 'dashboard/mixins/isAdmin';
import { hasAnUpdateAvailable } from './versionCheckHelper'; import { hasAnUpdateAvailable } from './versionCheckHelper';

View File

@ -126,7 +126,7 @@ import WootDropdownSubMenu from 'shared/components/ui/dropdown/DropdownSubMenu.v
import WootDropdownMenu from 'shared/components/ui/dropdown/DropdownMenu.vue'; import WootDropdownMenu from 'shared/components/ui/dropdown/DropdownMenu.vue';
import WootDropdownDivider from 'shared/components/ui/dropdown/DropdownDivider'; import WootDropdownDivider from 'shared/components/ui/dropdown/DropdownDivider';
import wootConstants from '../../constants'; import wootConstants from 'dashboard/constants/globals';
import { import {
CMD_REOPEN_CONVERSATION, CMD_REOPEN_CONVERSATION,
CMD_RESOLVE_CONVERSATION, CMD_RESOLVE_CONVERSATION,

View File

@ -52,7 +52,7 @@ import WootDropdownMenu from 'shared/components/ui/dropdown/DropdownMenu';
import WootDropdownHeader from 'shared/components/ui/dropdown/DropdownHeader'; import WootDropdownHeader from 'shared/components/ui/dropdown/DropdownHeader';
import WootDropdownDivider from 'shared/components/ui/dropdown/DropdownDivider'; import WootDropdownDivider from 'shared/components/ui/dropdown/DropdownDivider';
import AvailabilityStatusBadge from '../widgets/conversation/AvailabilityStatusBadge'; import AvailabilityStatusBadge from '../widgets/conversation/AvailabilityStatusBadge';
import wootConstants from 'dashboard/constants'; import wootConstants from 'dashboard/constants/globals';
const { AVAILABILITY_STATUS_KEYS } = wootConstants; const { AVAILABILITY_STATUS_KEYS } = wootConstants;

View File

@ -41,7 +41,7 @@ import PrimaryNavItem from './PrimaryNavItem';
import OptionsMenu from './OptionsMenu'; import OptionsMenu from './OptionsMenu';
import AgentDetails from './AgentDetails'; import AgentDetails from './AgentDetails';
import NotificationBell from './NotificationBell'; import NotificationBell from './NotificationBell';
import wootConstants from 'dashboard/constants'; import wootConstants from 'dashboard/constants/globals';
import { frontendURL } from 'dashboard/helper/URLHelper'; import { frontendURL } from 'dashboard/helper/URLHelper';
export default { export default {

View File

@ -9,7 +9,7 @@
</woot-tabs> </woot-tabs>
</template> </template>
<script> <script>
import wootConstants from '../../constants'; import wootConstants from 'dashboard/constants/globals';
import eventListenerMixins from 'shared/mixins/eventListenerMixins'; import eventListenerMixins from 'shared/mixins/eventListenerMixins';
import { hasPressedAltAndNKey } from 'shared/helpers/KeyboardHelpers'; import { hasPressedAltAndNKey } from 'shared/helpers/KeyboardHelpers';

View File

@ -11,7 +11,7 @@
</template> </template>
<script> <script>
import wootConstants from '../../../constants'; import wootConstants from 'dashboard/constants/globals';
import eventListenerMixins from 'shared/mixins/eventListenerMixins'; import eventListenerMixins from 'shared/mixins/eventListenerMixins';
import { hasPressedAltAndBKey } from 'shared/helpers/KeyboardHelpers'; import { hasPressedAltAndBKey } from 'shared/helpers/KeyboardHelpers';

View File

@ -63,7 +63,7 @@ import inboxMixin from 'shared/mixins/inboxMixin';
import InboxName from '../InboxName'; import InboxName from '../InboxName';
import MoreActions from './MoreActions'; import MoreActions from './MoreActions';
import Thumbnail from '../Thumbnail'; import Thumbnail from '../Thumbnail';
import wootConstants from '../../../constants'; import wootConstants from 'dashboard/constants/globals';
import { conversationListPageURL } from 'dashboard/helper/URLHelper'; import { conversationListPageURL } from 'dashboard/helper/URLHelper';
export default { export default {
components: { components: {

View File

@ -174,9 +174,10 @@ import inboxMixin from 'shared/mixins/inboxMixin';
import uiSettingsMixin from 'dashboard/mixins/uiSettings'; import uiSettingsMixin from 'dashboard/mixins/uiSettings';
import { DirectUpload } from 'activestorage'; import { DirectUpload } from 'activestorage';
import { frontendURL } from '../../../helper/URLHelper'; import { frontendURL } from '../../../helper/URLHelper';
import { LocalStorage, LOCAL_STORAGE_KEYS } from '../../../helper/localStorage'; import { LOCAL_STORAGE_KEYS } from 'dashboard/constants/localStorage';
import { LocalStorage } from 'shared/helpers/localStorage';
import { trimContent, debounce } from '@chatwoot/utils'; import { trimContent, debounce } from '@chatwoot/utils';
import wootConstants from 'dashboard/constants'; import wootConstants from 'dashboard/constants/globals';
import { isEditorHotKeyEnabled } from 'dashboard/mixins/uiSettings'; import { isEditorHotKeyEnabled } from 'dashboard/mixins/uiSettings';
import { CONVERSATION_EVENTS } from '../../../helper/AnalyticsHelper/events'; import { CONVERSATION_EVENTS } from '../../../helper/AnalyticsHelper/events';
import rtlMixin from 'shared/mixins/rtlMixin'; import rtlMixin from 'shared/mixins/rtlMixin';

View File

@ -69,7 +69,7 @@
<script> <script>
import MenuItem from './menuItem.vue'; import MenuItem from './menuItem.vue';
import MenuItemWithSubmenu from './menuItemWithSubmenu.vue'; import MenuItemWithSubmenu from './menuItemWithSubmenu.vue';
import wootConstants from 'dashboard/constants.js'; import wootConstants from 'dashboard/constants/globals';
import snoozeTimesMixin from 'dashboard/mixins/conversation/snoozeTimesMixin'; import snoozeTimesMixin from 'dashboard/mixins/conversation/snoozeTimesMixin';
import { mapGetters } from 'vuex'; import { mapGetters } from 'vuex';
import AgentLoadingPlaceholder from './agentLoadingPlaceholder.vue'; import AgentLoadingPlaceholder from './agentLoadingPlaceholder.vue';

View File

@ -0,0 +1,5 @@
export const LOCAL_STORAGE_KEYS = {
DISMISSED_UPDATES: 'dismissedUpdates',
WIDGET_BUILDER: 'widgetBubble_',
DRAFT_MESSAGES: 'draftMessages',
};

View File

@ -1,4 +1,4 @@
import { DEFAULT_REDIRECT_URL } from '../constants'; import { DEFAULT_REDIRECT_URL } from 'dashboard/constants/globals';
export const frontendURL = (path, params) => { export const frontendURL = (path, params) => {
const stringifiedParams = params ? `?${new URLSearchParams(params)}` : ''; const stringifiedParams = params ? `?${new URLSearchParams(params)}` : '';

View File

@ -4,7 +4,7 @@
<script> <script>
import LoadingState from '../../components/widgets/LoadingState'; import LoadingState from '../../components/widgets/LoadingState';
import Auth from '../../api/auth'; import Auth from '../../api/auth';
import { DEFAULT_REDIRECT_URL } from '../../constants'; import { DEFAULT_REDIRECT_URL } from 'dashboard/constants/globals';
export default { export default {
components: { components: {
LoadingState, LoadingState,

View File

@ -49,7 +49,7 @@ import { required, minLength } from 'vuelidate/lib/validators';
import Auth from '../../api/auth'; import Auth from '../../api/auth';
import WootSubmitButton from '../../components/buttons/FormSubmitButton'; import WootSubmitButton from '../../components/buttons/FormSubmitButton';
import { DEFAULT_REDIRECT_URL } from '../../constants'; import { DEFAULT_REDIRECT_URL } from 'dashboard/constants/globals';
export default { export default {
components: { components: {

View File

@ -82,7 +82,7 @@ import Auth from '../../../../api/auth';
import { mapGetters } from 'vuex'; import { mapGetters } from 'vuex';
import globalConfigMixin from 'shared/mixins/globalConfigMixin'; import globalConfigMixin from 'shared/mixins/globalConfigMixin';
import alertMixin from 'shared/mixins/alertMixin'; import alertMixin from 'shared/mixins/alertMixin';
import { DEFAULT_REDIRECT_URL } from '../../../../constants'; import { DEFAULT_REDIRECT_URL } from 'dashboard/constants/globals';
import VueHcaptcha from '@hcaptcha/vue-hcaptcha'; import VueHcaptcha from '@hcaptcha/vue-hcaptcha';
import AuthInput from '../AuthInput.vue'; import AuthInput from '../AuthInput.vue';
import AuthSubmitButton from '../AuthSubmitButton.vue'; import AuthSubmitButton from '../AuthSubmitButton.vue';

View File

@ -47,7 +47,7 @@ import AccountSelector from 'dashboard/components/layout/sidebarComponents/Accou
import AddLabelModal from 'dashboard/routes/dashboard/settings/labels/AddLabel'; import AddLabelModal from 'dashboard/routes/dashboard/settings/labels/AddLabel';
import NotificationPanel from 'dashboard/routes/dashboard/notifications/components/NotificationPanel'; import NotificationPanel from 'dashboard/routes/dashboard/notifications/components/NotificationPanel';
import uiSettingsMixin from 'dashboard/mixins/uiSettings'; import uiSettingsMixin from 'dashboard/mixins/uiSettings';
import wootConstants from 'dashboard/constants'; import wootConstants from 'dashboard/constants/globals';
export default { export default {
components: { components: {

View File

@ -1,5 +1,5 @@
import { mapGetters } from 'vuex'; import { mapGetters } from 'vuex';
import wootConstants from '../../../constants'; import wootConstants from 'dashboard/constants/globals';
import { import {
CMD_MUTE_CONVERSATION, CMD_MUTE_CONVERSATION,
CMD_REOPEN_CONVERSATION, CMD_REOPEN_CONVERSATION,

View File

@ -32,7 +32,7 @@ import ConversationBox from '../../../components/widgets/conversation/Conversati
import PopOverSearch from './search/PopOverSearch'; import PopOverSearch from './search/PopOverSearch';
import uiSettingsMixin from 'dashboard/mixins/uiSettings'; import uiSettingsMixin from 'dashboard/mixins/uiSettings';
import { BUS_EVENTS } from 'shared/constants/busEvents'; import { BUS_EVENTS } from 'shared/constants/busEvents';
import wootConstants from 'dashboard/constants'; import wootConstants from 'dashboard/constants/globals';
export default { export default {
components: { components: {

View File

@ -107,7 +107,7 @@
<script> <script>
import alertMixin from 'shared/mixins/alertMixin'; import alertMixin from 'shared/mixins/alertMixin';
import { mixin as clickaway } from 'vue-clickaway'; import { mixin as clickaway } from 'vue-clickaway';
import wootConstants from 'dashboard/constants.js'; import wootConstants from 'dashboard/constants/globals';
import { PORTALS_EVENTS } from '../../../../../helper/AnalyticsHelper/events'; import { PORTALS_EVENTS } from '../../../../../helper/AnalyticsHelper/events';
const { ARTICLE_STATUS_TYPES } = wootConstants; const { ARTICLE_STATUS_TYPES } = wootConstants;

View File

@ -51,7 +51,7 @@ import ArticleSettings from './ArticleSettings';
import Spinner from 'shared/components/Spinner'; import Spinner from 'shared/components/Spinner';
import portalMixin from '../../mixins/portalMixin'; import portalMixin from '../../mixins/portalMixin';
import alertMixin from 'shared/mixins/alertMixin'; import alertMixin from 'shared/mixins/alertMixin';
import wootConstants from 'dashboard/constants'; import wootConstants from 'dashboard/constants/globals';
import { buildPortalArticleURL } from 'dashboard/helper/portalHelper'; import { buildPortalArticleURL } from 'dashboard/helper/portalHelper';
import { PORTALS_EVENTS } from '../../../../../helper/AnalyticsHelper/events'; import { PORTALS_EVENTS } from '../../../../../helper/AnalyticsHelper/events';

View File

@ -82,7 +82,7 @@ import { mapGetters } from 'vuex';
import WootSubmitButton from '../../../../components/buttons/FormSubmitButton'; import WootSubmitButton from '../../../../components/buttons/FormSubmitButton';
import Modal from '../../../../components/Modal'; import Modal from '../../../../components/Modal';
import Auth from '../../../../api/auth'; import Auth from '../../../../api/auth';
import wootConstants from 'dashboard/constants'; import wootConstants from 'dashboard/constants/globals';
const { AVAILABILITY_STATUS_KEYS } = wootConstants; const { AVAILABILITY_STATUS_KEYS } = wootConstants;

View File

@ -158,10 +158,8 @@ import Widget from 'dashboard/modules/widget-preview/components/Widget';
import InputRadioGroup from './components/InputRadioGroup'; import InputRadioGroup from './components/InputRadioGroup';
import alertMixin from 'shared/mixins/alertMixin'; import alertMixin from 'shared/mixins/alertMixin';
import { required } from 'vuelidate/lib/validators'; import { required } from 'vuelidate/lib/validators';
import { import { LOCAL_STORAGE_KEYS } from 'dashboard/constants/localStorage';
LocalStorage, import { LocalStorage } from 'shared/helpers/localStorage';
LOCAL_STORAGE_KEYS,
} from 'dashboard/helper/localStorage';
export default { export default {
components: { components: {

View File

@ -3,7 +3,7 @@ import types from '../../mutation-types';
import getters, { getSelectedChatConversation } from './getters'; import getters, { getSelectedChatConversation } from './getters';
import actions from './actions'; import actions from './actions';
import { findPendingMessageIndex } from './helpers'; import { findPendingMessageIndex } from './helpers';
import wootConstants from '../../../constants'; import wootConstants from 'dashboard/constants/globals';
import { BUS_EVENTS } from '../../../../shared/constants/busEvents'; import { BUS_EVENTS } from '../../../../shared/constants/busEvents';
const state = { const state = {

View File

@ -7,7 +7,8 @@ import {
CHATWOOT_RESET, CHATWOOT_RESET,
CHATWOOT_SET_USER, CHATWOOT_SET_USER,
} from '../../helper/scriptHelpers'; } from '../../helper/scriptHelpers';
import { LocalStorage, LOCAL_STORAGE_KEYS } from '../../helper/localStorage'; import { LOCAL_STORAGE_KEYS } from 'dashboard/constants/localStorage';
import { LocalStorage } from 'shared/helpers/localStorage';
Cookies.defaults = { sameSite: 'Lax' }; Cookies.defaults = { sameSite: 'Lax' };

View File

@ -18,7 +18,7 @@ import createAxios from '../dashboard/helper/APIHelper';
import commonHelpers, { isJSONValid } from '../dashboard/helper/commons'; import commonHelpers, { isJSONValid } from '../dashboard/helper/commons';
import router, { initalizeRouter } from '../dashboard/routes'; import router, { initalizeRouter } from '../dashboard/routes';
import store from '../dashboard/store'; import store from '../dashboard/store';
import constants from '../dashboard/constants'; import constants from 'dashboard/constants/globals';
import * as Sentry from '@sentry/vue'; import * as Sentry from '@sentry/vue';
import 'vue-easytable/libs/theme-default/index.css'; import 'vue-easytable/libs/theme-default/index.css';
import { Integrations } from '@sentry/tracing'; import { Integrations } from '@sentry/tracing';

View File

@ -1,9 +1,3 @@
export const LOCAL_STORAGE_KEYS = {
DISMISSED_UPDATES: 'dismissedUpdates',
WIDGET_BUILDER: 'widgetBubble_',
DRAFT_MESSAGES: 'draftMessages',
};
export const LocalStorage = { export const LocalStorage = {
clearAll() { clearAll() {
window.localStorage.clear(); window.localStorage.clear();

View File

@ -1,4 +1,4 @@
import wootConstants from 'dashboard/constants'; import wootConstants from 'dashboard/constants/globals';
export default { export default {
methods: { methods: {