mirror of https://github.com/tooot-app/app
Compare commits
3 Commits
7b63150e73
...
7bcef6fe1d
Author | SHA1 | Date |
---|---|---|
xmflsct | 7bcef6fe1d | |
xmflsct | 6f27785a12 | |
xmflsct | 5cec5e8084 |
|
@ -1,50 +0,0 @@
|
||||||
diff --git a/src/android.js b/src/android.js
|
|
||||||
index fbf09855771f985c5edfc53c22cf6cfe828f45f9..7751d456e08e2dc4c78601fc9430fdbf1373e0d4 100644
|
|
||||||
--- a/src/android.js
|
|
||||||
+++ b/src/android.js
|
|
||||||
@@ -16,7 +16,7 @@ import TextAncestor from 'react-native/Libraries/Text/TextAncestor';
|
|
||||||
import TextInputState from 'react-native/Libraries/Components/TextInput/TextInputState';
|
|
||||||
import invariant from 'invariant';
|
|
||||||
import nullthrows from 'nullthrows';
|
|
||||||
-import setAndForwardRef from 'react-native/Libraries/Utilities/setAndForwardRef';
|
|
||||||
+import setAndForwardRef from './setAndForwardRef';
|
|
||||||
|
|
||||||
import usePressability from 'react-native/Libraries/Pressability/usePressability';
|
|
||||||
|
|
||||||
diff --git a/src/ios.tsx b/src/ios.tsx
|
|
||||||
index b9ed28bbf9fca6fb44c27096e771d8d2b65b858f..588a75c82b2ee1123d3e48acb984bcbc8b293cc8 100644
|
|
||||||
--- a/src/ios.tsx
|
|
||||||
+++ b/src/ios.tsx
|
|
||||||
@@ -11,7 +11,7 @@ import {
|
|
||||||
} from 'react-native';
|
|
||||||
import TextInputState from 'react-native/Libraries/Components/TextInput/TextInputState';
|
|
||||||
import TextAncestor from 'react-native/Libraries/Text/TextAncestor';
|
|
||||||
-import setAndForwardRef from 'react-native/Libraries/Utilities/setAndForwardRef';
|
|
||||||
+import setAndForwardRef from './setAndForwardRef';
|
|
||||||
import { getTextInputExtraProps } from './extra_props';
|
|
||||||
|
|
||||||
import type {
|
|
||||||
diff --git a/src/setAndForwardRef.js b/src/setAndForwardRef.js
|
|
||||||
new file mode 100644
|
|
||||||
index 0000000000000000000000000000000000000000..ad7777e271b945c7123953f7578a8d1208ca9e48
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/src/setAndForwardRef.js
|
|
||||||
@@ -0,0 +1,17 @@
|
|
||||||
+function setAndForwardRef({ getForwardedRef, setLocalRef }) {
|
|
||||||
+ return function forwardRef(ref) {
|
|
||||||
+ const forwardedRef = getForwardedRef();
|
|
||||||
+
|
|
||||||
+ setLocalRef(ref);
|
|
||||||
+
|
|
||||||
+ // Forward to user ref prop (if one has been specified)
|
|
||||||
+ if (typeof forwardedRef === 'function') {
|
|
||||||
+ // Handle function-based refs. String-based refs are handled as functions.
|
|
||||||
+ forwardedRef(ref);
|
|
||||||
+ } else if (typeof forwardedRef === 'object' && forwardedRef != null) {
|
|
||||||
+ // Handle createRef-based refs
|
|
||||||
+ forwardedRef.current = ref;
|
|
||||||
+ }
|
|
||||||
+ };
|
|
||||||
+}
|
|
||||||
+export default setAndForwardRef;
|
|
||||||
\ No newline at end of file
|
|
|
@ -1,13 +0,0 @@
|
||||||
diff --git a/ios/EXAV/EXAudioSessionManager.m b/ios/EXAV/EXAudioSessionManager.m
|
|
||||||
index 81dce13366c3947b12c863f7b39c0237882a6c36..fa27e0a354d48a994ca46e19642a5e224d42d9a8 100644
|
|
||||||
--- a/ios/EXAV/EXAudioSessionManager.m
|
|
||||||
+++ b/ios/EXAV/EXAudioSessionManager.m
|
|
||||||
@@ -170,7 +170,7 @@ - (void)moduleDidBackground:(id)backgroundingModule
|
|
||||||
[_foregroundedModules compact];
|
|
||||||
|
|
||||||
// Any possible failures are silent
|
|
||||||
- [self _updateSessionConfiguration];
|
|
||||||
+ // [self _updateSessionConfiguration];
|
|
||||||
}
|
|
||||||
|
|
||||||
- (void)moduleDidForeground:(id)module
|
|
|
@ -1,14 +0,0 @@
|
||||||
diff --git a/src/functions/Helpers.ts b/src/functions/Helpers.ts
|
|
||||||
index e04486540494891ab07ec130b686dc4acddf2d0c..265e6ac11439276a1c52c222dfc4c50daf1689ae 100644
|
|
||||||
--- a/src/functions/Helpers.ts
|
|
||||||
+++ b/src/functions/Helpers.ts
|
|
||||||
@@ -77,7 +77,8 @@ export function getNativeNodeHandle(nativeRef: React.Component){
|
|
||||||
const nodeHandle = findNodeHandle(nativeRef);
|
|
||||||
|
|
||||||
if(nodeHandle == null){
|
|
||||||
- throw new Error('Unable to get the node handle for the native ref.');
|
|
||||||
+ return 0
|
|
||||||
+ // throw new Error('Unable to get the node handle for the native ref.');
|
|
||||||
};
|
|
||||||
|
|
||||||
return nodeHandle;
|
|
|
@ -0,0 +1,64 @@
|
||||||
|
diff --git a/ios/Sources/Common/AutoLayoutWrapperView.swift b/ios/Sources/Common/AutoLayoutWrapperView.swift
|
||||||
|
index e2b9be9c129c66eed3eaebb4e33f5456ce98f5da..ef6a0087f524c8d228b7fee31e54fc3dba769ffa 100644
|
||||||
|
--- a/ios/Sources/Common/AutoLayoutWrapperView.swift
|
||||||
|
+++ b/ios/Sources/Common/AutoLayoutWrapperView.swift
|
||||||
|
@@ -18,7 +18,11 @@ class AutoLayoutWrapperView: UIView {
|
||||||
|
|
||||||
|
override func addSubview(_ view: UIView) {
|
||||||
|
if let detachedView = view as? RNIDetachedView {
|
||||||
|
- detachedView.updateBounds(newSize: self.bounds.size);
|
||||||
|
+ do {
|
||||||
|
+ try detachedView.updateBounds(newSize: self.bounds.size);
|
||||||
|
+ } catch {
|
||||||
|
+ print("Error: \(error)");
|
||||||
|
+ };
|
||||||
|
};
|
||||||
|
|
||||||
|
super.addSubview(view);
|
||||||
|
@@ -37,7 +41,11 @@ class AutoLayoutWrapperView: UIView {
|
||||||
|
func updateSizeOfSubviews(newSize: CGSize? = nil){
|
||||||
|
self.subviews.forEach {
|
||||||
|
guard let detachedView = $0 as? RNIDetachedView else { return };
|
||||||
|
- detachedView.updateBounds(newSize: newSize ?? self.bounds.size);
|
||||||
|
+ do {
|
||||||
|
+ try detachedView.updateBounds(newSize: newSize ?? self.bounds.size);
|
||||||
|
+ } catch {
|
||||||
|
+ print("Error: \(error)");
|
||||||
|
+ };
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
diff --git a/ios/Sources/RNIContextMenuView/RNIContextMenuPreviewController.swift b/ios/Sources/RNIContextMenuView/RNIContextMenuPreviewController.swift
|
||||||
|
index 2b4dc6287c68c88d6652b963ac2cc5f59251ffa9..7c8472e90dac8359f6b40ce2c096323fcf388249 100644
|
||||||
|
--- a/ios/Sources/RNIContextMenuView/RNIContextMenuPreviewController.swift
|
||||||
|
+++ b/ios/Sources/RNIContextMenuView/RNIContextMenuPreviewController.swift
|
||||||
|
@@ -63,7 +63,11 @@ class RNIContextMenuPreviewController: UIViewController {
|
||||||
|
case .STRETCH:
|
||||||
|
guard let menuCustomPreviewView = self.menuCustomPreviewView else { return };
|
||||||
|
|
||||||
|
- menuCustomPreviewView.updateBounds(newSize: self.view.bounds.size);
|
||||||
|
+ do {
|
||||||
|
+ try menuCustomPreviewView.updateBounds(newSize: self.view.bounds.size);
|
||||||
|
+ } catch {
|
||||||
|
+ print("Error: \(error)");
|
||||||
|
+ };
|
||||||
|
self.preferredContentSize = .zero;
|
||||||
|
|
||||||
|
case .INHERIT:
|
||||||
|
diff --git a/ios/Sources/RNIContextMenuView/RNIContextMenuView.swift b/ios/Sources/RNIContextMenuView/RNIContextMenuView.swift
|
||||||
|
index affabcdee8303681f1438c6cfdb9d90d6a105ba6..7c470229e06250f4bd80d3133e381b91ff4f61c5 100644
|
||||||
|
--- a/ios/Sources/RNIContextMenuView/RNIContextMenuView.swift
|
||||||
|
+++ b/ios/Sources/RNIContextMenuView/RNIContextMenuView.swift
|
||||||
|
@@ -307,7 +307,11 @@ public class RNIContextMenuView:
|
||||||
|
.init(with: detachedView)
|
||||||
|
);
|
||||||
|
|
||||||
|
- detachedView.detach();
|
||||||
|
+ do {
|
||||||
|
+ try detachedView.detach();
|
||||||
|
+ } catch {
|
||||||
|
+ print("Error: \(error)");
|
||||||
|
+ };
|
||||||
|
};
|
||||||
|
|
||||||
|
#if DEBUG
|
|
@ -1,74 +0,0 @@
|
||||||
diff --git a/Libraries/Utilities/setAndForwardRef.js b/Libraries/Utilities/setAndForwardRef.js
|
|
||||||
new file mode 100644
|
|
||||||
index 0000000000000000000000000000000000000000..e67b530b9a933b68e219e2b8cec2a66dc8f51323
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/Libraries/Utilities/setAndForwardRef.js
|
|
||||||
@@ -0,0 +1,68 @@
|
|
||||||
+/**
|
|
||||||
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
||||||
+ *
|
|
||||||
+ * This source code is licensed under the MIT license found in the
|
|
||||||
+ * LICENSE file in the root directory of this source tree.
|
|
||||||
+ *
|
|
||||||
+ * @format
|
|
||||||
+ * @flow
|
|
||||||
+ */
|
|
||||||
+
|
|
||||||
+'use strict'
|
|
||||||
+
|
|
||||||
+import type { ElementRef, Ref } from 'react'
|
|
||||||
+
|
|
||||||
+type Args = $ReadOnly<{|
|
|
||||||
+ getForwardedRef: () => ?Ref<any>,
|
|
||||||
+ setLocalRef: (ref: ElementRef<any>) => mixed
|
|
||||||
+|}>
|
|
||||||
+
|
|
||||||
+/**
|
|
||||||
+ * This is a helper function for when a component needs to be able to forward a ref
|
|
||||||
+ * to a child component, but still needs to have access to that component as part of
|
|
||||||
+ * its implementation.
|
|
||||||
+ *
|
|
||||||
+ * Its main use case is in wrappers for native components.
|
|
||||||
+ *
|
|
||||||
+ * Usage:
|
|
||||||
+ *
|
|
||||||
+ * class MyView extends React.Component {
|
|
||||||
+ * _nativeRef = null;
|
|
||||||
+ *
|
|
||||||
+ * _setNativeRef = setAndForwardRef({
|
|
||||||
+ * getForwardedRef: () => this.props.forwardedRef,
|
|
||||||
+ * setLocalRef: ref => {
|
|
||||||
+ * this._nativeRef = ref;
|
|
||||||
+ * },
|
|
||||||
+ * });
|
|
||||||
+ *
|
|
||||||
+ * render() {
|
|
||||||
+ * return <View ref={this._setNativeRef} />;
|
|
||||||
+ * }
|
|
||||||
+ * }
|
|
||||||
+ *
|
|
||||||
+ * const MyViewWithRef = React.forwardRef((props, ref) => (
|
|
||||||
+ * <MyView {...props} forwardedRef={ref} />
|
|
||||||
+ * ));
|
|
||||||
+ *
|
|
||||||
+ * module.exports = MyViewWithRef;
|
|
||||||
+ */
|
|
||||||
+
|
|
||||||
+function setAndForwardRef({ getForwardedRef, setLocalRef }: Args): (ref: ElementRef<any>) => void {
|
|
||||||
+ return function forwardRef(ref: ElementRef<any>) {
|
|
||||||
+ const forwardedRef = getForwardedRef()
|
|
||||||
+
|
|
||||||
+ setLocalRef(ref)
|
|
||||||
+
|
|
||||||
+ // Forward to user ref prop (if one has been specified)
|
|
||||||
+ if (typeof forwardedRef === 'function') {
|
|
||||||
+ // Handle function-based refs. String-based refs are handled as functions.
|
|
||||||
+ forwardedRef(ref)
|
|
||||||
+ } else if (typeof forwardedRef === 'object' && forwardedRef != null) {
|
|
||||||
+ // Handle createRef-based refs
|
|
||||||
+ forwardedRef.current = ref
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+module.exports = setAndForwardRef
|
|
489
ios/Podfile.lock
489
ios/Podfile.lock
File diff suppressed because it is too large
Load Diff
29
package.json
29
package.json
|
@ -44,14 +44,14 @@
|
||||||
"@tanstack/react-query": "^4.36.1",
|
"@tanstack/react-query": "^4.36.1",
|
||||||
"axios": "^1.6.7",
|
"axios": "^1.6.7",
|
||||||
"diff": "^5.1.0",
|
"diff": "^5.1.0",
|
||||||
"expo": "^50.0.5",
|
"expo": "^50.0.6",
|
||||||
"expo-auth-session": "^5.4.0",
|
"expo-auth-session": "^5.4.0",
|
||||||
"expo-av": "^13.10.4",
|
"expo-av": "^13.10.5",
|
||||||
"expo-constants": "^15.4.5",
|
"expo-constants": "^15.4.5",
|
||||||
"expo-crypto": "^12.8.0",
|
"expo-crypto": "^12.8.0",
|
||||||
"expo-file-system": "^16.0.5",
|
"expo-file-system": "^16.0.6",
|
||||||
"expo-haptics": "^12.8.1",
|
"expo-haptics": "^12.8.1",
|
||||||
"expo-image": "^1.10.5",
|
"expo-image": "^1.11.0",
|
||||||
"expo-linking": "^6.2.2",
|
"expo-linking": "^6.2.2",
|
||||||
"expo-localization": "^14.8.3",
|
"expo-localization": "^14.8.3",
|
||||||
"expo-notifications": "^0.27.6",
|
"expo-notifications": "^0.27.6",
|
||||||
|
@ -68,14 +68,14 @@
|
||||||
"lodash": "^4.17.21",
|
"lodash": "^4.17.21",
|
||||||
"react": "^18.2.0",
|
"react": "^18.2.0",
|
||||||
"react-dom": "^18.2.0",
|
"react-dom": "^18.2.0",
|
||||||
"react-i18next": "^14.0.2",
|
"react-i18next": "^14.0.5",
|
||||||
"react-intl": "^6.6.2",
|
"react-intl": "^6.6.2",
|
||||||
"react-native": "^0.73.3",
|
"react-native": "^0.73.4",
|
||||||
"react-native-flash-message": "^0.4.2",
|
"react-native-flash-message": "^0.4.2",
|
||||||
"react-native-gesture-handler": "^2.14.1",
|
"react-native-gesture-handler": "^2.15.0",
|
||||||
"react-native-image-picker": "^7.1.0",
|
"react-native-image-picker": "^7.1.0",
|
||||||
"react-native-ios-context-menu": "^2.3.0",
|
"react-native-ios-context-menu": "^2.3.2",
|
||||||
"react-native-ios-utilities": "^4.2.3",
|
"react-native-ios-utilities": "^4.3.0",
|
||||||
"react-native-language-detection": "^0.2.2",
|
"react-native-language-detection": "^0.2.2",
|
||||||
"react-native-mmkv": "^2.11.0",
|
"react-native-mmkv": "^2.11.0",
|
||||||
"react-native-pager-view": "^6.2.3",
|
"react-native-pager-view": "^6.2.3",
|
||||||
|
@ -96,12 +96,12 @@
|
||||||
"@babel/plugin-proposal-optional-chaining": "^7.21.0",
|
"@babel/plugin-proposal-optional-chaining": "^7.21.0",
|
||||||
"@babel/preset-typescript": "^7.23.3",
|
"@babel/preset-typescript": "^7.23.3",
|
||||||
"@expo/config": "^8.5.4",
|
"@expo/config": "^8.5.4",
|
||||||
"@react-native/metro-config": "^0.73.4",
|
"@react-native/metro-config": "^0.73.5",
|
||||||
"@react-native/typescript-config": "^0.74.0",
|
"@react-native/typescript-config": "^0.74.0",
|
||||||
"@types/diff": "^5.0.9",
|
"@types/diff": "^5.0.9",
|
||||||
"@types/linkify-it": "^3.0.5",
|
"@types/linkify-it": "^3.0.5",
|
||||||
"@types/lodash": "^4.14.202",
|
"@types/lodash": "^4.14.202",
|
||||||
"@types/react": "^18.2.52",
|
"@types/react": "^18.2.55",
|
||||||
"@types/react-dom": "^18.2.18",
|
"@types/react-dom": "^18.2.18",
|
||||||
"@types/react-native-share-menu": "^5.0.5",
|
"@types/react-native-share-menu": "^5.0.5",
|
||||||
"babel-plugin-module-resolver": "^5.0.0",
|
"babel-plugin-module-resolver": "^5.0.0",
|
||||||
|
@ -113,12 +113,9 @@
|
||||||
},
|
},
|
||||||
"packageManager": "yarn@4.1.0",
|
"packageManager": "yarn@4.1.0",
|
||||||
"resolutions": {
|
"resolutions": {
|
||||||
"expo-av@^13.0.2": "patch:expo-av@npm%3A13.0.2#./.yarn/patches/expo-av-npm-13.0.2-7a651776f1.patch",
|
|
||||||
"react-native-share-menu@^6.0.0": "patch:react-native-share-menu@npm%3A6.0.0#./.yarn/patches/react-native-share-menu-npm-6.0.0-f1094c3204.patch",
|
"react-native-share-menu@^6.0.0": "patch:react-native-share-menu@npm%3A6.0.0#./.yarn/patches/react-native-share-menu-npm-6.0.0-f1094c3204.patch",
|
||||||
"@types/react-native-share-menu@^5.0.2": "patch:@types/react-native-share-menu@npm%3A5.0.2#./.yarn/patches/@types-react-native-share-menu-npm-5.0.2-373df17ecc.patch",
|
"@types/react-native-share-menu@^5.0.2": "patch:@types/react-native-share-menu@npm%3A5.0.2#./.yarn/patches/@types-react-native-share-menu-npm-5.0.2-373df17ecc.patch",
|
||||||
"react-native-ios-context-menu@^1.15.1": "patch:react-native-ios-context-menu@npm%3A1.15.1#./.yarn/patches/react-native-ios-context-menu-npm-1.15.1-0034bfa5ba.patch",
|
"react-native-ios-context-menu@^2.3.2": "patch:react-native-ios-context-menu@npm%3A2.3.2#~/.yarn/patches/react-native-ios-context-menu-npm-2.3.2-9099ed7858.patch",
|
||||||
"react-native-reanimated-zoom@^0.3.3": "patch:react-native-reanimated-zoom@npm%3A0.3.3#./.yarn/patches/react-native-reanimated-zoom-npm-0.3.3-bbb8d84109.patch",
|
"react-native-reanimated-zoom@^0.3.3": "patch:react-native-reanimated-zoom@npm%3A0.3.3#./.yarn/patches/react-native-reanimated-zoom-npm-0.3.3-bbb8d84109.patch"
|
||||||
"react-native@^0.72.0": "patch:react-native@npm%3A0.72.0#./.yarn/patches/react-native-npm-0.72.0-66f5fd62b3.patch",
|
|
||||||
"@mattermost/react-native-paste-input@^0.6.2": "patch:@mattermost/react-native-paste-input@npm%3A0.6.2#./.yarn/patches/@mattermost-react-native-paste-input-npm-0.6.2-e109419dfb.patch"
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
import Icon, { IconName } from '@components/Icon'
|
import Icon, { IconName } from '@components/Icon'
|
||||||
import CustomText from '@components/Text'
|
import CustomText from '@components/Text'
|
||||||
|
import { useNavigation } from '@react-navigation/native'
|
||||||
import { StyleConstants } from '@utils/styles/constants'
|
import { StyleConstants } from '@utils/styles/constants'
|
||||||
import { useTheme } from '@utils/styles/ThemeManager'
|
import { useTheme } from '@utils/styles/ThemeManager'
|
||||||
import React from 'react'
|
import React from 'react'
|
||||||
|
@ -9,7 +10,7 @@ export type Props = {
|
||||||
native?: boolean
|
native?: boolean
|
||||||
background?: boolean
|
background?: boolean
|
||||||
|
|
||||||
onPress: () => void
|
onPress?: () => void
|
||||||
} & ({ type?: undefined; content?: IconName } | { type: 'text'; content: string })
|
} & ({ type?: undefined; content?: IconName } | { type: 'text'; content: string })
|
||||||
|
|
||||||
const HeaderLeft: React.FC<Props> = ({
|
const HeaderLeft: React.FC<Props> = ({
|
||||||
|
@ -19,6 +20,7 @@ const HeaderLeft: React.FC<Props> = ({
|
||||||
background = false,
|
background = false,
|
||||||
onPress
|
onPress
|
||||||
}) => {
|
}) => {
|
||||||
|
const navigation = useNavigation()
|
||||||
const { colors } = useTheme()
|
const { colors } = useTheme()
|
||||||
|
|
||||||
const children = () => {
|
const children = () => {
|
||||||
|
@ -40,7 +42,7 @@ const HeaderLeft: React.FC<Props> = ({
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Pressable
|
<Pressable
|
||||||
onPress={onPress}
|
onPress={onPress ? onPress : () => navigation.goBack()}
|
||||||
children={children()}
|
children={children()}
|
||||||
style={{
|
style={{
|
||||||
flexDirection: 'row',
|
flexDirection: 'row',
|
||||||
|
|
|
@ -1,18 +1,18 @@
|
||||||
import { StyleConstants } from '@utils/styles/constants'
|
|
||||||
import { useTheme } from '@utils/styles/ThemeManager'
|
import { useTheme } from '@utils/styles/ThemeManager'
|
||||||
|
import { StyleConstants } from '@utils/styles/constants'
|
||||||
import React from 'react'
|
import React from 'react'
|
||||||
import { Pressable, View } from 'react-native'
|
import { Pressable, View } from 'react-native'
|
||||||
import haptics from './haptics'
|
|
||||||
import Icon from './Icon'
|
import Icon from './Icon'
|
||||||
import { ParseEmojis } from './Parse'
|
import { ParseEmojis } from './Parse'
|
||||||
import CustomText from './Text'
|
import CustomText from './Text'
|
||||||
|
import haptics from './haptics'
|
||||||
|
|
||||||
export interface Props {
|
export interface Props {
|
||||||
title?: string
|
title?: string
|
||||||
|
|
||||||
multiple?: boolean
|
multiple?: boolean
|
||||||
options: { selected: boolean; content: string }[]
|
options: { selected: boolean; content: string }[]
|
||||||
setOptions: React.Dispatch<React.SetStateAction<{ selected: boolean; content: string }[]>>
|
setOptions: React.Dispatch<React.SetStateAction<any>>
|
||||||
disabled?: boolean
|
disabled?: boolean
|
||||||
invalid?: boolean
|
invalid?: boolean
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,4 +1,3 @@
|
||||||
import { HeaderLeft } from '@components/Header'
|
|
||||||
import Icon from '@components/Icon'
|
import Icon from '@components/Icon'
|
||||||
import { SwipeToActions } from '@components/SwipeToActions'
|
import { SwipeToActions } from '@components/SwipeToActions'
|
||||||
import CustomText from '@components/Text'
|
import CustomText from '@components/Text'
|
||||||
|
@ -7,10 +6,10 @@ import { connectMedia } from '@utils/api/helpers/connect'
|
||||||
import apiInstance from '@utils/api/instance'
|
import apiInstance from '@utils/api/instance'
|
||||||
import { ScreenComposeStackScreenProps } from '@utils/navigation/navigators'
|
import { ScreenComposeStackScreenProps } from '@utils/navigation/navigators'
|
||||||
import { getAccountStorage, setAccountStorage, useAccountStorage } from '@utils/storage/actions'
|
import { getAccountStorage, setAccountStorage, useAccountStorage } from '@utils/storage/actions'
|
||||||
import { StyleConstants } from '@utils/styles/constants'
|
|
||||||
import { useTheme } from '@utils/styles/ThemeManager'
|
import { useTheme } from '@utils/styles/ThemeManager'
|
||||||
|
import { StyleConstants } from '@utils/styles/constants'
|
||||||
import { Image } from 'expo-image'
|
import { Image } from 'expo-image'
|
||||||
import React, { useContext, useEffect, useState } from 'react'
|
import React, { useContext, useState } from 'react'
|
||||||
import { useTranslation } from 'react-i18next'
|
import { useTranslation } from 'react-i18next'
|
||||||
import { Dimensions, Modal, Pressable, View } from 'react-native'
|
import { Dimensions, Modal, Pressable, View } from 'react-native'
|
||||||
import ComposeContext from './utils/createContext'
|
import ComposeContext from './utils/createContext'
|
||||||
|
@ -35,13 +34,6 @@ const ComposeDraftsList: React.FC<ScreenComposeStackScreenProps<'Screen-Compose-
|
||||||
const { colors } = useTheme()
|
const { colors } = useTheme()
|
||||||
const { t } = useTranslation('screenCompose')
|
const { t } = useTranslation('screenCompose')
|
||||||
|
|
||||||
useEffect(() => {
|
|
||||||
navigation.setOptions({
|
|
||||||
title: t('content.draftsList.header.title'),
|
|
||||||
headerLeft: () => <HeaderLeft content='chevron-down' onPress={() => navigation.goBack()} />
|
|
||||||
})
|
|
||||||
}, [])
|
|
||||||
|
|
||||||
const { composeDispatch } = useContext(ComposeContext)
|
const { composeDispatch } = useContext(ComposeContext)
|
||||||
const [drafts] = useAccountStorage.object('drafts')
|
const [drafts] = useAccountStorage.object('drafts')
|
||||||
const [checkingAttachments, setCheckingAttachments] = useState(false)
|
const [checkingAttachments, setCheckingAttachments] = useState(false)
|
||||||
|
|
|
@ -38,7 +38,6 @@ const ComposeEditAttachment: React.FC<
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
navigation.setOptions({
|
navigation.setOptions({
|
||||||
title: t('screenCompose:content.editAttachment.header.title'),
|
|
||||||
headerLeft: () => (
|
headerLeft: () => (
|
||||||
<HeaderLeft
|
<HeaderLeft
|
||||||
content='chevron-down'
|
content='chevron-down'
|
||||||
|
|
|
@ -414,12 +414,21 @@ const ScreenCompose: React.FC<RootStackScreenProps<'Screen-Compose'>> = ({
|
||||||
<Stack.Screen
|
<Stack.Screen
|
||||||
name='Screen-Compose-DraftsList'
|
name='Screen-Compose-DraftsList'
|
||||||
component={ComposeDraftsList}
|
component={ComposeDraftsList}
|
||||||
options={{ presentation: 'modal', headerShadowVisible: false }}
|
options={{
|
||||||
|
presentation: 'modal',
|
||||||
|
headerShadowVisible: false,
|
||||||
|
title: t('screenCompose:content.draftsList.header.title'),
|
||||||
|
headerLeft: () => <HeaderLeft content='chevron-down' />
|
||||||
|
}}
|
||||||
/>
|
/>
|
||||||
<Stack.Screen
|
<Stack.Screen
|
||||||
name='Screen-Compose-EditAttachment'
|
name='Screen-Compose-EditAttachment'
|
||||||
component={ComposeEditAttachment}
|
component={ComposeEditAttachment}
|
||||||
options={{ presentation: 'modal', headerShadowVisible: false }}
|
options={{
|
||||||
|
presentation: 'modal',
|
||||||
|
headerShadowVisible: false,
|
||||||
|
title: t('screenCompose:content.editAttachment.header.title')
|
||||||
|
}}
|
||||||
/>
|
/>
|
||||||
</Stack.Navigator>
|
</Stack.Navigator>
|
||||||
</ComposeContext.Provider>
|
</ComposeContext.Provider>
|
||||||
|
|
|
@ -4,15 +4,19 @@ import usePopToTop from '@utils/navigation/usePopToTop'
|
||||||
import React from 'react'
|
import React from 'react'
|
||||||
import TabShared from '../Shared'
|
import TabShared from '../Shared'
|
||||||
import Root from './Root'
|
import Root from './Root'
|
||||||
|
import { HeaderLeft } from '@components/Header'
|
||||||
|
|
||||||
const Stack = createNativeStackNavigator<TabLocalStackParamList>()
|
const Stack = createNativeStackNavigator<TabLocalStackParamList>()
|
||||||
|
|
||||||
const TabLocal: React.FC = () => {
|
const TabLocal: React.FC = () => {
|
||||||
usePopToTop('Tab-Local-Root')
|
usePopToTop('Tab-Local-Root')
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Stack.Navigator screenOptions={{ headerShadowVisible: false }}>
|
<Stack.Navigator
|
||||||
|
screenOptions={{ headerShadowVisible: false, headerLeft: () => <HeaderLeft /> }}
|
||||||
|
>
|
||||||
<Stack.Screen name='Tab-Local-Root' component={Root} />
|
<Stack.Screen name='Tab-Local-Root' component={Root} />
|
||||||
{TabShared({ Stack })}
|
{TabShared(Stack)}
|
||||||
</Stack.Navigator>
|
</Stack.Navigator>
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
|
@ -51,7 +51,7 @@ const TabMePreferencesFilter: React.FC<
|
||||||
const titleState = useState(params.type === 'edit' ? params.filter.title : '')
|
const titleState = useState(params.type === 'edit' ? params.filter.title : '')
|
||||||
|
|
||||||
const expirations = ['0', '1800', '3600', '43200', '86400', '604800', '18144000'] as const
|
const expirations = ['0', '1800', '3600', '43200', '86400', '604800', '18144000'] as const
|
||||||
const [expiration, setExpiration] = useState<typeof expirations[number]>('0')
|
const [expiration, setExpiration] = useState<(typeof expirations)[number]>('0')
|
||||||
|
|
||||||
const [contexts, setContexts] = useState<
|
const [contexts, setContexts] = useState<
|
||||||
{
|
{
|
||||||
|
@ -226,8 +226,10 @@ const TabMePreferencesFilter: React.FC<
|
||||||
cancelButtonIndex: expirations.length,
|
cancelButtonIndex: expirations.length,
|
||||||
...androidActionSheetStyles(colors)
|
...androidActionSheetStyles(colors)
|
||||||
},
|
},
|
||||||
(selectedIndex: number) => {
|
selectedIndex => {
|
||||||
selectedIndex < expirations.length && setExpiration(expirations[selectedIndex])
|
selectedIndex &&
|
||||||
|
selectedIndex < expirations.length &&
|
||||||
|
setExpiration(expirations[selectedIndex])
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
|
@ -12,7 +12,7 @@ import TabMeProfileRoot from './Root'
|
||||||
|
|
||||||
const Stack = createNativeStackNavigator<TabMeProfileStackParamList>()
|
const Stack = createNativeStackNavigator<TabMeProfileStackParamList>()
|
||||||
|
|
||||||
const TabMeProfile: React.FC<TabMeStackScreenProps<'Tab-Me-Switch'>> = ({ navigation }) => {
|
const TabMeProfile: React.FC<TabMeStackScreenProps<'Tab-Me-Profile'>> = ({ navigation }) => {
|
||||||
const { t } = useTranslation('screenTabs')
|
const { t } = useTranslation('screenTabs')
|
||||||
const messageRef = useRef<FlashMessage>(null)
|
const messageRef = useRef<FlashMessage>(null)
|
||||||
|
|
||||||
|
|
|
@ -156,7 +156,7 @@ const TabMe: React.FC = () => {
|
||||||
})}
|
})}
|
||||||
/>
|
/>
|
||||||
|
|
||||||
{TabShared({ Stack })}
|
{TabShared(Stack)}
|
||||||
</Stack.Navigator>
|
</Stack.Navigator>
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
|
@ -54,7 +54,7 @@ const TabNotifications: React.FC = () => {
|
||||||
component={TabNotificationsFilters}
|
component={TabNotificationsFilters}
|
||||||
options={{ presentation: 'modal', gestureEnabled: false }}
|
options={{ presentation: 'modal', gestureEnabled: false }}
|
||||||
/>
|
/>
|
||||||
{TabShared({ Stack })}
|
{TabShared(Stack)}
|
||||||
</Stack.Navigator>
|
</Stack.Navigator>
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
|
@ -12,7 +12,7 @@ const TabPublic: React.FC = () => {
|
||||||
return (
|
return (
|
||||||
<Stack.Navigator screenOptions={{ headerShadowVisible: false }}>
|
<Stack.Navigator screenOptions={{ headerShadowVisible: false }}>
|
||||||
<Stack.Screen name='Tab-Public-Root' component={Root} />
|
<Stack.Screen name='Tab-Public-Root' component={Root} />
|
||||||
{TabShared({ Stack })}
|
{TabShared(Stack)}
|
||||||
</Stack.Navigator>
|
</Stack.Navigator>
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,17 +1,17 @@
|
||||||
import menuAccount from '@components/contextMenu/account'
|
import { HeaderRight } from '@components/Header'
|
||||||
import menuShare from '@components/contextMenu/share'
|
|
||||||
import { HeaderLeft, HeaderRight } from '@components/Header'
|
|
||||||
import Icon from '@components/Icon'
|
import Icon from '@components/Icon'
|
||||||
import CustomText from '@components/Text'
|
import CustomText from '@components/Text'
|
||||||
import Timeline from '@components/Timeline'
|
import Timeline from '@components/Timeline'
|
||||||
|
import menuAccount from '@components/contextMenu/account'
|
||||||
|
import menuShare from '@components/contextMenu/share'
|
||||||
import { TabSharedStackScreenProps } from '@utils/navigation/navigators'
|
import { TabSharedStackScreenProps } from '@utils/navigation/navigators'
|
||||||
import { queryClient } from '@utils/queryHooks'
|
import { queryClient } from '@utils/queryHooks'
|
||||||
import { useAccountQuery } from '@utils/queryHooks/account'
|
import { useAccountQuery } from '@utils/queryHooks/account'
|
||||||
import { useRelationshipQuery } from '@utils/queryHooks/relationship'
|
import { useRelationshipQuery } from '@utils/queryHooks/relationship'
|
||||||
import { QueryKeyTimeline } from '@utils/queryHooks/timeline'
|
import { QueryKeyTimeline } from '@utils/queryHooks/timeline'
|
||||||
import { useAccountStorage } from '@utils/storage/actions'
|
import { useAccountStorage } from '@utils/storage/actions'
|
||||||
import { StyleConstants } from '@utils/styles/constants'
|
|
||||||
import { useTheme } from '@utils/styles/ThemeManager'
|
import { useTheme } from '@utils/styles/ThemeManager'
|
||||||
|
import { StyleConstants } from '@utils/styles/constants'
|
||||||
import React, { Fragment, useEffect, useMemo } from 'react'
|
import React, { Fragment, useEffect, useMemo } from 'react'
|
||||||
import { useTranslation } from 'react-i18next'
|
import { useTranslation } from 'react-i18next'
|
||||||
import { Platform, Pressable, Text, View } from 'react-native'
|
import { Platform, Pressable, Text, View } from 'react-native'
|
||||||
|
@ -65,8 +65,6 @@ const TabSharedAccount: React.FC<TabSharedStackScreenProps<'Tab-Shared-Account'>
|
||||||
navigation.setOptions({
|
navigation.setOptions({
|
||||||
headerTransparent: true,
|
headerTransparent: true,
|
||||||
headerStyle: { backgroundColor: `rgba(255, 255, 255, 0)` },
|
headerStyle: { backgroundColor: `rgba(255, 255, 255, 0)` },
|
||||||
title: '',
|
|
||||||
headerLeft: () => <HeaderLeft onPress={() => navigation.goBack()} background />,
|
|
||||||
headerRight: () => {
|
headerRight: () => {
|
||||||
return (
|
return (
|
||||||
<DropdownMenu.Root>
|
<DropdownMenu.Root>
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
import Button from '@components/Button'
|
import Button from '@components/Button'
|
||||||
import haptics from '@components/haptics'
|
import haptics from '@components/haptics'
|
||||||
import { HeaderRight } from '@components/Header'
|
|
||||||
import { MenuRow } from '@components/Menu'
|
import { MenuRow } from '@components/Menu'
|
||||||
import CustomText from '@components/Text'
|
import CustomText from '@components/Text'
|
||||||
import { TabSharedStackScreenProps } from '@utils/navigation/navigators'
|
import { TabSharedStackScreenProps } from '@utils/navigation/navigators'
|
||||||
|
@ -8,14 +7,13 @@ import { useAccountInListsQuery } from '@utils/queryHooks/account'
|
||||||
import { useListAccountsMutation, useListsQuery } from '@utils/queryHooks/lists'
|
import { useListAccountsMutation, useListsQuery } from '@utils/queryHooks/lists'
|
||||||
import { StyleConstants } from '@utils/styles/constants'
|
import { StyleConstants } from '@utils/styles/constants'
|
||||||
import { useTheme } from '@utils/styles/ThemeManager'
|
import { useTheme } from '@utils/styles/ThemeManager'
|
||||||
import React, { useEffect } from 'react'
|
import React from 'react'
|
||||||
import { useTranslation } from 'react-i18next'
|
import { useTranslation } from 'react-i18next'
|
||||||
import { SectionList, View } from 'react-native'
|
import { SectionList, View } from 'react-native'
|
||||||
|
|
||||||
const TabSharedAccountInLists: React.FC<
|
const TabSharedAccountInLists: React.FC<
|
||||||
TabSharedStackScreenProps<'Tab-Shared-Account-In-Lists'>
|
TabSharedStackScreenProps<'Tab-Shared-Account-In-Lists'>
|
||||||
> = ({
|
> = ({
|
||||||
navigation,
|
|
||||||
route: {
|
route: {
|
||||||
params: { account }
|
params: { account }
|
||||||
}
|
}
|
||||||
|
@ -23,20 +21,6 @@ const TabSharedAccountInLists: React.FC<
|
||||||
const { colors } = useTheme()
|
const { colors } = useTheme()
|
||||||
const { t } = useTranslation(['common', 'screenTabs'])
|
const { t } = useTranslation(['common', 'screenTabs'])
|
||||||
|
|
||||||
useEffect(() => {
|
|
||||||
navigation.setOptions({
|
|
||||||
presentation: 'modal',
|
|
||||||
title: t('screenTabs:shared.accountInLists.name', { username: account.username }),
|
|
||||||
headerRight: () => (
|
|
||||||
<HeaderRight
|
|
||||||
type='text'
|
|
||||||
content={t('common:buttons.done')}
|
|
||||||
onPress={() => navigation.pop(1)}
|
|
||||||
/>
|
|
||||||
)
|
|
||||||
})
|
|
||||||
}, [])
|
|
||||||
|
|
||||||
const listsQuery = useListsQuery()
|
const listsQuery = useListsQuery()
|
||||||
const accountInListsQuery = useAccountInListsQuery({ id: account.id })
|
const accountInListsQuery = useAccountInListsQuery({ id: account.id })
|
||||||
|
|
||||||
|
|
|
@ -1,12 +1,7 @@
|
||||||
import { HeaderLeft } from '@components/Header'
|
|
||||||
import { ParseEmojis } from '@components/Parse'
|
|
||||||
import CustomText from '@components/Text'
|
|
||||||
import Timeline from '@components/Timeline'
|
import Timeline from '@components/Timeline'
|
||||||
import { TabSharedStackScreenProps } from '@utils/navigation/navigators'
|
import { TabSharedStackScreenProps } from '@utils/navigation/navigators'
|
||||||
import { QueryKeyTimeline } from '@utils/queryHooks/timeline'
|
import { QueryKeyTimeline } from '@utils/queryHooks/timeline'
|
||||||
import { useTheme } from '@utils/styles/ThemeManager'
|
|
||||||
import React, { useEffect } from 'react'
|
import React, { useEffect } from 'react'
|
||||||
import { Trans } from 'react-i18next'
|
|
||||||
|
|
||||||
const TabSharedAttachments: React.FC<TabSharedStackScreenProps<'Tab-Shared-Attachments'>> = ({
|
const TabSharedAttachments: React.FC<TabSharedStackScreenProps<'Tab-Shared-Attachments'>> = ({
|
||||||
navigation,
|
navigation,
|
||||||
|
@ -14,33 +9,7 @@ const TabSharedAttachments: React.FC<TabSharedStackScreenProps<'Tab-Shared-Attac
|
||||||
params: { account }
|
params: { account }
|
||||||
}
|
}
|
||||||
}) => {
|
}) => {
|
||||||
const { colors } = useTheme()
|
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
navigation.setOptions({
|
|
||||||
headerLeft: () => <HeaderLeft onPress={() => navigation.goBack()} background />,
|
|
||||||
headerTitle: () => (
|
|
||||||
<CustomText numberOfLines={1}>
|
|
||||||
<Trans
|
|
||||||
ns='screenTabs'
|
|
||||||
i18nKey='shared.attachments.name'
|
|
||||||
components={[
|
|
||||||
<ParseEmojis
|
|
||||||
content={account.display_name || account.username}
|
|
||||||
emojis={account.emojis}
|
|
||||||
fontBold
|
|
||||||
/>,
|
|
||||||
<CustomText
|
|
||||||
fontStyle='M'
|
|
||||||
style={{ color: colors.primaryDefault }}
|
|
||||||
fontWeight='Bold'
|
|
||||||
/>
|
|
||||||
]}
|
|
||||||
/>
|
|
||||||
</CustomText>
|
|
||||||
),
|
|
||||||
headerBackVisible: false
|
|
||||||
})
|
|
||||||
navigation.setParams({ queryKey })
|
navigation.setParams({ queryKey })
|
||||||
}, [])
|
}, [])
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
import Button from '@components/Button'
|
import Button from '@components/Button'
|
||||||
import { Filter } from '@components/Filter'
|
import { Filter } from '@components/Filter'
|
||||||
import { HeaderRight } from '@components/Header'
|
|
||||||
import Hr from '@components/Hr'
|
import Hr from '@components/Hr'
|
||||||
import CustomText from '@components/Text'
|
import CustomText from '@components/Text'
|
||||||
import { featureCheck } from '@utils/helpers/featureCheck'
|
import { featureCheck } from '@utils/helpers/featureCheck'
|
||||||
|
@ -8,7 +7,7 @@ import { TabSharedStackScreenProps, useNavState } from '@utils/navigation/naviga
|
||||||
import { useFilterMutation, useFiltersQuery } from '@utils/queryHooks/filters'
|
import { useFilterMutation, useFiltersQuery } from '@utils/queryHooks/filters'
|
||||||
import { StyleConstants } from '@utils/styles/constants'
|
import { StyleConstants } from '@utils/styles/constants'
|
||||||
import { useTheme } from '@utils/styles/ThemeManager'
|
import { useTheme } from '@utils/styles/ThemeManager'
|
||||||
import React, { useEffect } from 'react'
|
import React from 'react'
|
||||||
import { useTranslation } from 'react-i18next'
|
import { useTranslation } from 'react-i18next'
|
||||||
import { SectionList, View } from 'react-native'
|
import { SectionList, View } from 'react-native'
|
||||||
|
|
||||||
|
@ -24,19 +23,6 @@ const TabSharedFilter: React.FC<TabSharedStackScreenProps<'Tab-Shared-Filter'>>
|
||||||
const { colors } = useTheme()
|
const { colors } = useTheme()
|
||||||
const { t } = useTranslation(['common', 'screenTabs'])
|
const { t } = useTranslation(['common', 'screenTabs'])
|
||||||
|
|
||||||
useEffect(() => {
|
|
||||||
navigation.setOptions({
|
|
||||||
title: t('screenTabs:shared.filter.name'),
|
|
||||||
headerRight: () => (
|
|
||||||
<HeaderRight
|
|
||||||
type='text'
|
|
||||||
content={t('common:buttons.done')}
|
|
||||||
onPress={() => navigation.goBack()}
|
|
||||||
/>
|
|
||||||
)
|
|
||||||
})
|
|
||||||
}, [])
|
|
||||||
|
|
||||||
const { data, isFetching, refetch } = useFiltersQuery<'v2'>({ version: 'v2' })
|
const { data, isFetching, refetch } = useFiltersQuery<'v2'>({ version: 'v2' })
|
||||||
const sections = [
|
const sections = [
|
||||||
{
|
{
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
import menuHashtag from '@components/contextMenu/hashtag'
|
import menuHashtag from '@components/contextMenu/hashtag'
|
||||||
import { HeaderLeft, HeaderRight } from '@components/Header'
|
import { HeaderRight } from '@components/Header'
|
||||||
import Timeline from '@components/Timeline'
|
import Timeline from '@components/Timeline'
|
||||||
import { featureCheck } from '@utils/helpers/featureCheck'
|
import { featureCheck } from '@utils/helpers/featureCheck'
|
||||||
import { TabSharedStackScreenProps } from '@utils/navigation/navigators'
|
import { TabSharedStackScreenProps } from '@utils/navigation/navigators'
|
||||||
|
@ -20,10 +20,6 @@ const TabSharedHashtag: React.FC<TabSharedStackScreenProps<'Tab-Shared-Hashtag'>
|
||||||
const mHashtag = menuHashtag({ tag_name, queryKey })
|
const mHashtag = menuHashtag({ tag_name, queryKey })
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
navigation.setOptions({
|
|
||||||
headerLeft: () => <HeaderLeft onPress={() => navigation.goBack()} />,
|
|
||||||
title: `#${decodeURIComponent(tag_name)}`
|
|
||||||
})
|
|
||||||
navigation.setParams({ queryKey: queryKey })
|
navigation.setParams({ queryKey: queryKey })
|
||||||
}, [])
|
}, [])
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,3 @@
|
||||||
import { HeaderLeft } from '@components/Header'
|
|
||||||
import Icon from '@components/Icon'
|
import Icon from '@components/Icon'
|
||||||
import { ParseEmojis } from '@components/Parse'
|
import { ParseEmojis } from '@components/Parse'
|
||||||
import ComponentSeparator from '@components/Separator'
|
import ComponentSeparator from '@components/Separator'
|
||||||
|
@ -12,8 +11,7 @@ import { useStatusHistory } from '@utils/queryHooks/statusesHistory'
|
||||||
import { StyleConstants } from '@utils/styles/constants'
|
import { StyleConstants } from '@utils/styles/constants'
|
||||||
import { useTheme } from '@utils/styles/ThemeManager'
|
import { useTheme } from '@utils/styles/ThemeManager'
|
||||||
import { diffChars, diffWords } from 'diff'
|
import { diffChars, diffWords } from 'diff'
|
||||||
import React, { useEffect } from 'react'
|
import React from 'react'
|
||||||
import { useTranslation } from 'react-i18next'
|
|
||||||
import { FlatList, View } from 'react-native'
|
import { FlatList, View } from 'react-native'
|
||||||
|
|
||||||
const SCRIPTS_WITHOUT_BOUNDARIES = [
|
const SCRIPTS_WITHOUT_BOUNDARIES = [
|
||||||
|
@ -136,21 +134,12 @@ const ContentView: React.FC<{
|
||||||
}
|
}
|
||||||
|
|
||||||
const TabSharedHistory: React.FC<TabSharedStackScreenProps<'Tab-Shared-History'>> = ({
|
const TabSharedHistory: React.FC<TabSharedStackScreenProps<'Tab-Shared-History'>> = ({
|
||||||
navigation,
|
|
||||||
route: {
|
route: {
|
||||||
params: { status, detectedLanguage }
|
params: { status, detectedLanguage }
|
||||||
}
|
}
|
||||||
}) => {
|
}) => {
|
||||||
const { t } = useTranslation('screenTabs')
|
|
||||||
const { data } = useStatusHistory({ status })
|
const { data } = useStatusHistory({ status })
|
||||||
|
|
||||||
useEffect(() => {
|
|
||||||
navigation.setOptions({
|
|
||||||
title: t('shared.history.name'),
|
|
||||||
headerLeft: () => <HeaderLeft onPress={() => navigation.goBack()} />
|
|
||||||
})
|
|
||||||
}, [])
|
|
||||||
|
|
||||||
const dataReversed = data ? [...data].reverse() : []
|
const dataReversed = data ? [...data].reverse() : []
|
||||||
|
|
||||||
const withoutBoundary = !!SCRIPTS_WITHOUT_BOUNDARIES.filter(script =>
|
const withoutBoundary = !!SCRIPTS_WITHOUT_BOUNDARIES.filter(script =>
|
||||||
|
|
|
@ -13,7 +13,7 @@ import React, { useEffect, useState } from 'react'
|
||||||
import { useTranslation } from 'react-i18next'
|
import { useTranslation } from 'react-i18next'
|
||||||
import { Pressable, View } from 'react-native'
|
import { Pressable, View } from 'react-native'
|
||||||
|
|
||||||
const TabSharedMute: React.FC<TabSharedStackScreenProps<'Tab-Shared-Report'>> = ({
|
const TabSharedMute: React.FC<TabSharedStackScreenProps<'Tab-Shared-Mute'>> = ({
|
||||||
navigation,
|
navigation,
|
||||||
route: {
|
route: {
|
||||||
params: { account }
|
params: { account }
|
||||||
|
@ -47,14 +47,6 @@ const TabSharedMute: React.FC<TabSharedStackScreenProps<'Tab-Shared-Report'>> =
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
navigation.setOptions({
|
navigation.setOptions({
|
||||||
title: t('screenTabs:shared.mute.name', { acct: `@${account.acct}` }),
|
|
||||||
headerLeft: () => (
|
|
||||||
<HeaderLeft
|
|
||||||
type='text'
|
|
||||||
content={t('common:buttons.cancel')}
|
|
||||||
onPress={() => navigation.goBack()}
|
|
||||||
/>
|
|
||||||
),
|
|
||||||
headerRight: () => (
|
headerRight: () => (
|
||||||
<HeaderRight
|
<HeaderRight
|
||||||
type='text'
|
type='text'
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
import ComponentAccount from '@components/Account'
|
import ComponentAccount from '@components/Account'
|
||||||
import { HeaderLeft, HeaderRight } from '@components/Header'
|
import { HeaderRight } from '@components/Header'
|
||||||
import { ModalScrollView } from '@components/ModalScrollView'
|
import { ModalScrollView } from '@components/ModalScrollView'
|
||||||
import Selections from '@components/Selections'
|
import Selections from '@components/Selections'
|
||||||
import CustomText from '@components/Text'
|
import CustomText from '@components/Text'
|
||||||
|
@ -38,14 +38,6 @@ const TabSharedReport: React.FC<TabSharedStackScreenProps<'Tab-Shared-Report'>>
|
||||||
const [isReporting, setIsReporting] = useState(false)
|
const [isReporting, setIsReporting] = useState(false)
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
navigation.setOptions({
|
navigation.setOptions({
|
||||||
title: t('screenTabs:shared.report.name', { acct: `@${account.acct}` }),
|
|
||||||
headerLeft: () => (
|
|
||||||
<HeaderLeft
|
|
||||||
type='text'
|
|
||||||
content={t('common:buttons.cancel')}
|
|
||||||
onPress={() => navigation.goBack()}
|
|
||||||
/>
|
|
||||||
),
|
|
||||||
headerRight: () => (
|
headerRight: () => (
|
||||||
<HeaderRight
|
<HeaderRight
|
||||||
type='text'
|
type='text'
|
||||||
|
|
|
@ -1,13 +1,12 @@
|
||||||
import ComponentAccount from '@components/Account'
|
import ComponentAccount from '@components/Account'
|
||||||
import ComponentHashtag from '@components/Hashtag'
|
import ComponentHashtag from '@components/Hashtag'
|
||||||
import { HeaderLeft } from '@components/Header'
|
|
||||||
import ComponentSeparator from '@components/Separator'
|
import ComponentSeparator from '@components/Separator'
|
||||||
import CustomText from '@components/Text'
|
import CustomText from '@components/Text'
|
||||||
import TimelineDefault from '@components/Timeline/Default'
|
import TimelineDefault from '@components/Timeline/Default'
|
||||||
import { TabSharedStackScreenProps } from '@utils/navigation/navigators'
|
import { TabSharedStackScreenProps } from '@utils/navigation/navigators'
|
||||||
import { useSearchQuery } from '@utils/queryHooks/search'
|
import { useSearchQuery } from '@utils/queryHooks/search'
|
||||||
import { StyleConstants } from '@utils/styles/constants'
|
|
||||||
import { useTheme } from '@utils/styles/ThemeManager'
|
import { useTheme } from '@utils/styles/ThemeManager'
|
||||||
|
import { StyleConstants } from '@utils/styles/constants'
|
||||||
import { debounce } from 'lodash'
|
import { debounce } from 'lodash'
|
||||||
import React, { useEffect, useRef, useState } from 'react'
|
import React, { useEffect, useRef, useState } from 'react'
|
||||||
import { Trans, useTranslation } from 'react-i18next'
|
import { Trans, useTranslation } from 'react-i18next'
|
||||||
|
@ -24,7 +23,6 @@ const TabSharedSearch: React.FC<TabSharedStackScreenProps<'Tab-Shared-Search'>>
|
||||||
const [searchTerm, setSearchTerm] = useState<string>('')
|
const [searchTerm, setSearchTerm] = useState<string>('')
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
navigation.setOptions({
|
navigation.setOptions({
|
||||||
headerLeft: () => <HeaderLeft onPress={() => navigation.goBack()} />,
|
|
||||||
headerTitle: () => {
|
headerTitle: () => {
|
||||||
return (
|
return (
|
||||||
<View
|
<View
|
||||||
|
@ -73,8 +71,7 @@ const TabSharedSearch: React.FC<TabSharedStackScreenProps<'Tab-Shared-Search'>>
|
||||||
/>
|
/>
|
||||||
</View>
|
</View>
|
||||||
)
|
)
|
||||||
},
|
}
|
||||||
headerBackVisible: false
|
|
||||||
})
|
})
|
||||||
}, [mode])
|
}, [mode])
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
|
|
|
@ -1,8 +1,6 @@
|
||||||
import { HeaderLeft } from '@components/Header'
|
import { HeaderRight } from '@components/Header'
|
||||||
import Icon from '@components/Icon'
|
|
||||||
import { Loading } from '@components/Loading'
|
import { Loading } from '@components/Loading'
|
||||||
import ComponentSeparator from '@components/Separator'
|
import ComponentSeparator from '@components/Separator'
|
||||||
import CustomText from '@components/Text'
|
|
||||||
import TimelineDefault from '@components/Timeline/Default'
|
import TimelineDefault from '@components/Timeline/Default'
|
||||||
import { useQuery } from '@tanstack/react-query'
|
import { useQuery } from '@tanstack/react-query'
|
||||||
import apiGeneral from '@utils/api/general'
|
import apiGeneral from '@utils/api/general'
|
||||||
|
@ -17,7 +15,7 @@ import { StyleConstants } from '@utils/styles/constants'
|
||||||
import { useTheme } from '@utils/styles/ThemeManager'
|
import { useTheme } from '@utils/styles/ThemeManager'
|
||||||
import React, { useEffect, useRef, useState } from 'react'
|
import React, { useEffect, useRef, useState } from 'react'
|
||||||
import { useTranslation } from 'react-i18next'
|
import { useTranslation } from 'react-i18next'
|
||||||
import { Alert, FlatList, Platform, Pressable, View } from 'react-native'
|
import { Alert, FlatList, Platform, View } from 'react-native'
|
||||||
import { Path, Svg } from 'react-native-svg'
|
import { Path, Svg } from 'react-native-svg'
|
||||||
|
|
||||||
const TabSharedToot: React.FC<TabSharedStackScreenProps<'Tab-Shared-Toot'>> = ({
|
const TabSharedToot: React.FC<TabSharedStackScreenProps<'Tab-Shared-Toot'>> = ({
|
||||||
|
@ -38,37 +36,19 @@ const TabSharedToot: React.FC<TabSharedStackScreenProps<'Tab-Shared-Toot'>> = ({
|
||||||
const flRef = useRef<FlatList<Mastodon.Status & { _level?: number }>>(null)
|
const flRef = useRef<FlatList<Mastodon.Status & { _level?: number }>>(null)
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
|
hasRemoteContent &&
|
||||||
navigation.setOptions({
|
navigation.setOptions({
|
||||||
headerTitle: () => (
|
headerRight: () => (
|
||||||
<Pressable
|
<HeaderRight
|
||||||
style={{ flexDirection: 'row', alignItems: 'center' }}
|
content='wifi'
|
||||||
disabled={!hasRemoteContent}
|
|
||||||
onPress={() =>
|
onPress={() =>
|
||||||
Alert.alert(
|
Alert.alert(
|
||||||
t('screenTabs:shared.toot.remoteFetch.title'),
|
t('screenTabs:shared.toot.remoteFetch.title'),
|
||||||
t('screenTabs:shared.toot.remoteFetch.message')
|
t('screenTabs:shared.toot.remoteFetch.message')
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
>
|
|
||||||
{hasRemoteContent ? (
|
|
||||||
<Icon
|
|
||||||
name='wifi'
|
|
||||||
size={StyleConstants.Font.Size.M}
|
|
||||||
color={colors.primaryDefault}
|
|
||||||
style={{ marginRight: StyleConstants.Spacing.S }}
|
|
||||||
/>
|
/>
|
||||||
) : null}
|
)
|
||||||
<CustomText
|
|
||||||
style={{ color: colors.primaryDefault }}
|
|
||||||
fontSize='L'
|
|
||||||
fontWeight='Bold'
|
|
||||||
numberOfLines={1}
|
|
||||||
children={t('screenTabs:shared.toot.name')}
|
|
||||||
/>
|
|
||||||
</Pressable>
|
|
||||||
),
|
|
||||||
headerLeft: () => <HeaderLeft onPress={() => navigation.goBack()} />,
|
|
||||||
headerBackVisible: false
|
|
||||||
})
|
})
|
||||||
navigation.setParams({ queryKey: queryKey.local })
|
navigation.setParams({ queryKey: queryKey.local })
|
||||||
}, [hasRemoteContent])
|
}, [hasRemoteContent])
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
import ComponentAccount from '@components/Account'
|
import ComponentAccount from '@components/Account'
|
||||||
import { HeaderLeft } from '@components/Header'
|
|
||||||
import Icon from '@components/Icon'
|
import Icon from '@components/Icon'
|
||||||
import { Loading } from '@components/Loading'
|
import { Loading } from '@components/Loading'
|
||||||
import ComponentSeparator from '@components/Separator'
|
import ComponentSeparator from '@components/Separator'
|
||||||
|
@ -9,7 +8,7 @@ import { QueryKeyUsers, useUsersQuery } from '@utils/queryHooks/users'
|
||||||
import { flattenPages } from '@utils/queryHooks/utils'
|
import { flattenPages } from '@utils/queryHooks/utils'
|
||||||
import { StyleConstants } from '@utils/styles/constants'
|
import { StyleConstants } from '@utils/styles/constants'
|
||||||
import { useTheme } from '@utils/styles/ThemeManager'
|
import { useTheme } from '@utils/styles/ThemeManager'
|
||||||
import React, { useEffect } from 'react'
|
import React from 'react'
|
||||||
import { useTranslation } from 'react-i18next'
|
import { useTranslation } from 'react-i18next'
|
||||||
import { View } from 'react-native'
|
import { View } from 'react-native'
|
||||||
import { FlatList } from 'react-native-gesture-handler'
|
import { FlatList } from 'react-native-gesture-handler'
|
||||||
|
@ -20,14 +19,6 @@ const TabSharedUsers: React.FC<TabSharedStackScreenProps<'Tab-Shared-Users'>> =
|
||||||
}) => {
|
}) => {
|
||||||
const { colors } = useTheme()
|
const { colors } = useTheme()
|
||||||
const { t } = useTranslation('screenTabs')
|
const { t } = useTranslation('screenTabs')
|
||||||
useEffect(() => {
|
|
||||||
navigation.setOptions({
|
|
||||||
title: t(`shared.users.${params.reference}.${params.type}`, {
|
|
||||||
count: params.count
|
|
||||||
} as any) as any,
|
|
||||||
headerLeft: () => <HeaderLeft onPress={() => navigation.goBack()} />
|
|
||||||
})
|
|
||||||
}, [])
|
|
||||||
|
|
||||||
const queryKey: QueryKeyUsers = ['Users', params]
|
const queryKey: QueryKeyUsers = ['Users', params]
|
||||||
const { data, isFetching, hasNextPage, fetchNextPage, isFetchingNextPage } = useUsersQuery({
|
const { data, isFetching, hasNextPage, fetchNextPage, isFetchingNextPage } = useUsersQuery({
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
import { HeaderLeft, HeaderRight } from '@components/Header'
|
||||||
|
import { createNativeStackNavigator } from '@react-navigation/native-stack'
|
||||||
import TabSharedAccount from '@screens/Tabs/Shared/Account'
|
import TabSharedAccount from '@screens/Tabs/Shared/Account'
|
||||||
import TabSharedAccountInLists from '@screens/Tabs/Shared/AccountInLists'
|
import TabSharedAccountInLists from '@screens/Tabs/Shared/AccountInLists'
|
||||||
import TabSharedAttachments from '@screens/Tabs/Shared/Attachments'
|
import TabSharedAttachments from '@screens/Tabs/Shared/Attachments'
|
||||||
|
@ -8,58 +10,166 @@ import TabSharedSearch from '@screens/Tabs/Shared/Search'
|
||||||
import TabSharedToot from '@screens/Tabs/Shared/Toot'
|
import TabSharedToot from '@screens/Tabs/Shared/Toot'
|
||||||
import TabSharedUsers from '@screens/Tabs/Shared/Users'
|
import TabSharedUsers from '@screens/Tabs/Shared/Users'
|
||||||
import React from 'react'
|
import React from 'react'
|
||||||
|
import { Trans, useTranslation } from 'react-i18next'
|
||||||
import TabSharedFilter from './Filter'
|
import TabSharedFilter from './Filter'
|
||||||
import TabSharedMute from './Mute'
|
import TabSharedMute from './Mute'
|
||||||
|
import {
|
||||||
|
TabLocalStackParamList,
|
||||||
|
TabMeStackParamList,
|
||||||
|
TabNotificationsStackParamList,
|
||||||
|
TabPublicStackParamList
|
||||||
|
} from '@utils/navigation/navigators'
|
||||||
|
import CustomText from '@components/Text'
|
||||||
|
import { ParseEmojis } from '@components/Parse'
|
||||||
|
import { useTheme } from '@utils/styles/ThemeManager'
|
||||||
|
|
||||||
|
const TabShared = (
|
||||||
|
Stack: ReturnType<
|
||||||
|
typeof createNativeStackNavigator<
|
||||||
|
| TabLocalStackParamList
|
||||||
|
| TabPublicStackParamList
|
||||||
|
| TabNotificationsStackParamList
|
||||||
|
| TabMeStackParamList
|
||||||
|
>
|
||||||
|
>
|
||||||
|
) => {
|
||||||
|
const { colors } = useTheme()
|
||||||
|
const { t } = useTranslation(['common', 'screenTabs'])
|
||||||
|
|
||||||
const TabShared = ({ Stack }: { Stack: any }) => {
|
|
||||||
return (
|
return (
|
||||||
<Stack.Group>
|
<Stack.Group>
|
||||||
<Stack.Screen
|
<Stack.Screen
|
||||||
key='Tab-Shared-Account'
|
|
||||||
name='Tab-Shared-Account'
|
name='Tab-Shared-Account'
|
||||||
component={TabSharedAccount}
|
component={TabSharedAccount}
|
||||||
|
options={{
|
||||||
|
title: '',
|
||||||
|
headerLeft: () => <HeaderLeft background />
|
||||||
|
}}
|
||||||
/>
|
/>
|
||||||
<Stack.Screen
|
<Stack.Screen
|
||||||
key='Tab-Shared-Account-In-Lists'
|
|
||||||
name='Tab-Shared-Account-In-Lists'
|
name='Tab-Shared-Account-In-Lists'
|
||||||
component={TabSharedAccountInLists}
|
component={TabSharedAccountInLists}
|
||||||
|
options={({
|
||||||
|
navigation,
|
||||||
|
route: {
|
||||||
|
params: {
|
||||||
|
account: { username }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}) => ({
|
||||||
|
presentation: 'modal',
|
||||||
|
title: t('screenTabs:shared.accountInLists.name', { username: username }),
|
||||||
|
headerRight: () => (
|
||||||
|
<HeaderRight
|
||||||
|
type='text'
|
||||||
|
content={t('common:buttons.done')}
|
||||||
|
onPress={() => navigation.pop(1)}
|
||||||
|
/>
|
||||||
|
)
|
||||||
|
})}
|
||||||
/>
|
/>
|
||||||
<Stack.Screen
|
<Stack.Screen
|
||||||
key='Tab-Shared-Attachments'
|
|
||||||
name='Tab-Shared-Attachments'
|
name='Tab-Shared-Attachments'
|
||||||
component={TabSharedAttachments}
|
component={TabSharedAttachments}
|
||||||
|
options={({
|
||||||
|
route: {
|
||||||
|
params: { account }
|
||||||
|
}
|
||||||
|
}) => ({
|
||||||
|
headerTitle: () => (
|
||||||
|
<CustomText numberOfLines={1}>
|
||||||
|
<Trans
|
||||||
|
ns='screenTabs'
|
||||||
|
i18nKey='shared.attachments.name'
|
||||||
|
components={[
|
||||||
|
<ParseEmojis
|
||||||
|
content={account.display_name || account.username}
|
||||||
|
emojis={account.emojis}
|
||||||
|
fontBold
|
||||||
|
/>,
|
||||||
|
<CustomText
|
||||||
|
fontStyle='M'
|
||||||
|
style={{ color: colors.primaryDefault }}
|
||||||
|
fontWeight='Bold'
|
||||||
|
/>
|
||||||
|
]}
|
||||||
|
/>
|
||||||
|
</CustomText>
|
||||||
|
)
|
||||||
|
})}
|
||||||
/>
|
/>
|
||||||
<Stack.Screen
|
<Stack.Screen
|
||||||
key='Tab-Shared-Filter'
|
|
||||||
name='Tab-Shared-Filter'
|
name='Tab-Shared-Filter'
|
||||||
component={TabSharedFilter}
|
component={TabSharedFilter}
|
||||||
options={{ presentation: 'modal' }}
|
options={({ navigation }) => ({
|
||||||
|
presentation: 'modal',
|
||||||
|
title: t('screenTabs:shared.filter.name'),
|
||||||
|
headerRight: () => (
|
||||||
|
<HeaderRight
|
||||||
|
type='text'
|
||||||
|
content={t('common:buttons.done')}
|
||||||
|
onPress={() => navigation.goBack()}
|
||||||
|
/>
|
||||||
|
)
|
||||||
|
})}
|
||||||
/>
|
/>
|
||||||
<Stack.Screen
|
<Stack.Screen
|
||||||
key='Tab-Shared-Hashtag'
|
|
||||||
name='Tab-Shared-Hashtag'
|
name='Tab-Shared-Hashtag'
|
||||||
component={TabSharedHashtag}
|
component={TabSharedHashtag}
|
||||||
|
options={({
|
||||||
|
route: {
|
||||||
|
params: { tag_name }
|
||||||
|
}
|
||||||
|
}) => ({ title: `#${decodeURIComponent(tag_name)}` })}
|
||||||
/>
|
/>
|
||||||
<Stack.Screen
|
<Stack.Screen
|
||||||
key='Tab-Shared-History'
|
|
||||||
name='Tab-Shared-History'
|
name='Tab-Shared-History'
|
||||||
component={TabSharedHistory}
|
component={TabSharedHistory}
|
||||||
|
options={{ title: t('screenTabs:shared.history.name') }}
|
||||||
/>
|
/>
|
||||||
<Stack.Screen
|
<Stack.Screen
|
||||||
key='Tab-Shared-Mute'
|
|
||||||
name='Tab-Shared-Mute'
|
name='Tab-Shared-Mute'
|
||||||
component={TabSharedMute}
|
component={TabSharedMute}
|
||||||
options={{ presentation: 'modal' }}
|
options={({
|
||||||
|
route: {
|
||||||
|
params: {
|
||||||
|
account: { acct }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}) => ({
|
||||||
|
presentation: 'modal',
|
||||||
|
headerLeft: () => <HeaderLeft type='text' content={t('common:buttons.cancel')} />,
|
||||||
|
title: t('screenTabs:shared.mute.name', { acct: `@${acct}` })
|
||||||
|
})}
|
||||||
/>
|
/>
|
||||||
<Stack.Screen
|
<Stack.Screen
|
||||||
key='Tab-Shared-Report'
|
|
||||||
name='Tab-Shared-Report'
|
name='Tab-Shared-Report'
|
||||||
component={TabSharedReport}
|
component={TabSharedReport}
|
||||||
options={{ presentation: 'modal' }}
|
options={({
|
||||||
|
route: {
|
||||||
|
params: { account }
|
||||||
|
}
|
||||||
|
}) => ({
|
||||||
|
presentation: 'modal',
|
||||||
|
headerLeft: () => <HeaderLeft type='text' content={t('common:buttons.cancel')} />,
|
||||||
|
title: t('screenTabs:shared.report.name', { acct: `@${account.acct}` })
|
||||||
|
})}
|
||||||
/>
|
/>
|
||||||
<Stack.Screen key='Tab-Shared-Search' name='Tab-Shared-Search' component={TabSharedSearch} />
|
<Stack.Screen key='Tab-Shared-Search' name='Tab-Shared-Search' component={TabSharedSearch} />
|
||||||
<Stack.Screen key='Tab-Shared-Toot' name='Tab-Shared-Toot' component={TabSharedToot} />
|
<Stack.Screen
|
||||||
<Stack.Screen key='Tab-Shared-Users' name='Tab-Shared-Users' component={TabSharedUsers} />
|
name='Tab-Shared-Toot'
|
||||||
|
component={TabSharedToot}
|
||||||
|
options={{ title: t('screenTabs:shared.toot.name') }}
|
||||||
|
/>
|
||||||
|
<Stack.Screen
|
||||||
|
name='Tab-Shared-Users'
|
||||||
|
component={TabSharedUsers}
|
||||||
|
options={({ route: { params } }) => ({
|
||||||
|
title: t(`shared.users.${params.reference}.${params.type}`, {
|
||||||
|
count: params.count
|
||||||
|
} as any) as any
|
||||||
|
})}
|
||||||
|
/>
|
||||||
</Stack.Group>
|
</Stack.Group>
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
295
yarn.lock
295
yarn.lock
|
@ -1725,9 +1725,9 @@ __metadata:
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"@expo/cli@npm:0.17.4":
|
"@expo/cli@npm:0.17.5":
|
||||||
version: 0.17.4
|
version: 0.17.5
|
||||||
resolution: "@expo/cli@npm:0.17.4"
|
resolution: "@expo/cli@npm:0.17.5"
|
||||||
dependencies:
|
dependencies:
|
||||||
"@babel/runtime": "npm:^7.20.0"
|
"@babel/runtime": "npm:^7.20.0"
|
||||||
"@expo/code-signing-certificates": "npm:0.0.5"
|
"@expo/code-signing-certificates": "npm:0.0.5"
|
||||||
|
@ -1795,6 +1795,7 @@ __metadata:
|
||||||
send: "npm:^0.18.0"
|
send: "npm:^0.18.0"
|
||||||
slugify: "npm:^1.3.4"
|
slugify: "npm:^1.3.4"
|
||||||
source-map-support: "npm:~0.5.21"
|
source-map-support: "npm:~0.5.21"
|
||||||
|
stacktrace-parser: "npm:^0.1.10"
|
||||||
structured-headers: "npm:^0.4.1"
|
structured-headers: "npm:^0.4.1"
|
||||||
tar: "npm:^6.0.5"
|
tar: "npm:^6.0.5"
|
||||||
temp-dir: "npm:^2.0.0"
|
temp-dir: "npm:^2.0.0"
|
||||||
|
@ -1806,7 +1807,7 @@ __metadata:
|
||||||
ws: "npm:^8.12.1"
|
ws: "npm:^8.12.1"
|
||||||
bin:
|
bin:
|
||||||
expo-internal: build/bin/cli
|
expo-internal: build/bin/cli
|
||||||
checksum: 10/5f39ec28c8c7afc78742392353e0b9c2a002caa93bbe6f39ae830f7cb5329d8034f3046da3e18730afe2256ef66594b757a866bcf94f280bbb1ff23c20e53c6d
|
checksum: 10/0b68ec76920ebab7b7be61fb91a114bd67da0f0cb370eb3cc73620c55207daf667e9916a904bd606cd4f012d9e8b1c690ba7eafa85f4e074a660d9efe20b481c
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
@ -1951,7 +1952,37 @@ __metadata:
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"@expo/metro-config@npm:0.17.3, @expo/metro-config@npm:~0.17.0":
|
"@expo/metro-config@npm:0.17.4":
|
||||||
|
version: 0.17.4
|
||||||
|
resolution: "@expo/metro-config@npm:0.17.4"
|
||||||
|
dependencies:
|
||||||
|
"@babel/core": "npm:^7.20.0"
|
||||||
|
"@babel/generator": "npm:^7.20.5"
|
||||||
|
"@babel/parser": "npm:^7.20.0"
|
||||||
|
"@babel/types": "npm:^7.20.0"
|
||||||
|
"@expo/config": "npm:~8.5.0"
|
||||||
|
"@expo/env": "npm:~0.2.0"
|
||||||
|
"@expo/json-file": "npm:~8.3.0"
|
||||||
|
"@expo/spawn-async": "npm:^1.7.2"
|
||||||
|
babel-preset-fbjs: "npm:^3.4.0"
|
||||||
|
chalk: "npm:^4.1.0"
|
||||||
|
debug: "npm:^4.3.2"
|
||||||
|
find-yarn-workspace-root: "npm:~2.0.0"
|
||||||
|
fs-extra: "npm:^9.1.0"
|
||||||
|
getenv: "npm:^1.0.0"
|
||||||
|
glob: "npm:^7.2.3"
|
||||||
|
jsc-safe-url: "npm:^0.2.4"
|
||||||
|
lightningcss: "npm:~1.19.0"
|
||||||
|
postcss: "npm:~8.4.32"
|
||||||
|
resolve-from: "npm:^5.0.0"
|
||||||
|
sucrase: "npm:3.34.0"
|
||||||
|
peerDependencies:
|
||||||
|
"@react-native/babel-preset": "*"
|
||||||
|
checksum: 10/807384d3a55d5df9d982b58a930487f32867af6297167181c576b41a1a2d4d9776fc4737cc3e129318142f594b674801320f4a6230ee15d5c869dc64ee46d7ee
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
|
"@expo/metro-config@npm:~0.17.0":
|
||||||
version: 0.17.3
|
version: 0.17.3
|
||||||
resolution: "@expo/metro-config@npm:0.17.3"
|
resolution: "@expo/metro-config@npm:0.17.3"
|
||||||
dependencies:
|
dependencies:
|
||||||
|
@ -3381,7 +3412,68 @@ __metadata:
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"@react-native/babel-preset@npm:0.73.20, @react-native/babel-preset@npm:^0.73.18":
|
"@react-native/babel-plugin-codegen@npm:0.73.4":
|
||||||
|
version: 0.73.4
|
||||||
|
resolution: "@react-native/babel-plugin-codegen@npm:0.73.4"
|
||||||
|
dependencies:
|
||||||
|
"@react-native/codegen": "npm:0.73.3"
|
||||||
|
checksum: 10/b32651c29d694a530390347c06fa09cfbc0189bddb3ccdbe47caa050e2e909ea0e4e32182b1a2c12fb73e9b8f352da9f3c239fb77e6e892c59c297371758f53a
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
|
"@react-native/babel-preset@npm:0.73.21":
|
||||||
|
version: 0.73.21
|
||||||
|
resolution: "@react-native/babel-preset@npm:0.73.21"
|
||||||
|
dependencies:
|
||||||
|
"@babel/core": "npm:^7.20.0"
|
||||||
|
"@babel/plugin-proposal-async-generator-functions": "npm:^7.0.0"
|
||||||
|
"@babel/plugin-proposal-class-properties": "npm:^7.18.0"
|
||||||
|
"@babel/plugin-proposal-export-default-from": "npm:^7.0.0"
|
||||||
|
"@babel/plugin-proposal-nullish-coalescing-operator": "npm:^7.18.0"
|
||||||
|
"@babel/plugin-proposal-numeric-separator": "npm:^7.0.0"
|
||||||
|
"@babel/plugin-proposal-object-rest-spread": "npm:^7.20.0"
|
||||||
|
"@babel/plugin-proposal-optional-catch-binding": "npm:^7.0.0"
|
||||||
|
"@babel/plugin-proposal-optional-chaining": "npm:^7.20.0"
|
||||||
|
"@babel/plugin-syntax-dynamic-import": "npm:^7.8.0"
|
||||||
|
"@babel/plugin-syntax-export-default-from": "npm:^7.0.0"
|
||||||
|
"@babel/plugin-syntax-flow": "npm:^7.18.0"
|
||||||
|
"@babel/plugin-syntax-nullish-coalescing-operator": "npm:^7.0.0"
|
||||||
|
"@babel/plugin-syntax-optional-chaining": "npm:^7.0.0"
|
||||||
|
"@babel/plugin-transform-arrow-functions": "npm:^7.0.0"
|
||||||
|
"@babel/plugin-transform-async-to-generator": "npm:^7.20.0"
|
||||||
|
"@babel/plugin-transform-block-scoping": "npm:^7.0.0"
|
||||||
|
"@babel/plugin-transform-classes": "npm:^7.0.0"
|
||||||
|
"@babel/plugin-transform-computed-properties": "npm:^7.0.0"
|
||||||
|
"@babel/plugin-transform-destructuring": "npm:^7.20.0"
|
||||||
|
"@babel/plugin-transform-flow-strip-types": "npm:^7.20.0"
|
||||||
|
"@babel/plugin-transform-function-name": "npm:^7.0.0"
|
||||||
|
"@babel/plugin-transform-literals": "npm:^7.0.0"
|
||||||
|
"@babel/plugin-transform-modules-commonjs": "npm:^7.0.0"
|
||||||
|
"@babel/plugin-transform-named-capturing-groups-regex": "npm:^7.0.0"
|
||||||
|
"@babel/plugin-transform-parameters": "npm:^7.0.0"
|
||||||
|
"@babel/plugin-transform-private-methods": "npm:^7.22.5"
|
||||||
|
"@babel/plugin-transform-private-property-in-object": "npm:^7.22.11"
|
||||||
|
"@babel/plugin-transform-react-display-name": "npm:^7.0.0"
|
||||||
|
"@babel/plugin-transform-react-jsx": "npm:^7.0.0"
|
||||||
|
"@babel/plugin-transform-react-jsx-self": "npm:^7.0.0"
|
||||||
|
"@babel/plugin-transform-react-jsx-source": "npm:^7.0.0"
|
||||||
|
"@babel/plugin-transform-runtime": "npm:^7.0.0"
|
||||||
|
"@babel/plugin-transform-shorthand-properties": "npm:^7.0.0"
|
||||||
|
"@babel/plugin-transform-spread": "npm:^7.0.0"
|
||||||
|
"@babel/plugin-transform-sticky-regex": "npm:^7.0.0"
|
||||||
|
"@babel/plugin-transform-typescript": "npm:^7.5.0"
|
||||||
|
"@babel/plugin-transform-unicode-regex": "npm:^7.0.0"
|
||||||
|
"@babel/template": "npm:^7.0.0"
|
||||||
|
"@react-native/babel-plugin-codegen": "npm:0.73.4"
|
||||||
|
babel-plugin-transform-flow-enums: "npm:^0.0.2"
|
||||||
|
react-refresh: "npm:^0.14.0"
|
||||||
|
peerDependencies:
|
||||||
|
"@babel/core": "*"
|
||||||
|
checksum: 10/93e62bc1cd9cbc0fc86dc8498a03a6eb26aad75540c03752da9cce4ab56a55c4fc03a6542b624b2dc69269ce8209fa0f483d20afa60b64e35f1e1b3536c9c88d
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
|
"@react-native/babel-preset@npm:^0.73.18":
|
||||||
version: 0.73.20
|
version: 0.73.20
|
||||||
resolution: "@react-native/babel-preset@npm:0.73.20"
|
resolution: "@react-native/babel-preset@npm:0.73.20"
|
||||||
dependencies:
|
dependencies:
|
||||||
|
@ -3450,14 +3542,31 @@ __metadata:
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"@react-native/community-cli-plugin@npm:0.73.14":
|
"@react-native/codegen@npm:0.73.3":
|
||||||
version: 0.73.14
|
version: 0.73.3
|
||||||
resolution: "@react-native/community-cli-plugin@npm:0.73.14"
|
resolution: "@react-native/codegen@npm:0.73.3"
|
||||||
|
dependencies:
|
||||||
|
"@babel/parser": "npm:^7.20.0"
|
||||||
|
flow-parser: "npm:^0.206.0"
|
||||||
|
glob: "npm:^7.1.1"
|
||||||
|
invariant: "npm:^2.2.4"
|
||||||
|
jscodeshift: "npm:^0.14.0"
|
||||||
|
mkdirp: "npm:^0.5.1"
|
||||||
|
nullthrows: "npm:^1.1.1"
|
||||||
|
peerDependencies:
|
||||||
|
"@babel/preset-env": ^7.1.6
|
||||||
|
checksum: 10/3449b50e9cb388f910ceec9321aea1d741dece477d18dffed2b730219071a90d5f5067cf528bcea45e124213d4881198dcd7f712f8c0824294fda8d3c4f24334
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
|
"@react-native/community-cli-plugin@npm:0.73.16":
|
||||||
|
version: 0.73.16
|
||||||
|
resolution: "@react-native/community-cli-plugin@npm:0.73.16"
|
||||||
dependencies:
|
dependencies:
|
||||||
"@react-native-community/cli-server-api": "npm:12.3.2"
|
"@react-native-community/cli-server-api": "npm:12.3.2"
|
||||||
"@react-native-community/cli-tools": "npm:12.3.2"
|
"@react-native-community/cli-tools": "npm:12.3.2"
|
||||||
"@react-native/dev-middleware": "npm:0.73.7"
|
"@react-native/dev-middleware": "npm:0.73.7"
|
||||||
"@react-native/metro-babel-transformer": "npm:0.73.14"
|
"@react-native/metro-babel-transformer": "npm:0.73.15"
|
||||||
chalk: "npm:^4.0.0"
|
chalk: "npm:^4.0.0"
|
||||||
execa: "npm:^5.1.1"
|
execa: "npm:^5.1.1"
|
||||||
metro: "npm:^0.80.3"
|
metro: "npm:^0.80.3"
|
||||||
|
@ -3465,7 +3574,7 @@ __metadata:
|
||||||
metro-core: "npm:^0.80.3"
|
metro-core: "npm:^0.80.3"
|
||||||
node-fetch: "npm:^2.2.0"
|
node-fetch: "npm:^2.2.0"
|
||||||
readline: "npm:^1.3.0"
|
readline: "npm:^1.3.0"
|
||||||
checksum: 10/c469c67d2a295731aad843c901ab71a4c73c97d1d7061db6a59d158b1b8b64df86309f00264a1ee7483a915610952d63c354899a069590563ed79461a9a9a045
|
checksum: 10/0e2ef69b6f475105da5644d74df9fa9de57635e8ac6b87686ca9d66062b387e18732fc6e1d538044ee2563f264fce421bf41a0ea1e76b41c3f26484d085c4569
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
@ -3508,29 +3617,29 @@ __metadata:
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"@react-native/metro-babel-transformer@npm:0.73.14":
|
"@react-native/metro-babel-transformer@npm:0.73.15":
|
||||||
version: 0.73.14
|
version: 0.73.15
|
||||||
resolution: "@react-native/metro-babel-transformer@npm:0.73.14"
|
resolution: "@react-native/metro-babel-transformer@npm:0.73.15"
|
||||||
dependencies:
|
dependencies:
|
||||||
"@babel/core": "npm:^7.20.0"
|
"@babel/core": "npm:^7.20.0"
|
||||||
"@react-native/babel-preset": "npm:0.73.20"
|
"@react-native/babel-preset": "npm:0.73.21"
|
||||||
hermes-parser: "npm:0.15.0"
|
hermes-parser: "npm:0.15.0"
|
||||||
nullthrows: "npm:^1.1.1"
|
nullthrows: "npm:^1.1.1"
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
"@babel/core": "*"
|
"@babel/core": "*"
|
||||||
checksum: 10/2a843c8ffcbe5aeee349ba00df4602b6f10e5b0b03aadd2d2fbded7f7c6af35f2fcba072b576ecb8bdc44c608c054f23586aa5a8a27ccc5b4cab13a1bb8279f6
|
checksum: 10/8d7b448ecf60f4662de2b7b3be31e6b61d03ebcdd1cbe7f84fedf58faa3065622d185ce5f737257f4c512828a101f5a2008101ec43cc60623c049f493e628340
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"@react-native/metro-config@npm:^0.73.4":
|
"@react-native/metro-config@npm:^0.73.5":
|
||||||
version: 0.73.4
|
version: 0.73.5
|
||||||
resolution: "@react-native/metro-config@npm:0.73.4"
|
resolution: "@react-native/metro-config@npm:0.73.5"
|
||||||
dependencies:
|
dependencies:
|
||||||
"@react-native/js-polyfills": "npm:0.73.1"
|
"@react-native/js-polyfills": "npm:0.73.1"
|
||||||
"@react-native/metro-babel-transformer": "npm:0.73.14"
|
"@react-native/metro-babel-transformer": "npm:0.73.15"
|
||||||
metro-config: "npm:^0.80.3"
|
metro-config: "npm:^0.80.3"
|
||||||
metro-runtime: "npm:^0.80.3"
|
metro-runtime: "npm:^0.80.3"
|
||||||
checksum: 10/62b3e56a7832de5ce1675b05e3093e8d6f567e85ec9ee37fa891739a3ac42331a69d344b7f56fe9d64192d2f1febafc68b8dc83f3c9bb79c823eb4cdcd539e70
|
checksum: 10/ddf5793664a47bbf16d79d2a4ea7f90cecb01206fbe5fc91aadb5e4169159cf24282ab0116799b9271332b7cb6ce9bc1420a57ad65d9cdfe98ac1e3b9a1f75ae
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
@ -4071,7 +4180,7 @@ __metadata:
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"@types/react@npm:*, @types/react@npm:16 || 17 || 18, @types/react@npm:^18.2.52":
|
"@types/react@npm:*, @types/react@npm:16 || 17 || 18":
|
||||||
version: 18.2.52
|
version: 18.2.52
|
||||||
resolution: "@types/react@npm:18.2.52"
|
resolution: "@types/react@npm:18.2.52"
|
||||||
dependencies:
|
dependencies:
|
||||||
|
@ -4082,6 +4191,17 @@ __metadata:
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
"@types/react@npm:^18.2.55":
|
||||||
|
version: 18.2.55
|
||||||
|
resolution: "@types/react@npm:18.2.55"
|
||||||
|
dependencies:
|
||||||
|
"@types/prop-types": "npm:*"
|
||||||
|
"@types/scheduler": "npm:*"
|
||||||
|
csstype: "npm:^3.0.2"
|
||||||
|
checksum: 10/bf8fe19e73575489e63c0726355f164157cd69e75f2a862436ad2c0586e732cb953a7255a6bc73145e8f9506ee7a723f9a569ca9a39c53984e5b12b84e1c718a
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
"@types/scheduler@npm:*":
|
"@types/scheduler@npm:*":
|
||||||
version: 0.16.8
|
version: 0.16.8
|
||||||
resolution: "@types/scheduler@npm:0.16.8"
|
resolution: "@types/scheduler@npm:0.16.8"
|
||||||
|
@ -5905,12 +6025,12 @@ __metadata:
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"expo-av@npm:^13.10.4":
|
"expo-av@npm:^13.10.5":
|
||||||
version: 13.10.4
|
version: 13.10.5
|
||||||
resolution: "expo-av@npm:13.10.4"
|
resolution: "expo-av@npm:13.10.5"
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
expo: "*"
|
expo: "*"
|
||||||
checksum: 10/eab03a693b8a56934435862d35d75f4f02db5baca88943d3107c35233d10a5904e76966e4a7285145362f2ab38629d389a311331e7d42b96b8998d0b6c6ce98a
|
checksum: 10/50513f4a9fcf85224c3991d046cf71b7b2503801c3bef978b3eeec3463953cf38a84e2c5ef5b43f260ebba9ad9fda7e691d3d3ac14cc7eff49f963b3246b24b9
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
@ -5936,7 +6056,16 @@ __metadata:
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"expo-file-system@npm:^16.0.5, expo-file-system@npm:~16.0.0, expo-file-system@npm:~16.0.5":
|
"expo-file-system@npm:^16.0.6, expo-file-system@npm:~16.0.6":
|
||||||
|
version: 16.0.6
|
||||||
|
resolution: "expo-file-system@npm:16.0.6"
|
||||||
|
peerDependencies:
|
||||||
|
expo: "*"
|
||||||
|
checksum: 10/63eb6ecb0f749225217dcd3657d9c38db2e3288b93e8d465fa67e32d0299a47ad78e1b52c06e58bf5b2e1d7de71222f7106d1b5f95b04cdc213eb4fc4af92021
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
|
"expo-file-system@npm:~16.0.0":
|
||||||
version: 16.0.5
|
version: 16.0.5
|
||||||
resolution: "expo-file-system@npm:16.0.5"
|
resolution: "expo-file-system@npm:16.0.5"
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
|
@ -5965,14 +6094,14 @@ __metadata:
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"expo-image@npm:^1.10.5":
|
"expo-image@npm:^1.11.0":
|
||||||
version: 1.10.5
|
version: 1.11.0
|
||||||
resolution: "expo-image@npm:1.10.5"
|
resolution: "expo-image@npm:1.11.0"
|
||||||
dependencies:
|
dependencies:
|
||||||
"@react-native/assets-registry": "npm:~0.73.1"
|
"@react-native/assets-registry": "npm:~0.73.1"
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
expo: "*"
|
expo: "*"
|
||||||
checksum: 10/19890f663e1cf0016cf0223cccfc4aadf820f0ec353d6ec1e4375d4509b4f870aa1ac749e01572df4ea3fafd7c234185d170e0c3f42f52ba1b683f178260058c
|
checksum: 10/130a9c8c47a1ee3a18231e8ee525007026ac86d62b571deed836651d2d4ce23a47ae6f3199ae83780a2c28de485ffe2de0d90dd6a46e0c1b0013c93467de772e
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
@ -6006,9 +6135,9 @@ __metadata:
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"expo-modules-autolinking@npm:1.10.2":
|
"expo-modules-autolinking@npm:1.10.3":
|
||||||
version: 1.10.2
|
version: 1.10.3
|
||||||
resolution: "expo-modules-autolinking@npm:1.10.2"
|
resolution: "expo-modules-autolinking@npm:1.10.3"
|
||||||
dependencies:
|
dependencies:
|
||||||
"@expo/config": "npm:~8.5.0"
|
"@expo/config": "npm:~8.5.0"
|
||||||
chalk: "npm:^4.1.0"
|
chalk: "npm:^4.1.0"
|
||||||
|
@ -6018,7 +6147,7 @@ __metadata:
|
||||||
fs-extra: "npm:^9.1.0"
|
fs-extra: "npm:^9.1.0"
|
||||||
bin:
|
bin:
|
||||||
expo-modules-autolinking: bin/expo-modules-autolinking.js
|
expo-modules-autolinking: bin/expo-modules-autolinking.js
|
||||||
checksum: 10/9afe5833d379b3f3e791515342e4906efa6fb68073a0eb79ee516520c3082c0c98ce9efefc95c2cea37fe66ea336a4e66d12b75439b106f72640f1e26c235a76
|
checksum: 10/69c10680fa415dc589dad06f837dfab163d936fbfd2f9bdf9264d80b16405fd54ad85495c2d976477c24e8a578cb6f09433d801365beb29d748b2f4eebdb584e
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
@ -6117,28 +6246,28 @@ __metadata:
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"expo@npm:^50.0.5":
|
"expo@npm:^50.0.6":
|
||||||
version: 50.0.5
|
version: 50.0.6
|
||||||
resolution: "expo@npm:50.0.5"
|
resolution: "expo@npm:50.0.6"
|
||||||
dependencies:
|
dependencies:
|
||||||
"@babel/runtime": "npm:^7.20.0"
|
"@babel/runtime": "npm:^7.20.0"
|
||||||
"@expo/cli": "npm:0.17.4"
|
"@expo/cli": "npm:0.17.5"
|
||||||
"@expo/config": "npm:8.5.4"
|
"@expo/config": "npm:8.5.4"
|
||||||
"@expo/config-plugins": "npm:7.8.4"
|
"@expo/config-plugins": "npm:7.8.4"
|
||||||
"@expo/metro-config": "npm:0.17.3"
|
"@expo/metro-config": "npm:0.17.4"
|
||||||
"@expo/vector-icons": "npm:^14.0.0"
|
"@expo/vector-icons": "npm:^14.0.0"
|
||||||
babel-preset-expo: "npm:~10.0.1"
|
babel-preset-expo: "npm:~10.0.1"
|
||||||
expo-asset: "npm:~9.0.2"
|
expo-asset: "npm:~9.0.2"
|
||||||
expo-file-system: "npm:~16.0.5"
|
expo-file-system: "npm:~16.0.6"
|
||||||
expo-font: "npm:~11.10.2"
|
expo-font: "npm:~11.10.2"
|
||||||
expo-keep-awake: "npm:~12.8.2"
|
expo-keep-awake: "npm:~12.8.2"
|
||||||
expo-modules-autolinking: "npm:1.10.2"
|
expo-modules-autolinking: "npm:1.10.3"
|
||||||
expo-modules-core: "npm:1.11.8"
|
expo-modules-core: "npm:1.11.8"
|
||||||
fbemitter: "npm:^3.0.0"
|
fbemitter: "npm:^3.0.0"
|
||||||
whatwg-url-without-unicode: "npm:8.0.0-3"
|
whatwg-url-without-unicode: "npm:8.0.0-3"
|
||||||
bin:
|
bin:
|
||||||
expo: bin/cli
|
expo: bin/cli
|
||||||
checksum: 10/2f1b10e7e3b67993756b95589f5f1756588f2e9b8e16a05d89d03488f555f97a786a201354e6e5e58cb5662729d0f9c786450d26aff5713caa5287db039db4d9
|
checksum: 10/2bc912248418427e637d4f29b2c32712da4e01880672fcaedad70c77e931c6b478201f169f721b0a822507e180d700adb15f66c77853eb5c4f0d285f64a7b44f
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
@ -9430,9 +9559,9 @@ __metadata:
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"react-i18next@npm:^14.0.2":
|
"react-i18next@npm:^14.0.5":
|
||||||
version: 14.0.2
|
version: 14.0.5
|
||||||
resolution: "react-i18next@npm:14.0.2"
|
resolution: "react-i18next@npm:14.0.5"
|
||||||
dependencies:
|
dependencies:
|
||||||
"@babel/runtime": "npm:^7.23.9"
|
"@babel/runtime": "npm:^7.23.9"
|
||||||
html-parse-stringify: "npm:^3.0.1"
|
html-parse-stringify: "npm:^3.0.1"
|
||||||
|
@ -9444,7 +9573,7 @@ __metadata:
|
||||||
optional: true
|
optional: true
|
||||||
react-native:
|
react-native:
|
||||||
optional: true
|
optional: true
|
||||||
checksum: 10/6b64b4f4fd9407a00fb0f943e243959450872b248b1c5f84d15354ce513b65dd9939697f84aa52109342d67f5ceb67c7f94ab0d6ac0744130748b0be5e2b8262
|
checksum: 10/4c91d4b889ab1ab05d7cda050890f7f41c4a73dadfef4778770a53b0d2f98e9d80f04da5086790706349d8a80cf09eec0c539fc1020a7c6fead562511dd2a2cf
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
@ -9516,9 +9645,9 @@ __metadata:
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"react-native-gesture-handler@npm:^2.14.1":
|
"react-native-gesture-handler@npm:^2.15.0":
|
||||||
version: 2.14.1
|
version: 2.15.0
|
||||||
resolution: "react-native-gesture-handler@npm:2.14.1"
|
resolution: "react-native-gesture-handler@npm:2.15.0"
|
||||||
dependencies:
|
dependencies:
|
||||||
"@egjs/hammerjs": "npm:^2.0.17"
|
"@egjs/hammerjs": "npm:^2.0.17"
|
||||||
hoist-non-react-statics: "npm:^3.3.0"
|
hoist-non-react-statics: "npm:^3.3.0"
|
||||||
|
@ -9528,7 +9657,7 @@ __metadata:
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
react: "*"
|
react: "*"
|
||||||
react-native: "*"
|
react-native: "*"
|
||||||
checksum: 10/0a86209d515febf6da489c210f8983ded4a8d6e87dc94bca55f8afab657ec096797b21954b7599f6e05e1238634d770b5462266f3f4018363e4eb73496f2147a
|
checksum: 10/7feafdcfad1d4e066e5f238340b2f615d5abaa2b39c4d224e2eb0ed6563ce0afabcd1dd927f0aa5a0f3a9464f08909eb8d648a46dec3f25d08875ebc90258e14
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
@ -9542,9 +9671,9 @@ __metadata:
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"react-native-ios-context-menu@npm:^2.3.0":
|
"react-native-ios-context-menu@npm:2.3.2":
|
||||||
version: 2.3.0
|
version: 2.3.2
|
||||||
resolution: "react-native-ios-context-menu@npm:2.3.0"
|
resolution: "react-native-ios-context-menu@npm:2.3.2"
|
||||||
dependencies:
|
dependencies:
|
||||||
"@dominicstop/ts-event-emitter": "npm:^1.1.0"
|
"@dominicstop/ts-event-emitter": "npm:^1.1.0"
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
|
@ -9552,18 +9681,32 @@ __metadata:
|
||||||
react: "*"
|
react: "*"
|
||||||
react-native: "*"
|
react-native: "*"
|
||||||
react-native-ios-utilities: 4.2.x
|
react-native-ios-utilities: 4.2.x
|
||||||
checksum: 10/d1bcea1b4e303820bf51e0949c6bbb66c769a40dbedfb0d294976e69e5751e77af55116c5a6a5f292034e0162c1f10e948479b63381c15505b03569fba7eaeaf
|
checksum: 10/042a1b56f48cd7aea5556edee1fe585597e91654c23f61029dfa8f23b817a52e74859abea3789620f068ec333b19817ec3ba6b7b7c889cd3d620545e0342b2e3
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"react-native-ios-utilities@npm:^4.2.3":
|
"react-native-ios-context-menu@patch:react-native-ios-context-menu@npm%3A2.3.2#~/.yarn/patches/react-native-ios-context-menu-npm-2.3.2-9099ed7858.patch":
|
||||||
version: 4.2.3
|
version: 2.3.2
|
||||||
resolution: "react-native-ios-utilities@npm:4.2.3"
|
resolution: "react-native-ios-context-menu@patch:react-native-ios-context-menu@npm%3A2.3.2#~/.yarn/patches/react-native-ios-context-menu-npm-2.3.2-9099ed7858.patch::version=2.3.2&hash=c66b7c"
|
||||||
|
dependencies:
|
||||||
|
"@dominicstop/ts-event-emitter": "npm:^1.1.0"
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
expo: "*"
|
expo: "*"
|
||||||
react: "*"
|
react: "*"
|
||||||
react-native: "*"
|
react-native: "*"
|
||||||
checksum: 10/fa5ee25c26d4df5cbe199bd6188a6c3b633970a06590b672c51836fa5ec1383564157c97e7a89aaaed744601b19fa866f0619ceca34bd98859d7697fcf44d5ba
|
react-native-ios-utilities: 4.2.x
|
||||||
|
checksum: 10/29ca3259a1c53b3edd388a3312df6cd350dc9df2fe0a8f113303d8e9acf0e20539818fd65357657e3f18ae063b101360a09643e7548f751837f49999d48170c6
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
|
"react-native-ios-utilities@npm:^4.3.0":
|
||||||
|
version: 4.3.0
|
||||||
|
resolution: "react-native-ios-utilities@npm:4.3.0"
|
||||||
|
peerDependencies:
|
||||||
|
expo: "*"
|
||||||
|
react: "*"
|
||||||
|
react-native: "*"
|
||||||
|
checksum: 10/17d1749070553b345cf7aff924ae2c8b2b96cf2fb11f6ff92d74efe647369eeb3e5d9dddbf409c86eeebd76714ee420d53a5f51ae599ec7913aba1538321ac02
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
@ -9737,17 +9880,17 @@ __metadata:
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"react-native@npm:^0.73.3":
|
"react-native@npm:^0.73.4":
|
||||||
version: 0.73.3
|
version: 0.73.4
|
||||||
resolution: "react-native@npm:0.73.3"
|
resolution: "react-native@npm:0.73.4"
|
||||||
dependencies:
|
dependencies:
|
||||||
"@jest/create-cache-key-function": "npm:^29.6.3"
|
"@jest/create-cache-key-function": "npm:^29.6.3"
|
||||||
"@react-native-community/cli": "npm:12.3.2"
|
"@react-native-community/cli": "npm:12.3.2"
|
||||||
"@react-native-community/cli-platform-android": "npm:12.3.2"
|
"@react-native-community/cli-platform-android": "npm:12.3.2"
|
||||||
"@react-native-community/cli-platform-ios": "npm:12.3.2"
|
"@react-native-community/cli-platform-ios": "npm:12.3.2"
|
||||||
"@react-native/assets-registry": "npm:0.73.1"
|
"@react-native/assets-registry": "npm:0.73.1"
|
||||||
"@react-native/codegen": "npm:0.73.2"
|
"@react-native/codegen": "npm:0.73.3"
|
||||||
"@react-native/community-cli-plugin": "npm:0.73.14"
|
"@react-native/community-cli-plugin": "npm:0.73.16"
|
||||||
"@react-native/gradle-plugin": "npm:0.73.4"
|
"@react-native/gradle-plugin": "npm:0.73.4"
|
||||||
"@react-native/js-polyfills": "npm:0.73.1"
|
"@react-native/js-polyfills": "npm:0.73.1"
|
||||||
"@react-native/normalize-colors": "npm:0.73.2"
|
"@react-native/normalize-colors": "npm:0.73.2"
|
||||||
|
@ -9783,7 +9926,7 @@ __metadata:
|
||||||
react: 18.2.0
|
react: 18.2.0
|
||||||
bin:
|
bin:
|
||||||
react-native: cli.js
|
react-native: cli.js
|
||||||
checksum: 10/da794a586aded30b76c185a151742dea15a156dc5fdbef2d84ea3629c35d1ac76861e8b4ed7288d408c4f8fcf109f45ee910647ffa8b264320ee491654e3458b
|
checksum: 10/77196bfccb4e3d45471b35d564662c3c754925b3d0ead9312003e92b1938b9534d0d5a1b2784b013cd3cc6092e5b5fcbae43f50ef2d985a9a5436e73edb5757b
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
@ -11079,7 +11222,7 @@ __metadata:
|
||||||
"@react-native-firebase/app": "npm:^18.8.0"
|
"@react-native-firebase/app": "npm:^18.8.0"
|
||||||
"@react-native-menu/menu": "npm:^0.9.1"
|
"@react-native-menu/menu": "npm:^0.9.1"
|
||||||
"@react-native-segmented-control/segmented-control": "npm:^2.5.0"
|
"@react-native-segmented-control/segmented-control": "npm:^2.5.0"
|
||||||
"@react-native/metro-config": "npm:^0.73.4"
|
"@react-native/metro-config": "npm:^0.73.5"
|
||||||
"@react-native/typescript-config": "npm:^0.74.0"
|
"@react-native/typescript-config": "npm:^0.74.0"
|
||||||
"@react-navigation/bottom-tabs": "npm:^6.5.11"
|
"@react-navigation/bottom-tabs": "npm:^6.5.11"
|
||||||
"@react-navigation/native": "npm:^6.1.9"
|
"@react-navigation/native": "npm:^6.1.9"
|
||||||
|
@ -11091,7 +11234,7 @@ __metadata:
|
||||||
"@types/diff": "npm:^5.0.9"
|
"@types/diff": "npm:^5.0.9"
|
||||||
"@types/linkify-it": "npm:^3.0.5"
|
"@types/linkify-it": "npm:^3.0.5"
|
||||||
"@types/lodash": "npm:^4.14.202"
|
"@types/lodash": "npm:^4.14.202"
|
||||||
"@types/react": "npm:^18.2.52"
|
"@types/react": "npm:^18.2.55"
|
||||||
"@types/react-dom": "npm:^18.2.18"
|
"@types/react-dom": "npm:^18.2.18"
|
||||||
"@types/react-native-share-menu": "npm:^5.0.5"
|
"@types/react-native-share-menu": "npm:^5.0.5"
|
||||||
axios: "npm:^1.6.7"
|
axios: "npm:^1.6.7"
|
||||||
|
@ -11100,14 +11243,14 @@ __metadata:
|
||||||
chalk: "npm:^4.1.2"
|
chalk: "npm:^4.1.2"
|
||||||
diff: "npm:^5.1.0"
|
diff: "npm:^5.1.0"
|
||||||
dotenv: "npm:^16.4.1"
|
dotenv: "npm:^16.4.1"
|
||||||
expo: "npm:^50.0.5"
|
expo: "npm:^50.0.6"
|
||||||
expo-auth-session: "npm:^5.4.0"
|
expo-auth-session: "npm:^5.4.0"
|
||||||
expo-av: "npm:^13.10.4"
|
expo-av: "npm:^13.10.5"
|
||||||
expo-constants: "npm:^15.4.5"
|
expo-constants: "npm:^15.4.5"
|
||||||
expo-crypto: "npm:^12.8.0"
|
expo-crypto: "npm:^12.8.0"
|
||||||
expo-file-system: "npm:^16.0.5"
|
expo-file-system: "npm:^16.0.6"
|
||||||
expo-haptics: "npm:^12.8.1"
|
expo-haptics: "npm:^12.8.1"
|
||||||
expo-image: "npm:^1.10.5"
|
expo-image: "npm:^1.11.0"
|
||||||
expo-linking: "npm:^6.2.2"
|
expo-linking: "npm:^6.2.2"
|
||||||
expo-localization: "npm:^14.8.3"
|
expo-localization: "npm:^14.8.3"
|
||||||
expo-notifications: "npm:^0.27.6"
|
expo-notifications: "npm:^0.27.6"
|
||||||
|
@ -11124,15 +11267,15 @@ __metadata:
|
||||||
lodash: "npm:^4.17.21"
|
lodash: "npm:^4.17.21"
|
||||||
react: "npm:^18.2.0"
|
react: "npm:^18.2.0"
|
||||||
react-dom: "npm:^18.2.0"
|
react-dom: "npm:^18.2.0"
|
||||||
react-i18next: "npm:^14.0.2"
|
react-i18next: "npm:^14.0.5"
|
||||||
react-intl: "npm:^6.6.2"
|
react-intl: "npm:^6.6.2"
|
||||||
react-native: "npm:^0.73.3"
|
react-native: "npm:^0.73.4"
|
||||||
react-native-clean-project: "npm:^4.0.3"
|
react-native-clean-project: "npm:^4.0.3"
|
||||||
react-native-flash-message: "npm:^0.4.2"
|
react-native-flash-message: "npm:^0.4.2"
|
||||||
react-native-gesture-handler: "npm:^2.14.1"
|
react-native-gesture-handler: "npm:^2.15.0"
|
||||||
react-native-image-picker: "npm:^7.1.0"
|
react-native-image-picker: "npm:^7.1.0"
|
||||||
react-native-ios-context-menu: "npm:^2.3.0"
|
react-native-ios-context-menu: "npm:^2.3.2"
|
||||||
react-native-ios-utilities: "npm:^4.2.3"
|
react-native-ios-utilities: "npm:^4.3.0"
|
||||||
react-native-language-detection: "npm:^0.2.2"
|
react-native-language-detection: "npm:^0.2.2"
|
||||||
react-native-mmkv: "npm:^2.11.0"
|
react-native-mmkv: "npm:^2.11.0"
|
||||||
react-native-pager-view: "npm:^6.2.3"
|
react-native-pager-view: "npm:^6.2.3"
|
||||||
|
|
Loading…
Reference in New Issue