diff --git a/App.tsx b/App.tsx index 01c532b..9c0e4a3 100644 --- a/App.tsx +++ b/App.tsx @@ -13,8 +13,6 @@ import { Animated, Dimensions, LogBox, - PermissionsAndroid, - Platform, StatusBar, StyleSheet, View, @@ -22,16 +20,6 @@ import { import Toast from 'react-native-toast-message'; // Screens -import notifee, { AndroidImportance } from '@notifee/react-native'; -import { getApp } from '@react-native-firebase/app'; -import { - getInitialNotification, - getMessaging, - getToken, - onMessage, - onNotificationOpenedApp, -} from '@react-native-firebase/messaging'; -import DeviceInfo from 'react-native-device-info'; import Login from 'screens/auth/login/ui'; import Confirm from 'screens/auth/login/ui/Confirm'; import Register from 'screens/auth/registeration/ui'; @@ -46,7 +34,6 @@ import RestrictedProduct from 'screens/home/restrictedProduct/ui/RestrictedProdu import CreatePassword from 'screens/passport/createPassport/ui/CreatePassword'; import Passport from 'screens/passport/myPassport/ui/Passport'; import Profile from 'screens/profile/myProfile/ui/Profile'; -import Notifications from 'screens/profile/notifications/ui/Notifications'; import AddedLock from 'screens/profile/settings/ui/AddedLock'; import Settings from 'screens/profile/settings/ui/Settings'; import SettingsLock from 'screens/profile/settings/ui/SettingsLock'; @@ -68,107 +55,107 @@ const Stack = createNativeStackNavigator(); const screenWidth = Dimensions.get('window').width; const queryClient = new QueryClient(); -const saveNotification = async (remoteMessage: any) => { - try { - const stored = await AsyncStorage.getItem('notifications'); - const notifications = stored ? JSON.parse(stored) : []; +// const saveNotification = async (remoteMessage: any) => { +// try { +// const stored = await AsyncStorage.getItem('notifications'); +// const notifications = stored ? JSON.parse(stored) : []; - const newNotification = { - id: Date.now(), - title: - remoteMessage.notification?.title || - remoteMessage.data?.title || - 'Yangi bildirishnoma', - message: - remoteMessage.notification?.body || - remoteMessage.data?.body || - 'Matn yo‘q', - sentTime: remoteMessage.sentTime || Date.now(), - }; +// const newNotification = { +// id: Date.now(), +// title: +// remoteMessage.notification?.title || +// remoteMessage.data?.title || +// 'Yangi bildirishnoma', +// message: +// remoteMessage.notification?.body || +// remoteMessage.data?.body || +// 'Matn yo‘q', +// sentTime: remoteMessage.sentTime || Date.now(), +// }; - await AsyncStorage.setItem( - 'notifications', - JSON.stringify([newNotification, ...notifications]), - ); - } catch (e) { - console.error('Notification saqlashda xato:', e); - } -}; +// await AsyncStorage.setItem( +// 'notifications', +// JSON.stringify([newNotification, ...notifications]), +// ); +// } catch (e) { +// console.error('Notification saqlashda xato:', e); +// } +// }; -async function onDisplayNotification(remoteMessage: any) { - const channelId = await notifee.createChannel({ - id: 'default', - name: 'Umumiy bildirishnomalar', - sound: 'default', - importance: AndroidImportance.HIGH, - }); +// async function onDisplayNotification(remoteMessage: any) { +// const channelId = await notifee.createChannel({ +// id: 'default', +// name: 'Umumiy bildirishnomalar', +// sound: 'default', +// importance: AndroidImportance.HIGH, +// }); - await notifee.displayNotification({ - title: - remoteMessage.notification?.title || - remoteMessage.data?.title || - 'Yangi xabar', - body: - remoteMessage.notification?.body || - remoteMessage.data?.body || - 'Matn yo‘q', - android: { - channelId, - largeIcon: 'ic_launcher_foreground', - sound: 'default', - pressAction: { - id: 'default', - }, - }, - }); -} +// await notifee.displayNotification({ +// title: +// remoteMessage.notification?.title || +// remoteMessage.data?.title || +// 'Yangi xabar', +// body: +// remoteMessage.notification?.body || +// remoteMessage.data?.body || +// 'Matn yo‘q', +// android: { +// channelId, +// largeIcon: 'ic_launcher_foreground', +// sound: 'default', +// pressAction: { +// id: 'default', +// }, +// }, +// }); +// } -async function requestNotificationPermission() { - if (Platform.OS === 'android' && Platform.Version >= 33) { - const granted = await PermissionsAndroid.request( - PermissionsAndroid.PERMISSIONS.POST_NOTIFICATIONS, - ); - console.log('POST_NOTIFICATIONS permission:', granted); - } -} +// async function requestNotificationPermission() { +// if (Platform.OS === 'android' && Platform.Version >= 33) { +// const granted = await PermissionsAndroid.request( +// PermissionsAndroid.PERMISSIONS.POST_NOTIFICATIONS, +// ); +// console.log('POST_NOTIFICATIONS permission:', granted); +// } +// } export default function App() { const [initialRoute, setInitialRoute] = useState(null); const slideAnim = useRef(new Animated.Value(0)).current; const [isSplashVisible, setIsSplashVisible] = useState(true); - useEffect(() => { - requestNotificationPermission(); + // useEffect(() => { + // requestNotificationPermission(); - const messagingInstance = getMessaging(); + // const messagingInstance = getMessaging(); - const unsubscribe = onMessage(messagingInstance, async remoteMessage => { - console.log('Foreground message:', remoteMessage); - await saveNotification(remoteMessage); - await onDisplayNotification(remoteMessage); - }); + // const unsubscribe = onMessage(messagingInstance, async remoteMessage => { + // console.log('Foreground message:', remoteMessage); + // await saveNotification(remoteMessage); + // await onDisplayNotification(remoteMessage); + // }); - const unsubscribeOpened = onNotificationOpenedApp( - messagingInstance, - remoteMessage => { - console.log('Backgrounddan ochildi:', remoteMessage); - saveNotification(remoteMessage); - }, - ); + // const unsubscribeOpened = onNotificationOpenedApp( + // messagingInstance, + // remoteMessage => { + // console.log('Backgrounddan ochildi:', remoteMessage); + // saveNotification(remoteMessage); + // }, + // ); - (async () => { - const remoteMessage = await getInitialNotification(messagingInstance); - if (remoteMessage) { - console.log('Killeddan ochildi:', remoteMessage); - saveNotification(remoteMessage); - } - })(); + // (async () => { + // const remoteMessage = await getInitialNotification(messagingInstance); + // if (remoteMessage) { + // console.log('Killeddan ochildi:', remoteMessage); + // saveNotification(remoteMessage); + // } + // })(); - return () => { - unsubscribe(); - unsubscribeOpened(); - }; - }, []); + // return () => { + // unsubscribe(); + // unsubscribeOpened(); + // }; + // }, []); useEffect(() => { const initializeApp = async () => { @@ -214,34 +201,34 @@ export default function App() { }, [], ); - const [firebaseToken, setFirebseToken] = useState<{ - fcmToken: string; - deviceId: string; - deviceName: string; - } | null>(); - const app = getApp(); - const messaging = getMessaging(app); + // const [firebaseToken, setFirebseToken] = useState<{ + // fcmToken: string; + // deviceId: string; + // deviceName: string; + // } | null>(); + // const app = getApp(); + // const messaging = getMessaging(app); - const getDeviceData = async () => { - try { - const fcmToken = await getToken(messaging); - return { - fcmToken, - deviceId: await DeviceInfo.getUniqueId(), - deviceName: await DeviceInfo.getDeviceName(), - }; - } catch (e) { - console.log('Xato:', e); - return null; - } - }; - console.log(firebaseToken); + // const getDeviceData = async () => { + // try { + // const fcmToken = await getToken(messaging); + // return { + // fcmToken, + // deviceId: await DeviceInfo.getUniqueId(), + // deviceName: await DeviceInfo.getDeviceName(), + // }; + // } catch (e) { + // console.log('Xato:', e); + // return null; + // } + // }; + // console.log(firebaseToken); - useEffect(() => { - getDeviceData().then(data => { - setFirebseToken(data); - }); - }, []); + // useEffect(() => { + // getDeviceData().then(data => { + // setFirebseToken(data); + // }); + // }, []); if (!initialRoute) return null; @@ -285,9 +272,9 @@ export default function App() { - {Platform.OS === 'android' && ( + {/* {Platform.OS === 'android' && ( - )} + )} */} diff --git a/index.js b/index.js index 943d304..0666d59 100644 --- a/index.js +++ b/index.js @@ -1,41 +1,40 @@ /** * @format */ -import notifee, { AndroidImportance } from '@notifee/react-native'; -import messaging from '@react-native-firebase/messaging'; +// import notifee, { AndroidImportance } from '@notifee/react-native'; +// import messaging from '@react-native-firebase/messaging'; import { AppRegistry } from 'react-native'; import App from './App'; import { name as appName } from './app.json'; -// 📌 Background/Killed xabarlarni ushlash -messaging().setBackgroundMessageHandler(async remoteMessage => { - console.log('Background message:', remoteMessage); +// messaging().setBackgroundMessageHandler(async remoteMessage => { +// console.log('Background message:', remoteMessage); - const channelId = await notifee.createChannel({ - id: 'default', - name: 'Umumiy bildirishnomalar', - sound: 'default', - importance: AndroidImportance.HIGH, - }); +// const channelId = await notifee.createChannel({ +// id: 'default', +// name: 'Umumiy bildirishnomalar', +// sound: 'default', +// importance: AndroidImportance.HIGH, +// }); - await notifee.displayNotification({ - title: - remoteMessage.notification?.title || - remoteMessage.data?.title || - 'Yangi xabar', - body: - remoteMessage.notification?.body || - remoteMessage.data?.body || - 'Matn yo‘q', - android: { - channelId, - largeIcon: 'ic_launcher_foreground', - sound: 'default', - pressAction: { - id: 'default', - }, - }, - }); -}); +// await notifee.displayNotification({ +// title: +// remoteMessage.notification?.title || +// remoteMessage.data?.title || +// 'Yangi xabar', +// body: +// remoteMessage.notification?.body || +// remoteMessage.data?.body || +// 'Matn yo‘q', +// android: { +// channelId, +// largeIcon: 'ic_launcher_foreground', +// sound: 'default', +// pressAction: { +// id: 'default', +// }, +// }, +// }); +// }); AppRegistry.registerComponent(appName, () => App); diff --git a/package-lock.json b/package-lock.json index fd2174f..d286e02 100644 --- a/package-lock.json +++ b/package-lock.json @@ -13,8 +13,6 @@ "@react-native-async-storage/async-storage": "^2.2.0", "@react-native-clipboard/clipboard": "^1.16.3", "@react-native-community/datetimepicker": "^8.4.2", - "@react-native-firebase/app": "^23.2.0", - "@react-native-firebase/messaging": "^23.2.0", "@react-navigation/native": "^7.1.17", "@react-navigation/native-stack": "^7.3.25", "@tanstack/react-query": "^5.84.2", @@ -2363,827 +2361,6 @@ "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } }, - "node_modules/@firebase/ai": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@firebase/ai/-/ai-2.1.0.tgz", - "integrity": "sha512-4HvFr4YIzNFh0MowJLahOjJDezYSTjQar0XYVu/sAycoxQ+kBsfXuTPRLVXCYfMR5oNwQgYe4Q2gAOYKKqsOyA==", - "license": "Apache-2.0", - "dependencies": { - "@firebase/app-check-interop-types": "0.3.3", - "@firebase/component": "0.7.0", - "@firebase/logger": "0.5.0", - "@firebase/util": "1.13.0", - "tslib": "^2.1.0" - }, - "engines": { - "node": ">=20.0.0" - }, - "peerDependencies": { - "@firebase/app": "0.x", - "@firebase/app-types": "0.x" - } - }, - "node_modules/@firebase/ai/node_modules/tslib": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", - "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", - "license": "0BSD" - }, - "node_modules/@firebase/analytics": { - "version": "0.10.18", - "resolved": "https://registry.npmjs.org/@firebase/analytics/-/analytics-0.10.18.tgz", - "integrity": "sha512-iN7IgLvM06iFk8BeFoWqvVpRFW3Z70f+Qe2PfCJ7vPIgLPjHXDE774DhCT5Y2/ZU/ZbXPDPD60x/XPWEoZLNdg==", - "license": "Apache-2.0", - "dependencies": { - "@firebase/component": "0.7.0", - "@firebase/installations": "0.6.19", - "@firebase/logger": "0.5.0", - "@firebase/util": "1.13.0", - "tslib": "^2.1.0" - }, - "peerDependencies": { - "@firebase/app": "0.x" - } - }, - "node_modules/@firebase/analytics-compat": { - "version": "0.2.24", - "resolved": "https://registry.npmjs.org/@firebase/analytics-compat/-/analytics-compat-0.2.24.tgz", - "integrity": "sha512-jE+kJnPG86XSqGQGhXXYt1tpTbCTED8OQJ/PQ90SEw14CuxRxx/H+lFbWA1rlFtFSsTCptAJtgyRBwr/f00vsw==", - "license": "Apache-2.0", - "dependencies": { - "@firebase/analytics": "0.10.18", - "@firebase/analytics-types": "0.8.3", - "@firebase/component": "0.7.0", - "@firebase/util": "1.13.0", - "tslib": "^2.1.0" - }, - "peerDependencies": { - "@firebase/app-compat": "0.x" - } - }, - "node_modules/@firebase/analytics-compat/node_modules/tslib": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", - "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", - "license": "0BSD" - }, - "node_modules/@firebase/analytics-types": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/@firebase/analytics-types/-/analytics-types-0.8.3.tgz", - "integrity": "sha512-VrIp/d8iq2g501qO46uGz3hjbDb8xzYMrbu8Tp0ovzIzrvJZ2fvmj649gTjge/b7cCCcjT0H37g1gVtlNhnkbg==", - "license": "Apache-2.0" - }, - "node_modules/@firebase/analytics/node_modules/tslib": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", - "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", - "license": "0BSD" - }, - "node_modules/@firebase/app": { - "version": "0.14.1", - "resolved": "https://registry.npmjs.org/@firebase/app/-/app-0.14.1.tgz", - "integrity": "sha512-jxTrDbxnGoX7cGz7aP9E7v9iKvBbQfZ8Gz4TH3SfrrkcyIojJM3+hJnlbGnGxHrABts844AxRcg00arMZEyA6Q==", - "license": "Apache-2.0", - "dependencies": { - "@firebase/component": "0.7.0", - "@firebase/logger": "0.5.0", - "@firebase/util": "1.13.0", - "idb": "7.1.1", - "tslib": "^2.1.0" - }, - "engines": { - "node": ">=20.0.0" - } - }, - "node_modules/@firebase/app-check": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/@firebase/app-check/-/app-check-0.11.0.tgz", - "integrity": "sha512-XAvALQayUMBJo58U/rxW02IhsesaxxfWVmVkauZvGEz3vOAjMEQnzFlyblqkc2iAaO82uJ2ZVyZv9XzPfxjJ6w==", - "license": "Apache-2.0", - "dependencies": { - "@firebase/component": "0.7.0", - "@firebase/logger": "0.5.0", - "@firebase/util": "1.13.0", - "tslib": "^2.1.0" - }, - "engines": { - "node": ">=20.0.0" - }, - "peerDependencies": { - "@firebase/app": "0.x" - } - }, - "node_modules/@firebase/app-check-compat": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/@firebase/app-check-compat/-/app-check-compat-0.4.0.tgz", - "integrity": "sha512-UfK2Q8RJNjYM/8MFORltZRG9lJj11k0nW84rrffiKvcJxLf1jf6IEjCIkCamykHE73C6BwqhVfhIBs69GXQV0g==", - "license": "Apache-2.0", - "dependencies": { - "@firebase/app-check": "0.11.0", - "@firebase/app-check-types": "0.5.3", - "@firebase/component": "0.7.0", - "@firebase/logger": "0.5.0", - "@firebase/util": "1.13.0", - "tslib": "^2.1.0" - }, - "engines": { - "node": ">=20.0.0" - }, - "peerDependencies": { - "@firebase/app-compat": "0.x" - } - }, - "node_modules/@firebase/app-check-compat/node_modules/tslib": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", - "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", - "license": "0BSD" - }, - "node_modules/@firebase/app-check-interop-types": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@firebase/app-check-interop-types/-/app-check-interop-types-0.3.3.tgz", - "integrity": "sha512-gAlxfPLT2j8bTI/qfe3ahl2I2YcBQ8cFIBdhAQA4I2f3TndcO+22YizyGYuttLHPQEpWkhmpFW60VCFEPg4g5A==", - "license": "Apache-2.0" - }, - "node_modules/@firebase/app-check-types": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/@firebase/app-check-types/-/app-check-types-0.5.3.tgz", - "integrity": "sha512-hyl5rKSj0QmwPdsAxrI5x1otDlByQ7bvNvVt8G/XPO2CSwE++rmSVf3VEhaeOR4J8ZFaF0Z0NDSmLejPweZ3ng==", - "license": "Apache-2.0" - }, - "node_modules/@firebase/app-check/node_modules/tslib": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", - "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", - "license": "0BSD" - }, - "node_modules/@firebase/app-compat": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/@firebase/app-compat/-/app-compat-0.5.1.tgz", - "integrity": "sha512-BEy1L6Ufd85ZSP79HDIv0//T9p7d5Bepwy+2mKYkgdXBGKTbFm2e2KxyF1nq4zSQ6RRBxWi0IY0zFVmoBTZlUA==", - "license": "Apache-2.0", - "dependencies": { - "@firebase/app": "0.14.1", - "@firebase/component": "0.7.0", - "@firebase/logger": "0.5.0", - "@firebase/util": "1.13.0", - "tslib": "^2.1.0" - }, - "engines": { - "node": ">=20.0.0" - } - }, - "node_modules/@firebase/app-compat/node_modules/tslib": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", - "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", - "license": "0BSD" - }, - "node_modules/@firebase/app-types": { - "version": "0.9.3", - "resolved": "https://registry.npmjs.org/@firebase/app-types/-/app-types-0.9.3.tgz", - "integrity": "sha512-kRVpIl4vVGJ4baogMDINbyrIOtOxqhkZQg4jTq3l8Lw6WSk0xfpEYzezFu+Kl4ve4fbPl79dvwRtaFqAC/ucCw==", - "license": "Apache-2.0" - }, - "node_modules/@firebase/app/node_modules/tslib": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", - "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", - "license": "0BSD" - }, - "node_modules/@firebase/auth-compat": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/@firebase/auth-compat/-/auth-compat-0.6.0.tgz", - "integrity": "sha512-J0lGSxXlG/lYVi45wbpPhcWiWUMXevY4fvLZsN1GHh+po7TZVng+figdHBVhFheaiipU8HZyc7ljw1jNojM2nw==", - "license": "Apache-2.0", - "dependencies": { - "@firebase/auth": "1.11.0", - "@firebase/auth-types": "0.13.0", - "@firebase/component": "0.7.0", - "@firebase/util": "1.13.0", - "tslib": "^2.1.0" - }, - "engines": { - "node": ">=20.0.0" - }, - "peerDependencies": { - "@firebase/app-compat": "0.x" - } - }, - "node_modules/@firebase/auth-compat/node_modules/@firebase/auth": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/@firebase/auth/-/auth-1.11.0.tgz", - "integrity": "sha512-5j7+ua93X+IRcJ1oMDTClTo85l7Xe40WSkoJ+shzPrX7OISlVWLdE1mKC57PSD+/LfAbdhJmvKixINBw2ESK6w==", - "license": "Apache-2.0", - "dependencies": { - "@firebase/component": "0.7.0", - "@firebase/logger": "0.5.0", - "@firebase/util": "1.13.0", - "tslib": "^2.1.0" - }, - "engines": { - "node": ">=20.0.0" - }, - "peerDependencies": { - "@firebase/app": "0.x", - "@react-native-async-storage/async-storage": "^1.18.1" - }, - "peerDependenciesMeta": { - "@react-native-async-storage/async-storage": { - "optional": true - } - } - }, - "node_modules/@firebase/auth-compat/node_modules/@react-native-async-storage/async-storage": { - "version": "1.24.0", - "resolved": "https://registry.npmjs.org/@react-native-async-storage/async-storage/-/async-storage-1.24.0.tgz", - "integrity": "sha512-W4/vbwUOYOjco0x3toB8QCr7EjIP6nE9G7o8PMguvvjYT5Awg09lyV4enACRx4s++PPulBiBSjL0KTFx2u0Z/g==", - "license": "MIT", - "optional": true, - "peer": true, - "dependencies": { - "merge-options": "^3.0.4" - }, - "peerDependencies": { - "react-native": "^0.0.0-0 || >=0.60 <1.0" - } - }, - "node_modules/@firebase/auth-compat/node_modules/tslib": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", - "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", - "license": "0BSD" - }, - "node_modules/@firebase/auth-interop-types": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/@firebase/auth-interop-types/-/auth-interop-types-0.2.4.tgz", - "integrity": "sha512-JPgcXKCuO+CWqGDnigBtvo09HeBs5u/Ktc2GaFj2m01hLarbxthLNm7Fk8iOP1aqAtXV+fnnGj7U28xmk7IwVA==", - "license": "Apache-2.0" - }, - "node_modules/@firebase/auth-types": { - "version": "0.13.0", - "resolved": "https://registry.npmjs.org/@firebase/auth-types/-/auth-types-0.13.0.tgz", - "integrity": "sha512-S/PuIjni0AQRLF+l9ck0YpsMOdE8GO2KU6ubmBB7P+7TJUCQDa3R1dlgYm9UzGbbePMZsp0xzB93f2b/CgxMOg==", - "license": "Apache-2.0", - "peerDependencies": { - "@firebase/app-types": "0.x", - "@firebase/util": "1.x" - } - }, - "node_modules/@firebase/component": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/@firebase/component/-/component-0.7.0.tgz", - "integrity": "sha512-wR9En2A+WESUHexjmRHkqtaVH94WLNKt6rmeqZhSLBybg4Wyf0Umk04SZsS6sBq4102ZsDBFwoqMqJYj2IoDSg==", - "license": "Apache-2.0", - "dependencies": { - "@firebase/util": "1.13.0", - "tslib": "^2.1.0" - }, - "engines": { - "node": ">=20.0.0" - } - }, - "node_modules/@firebase/component/node_modules/tslib": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", - "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", - "license": "0BSD" - }, - "node_modules/@firebase/data-connect": { - "version": "0.3.11", - "resolved": "https://registry.npmjs.org/@firebase/data-connect/-/data-connect-0.3.11.tgz", - "integrity": "sha512-G258eLzAD6im9Bsw+Qm1Z+P4x0PGNQ45yeUuuqe5M9B1rn0RJvvsQCRHXgE52Z+n9+WX1OJd/crcuunvOGc7Vw==", - "license": "Apache-2.0", - "dependencies": { - "@firebase/auth-interop-types": "0.2.4", - "@firebase/component": "0.7.0", - "@firebase/logger": "0.5.0", - "@firebase/util": "1.13.0", - "tslib": "^2.1.0" - }, - "peerDependencies": { - "@firebase/app": "0.x" - } - }, - "node_modules/@firebase/data-connect/node_modules/tslib": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", - "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", - "license": "0BSD" - }, - "node_modules/@firebase/database": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@firebase/database/-/database-1.1.0.tgz", - "integrity": "sha512-gM6MJFae3pTyNLoc9VcJNuaUDej0ctdjn3cVtILo3D5lpp0dmUHHLFN/pUKe7ImyeB1KAvRlEYxvIHNF04Filg==", - "license": "Apache-2.0", - "dependencies": { - "@firebase/app-check-interop-types": "0.3.3", - "@firebase/auth-interop-types": "0.2.4", - "@firebase/component": "0.7.0", - "@firebase/logger": "0.5.0", - "@firebase/util": "1.13.0", - "faye-websocket": "0.11.4", - "tslib": "^2.1.0" - }, - "engines": { - "node": ">=20.0.0" - } - }, - "node_modules/@firebase/database-compat": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@firebase/database-compat/-/database-compat-2.1.0.tgz", - "integrity": "sha512-8nYc43RqxScsePVd1qe1xxvWNf0OBnbwHxmXJ7MHSuuTVYFO3eLyLW3PiCKJ9fHnmIz4p4LbieXwz+qtr9PZDg==", - "license": "Apache-2.0", - "dependencies": { - "@firebase/component": "0.7.0", - "@firebase/database": "1.1.0", - "@firebase/database-types": "1.0.16", - "@firebase/logger": "0.5.0", - "@firebase/util": "1.13.0", - "tslib": "^2.1.0" - }, - "engines": { - "node": ">=20.0.0" - } - }, - "node_modules/@firebase/database-compat/node_modules/tslib": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", - "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", - "license": "0BSD" - }, - "node_modules/@firebase/database-types": { - "version": "1.0.16", - "resolved": "https://registry.npmjs.org/@firebase/database-types/-/database-types-1.0.16.tgz", - "integrity": "sha512-xkQLQfU5De7+SPhEGAXFBnDryUWhhlFXelEg2YeZOQMCdoe7dL64DDAd77SQsR+6uoXIZY5MB4y/inCs4GTfcw==", - "license": "Apache-2.0", - "dependencies": { - "@firebase/app-types": "0.9.3", - "@firebase/util": "1.13.0" - } - }, - "node_modules/@firebase/database/node_modules/tslib": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", - "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", - "license": "0BSD" - }, - "node_modules/@firebase/firestore": { - "version": "4.9.0", - "resolved": "https://registry.npmjs.org/@firebase/firestore/-/firestore-4.9.0.tgz", - "integrity": "sha512-5zl0+/h1GvlCSLt06RMwqFsd7uqRtnNZt4sW99k2rKRd6k/ECObIWlEnvthm2cuOSnUmwZknFqtmd1qyYSLUuQ==", - "license": "Apache-2.0", - "dependencies": { - "@firebase/component": "0.7.0", - "@firebase/logger": "0.5.0", - "@firebase/util": "1.13.0", - "@firebase/webchannel-wrapper": "1.0.4", - "@grpc/grpc-js": "~1.9.0", - "@grpc/proto-loader": "^0.7.8", - "tslib": "^2.1.0" - }, - "engines": { - "node": ">=20.0.0" - }, - "peerDependencies": { - "@firebase/app": "0.x" - } - }, - "node_modules/@firebase/firestore-compat": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/@firebase/firestore-compat/-/firestore-compat-0.4.0.tgz", - "integrity": "sha512-4O7v4VFeSEwAZtLjsaj33YrMHMRjplOIYC2CiYsF6o/MboOhrhe01VrTt8iY9Y5EwjRHuRz4pS6jMBT8LfQYJA==", - "license": "Apache-2.0", - "dependencies": { - "@firebase/component": "0.7.0", - "@firebase/firestore": "4.9.0", - "@firebase/firestore-types": "3.0.3", - "@firebase/util": "1.13.0", - "tslib": "^2.1.0" - }, - "engines": { - "node": ">=20.0.0" - }, - "peerDependencies": { - "@firebase/app-compat": "0.x" - } - }, - "node_modules/@firebase/firestore-compat/node_modules/tslib": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", - "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", - "license": "0BSD" - }, - "node_modules/@firebase/firestore-types": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@firebase/firestore-types/-/firestore-types-3.0.3.tgz", - "integrity": "sha512-hD2jGdiWRxB/eZWF89xcK9gF8wvENDJkzpVFb4aGkzfEaKxVRD1kjz1t1Wj8VZEp2LCB53Yx1zD8mrhQu87R6Q==", - "license": "Apache-2.0", - "peerDependencies": { - "@firebase/app-types": "0.x", - "@firebase/util": "1.x" - } - }, - "node_modules/@firebase/firestore/node_modules/tslib": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", - "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", - "license": "0BSD" - }, - "node_modules/@firebase/functions": { - "version": "0.13.0", - "resolved": "https://registry.npmjs.org/@firebase/functions/-/functions-0.13.0.tgz", - "integrity": "sha512-2/LH5xIbD8aaLOWSFHAwwAybgSzHIM0dB5oVOL0zZnxFG1LctX2bc1NIAaPk1T+Zo9aVkLKUlB5fTXTkVUQprQ==", - "license": "Apache-2.0", - "dependencies": { - "@firebase/app-check-interop-types": "0.3.3", - "@firebase/auth-interop-types": "0.2.4", - "@firebase/component": "0.7.0", - "@firebase/messaging-interop-types": "0.2.3", - "@firebase/util": "1.13.0", - "tslib": "^2.1.0" - }, - "engines": { - "node": ">=20.0.0" - }, - "peerDependencies": { - "@firebase/app": "0.x" - } - }, - "node_modules/@firebase/functions-compat": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/@firebase/functions-compat/-/functions-compat-0.4.0.tgz", - "integrity": "sha512-VPgtvoGFywWbQqtvgJnVWIDFSHV1WE6Hmyi5EGI+P+56EskiGkmnw6lEqc/MEUfGpPGdvmc4I9XMU81uj766/g==", - "license": "Apache-2.0", - "dependencies": { - "@firebase/component": "0.7.0", - "@firebase/functions": "0.13.0", - "@firebase/functions-types": "0.6.3", - "@firebase/util": "1.13.0", - "tslib": "^2.1.0" - }, - "engines": { - "node": ">=20.0.0" - }, - "peerDependencies": { - "@firebase/app-compat": "0.x" - } - }, - "node_modules/@firebase/functions-compat/node_modules/tslib": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", - "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", - "license": "0BSD" - }, - "node_modules/@firebase/functions-types": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/@firebase/functions-types/-/functions-types-0.6.3.tgz", - "integrity": "sha512-EZoDKQLUHFKNx6VLipQwrSMh01A1SaL3Wg6Hpi//x6/fJ6Ee4hrAeswK99I5Ht8roiniKHw4iO0B1Oxj5I4plg==", - "license": "Apache-2.0" - }, - "node_modules/@firebase/functions/node_modules/tslib": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", - "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", - "license": "0BSD" - }, - "node_modules/@firebase/installations": { - "version": "0.6.19", - "resolved": "https://registry.npmjs.org/@firebase/installations/-/installations-0.6.19.tgz", - "integrity": "sha512-nGDmiwKLI1lerhwfwSHvMR9RZuIH5/8E3kgUWnVRqqL7kGVSktjLTWEMva7oh5yxQ3zXfIlIwJwMcaM5bK5j8Q==", - "license": "Apache-2.0", - "dependencies": { - "@firebase/component": "0.7.0", - "@firebase/util": "1.13.0", - "idb": "7.1.1", - "tslib": "^2.1.0" - }, - "peerDependencies": { - "@firebase/app": "0.x" - } - }, - "node_modules/@firebase/installations-compat": { - "version": "0.2.19", - "resolved": "https://registry.npmjs.org/@firebase/installations-compat/-/installations-compat-0.2.19.tgz", - "integrity": "sha512-khfzIY3EI5LePePo7vT19/VEIH1E3iYsHknI/6ek9T8QCozAZshWT9CjlwOzZrKvTHMeNcbpo/VSOSIWDSjWdQ==", - "license": "Apache-2.0", - "dependencies": { - "@firebase/component": "0.7.0", - "@firebase/installations": "0.6.19", - "@firebase/installations-types": "0.5.3", - "@firebase/util": "1.13.0", - "tslib": "^2.1.0" - }, - "peerDependencies": { - "@firebase/app-compat": "0.x" - } - }, - "node_modules/@firebase/installations-compat/node_modules/tslib": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", - "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", - "license": "0BSD" - }, - "node_modules/@firebase/installations-types": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/@firebase/installations-types/-/installations-types-0.5.3.tgz", - "integrity": "sha512-2FJI7gkLqIE0iYsNQ1P751lO3hER+Umykel+TkLwHj6plzWVxqvfclPUZhcKFVQObqloEBTmpi2Ozn7EkCABAA==", - "license": "Apache-2.0", - "peerDependencies": { - "@firebase/app-types": "0.x" - } - }, - "node_modules/@firebase/installations/node_modules/tslib": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", - "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", - "license": "0BSD" - }, - "node_modules/@firebase/logger": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/@firebase/logger/-/logger-0.5.0.tgz", - "integrity": "sha512-cGskaAvkrnh42b3BA3doDWeBmuHFO/Mx5A83rbRDYakPjO9bJtRL3dX7javzc2Rr/JHZf4HlterTW2lUkfeN4g==", - "license": "Apache-2.0", - "dependencies": { - "tslib": "^2.1.0" - }, - "engines": { - "node": ">=20.0.0" - } - }, - "node_modules/@firebase/logger/node_modules/tslib": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", - "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", - "license": "0BSD" - }, - "node_modules/@firebase/messaging": { - "version": "0.12.23", - "resolved": "https://registry.npmjs.org/@firebase/messaging/-/messaging-0.12.23.tgz", - "integrity": "sha512-cfuzv47XxqW4HH/OcR5rM+AlQd1xL/VhuaeW/wzMW1LFrsFcTn0GND/hak1vkQc2th8UisBcrkVcQAnOnKwYxg==", - "license": "Apache-2.0", - "dependencies": { - "@firebase/component": "0.7.0", - "@firebase/installations": "0.6.19", - "@firebase/messaging-interop-types": "0.2.3", - "@firebase/util": "1.13.0", - "idb": "7.1.1", - "tslib": "^2.1.0" - }, - "peerDependencies": { - "@firebase/app": "0.x" - } - }, - "node_modules/@firebase/messaging-compat": { - "version": "0.2.23", - "resolved": "https://registry.npmjs.org/@firebase/messaging-compat/-/messaging-compat-0.2.23.tgz", - "integrity": "sha512-SN857v/kBUvlQ9X/UjAqBoQ2FEaL1ZozpnmL1ByTe57iXkmnVVFm9KqAsTfmf+OEwWI4kJJe9NObtN/w22lUgg==", - "license": "Apache-2.0", - "dependencies": { - "@firebase/component": "0.7.0", - "@firebase/messaging": "0.12.23", - "@firebase/util": "1.13.0", - "tslib": "^2.1.0" - }, - "peerDependencies": { - "@firebase/app-compat": "0.x" - } - }, - "node_modules/@firebase/messaging-compat/node_modules/tslib": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", - "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", - "license": "0BSD" - }, - "node_modules/@firebase/messaging-interop-types": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/@firebase/messaging-interop-types/-/messaging-interop-types-0.2.3.tgz", - "integrity": "sha512-xfzFaJpzcmtDjycpDeCUj0Ge10ATFi/VHVIvEEjDNc3hodVBQADZ7BWQU7CuFpjSHE+eLuBI13z5F/9xOoGX8Q==", - "license": "Apache-2.0" - }, - "node_modules/@firebase/messaging/node_modules/tslib": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", - "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", - "license": "0BSD" - }, - "node_modules/@firebase/performance": { - "version": "0.7.9", - "resolved": "https://registry.npmjs.org/@firebase/performance/-/performance-0.7.9.tgz", - "integrity": "sha512-UzybENl1EdM2I1sjYm74xGt/0JzRnU/0VmfMAKo2LSpHJzaj77FCLZXmYQ4oOuE+Pxtt8Wy2BVJEENiZkaZAzQ==", - "license": "Apache-2.0", - "dependencies": { - "@firebase/component": "0.7.0", - "@firebase/installations": "0.6.19", - "@firebase/logger": "0.5.0", - "@firebase/util": "1.13.0", - "tslib": "^2.1.0", - "web-vitals": "^4.2.4" - }, - "peerDependencies": { - "@firebase/app": "0.x" - } - }, - "node_modules/@firebase/performance-compat": { - "version": "0.2.22", - "resolved": "https://registry.npmjs.org/@firebase/performance-compat/-/performance-compat-0.2.22.tgz", - "integrity": "sha512-xLKxaSAl/FVi10wDX/CHIYEUP13jXUjinL+UaNXT9ByIvxII5Ne5150mx6IgM8G6Q3V+sPiw9C8/kygkyHUVxg==", - "license": "Apache-2.0", - "dependencies": { - "@firebase/component": "0.7.0", - "@firebase/logger": "0.5.0", - "@firebase/performance": "0.7.9", - "@firebase/performance-types": "0.2.3", - "@firebase/util": "1.13.0", - "tslib": "^2.1.0" - }, - "peerDependencies": { - "@firebase/app-compat": "0.x" - } - }, - "node_modules/@firebase/performance-compat/node_modules/tslib": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", - "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", - "license": "0BSD" - }, - "node_modules/@firebase/performance-types": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/@firebase/performance-types/-/performance-types-0.2.3.tgz", - "integrity": "sha512-IgkyTz6QZVPAq8GSkLYJvwSLr3LS9+V6vNPQr0x4YozZJiLF5jYixj0amDtATf1X0EtYHqoPO48a9ija8GocxQ==", - "license": "Apache-2.0" - }, - "node_modules/@firebase/performance/node_modules/tslib": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", - "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", - "license": "0BSD" - }, - "node_modules/@firebase/remote-config": { - "version": "0.6.6", - "resolved": "https://registry.npmjs.org/@firebase/remote-config/-/remote-config-0.6.6.tgz", - "integrity": "sha512-Yelp5xd8hM4NO1G1SuWrIk4h5K42mNwC98eWZ9YLVu6Z0S6hFk1mxotAdCRmH2luH8FASlYgLLq6OQLZ4nbnCA==", - "license": "Apache-2.0", - "dependencies": { - "@firebase/component": "0.7.0", - "@firebase/installations": "0.6.19", - "@firebase/logger": "0.5.0", - "@firebase/util": "1.13.0", - "tslib": "^2.1.0" - }, - "peerDependencies": { - "@firebase/app": "0.x" - } - }, - "node_modules/@firebase/remote-config-compat": { - "version": "0.2.19", - "resolved": "https://registry.npmjs.org/@firebase/remote-config-compat/-/remote-config-compat-0.2.19.tgz", - "integrity": "sha512-y7PZAb0l5+5oIgLJr88TNSelxuASGlXyAKj+3pUc4fDuRIdPNBoONMHaIUa9rlffBR5dErmaD2wUBJ7Z1a513Q==", - "license": "Apache-2.0", - "dependencies": { - "@firebase/component": "0.7.0", - "@firebase/logger": "0.5.0", - "@firebase/remote-config": "0.6.6", - "@firebase/remote-config-types": "0.4.0", - "@firebase/util": "1.13.0", - "tslib": "^2.1.0" - }, - "peerDependencies": { - "@firebase/app-compat": "0.x" - } - }, - "node_modules/@firebase/remote-config-compat/node_modules/tslib": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", - "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", - "license": "0BSD" - }, - "node_modules/@firebase/remote-config-types": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/@firebase/remote-config-types/-/remote-config-types-0.4.0.tgz", - "integrity": "sha512-7p3mRE/ldCNYt8fmWMQ/MSGRmXYlJ15Rvs9Rk17t8p0WwZDbeK7eRmoI1tvCPaDzn9Oqh+yD6Lw+sGLsLg4kKg==", - "license": "Apache-2.0" - }, - "node_modules/@firebase/remote-config/node_modules/tslib": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", - "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", - "license": "0BSD" - }, - "node_modules/@firebase/storage": { - "version": "0.14.0", - "resolved": "https://registry.npmjs.org/@firebase/storage/-/storage-0.14.0.tgz", - "integrity": "sha512-xWWbb15o6/pWEw8H01UQ1dC5U3rf8QTAzOChYyCpafV6Xki7KVp3Yaw2nSklUwHEziSWE9KoZJS7iYeyqWnYFA==", - "license": "Apache-2.0", - "dependencies": { - "@firebase/component": "0.7.0", - "@firebase/util": "1.13.0", - "tslib": "^2.1.0" - }, - "engines": { - "node": ">=20.0.0" - }, - "peerDependencies": { - "@firebase/app": "0.x" - } - }, - "node_modules/@firebase/storage-compat": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/@firebase/storage-compat/-/storage-compat-0.4.0.tgz", - "integrity": "sha512-vDzhgGczr1OfcOy285YAPur5pWDEvD67w4thyeCUh6Ys0izN9fNYtA1MJERmNBfqjqu0lg0FM5GLbw0Il21M+g==", - "license": "Apache-2.0", - "dependencies": { - "@firebase/component": "0.7.0", - "@firebase/storage": "0.14.0", - "@firebase/storage-types": "0.8.3", - "@firebase/util": "1.13.0", - "tslib": "^2.1.0" - }, - "engines": { - "node": ">=20.0.0" - }, - "peerDependencies": { - "@firebase/app-compat": "0.x" - } - }, - "node_modules/@firebase/storage-compat/node_modules/tslib": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", - "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", - "license": "0BSD" - }, - "node_modules/@firebase/storage-types": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/@firebase/storage-types/-/storage-types-0.8.3.tgz", - "integrity": "sha512-+Muk7g9uwngTpd8xn9OdF/D48uiQ7I1Fae7ULsWPuKoCH3HU7bfFPhxtJYzyhjdniowhuDpQcfPmuNRAqZEfvg==", - "license": "Apache-2.0", - "peerDependencies": { - "@firebase/app-types": "0.x", - "@firebase/util": "1.x" - } - }, - "node_modules/@firebase/storage/node_modules/tslib": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", - "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", - "license": "0BSD" - }, - "node_modules/@firebase/util": { - "version": "1.13.0", - "resolved": "https://registry.npmjs.org/@firebase/util/-/util-1.13.0.tgz", - "integrity": "sha512-0AZUyYUfpMNcztR5l09izHwXkZpghLgCUaAGjtMwXnCg3bj4ml5VgiwqOMOxJ+Nw4qN/zJAaOQBcJ7KGkWStqQ==", - "hasInstallScript": true, - "license": "Apache-2.0", - "dependencies": { - "tslib": "^2.1.0" - }, - "engines": { - "node": ">=20.0.0" - } - }, - "node_modules/@firebase/util/node_modules/tslib": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", - "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", - "license": "0BSD" - }, - "node_modules/@firebase/webchannel-wrapper": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@firebase/webchannel-wrapper/-/webchannel-wrapper-1.0.4.tgz", - "integrity": "sha512-6m8+P+dE/RPl4OPzjTxcTbQ0rGeRyeTvAi9KwIffBVCiAMKrfXfLZaqD1F+m8t4B5/Q5aHsMozOgirkH1F5oMQ==", - "license": "Apache-2.0" - }, - "node_modules/@grpc/grpc-js": { - "version": "1.9.15", - "resolved": "https://registry.npmjs.org/@grpc/grpc-js/-/grpc-js-1.9.15.tgz", - "integrity": "sha512-nqE7Hc0AzI+euzUwDAy0aY5hCp10r734gMGRdU+qOPX0XSceI2ULrcXB5U2xSc5VkWwalCj4M7GzCAygZl2KoQ==", - "license": "Apache-2.0", - "dependencies": { - "@grpc/proto-loader": "^0.7.8", - "@types/node": ">=12.12.47" - }, - "engines": { - "node": "^8.13.0 || >=10.10.0" - } - }, - "node_modules/@grpc/proto-loader": { - "version": "0.7.15", - "resolved": "https://registry.npmjs.org/@grpc/proto-loader/-/proto-loader-0.7.15.tgz", - "integrity": "sha512-tMXdRCfYVixjuFK+Hk0Q1s38gV9zDiDJfWL3h1rv4Qc39oILCu1TRTDt7+fGUI8K4G1Fj125Hx/ru3azECWTyQ==", - "license": "Apache-2.0", - "dependencies": { - "lodash.camelcase": "^4.3.0", - "long": "^5.0.0", - "protobufjs": "^7.2.5", - "yargs": "^17.7.2" - }, - "bin": { - "proto-loader-gen-types": "build/bin/proto-loader-gen-types.js" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/@hapi/hoek": { "version": "9.3.0", "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.3.0.tgz", @@ -3828,70 +3005,6 @@ "react-native": "*" } }, - "node_modules/@protobufjs/aspromise": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz", - "integrity": "sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==", - "license": "BSD-3-Clause" - }, - "node_modules/@protobufjs/base64": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz", - "integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==", - "license": "BSD-3-Clause" - }, - "node_modules/@protobufjs/codegen": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz", - "integrity": "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==", - "license": "BSD-3-Clause" - }, - "node_modules/@protobufjs/eventemitter": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz", - "integrity": "sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q==", - "license": "BSD-3-Clause" - }, - "node_modules/@protobufjs/fetch": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz", - "integrity": "sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==", - "license": "BSD-3-Clause", - "dependencies": { - "@protobufjs/aspromise": "^1.1.1", - "@protobufjs/inquire": "^1.1.0" - } - }, - "node_modules/@protobufjs/float": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz", - "integrity": "sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ==", - "license": "BSD-3-Clause" - }, - "node_modules/@protobufjs/inquire": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.0.tgz", - "integrity": "sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q==", - "license": "BSD-3-Clause" - }, - "node_modules/@protobufjs/path": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz", - "integrity": "sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA==", - "license": "BSD-3-Clause" - }, - "node_modules/@protobufjs/pool": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz", - "integrity": "sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw==", - "license": "BSD-3-Clause" - }, - "node_modules/@protobufjs/utf8": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz", - "integrity": "sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==", - "license": "BSD-3-Clause" - }, "node_modules/@react-native-async-storage/async-storage": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/@react-native-async-storage/async-storage/-/async-storage-2.2.0.tgz", @@ -4197,40 +3310,6 @@ "react-native": ">=0.58.4" } }, - "node_modules/@react-native-firebase/app": { - "version": "23.2.0", - "resolved": "https://registry.npmjs.org/@react-native-firebase/app/-/app-23.2.0.tgz", - "integrity": "sha512-Ol9d0hnr1j2pPXYaWC+0UsQEcIiyVF7XufvyCifnMdnzfhPgrqnFwgqBCZm/jmWfosHIwhMexEuvaUuWtHDxrg==", - "license": "Apache-2.0", - "dependencies": { - "firebase": "12.1.0" - }, - "peerDependencies": { - "expo": ">=47.0.0", - "react": "*", - "react-native": "*" - }, - "peerDependenciesMeta": { - "expo": { - "optional": true - } - } - }, - "node_modules/@react-native-firebase/messaging": { - "version": "23.2.0", - "resolved": "https://registry.npmjs.org/@react-native-firebase/messaging/-/messaging-23.2.0.tgz", - "integrity": "sha512-k5pr7VWPvApqLjMEyrBLHtGSb9B7vV/wFkNwRJ36KRurSgwQoMIf5lNiD+8Liw0ROQ01Sfm4YRqHfKkc8xvsqg==", - "license": "Apache-2.0", - "peerDependencies": { - "@react-native-firebase/app": "23.2.0", - "expo": ">=47.0.0" - }, - "peerDependenciesMeta": { - "expo": { - "optional": true - } - } - }, "node_modules/@react-native/assets-registry": { "version": "0.80.2", "resolved": "https://registry.npmjs.org/@react-native/assets-registry/-/assets-registry-0.80.2.tgz", @@ -8436,18 +7515,6 @@ "reusify": "^1.0.4" } }, - "node_modules/faye-websocket": { - "version": "0.11.4", - "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz", - "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==", - "license": "Apache-2.0", - "dependencies": { - "websocket-driver": ">=0.5.1" - }, - "engines": { - "node": ">=0.8.0" - } - }, "node_modules/fb-watchman": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", @@ -8681,86 +7748,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/firebase": { - "version": "12.1.0", - "resolved": "https://registry.npmjs.org/firebase/-/firebase-12.1.0.tgz", - "integrity": "sha512-oZucxvfWKuAW4eHHRqGKzC43fLiPqPwHYBHPRNsnkgonqYaq0VurYgqgBosRlEulW+TWja/5Tpo2FpUU+QrfEQ==", - "license": "Apache-2.0", - "dependencies": { - "@firebase/ai": "2.1.0", - "@firebase/analytics": "0.10.18", - "@firebase/analytics-compat": "0.2.24", - "@firebase/app": "0.14.1", - "@firebase/app-check": "0.11.0", - "@firebase/app-check-compat": "0.4.0", - "@firebase/app-compat": "0.5.1", - "@firebase/app-types": "0.9.3", - "@firebase/auth": "1.11.0", - "@firebase/auth-compat": "0.6.0", - "@firebase/data-connect": "0.3.11", - "@firebase/database": "1.1.0", - "@firebase/database-compat": "2.1.0", - "@firebase/firestore": "4.9.0", - "@firebase/firestore-compat": "0.4.0", - "@firebase/functions": "0.13.0", - "@firebase/functions-compat": "0.4.0", - "@firebase/installations": "0.6.19", - "@firebase/installations-compat": "0.2.19", - "@firebase/messaging": "0.12.23", - "@firebase/messaging-compat": "0.2.23", - "@firebase/performance": "0.7.9", - "@firebase/performance-compat": "0.2.22", - "@firebase/remote-config": "0.6.6", - "@firebase/remote-config-compat": "0.2.19", - "@firebase/storage": "0.14.0", - "@firebase/storage-compat": "0.4.0", - "@firebase/util": "1.13.0" - } - }, - "node_modules/firebase/node_modules/@firebase/auth": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/@firebase/auth/-/auth-1.11.0.tgz", - "integrity": "sha512-5j7+ua93X+IRcJ1oMDTClTo85l7Xe40WSkoJ+shzPrX7OISlVWLdE1mKC57PSD+/LfAbdhJmvKixINBw2ESK6w==", - "license": "Apache-2.0", - "dependencies": { - "@firebase/component": "0.7.0", - "@firebase/logger": "0.5.0", - "@firebase/util": "1.13.0", - "tslib": "^2.1.0" - }, - "engines": { - "node": ">=20.0.0" - }, - "peerDependencies": { - "@firebase/app": "0.x", - "@react-native-async-storage/async-storage": "^1.18.1" - }, - "peerDependenciesMeta": { - "@react-native-async-storage/async-storage": { - "optional": true - } - } - }, - "node_modules/firebase/node_modules/@react-native-async-storage/async-storage": { - "version": "1.24.0", - "resolved": "https://registry.npmjs.org/@react-native-async-storage/async-storage/-/async-storage-1.24.0.tgz", - "integrity": "sha512-W4/vbwUOYOjco0x3toB8QCr7EjIP6nE9G7o8PMguvvjYT5Awg09lyV4enACRx4s++PPulBiBSjL0KTFx2u0Z/g==", - "license": "MIT", - "optional": true, - "peer": true, - "dependencies": { - "merge-options": "^3.0.4" - }, - "peerDependencies": { - "react-native": "^0.0.0-0 || >=0.60 <1.0" - } - }, - "node_modules/firebase/node_modules/tslib": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", - "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", - "license": "0BSD" - }, "node_modules/flat-cache": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz", @@ -9381,12 +8368,6 @@ "node": ">= 0.8" } }, - "node_modules/http-parser-js": { - "version": "0.5.10", - "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.10.tgz", - "integrity": "sha512-Pysuw9XpUq5dVc/2SMHpuTY01RFl8fttgcyunjL7eEMhGM3cI4eOmiCycJDVCo/7O7ClfQD3SaI6ftDzqOXYMA==", - "license": "MIT" - }, "node_modules/https-proxy-agent": { "version": "7.0.6", "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz", @@ -9454,12 +8435,6 @@ "node": ">=0.10.0" } }, - "node_modules/idb": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/idb/-/idb-7.1.1.tgz", - "integrity": "sha512-gchesWBzyvGHRO9W8tzUWFDycow5gwjvFKfyV9FF32Y7F50yZMp7mP+T2mJIWFx49zicqyC4uefHM17o6xKIVQ==", - "license": "ISC" - }, "node_modules/ieee754": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", @@ -11416,12 +10391,6 @@ "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", "license": "MIT" }, - "node_modules/lodash.camelcase": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", - "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==", - "license": "MIT" - }, "node_modules/lodash.debounce": { "version": "4.0.8", "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", @@ -11601,12 +10570,6 @@ "node": ">=6" } }, - "node_modules/long": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/long/-/long-5.3.2.tgz", - "integrity": "sha512-mNAgZ1GmyNhD7AuqnTG3/VQ26o760+ZYBPKjPvugO8+nLbYfX6TVpJPseBvopbdY+qpZ/lKUnmEc1LeZYS3QAA==", - "license": "Apache-2.0" - }, "node_modules/loose-envify": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", @@ -13694,30 +12657,6 @@ "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", "license": "MIT" }, - "node_modules/protobufjs": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-7.5.4.tgz", - "integrity": "sha512-CvexbZtbov6jW2eXAvLukXjXUW1TzFaivC46BpWc/3BpcCysb5Vffu+B3XHMm8lVEuy2Mm4XGex8hBSg1yapPg==", - "hasInstallScript": true, - "license": "BSD-3-Clause", - "dependencies": { - "@protobufjs/aspromise": "^1.1.2", - "@protobufjs/base64": "^1.1.2", - "@protobufjs/codegen": "^2.0.4", - "@protobufjs/eventemitter": "^1.1.0", - "@protobufjs/fetch": "^1.1.0", - "@protobufjs/float": "^1.0.2", - "@protobufjs/inquire": "^1.1.0", - "@protobufjs/path": "^1.1.2", - "@protobufjs/pool": "^1.1.0", - "@protobufjs/utf8": "^1.1.0", - "@types/node": ">=13.7.0", - "long": "^5.0.0" - }, - "engines": { - "node": ">=12.0.0" - } - }, "node_modules/proxy-from-env": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", @@ -14886,6 +13825,7 @@ "version": "5.2.1", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "devOptional": true, "funding": [ { "type": "github", @@ -16241,35 +15181,6 @@ "defaults": "^1.0.3" } }, - "node_modules/web-vitals": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/web-vitals/-/web-vitals-4.2.4.tgz", - "integrity": "sha512-r4DIlprAGwJ7YM11VZp4R884m0Vmgr6EAKe3P+kO0PPj3Unqyvv59rczf6UiGcb9Z8QxZVcqKNwv/g0WNdWwsw==", - "license": "Apache-2.0" - }, - "node_modules/websocket-driver": { - "version": "0.7.4", - "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", - "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==", - "license": "Apache-2.0", - "dependencies": { - "http-parser-js": ">=0.5.1", - "safe-buffer": ">=5.1.0", - "websocket-extensions": ">=0.1.1" - }, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/websocket-extensions": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz", - "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==", - "license": "Apache-2.0", - "engines": { - "node": ">=0.8.0" - } - }, "node_modules/whatwg-fetch": { "version": "3.6.20", "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.6.20.tgz", diff --git a/package.json b/package.json index dadc0f6..9ee59d7 100644 --- a/package.json +++ b/package.json @@ -18,8 +18,6 @@ "@react-native-async-storage/async-storage": "^2.2.0", "@react-native-clipboard/clipboard": "^1.16.3", "@react-native-community/datetimepicker": "^8.4.2", - "@react-native-firebase/app": "^23.2.0", - "@react-native-firebase/messaging": "^23.2.0", "@react-navigation/native": "^7.1.17", "@react-navigation/native-stack": "^7.3.25", "@tanstack/react-query": "^5.84.2", diff --git a/src/components/Navbar.tsx b/src/components/Navbar.tsx index 650d03d..bc55da5 100644 --- a/src/components/Navbar.tsx +++ b/src/components/Navbar.tsx @@ -5,7 +5,6 @@ import { Dimensions, Image, Linking, - Platform, StyleSheet, TouchableOpacity, View, @@ -13,7 +12,6 @@ import { import AppLink from 'react-native-app-link'; import { useSafeAreaInsets } from 'react-native-safe-area-context'; import Logo from 'screens/../../assets/bootsplash/logo.png'; -import Bell from 'svg/Bell'; import Instagram from 'svg/Instagram'; import Telegram from 'svg/Telegram'; import AppText from './AppText'; @@ -97,14 +95,13 @@ const Navbar = () => { size={iconSizes.facebook} /> */} - {Platform.OS === 'android' && ( + {/* {Platform.OS === 'android' && ( navigation.navigate('Notifications')} > - {/* */} - )} + )} */} diff --git a/src/screens/auth/login/ui/Confirm.tsx b/src/screens/auth/login/ui/Confirm.tsx index c4575ad..da7fd9f 100644 --- a/src/screens/auth/login/ui/Confirm.tsx +++ b/src/screens/auth/login/ui/Confirm.tsx @@ -1,6 +1,4 @@ import AsyncStorage from '@react-native-async-storage/async-storage'; -import { getApp } from '@react-native-firebase/app'; -import { getMessaging, getToken } from '@react-native-firebase/messaging'; import { useNavigation } from '@react-navigation/native'; import { NativeStackNavigationProp } from '@react-navigation/native-stack'; import { useMutation } from '@tanstack/react-query'; @@ -20,7 +18,6 @@ import { TouchableOpacity, View, } from 'react-native'; -import DeviceInfo from 'react-native-device-info'; import { SafeAreaView } from 'react-native-safe-area-context'; import Logo from 'screens/../../assets/bootsplash/logo_512.png'; import LanguageSelector from 'screens/auth/select-language/SelectLang'; @@ -39,11 +36,11 @@ const OTP_LENGTH = 4; const Confirm = () => { const navigation = useNavigation(); const { t } = useTranslation(); - const [firebaseToken, setFirebseToken] = useState<{ - fcmToken: string; - deviceId: string; - deviceName: string; - } | null>(); + // const [firebaseToken, setFirebseToken] = useState<{ + // fcmToken: string; + // deviceId: string; + // deviceName: string; + // } | null>(); const [code, setCode] = useState(new Array(OTP_LENGTH).fill('')); const [timer, setTimer] = useState(60); const [errorConfirm, setErrorConfirm] = useState(null); @@ -51,28 +48,28 @@ const Confirm = () => { const inputRefs = useRef>([]); const { phoneNumber } = useUserStore(state => state); - const app = getApp(); - const messaging = getMessaging(app); + // const app = getApp(); + // const messaging = getMessaging(app); - const getDeviceData = async () => { - try { - const fcmToken = await getToken(messaging); - return { - fcmToken, - deviceId: await DeviceInfo.getUniqueId(), - deviceName: await DeviceInfo.getDeviceName(), - }; - } catch (e) { - console.log('Xato:', e); - return null; - } - }; + // const getDeviceData = async () => { + // try { + // const fcmToken = await getToken(messaging); + // return { + // fcmToken, + // deviceId: await DeviceInfo.getUniqueId(), + // deviceName: await DeviceInfo.getDeviceName(), + // }; + // } catch (e) { + // console.log('Xato:', e); + // return null; + // } + // }; - useEffect(() => { - getDeviceData().then(data => { - setFirebseToken(data); - }); - }, []); + // useEffect(() => { + // getDeviceData().then(data => { + // setFirebseToken(data); + // }); + // }, []); const { mutate, isPending } = useMutation({ mutationFn: (payload: otpPayload) => authApi.verifyOtp(payload), @@ -139,16 +136,14 @@ const Confirm = () => { const handleVerifyCode = () => { const enteredCode = code.join(''); - if (firebaseToken) { - mutate({ - phoneNumber, - otp: enteredCode, - otpType: 'LOGIN', - deviceId: firebaseToken.deviceId, - deviceName: firebaseToken.deviceName, - fcmToken: firebaseToken.fcmToken, - }); - } + mutate({ + phoneNumber, + otp: enteredCode, + otpType: 'LOGIN', + deviceId: '', + deviceName: '', + fcmToken: '', + }); }; return ( diff --git a/src/screens/auth/login/ui/index.tsx b/src/screens/auth/login/ui/index.tsx index 25d22c4..b6a5184 100644 --- a/src/screens/auth/login/ui/index.tsx +++ b/src/screens/auth/login/ui/index.tsx @@ -1,6 +1,4 @@ import { zodResolver } from '@hookform/resolvers/zod'; -import { getApp } from '@react-native-firebase/app'; -import { getMessaging, getToken } from '@react-native-firebase/messaging'; import { useNavigation } from '@react-navigation/native'; import { NativeStackNavigationProp } from '@react-navigation/native-stack'; import { useMutation, useQuery } from '@tanstack/react-query'; @@ -9,13 +7,7 @@ import { loginPayload } from 'api/auth/type'; import { Branch, branchApi } from 'api/branch'; import AppText from 'components/AppText'; import formatPhone from 'helpers/formatPhone'; -import React, { - useCallback, - useEffect, - useMemo, - useRef, - useState, -} from 'react'; +import React, { useCallback, useMemo, useRef, useState } from 'react'; import { Controller, useForm } from 'react-hook-form'; import { useTranslation } from 'react-i18next'; import { @@ -28,7 +20,6 @@ import { TouchableOpacity, View, } from 'react-native'; -import DeviceInfo from 'react-native-device-info'; import { SafeAreaView } from 'react-native-safe-area-context'; import Logo from 'screens/../../assets/bootsplash/logo_512.png'; import { LoginFormType, loginSchema } from 'screens/auth/login/lib/form'; @@ -59,36 +50,36 @@ const Login = () => { queryKey: ['branchList'], queryFn: branchApi.branchList, }); - const [firebaseToken, setFirebseToken] = useState<{ - fcmToken: string; - deviceId: string; - deviceName: string; - deviceType: string; - } | null>(); + // const [firebaseToken, setFirebseToken] = useState<{ + // fcmToken: string; + // deviceId: string; + // deviceName: string; + // deviceType: string; + // } | null>(); - const app = getApp(); - const messaging = getMessaging(app); + // const app = getApp(); + // const messaging = getMessaging(app); - const getDeviceData = async () => { - try { - const fcmToken = await getToken(messaging); - return { - fcmToken, - deviceId: await DeviceInfo.getUniqueId(), - deviceName: await DeviceInfo.getDeviceName(), - deviceType: await DeviceInfo.getDeviceType(), - }; - } catch (e) { - console.log('Xato:', e); - return null; - } - }; + // const getDeviceData = async () => { + // try { + // const fcmToken = await getToken(messaging); + // return { + // fcmToken, + // deviceId: await DeviceInfo.getUniqueId(), + // deviceName: await DeviceInfo.getDeviceName(), + // deviceType: await DeviceInfo.getDeviceType(), + // }; + // } catch (e) { + // console.log('Xato:', e); + // return null; + // } + // }; - useEffect(() => { - getDeviceData().then(data => { - setFirebseToken(data); - }); - }, []); + // useEffect(() => { + // getDeviceData().then(data => { + // setFirebseToken(data); + // }); + // }, []); const { mutate, isPending } = useMutation({ mutationFn: (payload: loginPayload) => authApi.login(payload), @@ -123,10 +114,10 @@ const Login = () => { passportSerial: `${data.passportSeriya.toUpperCase()}${ data.passportNumber }`, - fcmToken: firebaseToken?.fcmToken || '', - deviceId: firebaseToken?.deviceId || '', - deviceType: firebaseToken?.deviceType || '', - deviceName: firebaseToken?.deviceName || '', + fcmToken: '', + deviceId: '', + deviceType: '', + deviceName: '', }); // navigation.navigate('Login-Confirm'); setUser({ diff --git a/src/screens/auth/registeration/ui/Confirm.tsx b/src/screens/auth/registeration/ui/Confirm.tsx index 754ee69..22194f1 100644 --- a/src/screens/auth/registeration/ui/Confirm.tsx +++ b/src/screens/auth/registeration/ui/Confirm.tsx @@ -1,6 +1,6 @@ import AsyncStorage from '@react-native-async-storage/async-storage'; -import { getApp } from '@react-native-firebase/app'; -import { getMessaging, getToken } from '@react-native-firebase/messaging'; +// import { getApp } from '@react-native-firebase/app'; +// import { getMessaging, getToken } from '@react-native-firebase/messaging'; import { useNavigation } from '@react-navigation/native'; import { NativeStackNavigationProp } from '@react-navigation/native-stack'; import { useMutation } from '@tanstack/react-query'; @@ -20,7 +20,6 @@ import { TouchableOpacity, View, } from 'react-native'; -import DeviceInfo from 'react-native-device-info'; import { SafeAreaView } from 'react-native-safe-area-context'; import Logo from 'screens/../../assets/bootsplash/logo_512.png'; import { useModalStore } from 'screens/auth/registeration/lib/modalStore'; @@ -50,34 +49,35 @@ const Confirm = ({ const [errorConfirm, setErrorConfirm] = useState(null); const inputRefs = useRef>([]); const { phoneNumber } = useUserStore(state => state); - const [firebaseToken, setFirebseToken] = useState<{ - fcmToken: string; - deviceId: string; - deviceName: string; - } | null>(); + // const [firebaseToken, setFirebseToken] = useState<{ + // fcmToken: string; + // deviceId: string; + // deviceName: string; + // } | null>(); - const app = getApp(); - const messaging = getMessaging(app); + // const app = getApp(); + // const messaging = getMessaging(app); - const getDeviceData = async () => { - try { - const fcmToken = await getToken(messaging); - return { - fcmToken, - deviceId: await DeviceInfo.getUniqueId(), - deviceName: await DeviceInfo.getDeviceName(), - }; - } catch (e) { - console.log('Xato:', e); - return null; - } - }; + // const getDeviceData = async () => { + // try { + // const fcmToken = await getToken(messaging); + // return { + // fcmToken, + // deviceId: await DeviceInfo.getUniqueId(), + // deviceName: await DeviceInfo.getDeviceName(), + // }; + // } catch (e) { + // console.log('Xato:', e); + // return null; + // } + // }; + + // useEffect(() => { + // getDeviceData().then(data => { + // setFirebseToken(data); + // }); + // }, []); - useEffect(() => { - getDeviceData().then(data => { - setFirebseToken(data); - }); - }, []); const { mutate, isPending } = useMutation({ mutationFn: (payload: otpPayload) => authApi.verifyOtp(payload), onSuccess: async res => { @@ -149,16 +149,15 @@ const Confirm = ({ const handleVerifyCode = () => { const enteredCode = code.join(''); - if (firebaseToken) { - mutate({ - phoneNumber, - otp: enteredCode, - otpType: 'REGISTRATION', - deviceId: firebaseToken.deviceId, - deviceName: firebaseToken.deviceName, - fcmToken: firebaseToken.fcmToken, - }); - } + + mutate({ + phoneNumber, + otp: enteredCode, + otpType: 'REGISTRATION', + deviceId: '', + deviceName: '', + fcmToken: '', + }); }; return ( diff --git a/src/screens/auth/registeration/ui/FirstStep.tsx b/src/screens/auth/registeration/ui/FirstStep.tsx index 9698ba9..0e157da 100644 --- a/src/screens/auth/registeration/ui/FirstStep.tsx +++ b/src/screens/auth/registeration/ui/FirstStep.tsx @@ -1,8 +1,8 @@ 'use client'; import { zodResolver } from '@hookform/resolvers/zod'; -import { getApp } from '@react-native-firebase/app'; -import { getMessaging, getToken } from '@react-native-firebase/messaging'; +// import { getApp } from '@react-native-firebase/app'; +// import { getMessaging, getToken } from '@react-native-firebase/messaging'; import { type RouteProp, useNavigation, @@ -29,7 +29,6 @@ import { TouchableOpacity, View, } from 'react-native'; -import DeviceInfo from 'react-native-device-info'; import { SafeAreaView } from 'react-native-safe-area-context'; import Logo from 'screens/../../assets/bootsplash/logo_512.png'; import { @@ -67,36 +66,36 @@ const FirstStep = ({ onNext }: { onNext: () => void }) => { queryFn: branchApi.branchList, }); - const [firebaseToken, setFirebseToken] = useState<{ - fcmToken: string; - deviceId: string; - deviceName: string; - deviceType: string; - } | null>(); + // const [firebaseToken, setFirebseToken] = useState<{ + // fcmToken: string; + // deviceId: string; + // deviceName: string; + // deviceType: string; + // } | null>(); - const app = getApp(); - const messaging = getMessaging(app); + // const app = getApp(); + // const messaging = getMessaging(app); - const getDeviceData = async () => { - try { - const fcmToken = await getToken(messaging); - return { - fcmToken, - deviceId: await DeviceInfo.getUniqueId(), - deviceName: await DeviceInfo.getDeviceName(), - deviceType: await DeviceInfo.getDeviceType(), - }; - } catch (e) { - console.log('Xato:', e); - return null; - } - }; + // const getDeviceData = async () => { + // try { + // const fcmToken = await getToken(messaging); + // return { + // fcmToken, + // deviceId: await DeviceInfo.getUniqueId(), + // deviceName: await DeviceInfo.getDeviceName(), + // deviceType: await DeviceInfo.getDeviceType(), + // }; + // } catch (e) { + // console.log('Xato:', e); + // return null; + // } + // }; - useEffect(() => { - getDeviceData().then(data => { - setFirebseToken(data); - }); - }, []); + // useEffect(() => { + // getDeviceData().then(data => { + // setFirebseToken(data); + // }); + // }, []); const { mutate, isPending } = useMutation({ mutationFn: (payload: registerPayload) => authApi.register(payload), @@ -144,10 +143,10 @@ const FirstStep = ({ onNext }: { onNext: () => void }) => { recommend: data.recommend, branchId: data.branchId, address: data.address, - fcmToken: firebaseToken?.fcmToken || '', - deviceId: firebaseToken?.deviceId || '', - deviceType: firebaseToken?.deviceType || '', - deviceName: firebaseToken?.deviceId || '', + fcmToken: '', + deviceId: '', + deviceType: '', + deviceName: '', }); }; diff --git a/src/screens/profile/myProfile/ui/ProfilePages.tsx b/src/screens/profile/myProfile/ui/ProfilePages.tsx index e2f6612..c370e90 100644 --- a/src/screens/profile/myProfile/ui/ProfilePages.tsx +++ b/src/screens/profile/myProfile/ui/ProfilePages.tsx @@ -7,14 +7,12 @@ import { useTranslation } from 'react-i18next'; import { Alert, Linking, - Platform, StyleSheet, TouchableOpacity, View, } from 'react-native'; import AppLink from 'react-native-app-link'; import ArrowRightUnderline from 'svg/ArrowRightUnderline'; -import Bell from 'svg/Bell'; import Location from 'svg/Location'; import Logout from 'svg/LogOut'; import Setting from 'svg/Setting'; @@ -80,7 +78,7 @@ const ProfilePages = (props: componentNameProps) => { - {Platform.OS === 'android' && ( + {/* {Platform.OS === 'android' && ( { - )} + )} */}