mirror of https://github.com/langgenius/dify.git
fix
This commit is contained in:
parent
d64510146c
commit
ca490d84ff
|
|
@ -157,7 +157,7 @@ export const ModalContextProvider = ({
|
|||
children,
|
||||
}: ModalContextProviderProps) => {
|
||||
// Use nuqs hooks for URL-based modal state management
|
||||
const { isOpen: showPricingModal, setIsOpen: setPricingModalOpen } = usePricingModal()
|
||||
const [showPricingModal, setPricingModalOpen] = usePricingModal()
|
||||
const [urlAccountModalState, setUrlAccountModalState] = useAccountSettingModal<AccountSettingTab>()
|
||||
|
||||
const accountSettingCallbacksRef = useRef<Omit<ModalState<AccountSettingTab>, 'payload'> | null>(null)
|
||||
|
|
|
|||
|
|
@ -37,7 +37,7 @@ describe('useQueryParams hooks', () => {
|
|||
const { result } = renderWithAdapter(() => usePricingModal())
|
||||
|
||||
// Act
|
||||
const { isOpen } = result.current
|
||||
const [isOpen] = result.current
|
||||
|
||||
// Assert
|
||||
expect(isOpen).toBe(false)
|
||||
|
|
@ -51,7 +51,7 @@ describe('useQueryParams hooks', () => {
|
|||
)
|
||||
|
||||
// Act
|
||||
const { isOpen } = result.current
|
||||
const [isOpen] = result.current
|
||||
|
||||
// Assert
|
||||
expect(isOpen).toBe(true)
|
||||
|
|
@ -65,7 +65,7 @@ describe('useQueryParams hooks', () => {
|
|||
)
|
||||
|
||||
// Act
|
||||
const { isOpen } = result.current
|
||||
const [isOpen] = result.current
|
||||
|
||||
// Assert
|
||||
expect(isOpen).toBe(false)
|
||||
|
|
@ -77,7 +77,7 @@ describe('useQueryParams hooks', () => {
|
|||
|
||||
// Act
|
||||
act(() => {
|
||||
result.current.setIsOpen(true)
|
||||
result.current[1](true)
|
||||
})
|
||||
|
||||
// Assert
|
||||
|
|
@ -92,7 +92,7 @@ describe('useQueryParams hooks', () => {
|
|||
|
||||
// Act
|
||||
act(() => {
|
||||
result.current.setIsOpen(true)
|
||||
result.current[1](true)
|
||||
})
|
||||
|
||||
// Assert
|
||||
|
|
@ -110,7 +110,7 @@ describe('useQueryParams hooks', () => {
|
|||
|
||||
// Act
|
||||
act(() => {
|
||||
result.current.setIsOpen(false)
|
||||
result.current[1](false)
|
||||
})
|
||||
|
||||
// Assert
|
||||
|
|
@ -128,7 +128,7 @@ describe('useQueryParams hooks', () => {
|
|||
|
||||
// Act
|
||||
act(() => {
|
||||
result.current.setIsOpen(false)
|
||||
result.current[1](false)
|
||||
})
|
||||
|
||||
// Assert
|
||||
|
|
@ -143,7 +143,7 @@ describe('useQueryParams hooks', () => {
|
|||
|
||||
// Act
|
||||
act(() => {
|
||||
result.current.setIsOpen(true, { history: 'replace' })
|
||||
result.current[1](true, { history: 'replace' })
|
||||
})
|
||||
|
||||
// Assert
|
||||
|
|
|
|||
|
|
@ -13,7 +13,6 @@
|
|||
* - Use shallow routing to avoid unnecessary re-renders
|
||||
*/
|
||||
|
||||
import type { Options } from 'nuqs'
|
||||
import {
|
||||
createParser,
|
||||
parseAsArrayOf,
|
||||
|
|
@ -39,27 +38,18 @@ const parseAsPricingModal = createParser<boolean>({
|
|||
|
||||
/**
|
||||
* Hook to manage pricing modal state via URL
|
||||
* @returns { isOpen, setIsOpen } - isOpen boolean and setter
|
||||
* @returns [isOpen, setIsOpen] - Tuple like useState
|
||||
*
|
||||
* @example
|
||||
* const { isOpen, setIsOpen } = usePricingModal()
|
||||
* const [isOpen, setIsOpen] = usePricingModal()
|
||||
* setIsOpen(true) // Sets ?pricing=open
|
||||
* setIsOpen(false) // Removes ?pricing
|
||||
*/
|
||||
export function usePricingModal() {
|
||||
const [isOpen, setIsOpenState] = useQueryState(
|
||||
return useQueryState(
|
||||
PRICING_MODAL_QUERY_PARAM,
|
||||
parseAsPricingModal,
|
||||
)
|
||||
|
||||
const setIsOpen = useCallback(
|
||||
(open: boolean, options?: Options) => {
|
||||
setIsOpenState(open, options)
|
||||
},
|
||||
[setIsOpenState],
|
||||
)
|
||||
|
||||
return { isOpen, setIsOpen }
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
Loading…
Reference in New Issue