1
0
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:
xmflsct
2022-10-31 00:31:52 +01:00
8 changed files with 187 additions and 96 deletions

View File

@ -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|

View File

@ -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

View File

@ -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";

View File

@ -10,14 +10,10 @@
<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>

View 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) {

View File

@ -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}}"
} }
} }

View File

@ -39,7 +39,7 @@
"header": { "header": {
"postingAs": "以 @{{acct}}@{{domain}} 發嘟", "postingAs": "以 @{{acct}}@{{domain}} 發嘟",
"spoilerInput": { "spoilerInput": {
"placeholder": "警告訊息" "placeholder": "輸入警告訊息"
}, },
"textInput": { "textInput": {
"placeholder": "正在想些什麼嗎?", "placeholder": "正在想些什麼嗎?",

View File

@ -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>
) )
} }