Files
notesnook/apps/mobile/src/utils/animations.js

109 lines
2.1 KiB
JavaScript
Raw Normal View History

2020-03-03 09:49:54 +05:00
import Animated, {Easing} from 'react-native-reanimated';
import {Dimensions} from 'react-native';
2020-03-03 15:21:44 +05:00
import {editing} from './utils';
2020-03-03 09:49:54 +05:00
const {color, Value, timing} = Animated;
export const EditorPosition = new Value(Dimensions.get('window').width * 1.5);
export function openEditorAnimation() {
2020-03-03 14:45:49 +05:00
editing.currentlyEditing = true;
2020-03-03 09:49:54 +05:00
let openConfigH = {
duration: 300,
toValue: 0,
easing: Easing.inOut(Easing.ease),
};
timing(EditorPosition, openConfigH).start();
}
export function exitEditorAnimation() {
2020-03-03 14:45:49 +05:00
editing.currentlyEditing = false;
2020-03-03 09:49:54 +05:00
let openConfigH = {
duration: 300,
toValue: Dimensions.get('window').width * 1.5,
easing: Easing.inOut(Easing.ease),
};
timing(EditorPosition, openConfigH).start();
}
2020-01-07 16:26:30 +05:00
export const slideRight = {
0: {
transform: [{translateX: -4}],
},
0.5: {
transform: [{translateX: 0}],
},
1: {
transform: [{translateX: 4}],
},
};
export const slideLeft = {
0: {
transform: [{translateX: 4}],
},
0.5: {
transform: [{translateX: 0}],
},
1: {
transform: [{translateX: -4}],
},
};
export const rotate = {
0: {
transform: [{rotateZ: '0deg'}, {translateX: 0}, {translateY: 0}],
},
0.5: {
transform: [{rotateZ: '25deg'}, {translateX: 10}, {translateY: -20}],
},
1: {
transform: [{rotateZ: '45deg'}, {translateX: 10}, {translateY: -20}],
},
};
export const deleteItems = (tX, tY) => {
return {
0: {
2020-02-11 20:07:36 +05:00
transform: [
{translateX: tX},
{translateY: tY},
{scaleX: 0.6},
{scaleY: 0.6},
],
opacity: 0,
2020-01-07 16:26:30 +05:00
},
0.3: {
2020-02-11 20:07:36 +05:00
transform: [
{translateX: 0},
{translateY: 0},
{scaleX: 0.8},
{scaleY: 0.8},
],
opacity: 0.7,
2020-01-07 16:26:30 +05:00
},
0.5: {
2020-02-11 20:07:36 +05:00
transform: [{translateX: 0}, {translateY: 50}, {scaleX: 1}, {scaleY: 1}],
opacity: 0.9,
2020-01-07 16:26:30 +05:00
},
1: {
2020-02-11 20:07:36 +05:00
transform: [
{translateX: 0},
{translateY: 110},
{scaleX: 0.6},
{scaleY: 0.6},
],
opacity: 0,
2020-01-07 16:26:30 +05:00
},
};
};
export const opacity = {
0: {
opacity: 0,
},
1: {
opacity: 1,
},
};