Skip to content

Commit addf29d

Browse files
authored
refactor(theme): refactor useUiState (#595)
Co-authored-by: Bartosz Herba <[email protected]>
1 parent 97868a3 commit addf29d

File tree

3 files changed

+37
-3
lines changed

3 files changed

+37
-3
lines changed

packages/theme/components/__tests__/LoginModal.spec.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import userEvent from '@testing-library/user-event';
44
import { waitFor } from '@testing-library/vue';
55
import { useUser, useForgotPassword } from '@vue-storefront/magento';
66
import { render, useUserMock, useForgotPasswordMock } from '~/test-utils';
7-
import useUiState from '~/composables/useUiState.ts';
7+
import useUiState from '~/composables/useUiState/useUiState.ts';
88

99
import LoginModal from '../LoginModal';
1010

packages/theme/composables/useUiState.ts renamed to packages/theme/composables/useUiState/index.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import { computed, reactive } from '@nuxtjs/composition-api';
2+
import { StateInterface, UseUiStateInterface } from '~/composables/useUiState/useUiState';
23

3-
const state = reactive({
4+
const state = reactive<StateInterface>({
45
isCartSidebarOpen: false,
56
isWishlistSidebarOpen: false,
67
isLoginModalOpen: false,
@@ -11,7 +12,7 @@ const state = reactive({
1112
isMobileMenuOpen: false,
1213
});
1314

14-
const useUiState = () => {
15+
const useUiState = (): UseUiStateInterface => {
1516
const isMobileMenuOpen = computed(() => state.isMobileMenuOpen);
1617
const toggleMobileMenu = () => {
1718
state.isMobileMenuOpen = !state.isMobileMenuOpen;
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
import { computed, ComputedRef } from '@nuxtjs/composition-api';
2+
3+
interface StateInterface {
4+
isCartSidebarOpen: boolean,
5+
isWishlistSidebarOpen: boolean,
6+
isLoginModalOpen: boolean,
7+
isNewsletterModalOpen: boolean,
8+
isCategoryGridView: boolean,
9+
isWishlistGridView: boolean,
10+
isFilterSidebarOpen: boolean,
11+
isMobileMenuOpen: boolean,
12+
}
13+
14+
interface UseUiStateInterface {
15+
isMobileMenuOpen: ComputedRef<boolean>,
16+
toggleMobileMenu (): void,
17+
isCartSidebarOpen: ComputedRef<boolean>,
18+
isWishlistSidebarOpen: ComputedRef<boolean>,
19+
toggleWishlistSidebar (): void,
20+
isLoginModalOpen: ComputedRef<boolean>,
21+
toggleLoginModal (): void,
22+
isNewsletterModalOpen: ComputedRef<boolean>,
23+
toggleNewsletterModal (): void,
24+
isCategoryGridView: ComputedRef<boolean>,
25+
isWishlistGridView: ComputedRef<boolean>,
26+
changeToCategoryGridView (): void,
27+
changeToCategoryListView (): void,
28+
changeToWishlistGridView (): void,
29+
changeToWishlistListView (): void,
30+
isFilterSidebarOpen: ComputedRef<boolean>,
31+
toggleFilterSidebar (): void,
32+
toggleCartSidebar (): void,
33+
}

0 commit comments

Comments
 (0)