UNPKG

@gaddario98/react-native-core

Version:
1 lines 9.5 kB
{"version":3,"file":"index.mjs","sources":["../../config/useReactNativeCoreConfig.tsx","../../config/provider.tsx"],"sourcesContent":["import { useCoreConfig, type CoreConfig } from \"@gaddario98/react-core\";\nimport { useMemo } from \"react\";\nimport { useAuthValue } from \"../auth\";\nimport { useTranslation } from \"../localization\";\nimport { useNotification } from \"../notifications\";\nimport { createAsyncStoragePersister } from \"@tanstack/query-async-storage-persister\";\nimport { storage } from \"../state\";\nimport { DefaultView, Element } from \"../pages\";\nimport {\n ActivityIndicator,\n KeyboardAvoidingView,\n Platform,\n Text,\n View,\n} from \"react-native\";\n\nexport const asyncStoragePersister = createAsyncStoragePersister({\n storage: storage,\n});\nconst DEFAULT_PADDING = 16;\nexport const useReactNativeCoreConfig = (props: Partial<CoreConfig>) => {\n const auth = useAuthValue();\n const { t: translateText } = useTranslation();\n const { showNotification } = useNotification();\n\n useCoreConfig({\n apiConfig: useMemo(\n () => ({\n validateAuthFn: () => true,\n showNotification,\n ...(props.apiConfig ?? {}),\n defaultHeaders: {\n Authorization: auth?.token ? `Bearer ${auth.token}` : \"\",\n ...(props.apiConfig?.defaultHeaders ?? {}),\n },\n persistOptions: {\n persister: asyncStoragePersister,\n maxAge: Infinity,\n buster: \"persister-v1\",\n ...(props.apiConfig?.persistOptions ?? {}),\n },\n }),\n [auth?.token, props.apiConfig, showNotification],\n ),\n localization: useMemo(() => props.localization, [props.localization]),\n pages: useMemo(\n () => ({\n ...(props.pages ?? {}),\n authValues: auth,\n FooterContainer: Element,\n HeaderContainer: Element,\n ItemsContainer: ({ children }) => (\n <View\n style={{\n paddingHorizontal: DEFAULT_PADDING,\n flexDirection: \"row\",\n alignItems: \"center\",\n flexWrap: \"wrap\",\n width: \"100%\",\n }}\n >\n {children}\n </View>\n ),\n BodyContainer: DefaultView,\n PageContainer: ({ children, id }) => (\n <View style={{ flex: 1 }} id={id} key={id}>\n {children as React.JSX.Element}\n </View>\n ),\n LoaderComponent: ({ loading, message }) =>\n loading && (\n <View\n style={{\n position: \"relative\",\n top: 0,\n marginHorizontal: DEFAULT_PADDING,\n marginTop: DEFAULT_PADDING,\n zIndex: 1000,\n left: 0,\n right: 0,\n flexDirection: \"row\",\n alignItems: \"center\",\n padding: DEFAULT_PADDING,\n backgroundColor: \"#e3f2fd\",\n borderRadius: 8,\n }}\n >\n <ActivityIndicator size=\"small\" style={{ marginRight: 8 }} />\n <Text>{message ?? \"Caricamento in corso...\"}</Text>\n </View>\n ),\n }),\n [auth, props.pages],\n ),\n form: useMemo(\n () => ({\n translateText,\n showNotification,\n formFieldContainer: ({ children }) => (\n <KeyboardAvoidingView\n behavior={Platform.OS === \"ios\" ? \"padding\" : undefined}\n >\n {children as React.JSX.Element}\n </KeyboardAvoidingView>\n ),\n }),\n [showNotification, translateText],\n ),\n });\n};\n","import { CoreConfig } from \"@gaddario98/react-core\";\nimport { useReactNativeCoreConfig } from \"./useReactNativeCoreConfig\";\nimport { setReactNativeStorage } from \"../state\";\n\nsetReactNativeStorage();\n\nexport const ReactNativeCoreProvider = ({\n children,\n coreConfig,\n}: {\n children: React.ReactNode;\n coreConfig?: Partial<CoreConfig>;\n}) => {\n useReactNativeCoreConfig(coreConfig ?? {});\n return children;\n};\n"],"names":["asyncStoragePersister","createAsyncStoragePersister","storage","DEFAULT_PADDING","useReactNativeCoreConfig","props","auth","useAuthValue","_useTranslation","useTranslation","translateText","t","_useNotification","useNotification","showNotification","useCoreConfig","apiConfig","useMemo","validateAuthFn","_a","defaultHeaders","Object","assign","Authorization","token","concat","_c","_b","persistOptions","persister","maxAge","Infinity","buster","_e","_d","localization","pages","authValues","FooterContainer","Element","HeaderContainer","ItemsContainer","_ref","children","_jsx","View","style","paddingHorizontal","flexDirection","alignItems","flexWrap","width","BodyContainer","DefaultView","PageContainer","_ref2","id","flex","LoaderComponent","_ref3","loading","message","_jsxs","position","top","marginHorizontal","marginTop","zIndex","left","right","padding","backgroundColor","borderRadius","ActivityIndicator","size","marginRight","Text","form","formFieldContainer","_ref4","KeyboardAvoidingView","behavior","Platform","OS","undefined","setReactNativeStorage","ReactNativeCoreProvider","t0","$","coreConfig","t1"],"mappings":"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"}