@evatril/video-templates 2.0.12 → 2.0.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/src/Invitations/Elements/BlowingLeaves28012026.jsx +2 -2
- package/src/Invitations/Elements/BottomSideFrames20012026.jsx +122 -0
- package/src/Invitations/Elements/Butterflies20012026.jsx +4 -4
- package/src/Invitations/Elements/CoupleWalk20012026.jsx +2 -3
- package/src/Invitations/Elements/CurtainTransition20012026.jsx +79 -0
- package/src/Invitations/Elements/DucksFrame05022026.jsx +1 -2
- package/src/Invitations/Elements/{FloatingFlowersBottom.jsx → FloatingFlowersBottom05022026.jsx} +2 -3
- package/src/Invitations/Elements/FlowerReveal_TR_BL_28012026.jsx +2 -3
- package/src/Invitations/Elements/FlowersSide20012026.jsx +3 -72
- package/src/Invitations/Elements/GaneshBorder28012026.jsx +2 -4
- package/src/Invitations/Elements/GroomBrideLoveScene20012026.jsx +6 -7
- package/src/Invitations/Elements/HangingJumar05022026.jsx +1 -2
- package/src/Invitations/Elements/HangingLamp05022026.jsx +1 -2
- package/src/Invitations/Elements/HeartFlight28012026.jsx +1 -78
- package/src/Invitations/Elements/{HoldSlide.jsx → HoldSlide03022026.jsx} +1 -1
- package/src/Invitations/Elements/LetterReveal28012026.jsx +102 -14
- package/src/Invitations/Elements/OpeningGate20012026.jsx +3 -3
- package/src/Invitations/Elements/PageFlipTransition28012026.jsx +84 -0
- package/src/Invitations/Elements/SmoothReveal20012026.jsx +62 -0
- package/src/Invitations/Elements/WordReveal28012026.jsx +45 -7
- package/src/Invitations/Frames/F03022026_01.jsx +1 -1
- package/src/Invitations/Frames/F03022026_02.jsx +9 -10
- package/src/Invitations/Frames/F03022026_03.jsx +1 -1
- package/src/Invitations/Frames/F03022026_04.jsx +1 -1
- package/src/Invitations/Frames/F03022026_05.jsx +11 -8
- package/src/Invitations/Frames/F05022026_01.jsx +1 -2
- package/src/Invitations/Frames/F05022026_02.jsx +7 -14
- package/src/Invitations/Frames/F05022026_03.jsx +4 -5
- package/src/Invitations/Frames/F05022026_04.jsx +10 -14
- package/src/Invitations/Frames/F20012026_01.jsx +29 -136
- package/src/Invitations/Frames/F20012026_02.jsx +120 -110
- package/src/Invitations/Frames/F20012026_03.jsx +74 -194
- package/src/Invitations/Frames/F20012026_04.jsx +54 -123
- package/src/Invitations/Frames/F28012026_01.jsx +7 -8
- package/src/Invitations/Frames/F28012026_02.jsx +51 -53
- package/src/Invitations/Frames/F28012026_03.jsx +60 -61
- package/src/Invitations/Frames/F28012026_04.jsx +65 -70
- package/src/Invitations/Frames/F28012026_05.jsx +40 -11
- package/src/Invitations/Themes/T03022026_01.jsx +12 -17
- package/src/Invitations/Themes/T05022026_01.jsx +23 -19
- package/src/Invitations/Themes/T20012026_01.jsx +80 -67
- package/src/Invitations/Themes/T28012026_01.jsx +32 -25
- package/src/compositions.jsx +1 -1
- package/public/Fonts/DancingScript-VariableFont_wght.ttf +0 -0
- package/public/Fonts/GreatVibes-Regular.ttf +0 -0
- package/public/Fonts/PlayfairDisplay-Italic-VariableFont_wght.ttf +0 -0
- package/public/video-images/03022026-bg-2.webp +0 -0
- package/public/video-images/03022026-bg-3.webp +0 -0
- package/public/video-images/03022026-bg-4.webp +0 -0
- package/public/video-images/03022026-bg-5.webp +0 -0
- package/public/video-images/03022026-bg.webp +0 -0
- package/public/video-images/03022026-krishnaradha-2.webp +0 -0
- package/public/video-images/03022026-krishnaradha-4.webp +0 -0
- package/public/video-images/03022026-krishnaradha-5.webp +0 -0
- package/public/video-images/03022026-krishnaradha.webp +0 -0
- package/public/video-images/05022026-Duck.webp +0 -0
- package/public/video-images/05022026-Flower.webp +0 -0
- package/public/video-images/05022026-Ganesh.webp +0 -0
- package/public/video-images/05022026-HangingJumar.webp +0 -0
- package/public/video-images/05022026-HangingLamps.webp +0 -0
- package/public/video-images/05022026-LeftPeacock.webp +0 -0
- package/public/video-images/05022026-Nameplate.webp +0 -0
- package/public/video-images/05022026-bg-2.webp +0 -0
- package/public/video-images/05022026-bg-3.webp +0 -0
- package/public/video-images/05022026-bg-4.webp +0 -0
- package/public/video-images/05022026-bg.webp +0 -0
- package/public/video-images/20012026-bg.png +0 -0
- package/public/video-images/20012026-bg.webp +0 -0
- package/public/video-images/20012026-bride.png +0 -0
- package/public/video-images/20012026-bride.webp +0 -0
- package/public/video-images/20012026-butterfly.png +0 -0
- package/public/video-images/20012026-butterfly.webp +0 -0
- package/public/video-images/20012026-couple-walk.png +0 -0
- package/public/video-images/20012026-couple-walk.webp +0 -0
- package/public/video-images/20012026-curtain-floral.png +0 -0
- package/public/video-images/20012026-curtain-floral.webp +0 -0
- package/public/video-images/20012026-floral-left.png +0 -0
- package/public/video-images/20012026-floral-left.webp +0 -0
- package/public/video-images/20012026-floral-right.png +0 -0
- package/public/video-images/20012026-floral-right.webp +0 -0
- package/public/video-images/20012026-groom.png +0 -0
- package/public/video-images/20012026-groom.webp +0 -0
- package/public/video-images/20012026-opening-gate.png +0 -0
- package/public/video-images/20012026-opening-gate.webp +0 -0
- package/public/video-images/20012026-peacock.png +0 -0
- package/public/video-images/20012026-peacock.webp +0 -0
- package/public/video-images/20012026-tree-left.png +0 -0
- package/public/video-images/20012026-tree-left.webp +0 -0
- package/public/video-images/20012026-tree-right.png +0 -0
- package/public/video-images/20012026-tree-right.webp +0 -0
- package/public/video-images/20012026-wedding-gate.png +0 -0
- package/public/video-images/20012026-wedding-gate.webp +0 -0
- package/public/video-images/28012026-BottomLeftFlower.webp +0 -0
- package/public/video-images/28012026-BottomRightFlower.webp +0 -0
- package/public/video-images/28012026-FlowerBorder.webp +0 -0
- package/public/video-images/28012026-Ganesh.webp +0 -0
- package/public/video-images/28012026-Heart.webp +0 -0
- package/public/video-images/28012026-PinkLeaf.webp +0 -0
- package/public/video-images/28012026-TopBorder.webp +0 -0
- package/public/video-images/28012026-TopLeftFlower.webp +0 -0
- package/public/video-images/28012026-TopRightFlower.webp +0 -0
- package/public/video-images/28012026-bg.webp +0 -0
- package/public/video-images/28012026-border.webp +0 -0
- package/public/video-images/28012026-frame.webp +0 -0
- package/public/video-images/wedding.mp3 +0 -0
- package/public/video-images/wedding2.mp3 +0 -0
- package/src/Invitations/Elements/GaneshGoldenHalo.jsx +0 -90
- package/src/Invitations/Elements/PageFlipTransition.jsx +0 -180
- package/src/Invitations/Elements/PeacockDance20012026.jsx +0 -68
- package/src/Invitations/Elements/SideTrees20012026.jsx +0 -92
- package/src/Invitations/Elements/SmoothRevealFromTop20012026.jsx +0 -32
|
@@ -6,10 +6,9 @@ import {
|
|
|
6
6
|
useVideoConfig,
|
|
7
7
|
interpolate,
|
|
8
8
|
Easing,
|
|
9
|
-
staticFile,
|
|
10
9
|
} from "remotion";
|
|
11
10
|
import { WordReveal28012026 } from "../Elements/WordReveal28012026";
|
|
12
|
-
import {
|
|
11
|
+
import { HangingJumar05022026 } from "../Elements/HangingJumar05022026";
|
|
13
12
|
|
|
14
13
|
export const F05022026_04 = ({
|
|
15
14
|
familyMember,
|
|
@@ -71,13 +70,10 @@ export const F05022026_04 = ({
|
|
|
71
70
|
|
|
72
71
|
return (
|
|
73
72
|
<AbsoluteFill style={{ overflow: "hidden" }}>
|
|
74
|
-
<
|
|
75
|
-
<
|
|
76
|
-
<HangingLamp05022026 side="left" offset={0} />
|
|
77
|
-
<HangingLamp05022026 side="right" offset={0} />
|
|
78
|
-
|
|
73
|
+
<HangingJumar05022026 side="left" offset={-40} />
|
|
74
|
+
<HangingJumar05022026 side="right" offset={-40} />
|
|
79
75
|
<Img
|
|
80
|
-
src=
|
|
76
|
+
src="https://evatril-images.s3.ap-south-1.amazonaws.com/video-themes/hindu-wedding-1/v1/05022026-Nameplate.webp"
|
|
81
77
|
style={{
|
|
82
78
|
position: "absolute",
|
|
83
79
|
right: 60,
|
|
@@ -90,11 +86,11 @@ export const F05022026_04 = ({
|
|
|
90
86
|
/>
|
|
91
87
|
|
|
92
88
|
<Img
|
|
93
|
-
src=
|
|
89
|
+
src="https://evatril-images.s3.ap-south-1.amazonaws.com/video-themes/hindu-wedding-1/v1/05022026-LeftPeacock.webp"
|
|
94
90
|
style={{
|
|
95
91
|
position: "absolute",
|
|
96
|
-
left: -
|
|
97
|
-
bottom: -
|
|
92
|
+
left: -250,
|
|
93
|
+
bottom: -30,
|
|
98
94
|
width: 600,
|
|
99
95
|
maxWidth: "90%",
|
|
100
96
|
transform: `
|
|
@@ -109,7 +105,7 @@ export const F05022026_04 = ({
|
|
|
109
105
|
<div
|
|
110
106
|
style={{
|
|
111
107
|
position: "absolute",
|
|
112
|
-
top: "
|
|
108
|
+
top: "26%",
|
|
113
109
|
left: "50%",
|
|
114
110
|
transform: `translateX(-50%) translateY(${familyY}px)`,
|
|
115
111
|
width: "100%",
|
|
@@ -119,7 +115,7 @@ export const F05022026_04 = ({
|
|
|
119
115
|
>
|
|
120
116
|
<div
|
|
121
117
|
style={{
|
|
122
|
-
maxWidth: "
|
|
118
|
+
maxWidth: "70%",
|
|
123
119
|
margin: "0 auto",
|
|
124
120
|
}}
|
|
125
121
|
>
|
|
@@ -127,7 +123,7 @@ export const F05022026_04 = ({
|
|
|
127
123
|
text={familyMember}
|
|
128
124
|
start={20}
|
|
129
125
|
fontSize={70}
|
|
130
|
-
color="#
|
|
126
|
+
color="#B8860B"
|
|
131
127
|
fontFamily="Dancing Script"
|
|
132
128
|
letterSpacing="3px"
|
|
133
129
|
lineHeight="1.2"
|
|
@@ -13,14 +13,14 @@ import { CoupleWalk20012026 } from "../Elements/CoupleWalk20012026.jsx";
|
|
|
13
13
|
import { FlowersSide20012026 } from "../Elements/FlowersSide20012026.jsx";
|
|
14
14
|
|
|
15
15
|
export const F20012026_01 = ({
|
|
16
|
-
|
|
17
|
-
}) => {
|
|
16
|
+
welcomeMessage
|
|
17
|
+
}) => {
|
|
18
18
|
/* -------------------- HOOKS (ONLY HERE) -------------------- */
|
|
19
19
|
const frame = useCurrentFrame();
|
|
20
|
-
const { fps, width, height } = useVideoConfig();
|
|
20
|
+
const { fps, width, height, durationInFrames } = useVideoConfig();
|
|
21
21
|
|
|
22
22
|
/* -------------------- MESSAGE REVEAL -------------------- */
|
|
23
|
-
const messageStart = fps *
|
|
23
|
+
const messageStart = fps * 1;
|
|
24
24
|
const messageOpacity = interpolate(
|
|
25
25
|
frame,
|
|
26
26
|
[messageStart, messageStart + 15],
|
|
@@ -36,66 +36,33 @@ export const F20012026_01 = ({
|
|
|
36
36
|
easing: Easing.out(Easing.cubic),
|
|
37
37
|
}
|
|
38
38
|
);
|
|
39
|
-
/* -------------------- NAME ANIMATIONS -------------------- */
|
|
40
|
-
const brideStart = messageStart + fps * 1;
|
|
41
|
-
const wedsStart = brideStart + fps * 0.6;
|
|
42
|
-
const groomStart = wedsStart + fps * 0.6;
|
|
43
|
-
|
|
44
|
-
const reveal = (start) => ({
|
|
45
|
-
opacity: interpolate(frame, [start, start + 20], [0, 1], {
|
|
46
|
-
extrapolateRight: "clamp",
|
|
47
|
-
}),
|
|
48
|
-
translateY: interpolate(frame, [start, start + 25], [40, 0], {
|
|
49
|
-
extrapolateRight: "clamp",
|
|
50
|
-
easing: Easing.out(Easing.cubic),
|
|
51
|
-
}),
|
|
52
|
-
});
|
|
53
|
-
|
|
54
|
-
const brideAnim = reveal(brideStart);
|
|
55
|
-
const wedsAnim = reveal(wedsStart);
|
|
56
|
-
const groomAnim = reveal(groomStart);
|
|
57
|
-
|
|
58
|
-
const sceneDuration = fps * 8;
|
|
59
|
-
const exitDuration = fps * 1.3; // last 1 sec
|
|
60
|
-
const exitStart = sceneDuration - exitDuration;
|
|
61
|
-
|
|
62
|
-
const parts = 5;
|
|
63
|
-
const partDuration = exitDuration / parts;
|
|
64
39
|
|
|
40
|
+
/* -------------------- MESSAGE EXIT (LAST 1 SECOND) -------------------- */
|
|
65
41
|
|
|
66
|
-
const
|
|
67
|
-
|
|
68
|
-
const end = start + partDuration;
|
|
42
|
+
const exitDuration = fps * 2; // exactly 1 second
|
|
43
|
+
const exitStart = durationInFrames - exitDuration;
|
|
69
44
|
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
),
|
|
81
|
-
|
|
82
|
-
translateY: interpolate(
|
|
83
|
-
frame,
|
|
84
|
-
[start, end],
|
|
85
|
-
[0, -80],
|
|
86
|
-
{
|
|
87
|
-
extrapolateLeft: "clamp",
|
|
88
|
-
extrapolateRight: "clamp",
|
|
89
|
-
}
|
|
90
|
-
),
|
|
91
|
-
};
|
|
92
|
-
};
|
|
45
|
+
const messageExitOpacity = interpolate(
|
|
46
|
+
frame,
|
|
47
|
+
[exitStart, durationInFrames],
|
|
48
|
+
[1, 0],
|
|
49
|
+
{
|
|
50
|
+
extrapolateLeft: "clamp",
|
|
51
|
+
extrapolateRight: "clamp",
|
|
52
|
+
easing: Easing.in(Easing.cubic),
|
|
53
|
+
}
|
|
54
|
+
);
|
|
93
55
|
|
|
94
|
-
const
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
56
|
+
const messageExitTranslateY = interpolate(
|
|
57
|
+
frame,
|
|
58
|
+
[exitStart, durationInFrames],
|
|
59
|
+
[0, -60],
|
|
60
|
+
{
|
|
61
|
+
extrapolateLeft: "clamp",
|
|
62
|
+
extrapolateRight: "clamp",
|
|
63
|
+
easing: Easing.in(Easing.cubic),
|
|
64
|
+
}
|
|
65
|
+
);
|
|
99
66
|
|
|
100
67
|
return (
|
|
101
68
|
<AbsoluteFill style={{ overflow: "hidden" }}>
|
|
@@ -132,86 +99,12 @@ export const F20012026_01 = ({
|
|
|
132
99
|
color: "#6D4C6A",
|
|
133
100
|
fontWeight: "700",
|
|
134
101
|
lineHeight: 1.2,
|
|
135
|
-
opacity: messageOpacity,
|
|
136
|
-
transform: `translateY(${messageTranslateY}px)
|
|
137
|
-
opacity: messageOpacity * messageExit.opacity,
|
|
138
|
-
transform: `translateY(${messageTranslateY + messageExit.translateY}px)`,
|
|
102
|
+
opacity: messageOpacity * messageExitOpacity,
|
|
103
|
+
transform: `translateY(${messageTranslateY + messageExitTranslateY}px)`
|
|
139
104
|
}}
|
|
140
105
|
>
|
|
141
106
|
{welcomeMessage}
|
|
142
107
|
</div>
|
|
143
|
-
|
|
144
|
-
{/* ----------- NAMES ----------- */}
|
|
145
|
-
<div
|
|
146
|
-
style={{
|
|
147
|
-
width: "100%",
|
|
148
|
-
display: "flex",
|
|
149
|
-
flexDirection: "column",
|
|
150
|
-
alignItems: "center",
|
|
151
|
-
}}
|
|
152
|
-
>
|
|
153
|
-
<h1
|
|
154
|
-
style={{
|
|
155
|
-
width: "100%",
|
|
156
|
-
maxWidth: "80%",
|
|
157
|
-
marginTop: "10px",
|
|
158
|
-
fontFamily: "Playfair Display",
|
|
159
|
-
color: "#6B1E2E",
|
|
160
|
-
fontSize: 60,
|
|
161
|
-
fontWeight: "600",
|
|
162
|
-
lineHeight: 1.3,
|
|
163
|
-
letterSpacing: "2px",
|
|
164
|
-
textAlign: "center",
|
|
165
|
-
whiteSpace: "normal",
|
|
166
|
-
wordBreak: "break-word",
|
|
167
|
-
overflowWrap: "break-word",
|
|
168
|
-
// opacity: brideAnim.opacity,
|
|
169
|
-
// transform: `translateY(${brideAnim.translateY}px)`,
|
|
170
|
-
opacity: brideAnim.opacity * brideExit.opacity,
|
|
171
|
-
transform: `translateY(${brideAnim.translateY + brideExit.translateY}px)`,
|
|
172
|
-
}}
|
|
173
|
-
>
|
|
174
|
-
{firstName}
|
|
175
|
-
</h1>
|
|
176
|
-
|
|
177
|
-
<h2
|
|
178
|
-
style={{
|
|
179
|
-
fontSize: 70,
|
|
180
|
-
fontFamily: "Great Vibes",
|
|
181
|
-
color: "#D4AF37",
|
|
182
|
-
margin: "10px 0",
|
|
183
|
-
// opacity: wedsAnim.opacity,
|
|
184
|
-
// transform: `translateY(${wedsAnim.translateY}px)`,
|
|
185
|
-
opacity: wedsAnim.opacity * wedsExit.opacity,
|
|
186
|
-
transform: `translateY(${wedsAnim.translateY + wedsExit.translateY}px)`,
|
|
187
|
-
}}
|
|
188
|
-
>
|
|
189
|
-
weds
|
|
190
|
-
</h2>
|
|
191
|
-
|
|
192
|
-
<h1
|
|
193
|
-
style={{
|
|
194
|
-
width: "100%",
|
|
195
|
-
maxWidth: "80%",
|
|
196
|
-
fontFamily: "Playfair Display",
|
|
197
|
-
color: "#6B1E2E",
|
|
198
|
-
fontSize: 60,
|
|
199
|
-
fontWeight: "600",
|
|
200
|
-
lineHeight: 1.3,
|
|
201
|
-
letterSpacing: "2px",
|
|
202
|
-
textAlign: "center",
|
|
203
|
-
whiteSpace: "normal",
|
|
204
|
-
wordBreak: "break-word",
|
|
205
|
-
overflowWrap: "break-word",
|
|
206
|
-
// opacity: groomAnim.opacity,
|
|
207
|
-
// transform: `translateY(${groomAnim.translateY}px)`,
|
|
208
|
-
opacity: groomAnim.opacity * groomExit.opacity,
|
|
209
|
-
transform: `translateY(${groomAnim.translateY + groomExit.translateY}px)`,
|
|
210
|
-
}}
|
|
211
|
-
>
|
|
212
|
-
{secondName}
|
|
213
|
-
</h1>
|
|
214
|
-
</div>
|
|
215
108
|
</div>
|
|
216
109
|
</AbsoluteFill>
|
|
217
110
|
);
|
|
@@ -6,12 +6,10 @@ import {
|
|
|
6
6
|
interpolate,
|
|
7
7
|
Easing,
|
|
8
8
|
Img,
|
|
9
|
-
staticFile,
|
|
10
9
|
} from "remotion";
|
|
11
10
|
|
|
12
|
-
import {
|
|
13
|
-
import {
|
|
14
|
-
import { SmoothRevealFromTop20012026 } from "../Elements/SmoothRevealFromTop20012026.jsx";
|
|
11
|
+
import { SmoothReveal20012026 } from "../Elements/SmoothReveal20012026.jsx";
|
|
12
|
+
import { HangingLamp05022026 } from "../Elements/HangingLamp05022026.jsx";
|
|
15
13
|
|
|
16
14
|
export const F20012026_02 = ({
|
|
17
15
|
firstName,
|
|
@@ -20,59 +18,48 @@ export const F20012026_02 = ({
|
|
|
20
18
|
secondSideNote,
|
|
21
19
|
invitationMessage,
|
|
22
20
|
occasionDate,
|
|
23
|
-
fadeInDuration = 30,
|
|
21
|
+
// fadeInDuration = 30,
|
|
24
22
|
}) => {
|
|
25
23
|
const frame = useCurrentFrame();
|
|
26
|
-
const { fps } = useVideoConfig();
|
|
24
|
+
const { fps, durationInFrames } = useVideoConfig();
|
|
27
25
|
|
|
28
26
|
/* ================= DATE FORMAT ================= */
|
|
29
27
|
const formatDate = (date) => {
|
|
30
|
-
if (!date) return "";
|
|
31
|
-
const d = new Date(date);
|
|
32
|
-
if (isNaN(d.getTime())) return "";
|
|
28
|
+
if (!date) return { datemonth: "", year: "" };
|
|
33
29
|
|
|
34
|
-
|
|
30
|
+
let d;
|
|
31
|
+
|
|
32
|
+
// Handle DD-MM-YYYY
|
|
33
|
+
if (typeof date === "string" && date.includes("-")) {
|
|
34
|
+
const parts = date.split("-");
|
|
35
|
+
if (parts[0].length === 2) {
|
|
36
|
+
d = new Date(`${parts[2]}-${parts[1]}-${parts[0]}`);
|
|
37
|
+
} else {
|
|
38
|
+
d = new Date(date);
|
|
39
|
+
}
|
|
40
|
+
} else {
|
|
41
|
+
d = new Date(date);
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
if (isNaN(d.getTime())) return { datemonth: "", year: "" };
|
|
45
|
+
const dayMonth = d.toLocaleDateString("en-IN", {
|
|
35
46
|
day: "numeric",
|
|
36
47
|
month: "long",
|
|
37
|
-
year: "numeric",
|
|
38
48
|
});
|
|
49
|
+
const year = d.getFullYear();
|
|
50
|
+
return {
|
|
51
|
+
datemonth: dayMonth,
|
|
52
|
+
year: year.toString(),
|
|
53
|
+
};
|
|
39
54
|
};
|
|
40
55
|
|
|
41
|
-
const
|
|
42
|
-
|
|
43
|
-
/* ================= CURTAIN ANIMATION ================= */
|
|
44
|
-
|
|
45
|
-
const showImageAfter = fadeInDuration;
|
|
46
|
-
|
|
47
|
-
const imageOpacity = interpolate(
|
|
48
|
-
frame,
|
|
49
|
-
[showImageAfter, showImageAfter + fps],
|
|
50
|
-
[0, 1],
|
|
51
|
-
{ extrapolateRight: "clamp", easing: Easing.out(Easing.ease) }
|
|
52
|
-
);
|
|
53
|
-
|
|
54
|
-
const imageScale = interpolate(
|
|
55
|
-
frame,
|
|
56
|
-
[showImageAfter, showImageAfter + fps],
|
|
57
|
-
[0.92, 1],
|
|
58
|
-
{ extrapolateRight: "clamp", easing: Easing.out(Easing.ease) }
|
|
59
|
-
);
|
|
56
|
+
const dateParts = formatDate(occasionDate);
|
|
60
57
|
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
const peacockTranslateY = interpolate(
|
|
64
|
-
frame,
|
|
65
|
-
[showImageAfter, showImageAfter + fps],
|
|
66
|
-
[40, 0], // moves slightly upward while appearing
|
|
67
|
-
{
|
|
68
|
-
extrapolateRight: "clamp",
|
|
69
|
-
easing: Easing.out(Easing.ease),
|
|
70
|
-
}
|
|
71
|
-
);
|
|
58
|
+
const DETAILS_START = fps * 1;
|
|
72
59
|
|
|
73
60
|
/* ================= PEACOCK WALK ANIMATION ================= */
|
|
74
61
|
|
|
75
|
-
const walkStart =
|
|
62
|
+
const walkStart = 0;
|
|
76
63
|
/* ================= PEACOCK HEAD + FEATHER SWING ================= */
|
|
77
64
|
|
|
78
65
|
// Head swing (faster small movement)
|
|
@@ -95,79 +82,63 @@ export const F20012026_02 = ({
|
|
|
95
82
|
// Fade in same time as curtain
|
|
96
83
|
const peacockOpacity = interpolate(
|
|
97
84
|
frame,
|
|
98
|
-
[
|
|
85
|
+
[0, fps], // 👈 fade from frame 0 to 1 second
|
|
99
86
|
[0, 1],
|
|
100
87
|
{ extrapolateRight: "clamp" }
|
|
101
88
|
);
|
|
102
89
|
|
|
103
|
-
|
|
104
90
|
return (
|
|
105
91
|
<AbsoluteFill
|
|
106
92
|
style={{
|
|
107
93
|
overflow: "hidden",
|
|
108
|
-
willChange: "transform",
|
|
109
94
|
}}
|
|
110
95
|
>
|
|
111
|
-
|
|
112
|
-
<
|
|
113
|
-
src={staticFile("video-images/20012026-curtain-floral3.webp")}
|
|
114
|
-
style={{
|
|
115
|
-
position: "absolute",
|
|
116
|
-
top: "-14%",
|
|
117
|
-
left: "50%",
|
|
118
|
-
width: "100%",
|
|
119
|
-
height: "100%",
|
|
120
|
-
opacity: imageOpacity,
|
|
121
|
-
transform: `translateX(-50%) scale(${imageScale})`,
|
|
122
|
-
willChange: "transform, opacity",
|
|
123
|
-
}}
|
|
124
|
-
/>
|
|
125
|
-
|
|
96
|
+
<HangingLamp05022026 side="left" offset={-200} />
|
|
97
|
+
<HangingLamp05022026 side="right" offset={-200} />
|
|
126
98
|
{/* Peacock */}
|
|
127
99
|
<Img
|
|
128
|
-
src=
|
|
100
|
+
src="https://evatril-images.s3.ap-south-1.amazonaws.com/video-themes/hindu-wedding-1/v1/20012026-peacock.webp"
|
|
129
101
|
style={{
|
|
130
102
|
position: "absolute",
|
|
131
|
-
|
|
103
|
+
top: "25%",
|
|
132
104
|
width: "100%",
|
|
133
105
|
opacity: peacockOpacity,
|
|
134
106
|
transform: `
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
107
|
+
translateY(${peacockBounce}px)
|
|
108
|
+
translateX(${featherSwing}px)
|
|
109
|
+
rotate(${headSwing}deg)
|
|
110
|
+
`,
|
|
139
111
|
transformOrigin: "bottom center",
|
|
140
112
|
willChange: "transform, opacity",
|
|
141
113
|
}}
|
|
142
114
|
/>
|
|
143
115
|
|
|
144
|
-
|
|
145
|
-
{/* Decorations */}
|
|
146
|
-
{/* <SideTrees20012026 startAfter={2} />
|
|
147
|
-
<PeacockDance20012026 startAfter={3} /> */}
|
|
148
|
-
|
|
149
116
|
{/* Content */}
|
|
150
117
|
<div
|
|
151
118
|
style={{
|
|
152
119
|
position: "relative",
|
|
153
|
-
top: "
|
|
120
|
+
top: "20%",
|
|
154
121
|
width: "100%",
|
|
155
122
|
display: "flex",
|
|
156
123
|
flexDirection: "column",
|
|
157
124
|
alignItems: "center",
|
|
158
125
|
textAlign: "center",
|
|
159
|
-
gap:
|
|
126
|
+
gap: 10,
|
|
160
127
|
}}
|
|
161
128
|
>
|
|
162
129
|
{/* Invitation */}
|
|
163
130
|
<div
|
|
164
131
|
style={{
|
|
165
|
-
maxWidth: "
|
|
132
|
+
maxWidth: "70%",
|
|
166
133
|
fontFamily: "Dancing Script",
|
|
167
|
-
color: "#
|
|
168
|
-
fontSize:
|
|
134
|
+
color: "#8C6A2A",
|
|
135
|
+
fontSize: 55,
|
|
136
|
+
lineHeight: 1.2,
|
|
169
137
|
letterSpacing: 2,
|
|
170
|
-
...
|
|
138
|
+
...SmoothReveal20012026({
|
|
139
|
+
frame, startFrame: DETAILS_START, delay: 0, direction: "top", durationInFrames,
|
|
140
|
+
fps, exitDurationSec: 2,
|
|
141
|
+
}),
|
|
171
142
|
}}
|
|
172
143
|
>
|
|
173
144
|
{invitationMessage}
|
|
@@ -177,10 +148,13 @@ export const F20012026_02 = ({
|
|
|
177
148
|
style={{
|
|
178
149
|
maxWidth: "70%",
|
|
179
150
|
fontFamily: "Playfair Display",
|
|
180
|
-
color: "#
|
|
181
|
-
fontSize:
|
|
151
|
+
color: "#3A3A3A",
|
|
152
|
+
fontSize: 70,
|
|
182
153
|
letterSpacing: 3,
|
|
183
|
-
...
|
|
154
|
+
...SmoothReveal20012026({
|
|
155
|
+
frame, startFrame: DETAILS_START, delay: 20, direction: "left", durationInFrames,
|
|
156
|
+
fps, exitDurationSec: 2,
|
|
157
|
+
}),
|
|
184
158
|
}}
|
|
185
159
|
>
|
|
186
160
|
{firstName}
|
|
@@ -189,10 +163,13 @@ export const F20012026_02 = ({
|
|
|
189
163
|
<div
|
|
190
164
|
style={{
|
|
191
165
|
fontFamily: "Dancing Script",
|
|
192
|
-
color: "#
|
|
193
|
-
fontSize:
|
|
194
|
-
maxWidth: "
|
|
195
|
-
...
|
|
166
|
+
color: "#A67C2E",
|
|
167
|
+
fontSize: 40,
|
|
168
|
+
maxWidth: "60%",
|
|
169
|
+
...SmoothReveal20012026({
|
|
170
|
+
frame, startFrame: DETAILS_START, delay: 30, direction: "left", durationInFrames,
|
|
171
|
+
fps, exitDurationSec: 2,
|
|
172
|
+
}),
|
|
196
173
|
}}
|
|
197
174
|
>
|
|
198
175
|
{firstSideNote}
|
|
@@ -203,20 +180,27 @@ export const F20012026_02 = ({
|
|
|
203
180
|
fontSize: 40,
|
|
204
181
|
color: "#C9A24D",
|
|
205
182
|
letterSpacing: 6,
|
|
206
|
-
|
|
183
|
+
marginTop: "15px",
|
|
184
|
+
...SmoothReveal20012026({
|
|
185
|
+
frame, startFrame: DETAILS_START, delay: 35, direction: "top", durationInFrames,
|
|
186
|
+
fps, exitDurationSec: 2,
|
|
187
|
+
}),
|
|
207
188
|
}}
|
|
208
189
|
>
|
|
209
|
-
|
|
190
|
+
— ✦ —
|
|
210
191
|
</div>
|
|
211
192
|
|
|
212
193
|
<h1
|
|
213
194
|
style={{
|
|
214
195
|
maxWidth: "70%",
|
|
215
196
|
fontFamily: "Playfair Display",
|
|
216
|
-
color: "#
|
|
217
|
-
fontSize:
|
|
197
|
+
color: "#3A3A3A",
|
|
198
|
+
fontSize: 70,
|
|
218
199
|
letterSpacing: 3,
|
|
219
|
-
...
|
|
200
|
+
...SmoothReveal20012026({
|
|
201
|
+
frame, startFrame: DETAILS_START, delay: 50, direction: "right", durationInFrames,
|
|
202
|
+
fps, exitDurationSec: 2,
|
|
203
|
+
}),
|
|
220
204
|
}}
|
|
221
205
|
>
|
|
222
206
|
{secondName}
|
|
@@ -225,44 +209,70 @@ export const F20012026_02 = ({
|
|
|
225
209
|
<div
|
|
226
210
|
style={{
|
|
227
211
|
fontFamily: "Dancing Script",
|
|
228
|
-
color: "#
|
|
229
|
-
fontSize:
|
|
230
|
-
maxWidth: "
|
|
231
|
-
...
|
|
212
|
+
color: "#A67C2E",
|
|
213
|
+
fontSize: 40,
|
|
214
|
+
maxWidth: "60%",
|
|
215
|
+
...SmoothReveal20012026({
|
|
216
|
+
frame, startFrame: DETAILS_START, delay: 60, direction: "right", durationInFrames,
|
|
217
|
+
fps, exitDurationSec: 2,
|
|
218
|
+
}),
|
|
232
219
|
}}
|
|
233
220
|
>
|
|
234
221
|
{secondSideNote}
|
|
235
222
|
</div>
|
|
223
|
+
{/* Bottom Occasion Date - Screen Fixed */}
|
|
224
|
+
<div
|
|
225
|
+
style={{
|
|
226
|
+
fontSize: 50,
|
|
227
|
+
fontWeight: "400",
|
|
228
|
+
fontFamily: "Dancing Script",
|
|
229
|
+
color: "#8C6A2A",
|
|
230
|
+
...SmoothReveal20012026({
|
|
231
|
+
frame, startFrame: DETAILS_START, delay: 80, direction: "bottom", durationInFrames,
|
|
232
|
+
fps, exitDurationSec: 2,
|
|
233
|
+
}),
|
|
234
|
+
}}
|
|
235
|
+
>
|
|
236
|
+
– Join us on this auspicious day –
|
|
237
|
+
</div>
|
|
236
238
|
|
|
237
239
|
<div
|
|
238
240
|
style={{
|
|
239
|
-
|
|
240
|
-
|
|
241
|
+
fontSize: 60,
|
|
242
|
+
fontFamily: "Playfair Display",
|
|
243
|
+
color: "#5F8F7B",
|
|
244
|
+
letterSpacing: 2,
|
|
245
|
+
lineHeight: 1.2,
|
|
246
|
+
display: "flex",
|
|
247
|
+
flexDirection: "column",
|
|
248
|
+
alignItems: "center",
|
|
241
249
|
}}
|
|
242
250
|
>
|
|
243
|
-
<
|
|
251
|
+
<span
|
|
244
252
|
style={{
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
253
|
+
...SmoothReveal20012026({
|
|
254
|
+
frame, startFrame: DETAILS_START, delay: 95, direction: "bottom", durationInFrames,
|
|
255
|
+
fps, exitDurationSec: 2,
|
|
256
|
+
}),
|
|
249
257
|
}}
|
|
250
258
|
>
|
|
251
|
-
|
|
252
|
-
</
|
|
259
|
+
{dateParts.datemonth}
|
|
260
|
+
</span>
|
|
253
261
|
|
|
254
|
-
|
|
262
|
+
{/* Year */}
|
|
263
|
+
<span
|
|
255
264
|
style={{
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
265
|
+
...SmoothReveal20012026({
|
|
266
|
+
frame, startFrame: DETAILS_START, delay: 110, direction: "bottom", durationInFrames,
|
|
267
|
+
fps, exitDurationSec: 2,
|
|
268
|
+
}),
|
|
260
269
|
}}
|
|
261
270
|
>
|
|
262
|
-
{
|
|
263
|
-
</
|
|
271
|
+
{dateParts.year}
|
|
272
|
+
</span>
|
|
264
273
|
</div>
|
|
274
|
+
|
|
265
275
|
</div>
|
|
266
|
-
</AbsoluteFill>
|
|
276
|
+
</AbsoluteFill >
|
|
267
277
|
);
|
|
268
278
|
};
|