|
|
|
@ -11,16 +11,13 @@ import {
|
|
|
|
useContextSelector,
|
|
|
|
useContextSelector,
|
|
|
|
} from 'use-context-selector'
|
|
|
|
} from 'use-context-selector'
|
|
|
|
import { useSelector as useAppContextSelector } from '@/context/app-context'
|
|
|
|
import { useSelector as useAppContextSelector } from '@/context/app-context'
|
|
|
|
import type { Permissions, PluginDetail } from '../types'
|
|
|
|
import type { PluginDetail } from '../types'
|
|
|
|
import type { FilterState } from './filter-management'
|
|
|
|
import type { FilterState } from './filter-management'
|
|
|
|
import { PermissionType } from '../types'
|
|
|
|
|
|
|
|
import { useTranslation } from 'react-i18next'
|
|
|
|
import { useTranslation } from 'react-i18next'
|
|
|
|
import { useTabSearchParams } from '@/hooks/use-tab-searchparams'
|
|
|
|
import { useTabSearchParams } from '@/hooks/use-tab-searchparams'
|
|
|
|
|
|
|
|
|
|
|
|
export type PluginPageContextValue = {
|
|
|
|
export type PluginPageContextValue = {
|
|
|
|
containerRef: React.RefObject<HTMLDivElement>
|
|
|
|
containerRef: React.RefObject<HTMLDivElement>
|
|
|
|
permissions: Permissions
|
|
|
|
|
|
|
|
setPermissions: (permissions: PluginPageContextValue['permissions']) => void
|
|
|
|
|
|
|
|
currentPluginDetail: PluginDetail | undefined
|
|
|
|
currentPluginDetail: PluginDetail | undefined
|
|
|
|
setCurrentPluginDetail: (plugin: PluginDetail) => void
|
|
|
|
setCurrentPluginDetail: (plugin: PluginDetail) => void
|
|
|
|
filters: FilterState
|
|
|
|
filters: FilterState
|
|
|
|
@ -32,21 +29,16 @@ export type PluginPageContextValue = {
|
|
|
|
|
|
|
|
|
|
|
|
export const PluginPageContext = createContext<PluginPageContextValue>({
|
|
|
|
export const PluginPageContext = createContext<PluginPageContextValue>({
|
|
|
|
containerRef: { current: null },
|
|
|
|
containerRef: { current: null },
|
|
|
|
permissions: {
|
|
|
|
|
|
|
|
install_permission: PermissionType.noOne,
|
|
|
|
|
|
|
|
debug_permission: PermissionType.noOne,
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
setPermissions: () => {},
|
|
|
|
|
|
|
|
currentPluginDetail: undefined,
|
|
|
|
currentPluginDetail: undefined,
|
|
|
|
setCurrentPluginDetail: () => {},
|
|
|
|
setCurrentPluginDetail: () => { },
|
|
|
|
filters: {
|
|
|
|
filters: {
|
|
|
|
categories: [],
|
|
|
|
categories: [],
|
|
|
|
tags: [],
|
|
|
|
tags: [],
|
|
|
|
searchQuery: '',
|
|
|
|
searchQuery: '',
|
|
|
|
},
|
|
|
|
},
|
|
|
|
setFilters: () => {},
|
|
|
|
setFilters: () => { },
|
|
|
|
activeTab: '',
|
|
|
|
activeTab: '',
|
|
|
|
setActiveTab: () => {},
|
|
|
|
setActiveTab: () => { },
|
|
|
|
options: [],
|
|
|
|
options: [],
|
|
|
|
})
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
|
|
@ -63,10 +55,6 @@ export const PluginPageContextProvider = ({
|
|
|
|
}: PluginPageContextProviderProps) => {
|
|
|
|
}: PluginPageContextProviderProps) => {
|
|
|
|
const { t } = useTranslation()
|
|
|
|
const { t } = useTranslation()
|
|
|
|
const containerRef = useRef<HTMLDivElement>(null)
|
|
|
|
const containerRef = useRef<HTMLDivElement>(null)
|
|
|
|
const [permissions, setPermissions] = useState<PluginPageContextValue['permissions']>({
|
|
|
|
|
|
|
|
install_permission: PermissionType.noOne,
|
|
|
|
|
|
|
|
debug_permission: PermissionType.noOne,
|
|
|
|
|
|
|
|
})
|
|
|
|
|
|
|
|
const [filters, setFilters] = useState<FilterState>({
|
|
|
|
const [filters, setFilters] = useState<FilterState>({
|
|
|
|
categories: [],
|
|
|
|
categories: [],
|
|
|
|
tags: [],
|
|
|
|
tags: [],
|
|
|
|
@ -93,8 +81,6 @@ export const PluginPageContextProvider = ({
|
|
|
|
<PluginPageContext.Provider
|
|
|
|
<PluginPageContext.Provider
|
|
|
|
value={{
|
|
|
|
value={{
|
|
|
|
containerRef,
|
|
|
|
containerRef,
|
|
|
|
permissions,
|
|
|
|
|
|
|
|
setPermissions,
|
|
|
|
|
|
|
|
currentPluginDetail,
|
|
|
|
currentPluginDetail,
|
|
|
|
setCurrentPluginDetail,
|
|
|
|
setCurrentPluginDetail,
|
|
|
|
filters,
|
|
|
|
filters,
|
|
|
|
|