mirror of
https://github.com/tooot-app/app
synced 2025-06-05 22:19:13 +02:00
Merge branch 'main' into candidate
This commit is contained in:
@ -43,6 +43,15 @@ target 'tooot' do
|
|||||||
config.build_settings['APPLICATION_EXTENSION_API_ONLY'] = 'No'
|
config.build_settings['APPLICATION_EXTENSION_API_ONLY'] = 'No'
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
# For Xcode 14
|
||||||
|
installer.generated_projects.each do |project|
|
||||||
|
project.targets.each do |target|
|
||||||
|
target.build_configurations.each do |config|
|
||||||
|
config.build_settings['CODE_SIGNING_ALLOWED'] = 'NO'
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
post_integrate do |installer|
|
post_integrate do |installer|
|
||||||
|
@ -947,6 +947,6 @@ SPEC CHECKSUMS:
|
|||||||
Swime: d7b2c277503b6cea317774aedc2dce05613f8b0b
|
Swime: d7b2c277503b6cea317774aedc2dce05613f8b0b
|
||||||
Yoga: 75bf4b0131cfb46a659cd0c13309b79a6fcff66d
|
Yoga: 75bf4b0131cfb46a659cd0c13309b79a6fcff66d
|
||||||
|
|
||||||
PODFILE CHECKSUM: 7f078a0355bc9bdbcbbe7257e7e62e1d45f77f75
|
PODFILE CHECKSUM: 244b6793e4be83f0909a91b2fe15c8f89a5e8151
|
||||||
|
|
||||||
COCOAPODS: 1.11.3
|
COCOAPODS: 1.11.3
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
archiveVersion = 1;
|
archiveVersion = 1;
|
||||||
classes = {
|
classes = {
|
||||||
};
|
};
|
||||||
objectVersion = 46;
|
objectVersion = 54;
|
||||||
objects = {
|
objects = {
|
||||||
|
|
||||||
/* Begin PBXBuildFile section */
|
/* Begin PBXBuildFile section */
|
||||||
@ -330,6 +330,7 @@
|
|||||||
/* Begin PBXShellScriptBuildPhase section */
|
/* Begin PBXShellScriptBuildPhase section */
|
||||||
00DD1BFF1BD5951E006B06BC /* Bundle React Native code and images */ = {
|
00DD1BFF1BD5951E006B06BC /* Bundle React Native code and images */ = {
|
||||||
isa = PBXShellScriptBuildPhase;
|
isa = PBXShellScriptBuildPhase;
|
||||||
|
alwaysOutOfDate = 1;
|
||||||
buildActionMask = 2147483647;
|
buildActionMask = 2147483647;
|
||||||
files = (
|
files = (
|
||||||
);
|
);
|
||||||
@ -446,6 +447,7 @@
|
|||||||
};
|
};
|
||||||
FD10A7F022414F080027D42C /* Start Packager */ = {
|
FD10A7F022414F080027D42C /* Start Packager */ = {
|
||||||
isa = PBXShellScriptBuildPhase;
|
isa = PBXShellScriptBuildPhase;
|
||||||
|
alwaysOutOfDate = 1;
|
||||||
buildActionMask = 2147483647;
|
buildActionMask = 2147483647;
|
||||||
files = (
|
files = (
|
||||||
);
|
);
|
||||||
@ -536,13 +538,17 @@
|
|||||||
CURRENT_PROJECT_VERSION = 2102022230;
|
CURRENT_PROJECT_VERSION = 2102022230;
|
||||||
DEVELOPMENT_TEAM = 8EGBLQ2MA6;
|
DEVELOPMENT_TEAM = 8EGBLQ2MA6;
|
||||||
ENABLE_BITCODE = NO;
|
ENABLE_BITCODE = NO;
|
||||||
|
"ENABLE_HARDENED_RUNTIME[sdk=macosx*]" = YES;
|
||||||
GCC_PREPROCESSOR_DEFINITIONS = (
|
GCC_PREPROCESSOR_DEFINITIONS = (
|
||||||
"$(inherited)",
|
"$(inherited)",
|
||||||
"FB_SONARKIT_ENABLED=1",
|
"FB_SONARKIT_ENABLED=1",
|
||||||
);
|
);
|
||||||
INFOPLIST_FILE = tooot/Info.plist;
|
INFOPLIST_FILE = tooot/Info.plist;
|
||||||
IPHONEOS_DEPLOYMENT_TARGET = 12.4;
|
IPHONEOS_DEPLOYMENT_TARGET = 12.4;
|
||||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
|
LD_RUNPATH_SEARCH_PATHS = (
|
||||||
|
"$(inherited)",
|
||||||
|
"@executable_path/Frameworks",
|
||||||
|
);
|
||||||
OTHER_LDFLAGS = (
|
OTHER_LDFLAGS = (
|
||||||
"$(inherited)",
|
"$(inherited)",
|
||||||
"-ObjC",
|
"-ObjC",
|
||||||
@ -573,9 +579,13 @@
|
|||||||
CODE_SIGN_STYLE = Manual;
|
CODE_SIGN_STYLE = Manual;
|
||||||
CURRENT_PROJECT_VERSION = 2102022230;
|
CURRENT_PROJECT_VERSION = 2102022230;
|
||||||
DEVELOPMENT_TEAM = 8EGBLQ2MA6;
|
DEVELOPMENT_TEAM = 8EGBLQ2MA6;
|
||||||
|
"ENABLE_HARDENED_RUNTIME[sdk=macosx*]" = YES;
|
||||||
INFOPLIST_FILE = tooot/Info.plist;
|
INFOPLIST_FILE = tooot/Info.plist;
|
||||||
IPHONEOS_DEPLOYMENT_TARGET = 12.4;
|
IPHONEOS_DEPLOYMENT_TARGET = 12.4;
|
||||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
|
LD_RUNPATH_SEARCH_PATHS = (
|
||||||
|
"$(inherited)",
|
||||||
|
"@executable_path/Frameworks",
|
||||||
|
);
|
||||||
OTHER_LDFLAGS = (
|
OTHER_LDFLAGS = (
|
||||||
"$(inherited)",
|
"$(inherited)",
|
||||||
"-ObjC",
|
"-ObjC",
|
||||||
@ -645,7 +655,10 @@
|
|||||||
GCC_WARN_UNUSED_FUNCTION = YES;
|
GCC_WARN_UNUSED_FUNCTION = YES;
|
||||||
GCC_WARN_UNUSED_VARIABLE = YES;
|
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||||
IPHONEOS_DEPLOYMENT_TARGET = 12.4;
|
IPHONEOS_DEPLOYMENT_TARGET = 12.4;
|
||||||
LD_RUNPATH_SEARCH_PATHS = "/usr/lib/swift $(inherited)";
|
LD_RUNPATH_SEARCH_PATHS = (
|
||||||
|
/usr/lib/swift,
|
||||||
|
"$(inherited)",
|
||||||
|
);
|
||||||
LIBRARY_SEARCH_PATHS = "\"\"";
|
LIBRARY_SEARCH_PATHS = "\"\"";
|
||||||
MTL_ENABLE_DEBUG_INFO = YES;
|
MTL_ENABLE_DEBUG_INFO = YES;
|
||||||
ONLY_ACTIVE_ARCH = YES;
|
ONLY_ACTIVE_ARCH = YES;
|
||||||
@ -698,7 +711,10 @@
|
|||||||
GCC_WARN_UNUSED_FUNCTION = YES;
|
GCC_WARN_UNUSED_FUNCTION = YES;
|
||||||
GCC_WARN_UNUSED_VARIABLE = YES;
|
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||||
IPHONEOS_DEPLOYMENT_TARGET = 12.4;
|
IPHONEOS_DEPLOYMENT_TARGET = 12.4;
|
||||||
LD_RUNPATH_SEARCH_PATHS = "/usr/lib/swift $(inherited)";
|
LD_RUNPATH_SEARCH_PATHS = (
|
||||||
|
/usr/lib/swift,
|
||||||
|
"$(inherited)",
|
||||||
|
);
|
||||||
LIBRARY_SEARCH_PATHS = "\"\"";
|
LIBRARY_SEARCH_PATHS = "\"\"";
|
||||||
MTL_ENABLE_DEBUG_INFO = NO;
|
MTL_ENABLE_DEBUG_INFO = NO;
|
||||||
ONLY_ACTIVE_ARCH = NO;
|
ONLY_ACTIVE_ARCH = NO;
|
||||||
@ -733,7 +749,11 @@
|
|||||||
INFOPLIST_KEY_NSHumanReadableCopyright = "";
|
INFOPLIST_KEY_NSHumanReadableCopyright = "";
|
||||||
IPHONEOS_DEPLOYMENT_TARGET = 12.4;
|
IPHONEOS_DEPLOYMENT_TARGET = 12.4;
|
||||||
"IPHONEOS_DEPLOYMENT_TARGET[sdk=macosx*]" = 14.2;
|
"IPHONEOS_DEPLOYMENT_TARGET[sdk=macosx*]" = 14.2;
|
||||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @executable_path/../../Frameworks";
|
LD_RUNPATH_SEARCH_PATHS = (
|
||||||
|
"$(inherited)",
|
||||||
|
"@executable_path/Frameworks",
|
||||||
|
"@executable_path/../../Frameworks",
|
||||||
|
);
|
||||||
MARKETING_VERSION = 1.0;
|
MARKETING_VERSION = 1.0;
|
||||||
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
|
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
|
||||||
MTL_FAST_MATH = YES;
|
MTL_FAST_MATH = YES;
|
||||||
@ -778,7 +798,11 @@
|
|||||||
INFOPLIST_KEY_NSHumanReadableCopyright = "";
|
INFOPLIST_KEY_NSHumanReadableCopyright = "";
|
||||||
IPHONEOS_DEPLOYMENT_TARGET = 12.4;
|
IPHONEOS_DEPLOYMENT_TARGET = 12.4;
|
||||||
"IPHONEOS_DEPLOYMENT_TARGET[sdk=macosx*]" = 14.2;
|
"IPHONEOS_DEPLOYMENT_TARGET[sdk=macosx*]" = 14.2;
|
||||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @executable_path/../../Frameworks";
|
LD_RUNPATH_SEARCH_PATHS = (
|
||||||
|
"$(inherited)",
|
||||||
|
"@executable_path/Frameworks",
|
||||||
|
"@executable_path/../../Frameworks",
|
||||||
|
);
|
||||||
MARKETING_VERSION = 1.0;
|
MARKETING_VERSION = 1.0;
|
||||||
MTL_FAST_MATH = YES;
|
MTL_FAST_MATH = YES;
|
||||||
OTHER_SWIFT_FLAGS = "$(inherited) -D EXPO_CONFIGURATION_RELEASE";
|
OTHER_SWIFT_FLAGS = "$(inherited) -D EXPO_CONFIGURATION_RELEASE";
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||||
<plist version="1.0">
|
<plist version="1.0">
|
||||||
<dict>
|
<dict>
|
||||||
<key>aps-environment</key>
|
<key>aps-environment</key>
|
||||||
<string>development</string>
|
<string>development</string>
|
||||||
<key>com.apple.security.app-sandbox</key>
|
<key>com.apple.security.app-sandbox</key>
|
||||||
@ -10,15 +10,11 @@
|
|||||||
<array>
|
<array>
|
||||||
<string>group.com.xmflsct.app.tooot</string>
|
<string>group.com.xmflsct.app.tooot</string>
|
||||||
</array>
|
</array>
|
||||||
<key>com.apple.security.device.audio-input</key>
|
|
||||||
<true/>
|
|
||||||
<key>com.apple.security.device.camera</key>
|
<key>com.apple.security.device.camera</key>
|
||||||
<true/>
|
<true/>
|
||||||
<key>com.apple.security.network.client</key>
|
<key>com.apple.security.network.client</key>
|
||||||
<true/>
|
<true/>
|
||||||
<key>com.apple.security.personal-information.location</key>
|
|
||||||
<true/>
|
|
||||||
<key>com.apple.security.personal-information.photos-library</key>
|
<key>com.apple.security.personal-information.photos-library</key>
|
||||||
<true/>
|
<true/>
|
||||||
</dict>
|
</dict>
|
||||||
</plist>
|
</plist>
|
68
patches/react-native-reanimated-zoom+0.3.1.patch
Normal file
68
patches/react-native-reanimated-zoom+0.3.1.patch
Normal file
@ -0,0 +1,68 @@
|
|||||||
|
diff --git a/node_modules/react-native-reanimated-zoom/lib/typescript/zoom.d.ts b/node_modules/react-native-reanimated-zoom/lib/typescript/zoom.d.ts
|
||||||
|
index 9b3e4a3..558944d 100644
|
||||||
|
--- a/node_modules/react-native-reanimated-zoom/lib/typescript/zoom.d.ts
|
||||||
|
+++ b/node_modules/react-native-reanimated-zoom/lib/typescript/zoom.d.ts
|
||||||
|
@@ -4,6 +4,7 @@ declare type Props = {
|
||||||
|
children: React.ReactNode;
|
||||||
|
minimumZoomScale?: number;
|
||||||
|
maximumZoomScale?: number;
|
||||||
|
+ simultaneousGesture?: GestureType;
|
||||||
|
} & ViewProps;
|
||||||
|
export declare function Zoom(props: Props): JSX.Element;
|
||||||
|
export {};
|
||||||
|
diff --git a/node_modules/react-native-reanimated-zoom/src/zoom.tsx b/node_modules/react-native-reanimated-zoom/src/zoom.tsx
|
||||||
|
index 2c48163..bc2d3dd 100644
|
||||||
|
--- a/node_modules/react-native-reanimated-zoom/src/zoom.tsx
|
||||||
|
+++ b/node_modules/react-native-reanimated-zoom/src/zoom.tsx
|
||||||
|
@@ -8,13 +8,18 @@ import Animated, {
|
||||||
|
cancelAnimation,
|
||||||
|
runOnJS,
|
||||||
|
} from 'react-native-reanimated';
|
||||||
|
-import { Gesture, GestureDetector } from 'react-native-gesture-handler';
|
||||||
|
+import {
|
||||||
|
+ Gesture,
|
||||||
|
+ GestureDetector,
|
||||||
|
+ GestureType,
|
||||||
|
+} from 'react-native-gesture-handler';
|
||||||
|
import { ZoomListContext } from './zoom-list-context';
|
||||||
|
|
||||||
|
type Props = {
|
||||||
|
children: React.ReactNode;
|
||||||
|
minimumZoomScale?: number;
|
||||||
|
maximumZoomScale?: number;
|
||||||
|
+ simultaneousGesture?: GestureType;
|
||||||
|
} & ViewProps;
|
||||||
|
|
||||||
|
export function Zoom(props: Props) {
|
||||||
|
@@ -23,6 +28,7 @@ export function Zoom(props: Props) {
|
||||||
|
maximumZoomScale = 8,
|
||||||
|
style: propStyle,
|
||||||
|
onLayout,
|
||||||
|
+ simultaneousGesture,
|
||||||
|
} = props;
|
||||||
|
|
||||||
|
const zoomListContext = useContext(ZoomListContext);
|
||||||
|
@@ -198,11 +204,21 @@ export function Zoom(props: Props) {
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
- return Gesture.Race(doubleTap, Gesture.Simultaneous(pan, pinch));
|
||||||
|
+ return Gesture.Race(
|
||||||
|
+ doubleTap,
|
||||||
|
+ simultaneousGesture
|
||||||
|
+ ? Gesture.Simultaneous(pan, pinch, simultaneousGesture)
|
||||||
|
+ : Gesture.Simultaneous(pan, pinch)
|
||||||
|
+ );
|
||||||
|
|
||||||
|
// only add prop dependencies
|
||||||
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
||||||
|
- }, [maximumZoomScale, minimumZoomScale, zoomListContext]);
|
||||||
|
+ }, [
|
||||||
|
+ maximumZoomScale,
|
||||||
|
+ minimumZoomScale,
|
||||||
|
+ zoomListContext,
|
||||||
|
+ simultaneousGesture,
|
||||||
|
+ ]);
|
||||||
|
|
||||||
|
useDerivedValue(() => {
|
||||||
|
if (scale.value > 1 && !isZoomed.value) {
|
@ -3,8 +3,8 @@
|
|||||||
"message": "媒體 EXIF 資料不會被上傳",
|
"message": "媒體 EXIF 資料不會被上傳",
|
||||||
"options": {
|
"options": {
|
||||||
"image": "上傳圖片",
|
"image": "上傳圖片",
|
||||||
"image_max": "上傳圖片(最大 {{max}})",
|
"image_max": "上傳圖片(最多 {{max}})",
|
||||||
"video": "上傳影片",
|
"video": "上傳影片",
|
||||||
"video_max": "上傳影片(最大 {{max}})"
|
"video_max": "上傳影片(最多 {{max}})"
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -39,7 +39,7 @@
|
|||||||
"header": {
|
"header": {
|
||||||
"postingAs": "以 @{{acct}}@{{domain}} 發嘟",
|
"postingAs": "以 @{{acct}}@{{domain}} 發嘟",
|
||||||
"spoilerInput": {
|
"spoilerInput": {
|
||||||
"placeholder": "警告訊息"
|
"placeholder": "輸入警告訊息"
|
||||||
},
|
},
|
||||||
"textInput": {
|
"textInput": {
|
||||||
"placeholder": "正在想些什麼嗎?",
|
"placeholder": "正在想些什麼嗎?",
|
||||||
|
@ -17,12 +17,9 @@ import {
|
|||||||
ViewToken
|
ViewToken
|
||||||
} from 'react-native'
|
} from 'react-native'
|
||||||
import FlashMessage from 'react-native-flash-message'
|
import FlashMessage from 'react-native-flash-message'
|
||||||
import {
|
import { Directions, Gesture, LongPressGestureHandler } from 'react-native-gesture-handler'
|
||||||
Directions,
|
|
||||||
FlingGestureHandler,
|
|
||||||
LongPressGestureHandler
|
|
||||||
} from 'react-native-gesture-handler'
|
|
||||||
import { LiveTextImageView } from 'react-native-live-text-image-view'
|
import { LiveTextImageView } from 'react-native-live-text-image-view'
|
||||||
|
import { runOnJS } from 'react-native-reanimated'
|
||||||
import { Zoom, createZoomListComponent } from 'react-native-reanimated-zoom'
|
import { Zoom, createZoomListComponent } from 'react-native-reanimated-zoom'
|
||||||
import { SafeAreaProvider, useSafeAreaInsets } from 'react-native-safe-area-context'
|
import { SafeAreaProvider, useSafeAreaInsets } from 'react-native-safe-area-context'
|
||||||
import saveImage from './ImageViewer/save'
|
import saveImage from './ImageViewer/save'
|
||||||
@ -106,6 +103,9 @@ const ScreenImagesViewer = ({
|
|||||||
return (
|
return (
|
||||||
<Zoom
|
<Zoom
|
||||||
maximumZoomScale={max > 8 ? 8 : max}
|
maximumZoomScale={max > 8 ? 8 : max}
|
||||||
|
simultaneousGesture={Gesture.Fling()
|
||||||
|
.direction(Directions.DOWN)
|
||||||
|
.onStart(() => runOnJS(navigation.goBack)())}
|
||||||
children={
|
children={
|
||||||
<View
|
<View
|
||||||
style={{
|
style={{
|
||||||
@ -172,11 +172,6 @@ const ScreenImagesViewer = ({
|
|||||||
onPress={onPress}
|
onPress={onPress}
|
||||||
/>
|
/>
|
||||||
</View>
|
</View>
|
||||||
<FlingGestureHandler
|
|
||||||
direction={Directions.DOWN}
|
|
||||||
numberOfPointers={1}
|
|
||||||
onEnded={() => navigation.goBack()}
|
|
||||||
>
|
|
||||||
<LongPressGestureHandler
|
<LongPressGestureHandler
|
||||||
onEnded={() => {
|
onEnded={() => {
|
||||||
analytics('imageviewer_more_press')
|
analytics('imageviewer_more_press')
|
||||||
@ -232,7 +227,6 @@ const ScreenImagesViewer = ({
|
|||||||
})}
|
})}
|
||||||
/>
|
/>
|
||||||
</LongPressGestureHandler>
|
</LongPressGestureHandler>
|
||||||
</FlingGestureHandler>
|
|
||||||
</SafeAreaProvider>
|
</SafeAreaProvider>
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user