chore: pane animation fixes

This commit is contained in:
Aman Harwara
2023-12-07 16:12:25 +05:30
parent 9bffa1ad7d
commit f135484b5f
3 changed files with 21 additions and 2 deletions

View File

@@ -736,7 +736,7 @@ EXTERNAL SOURCES:
:path: "../node_modules/react-native/ReactCommon/yoga"
SPEC CHECKSUMS:
boost: a7c83b31436843459a1961bfd74b96033dc77234
boost: 57d2868c099736d80fcd648bf211b4431e51a558
CocoaAsyncSocket: 065fd1e645c7abab64f7a6a2007a48038fdc6a99
DoubleConversion: 5189b271737e1565bdce30deb4a08d647e3f5f54
FBLazyVector: 71803c074f6325f10b5ec891c443b6bbabef0ca7
@@ -756,7 +756,7 @@ SPEC CHECKSUMS:
MMKV: 9c4663aa7ca255d478ff10f2f5cb7d17c1651ccd
MMKVCore: 89f5c8a66bba2dcd551779dea4d412eeec8ff5bb
OpenSSL-Universal: ebc357f1e6bc71fa463ccb2fe676756aff50e88c
RCT-Folly: 0080d0a6ebf2577475bda044aa59e2ca1f909cda
RCT-Folly: 424b8c9a7a0b9ab2886ffe9c3b041ef628fd4fb1
RCTRequired: df81ab637d35fac9e6eb94611cfd20f0feb05455
RCTTypeSafety: 4636e4a36c7c2df332bda6d59b19b41c443d4287
React: e0cc5197a804031a6c53fb38483c3485fcb9d6f3

View File

@@ -991,6 +991,7 @@
OTHER_LDFLAGS = (
"$(inherited)",
" ",
"-Wl -ld_classic ",
);
REACT_NATIVE_PATH = "${PODS_ROOT}/../../node_modules/react-native";
SDKROOT = iphoneos;
@@ -1059,6 +1060,7 @@
OTHER_LDFLAGS = (
"$(inherited)",
" ",
"-Wl -ld_classic ",
);
REACT_NATIVE_PATH = "${PODS_ROOT}/../../node_modules/react-native";
SDKROOT = iphoneos;

View File

@@ -3,6 +3,13 @@ import { log, LoggingDomain } from '@/Logging'
const ENTRANCE_DURATION = 200
const EXIT_DURATION = 200
function cancelExistingAnimations(element: HTMLElement): void {
element.getAnimations().forEach((animation) => {
animation.commitStyles()
animation.cancel()
})
}
export async function animatePaneEntranceTransitionFromOffscreenToTheRight(elementId: string): Promise<void> {
log(LoggingDomain.Panes, 'Animating pane entrance transition from offscreen to the right', elementId)
const element = document.getElementById(elementId)
@@ -10,6 +17,8 @@ export async function animatePaneEntranceTransitionFromOffscreenToTheRight(eleme
return
}
cancelExistingAnimations(element)
const animation = element.animate(
[
{
@@ -27,6 +36,8 @@ export async function animatePaneEntranceTransitionFromOffscreenToTheRight(eleme
)
await animation.finished
animation.commitStyles()
animation.cancel()
performSafariAnimationFix(element)
}
@@ -38,6 +49,8 @@ export async function animatePaneExitTransitionOffscreenToTheRight(elementId: st
return
}
cancelExistingAnimations(element)
const animation = element.animate(
[
{
@@ -52,6 +65,10 @@ export async function animatePaneExitTransitionOffscreenToTheRight(elementId: st
)
await animation.finished
animation.commitStyles()
animation.cancel()
performSafariAnimationFix(element)
}
/**