@evatril/video-templates 2.0.11 → 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.
Files changed (112) hide show
  1. package/package.json +1 -1
  2. package/src/Invitations/Elements/BlowingLeaves28012026.jsx +2 -2
  3. package/src/Invitations/Elements/BottomSideFrames20012026.jsx +122 -0
  4. package/src/Invitations/Elements/Butterflies20012026.jsx +4 -4
  5. package/src/Invitations/Elements/CoupleWalk20012026.jsx +2 -3
  6. package/src/Invitations/Elements/CurtainTransition20012026.jsx +79 -0
  7. package/src/Invitations/Elements/DucksFrame05022026.jsx +1 -2
  8. package/src/Invitations/Elements/{FloatingFlowersBottom.jsx → FloatingFlowersBottom05022026.jsx} +2 -3
  9. package/src/Invitations/Elements/FlowerReveal_TR_BL_28012026.jsx +2 -3
  10. package/src/Invitations/Elements/FlowersSide20012026.jsx +3 -72
  11. package/src/Invitations/Elements/GaneshBorder28012026.jsx +2 -4
  12. package/src/Invitations/Elements/GroomBrideLoveScene20012026.jsx +6 -7
  13. package/src/Invitations/Elements/HangingJumar05022026.jsx +1 -2
  14. package/src/Invitations/Elements/HangingLamp05022026.jsx +1 -2
  15. package/src/Invitations/Elements/HeartFlight28012026.jsx +1 -78
  16. package/src/Invitations/Elements/{HoldSlide.jsx → HoldSlide03022026.jsx} +1 -1
  17. package/src/Invitations/Elements/LetterReveal28012026.jsx +102 -14
  18. package/src/Invitations/Elements/OpeningGate20012026.jsx +3 -3
  19. package/src/Invitations/Elements/PageFlipTransition28012026.jsx +84 -0
  20. package/src/Invitations/Elements/SmoothReveal20012026.jsx +62 -0
  21. package/src/Invitations/Elements/WordReveal28012026.jsx +45 -7
  22. package/src/Invitations/Frames/F03022026_01.jsx +1 -1
  23. package/src/Invitations/Frames/F03022026_02.jsx +9 -10
  24. package/src/Invitations/Frames/F03022026_03.jsx +1 -1
  25. package/src/Invitations/Frames/F03022026_04.jsx +1 -1
  26. package/src/Invitations/Frames/F03022026_05.jsx +11 -8
  27. package/src/Invitations/Frames/F05022026_01.jsx +1 -2
  28. package/src/Invitations/Frames/F05022026_02.jsx +7 -14
  29. package/src/Invitations/Frames/F05022026_03.jsx +4 -5
  30. package/src/Invitations/Frames/F05022026_04.jsx +10 -14
  31. package/src/Invitations/Frames/F20012026_01.jsx +29 -136
  32. package/src/Invitations/Frames/F20012026_02.jsx +148 -75
  33. package/src/Invitations/Frames/F20012026_03.jsx +74 -193
  34. package/src/Invitations/Frames/F20012026_04.jsx +54 -122
  35. package/src/Invitations/Frames/F28012026_01.jsx +7 -8
  36. package/src/Invitations/Frames/F28012026_02.jsx +51 -53
  37. package/src/Invitations/Frames/F28012026_03.jsx +60 -61
  38. package/src/Invitations/Frames/F28012026_04.jsx +65 -70
  39. package/src/Invitations/Frames/F28012026_05.jsx +40 -11
  40. package/src/Invitations/Themes/T03022026_01.jsx +12 -17
  41. package/src/Invitations/Themes/T05022026_01.jsx +23 -19
  42. package/src/Invitations/Themes/T20012026_01.jsx +79 -66
  43. package/src/Invitations/Themes/T28012026_01.jsx +32 -25
  44. package/src/compositions.jsx +8 -8
  45. package/public/Fonts/DancingScript-VariableFont_wght.ttf +0 -0
  46. package/public/Fonts/GreatVibes-Regular.ttf +0 -0
  47. package/public/Fonts/PlayfairDisplay-Italic-VariableFont_wght.ttf +0 -0
  48. package/public/video-images/03022026-bg-2.webp +0 -0
  49. package/public/video-images/03022026-bg-3.webp +0 -0
  50. package/public/video-images/03022026-bg-4.webp +0 -0
  51. package/public/video-images/03022026-bg-5.webp +0 -0
  52. package/public/video-images/03022026-bg.webp +0 -0
  53. package/public/video-images/03022026-krishnaradha-2.webp +0 -0
  54. package/public/video-images/03022026-krishnaradha-4.webp +0 -0
  55. package/public/video-images/03022026-krishnaradha-5.webp +0 -0
  56. package/public/video-images/03022026-krishnaradha.webp +0 -0
  57. package/public/video-images/05022026-Duck.webp +0 -0
  58. package/public/video-images/05022026-Flower.webp +0 -0
  59. package/public/video-images/05022026-Ganesh.webp +0 -0
  60. package/public/video-images/05022026-HangingJumar.webp +0 -0
  61. package/public/video-images/05022026-HangingLamps.webp +0 -0
  62. package/public/video-images/05022026-LeftPeacock.webp +0 -0
  63. package/public/video-images/05022026-Nameplate.webp +0 -0
  64. package/public/video-images/05022026-bg-2.webp +0 -0
  65. package/public/video-images/05022026-bg-3.webp +0 -0
  66. package/public/video-images/05022026-bg-4.webp +0 -0
  67. package/public/video-images/05022026-bg.webp +0 -0
  68. package/public/video-images/20012026-bg.png +0 -0
  69. package/public/video-images/20012026-bg.webp +0 -0
  70. package/public/video-images/20012026-bride.png +0 -0
  71. package/public/video-images/20012026-bride.webp +0 -0
  72. package/public/video-images/20012026-butterfly.png +0 -0
  73. package/public/video-images/20012026-butterfly.webp +0 -0
  74. package/public/video-images/20012026-couple-walk.png +0 -0
  75. package/public/video-images/20012026-couple-walk.webp +0 -0
  76. package/public/video-images/20012026-curtain-floral.png +0 -0
  77. package/public/video-images/20012026-curtain-floral.webp +0 -0
  78. package/public/video-images/20012026-floral-left.png +0 -0
  79. package/public/video-images/20012026-floral-left.webp +0 -0
  80. package/public/video-images/20012026-floral-right.png +0 -0
  81. package/public/video-images/20012026-floral-right.webp +0 -0
  82. package/public/video-images/20012026-groom.png +0 -0
  83. package/public/video-images/20012026-groom.webp +0 -0
  84. package/public/video-images/20012026-opening-gate.png +0 -0
  85. package/public/video-images/20012026-opening-gate.webp +0 -0
  86. package/public/video-images/20012026-peacock.png +0 -0
  87. package/public/video-images/20012026-peacock.webp +0 -0
  88. package/public/video-images/20012026-tree-left.png +0 -0
  89. package/public/video-images/20012026-tree-left.webp +0 -0
  90. package/public/video-images/20012026-tree-right.png +0 -0
  91. package/public/video-images/20012026-tree-right.webp +0 -0
  92. package/public/video-images/20012026-wedding-gate.png +0 -0
  93. package/public/video-images/20012026-wedding-gate.webp +0 -0
  94. package/public/video-images/28012026-BottomLeftFlower.webp +0 -0
  95. package/public/video-images/28012026-BottomRightFlower.webp +0 -0
  96. package/public/video-images/28012026-FlowerBorder.webp +0 -0
  97. package/public/video-images/28012026-Ganesh.webp +0 -0
  98. package/public/video-images/28012026-Heart.webp +0 -0
  99. package/public/video-images/28012026-PinkLeaf.webp +0 -0
  100. package/public/video-images/28012026-TopBorder.webp +0 -0
  101. package/public/video-images/28012026-TopLeftFlower.webp +0 -0
  102. package/public/video-images/28012026-TopRightFlower.webp +0 -0
  103. package/public/video-images/28012026-bg.webp +0 -0
  104. package/public/video-images/28012026-border.webp +0 -0
  105. package/public/video-images/28012026-frame.webp +0 -0
  106. package/public/video-images/wedding.mp3 +0 -0
  107. package/public/video-images/wedding2.mp3 +0 -0
  108. package/src/Invitations/Elements/GaneshGoldenHalo.jsx +0 -90
  109. package/src/Invitations/Elements/PageFlipTransition.jsx +0 -180
  110. package/src/Invitations/Elements/PeacockDance20012026.jsx +0 -68
  111. package/src/Invitations/Elements/SideTrees20012026.jsx +0 -92
  112. package/src/Invitations/Elements/SmoothRevealFromTop20012026.jsx +0 -32
@@ -6,7 +6,6 @@ import {
6
6
  useVideoConfig,
7
7
  interpolate,
8
8
  Easing,
9
- staticFile,
10
9
  } from "remotion";
11
10
  import { FlowerReveal_TL_BR_28012026 } from "../Elements/FlowerReveal_TL_BR_28012026";
12
11
  import { HeartDraw28012026 } from "../Elements/HeartDraw28012026";
@@ -48,46 +47,46 @@ export const F28012026_02 = ({
48
47
 
49
48
  const { fps } = useVideoConfig();
50
49
 
51
- const initialsStart = fps * 3.5;
52
- const heartStart = initialsStart + fps * 1.2;
53
- const openDuration = fps * 1;
54
-
50
+ const initialsStart = fps * 2;
51
+ const heartStart = initialsStart + fps * 1;
52
+ const openDuration = fps * 1;
53
+
55
54
  const initialsOpacity = interpolate(
56
- frame,
57
- [initialsStart + fps * 0.1, initialsStart + openDuration],
58
- [0, 1],
59
- {
60
- extrapolateLeft: "clamp",
61
- extrapolateRight: "clamp",
62
- easing: Easing.out(Easing.cubic),
63
- }
64
- );
65
- // 🌿 INITIALS SCALE (soft overshoot)
66
- const initialsScale = interpolate(
67
- frame,
68
- [
69
- initialsStart,
70
- initialsStart + openDuration * 0.7,
71
- initialsStart + openDuration,
72
- ],
73
- [0.45, 1.05, 1],
74
- {
75
- extrapolateLeft: "clamp",
76
- extrapolateRight: "clamp",
77
- easing: Easing.out(Easing.cubic),
78
- }
79
- );
80
-
81
- // ☁️ FLOAT UP
82
- const initialsY = interpolate(
83
- frame,
84
- [initialsStart, initialsStart + openDuration],
85
- [20, 0],
86
- {
87
- extrapolateLeft: "clamp",
88
- extrapolateRight: "clamp",
89
- }
90
- );
55
+ frame,
56
+ [initialsStart + fps * 0.1, initialsStart + openDuration],
57
+ [0, 1],
58
+ {
59
+ extrapolateLeft: "clamp",
60
+ extrapolateRight: "clamp",
61
+ easing: Easing.out(Easing.cubic),
62
+ }
63
+ );
64
+ // 🌿 INITIALS SCALE (soft overshoot)
65
+ const initialsScale = interpolate(
66
+ frame,
67
+ [
68
+ initialsStart,
69
+ initialsStart + openDuration * 0.7,
70
+ initialsStart + openDuration,
71
+ ],
72
+ [0.45, 1.05, 1],
73
+ {
74
+ extrapolateLeft: "clamp",
75
+ extrapolateRight: "clamp",
76
+ easing: Easing.out(Easing.cubic),
77
+ }
78
+ );
79
+
80
+ // ☁️ FLOAT UP
81
+ const initialsY = interpolate(
82
+ frame,
83
+ [initialsStart, initialsStart + openDuration],
84
+ [20, 0],
85
+ {
86
+ extrapolateLeft: "clamp",
87
+ extrapolateRight: "clamp",
88
+ }
89
+ );
91
90
 
92
91
 
93
92
  return (
@@ -134,19 +133,19 @@ export const F28012026_02 = ({
134
133
  >
135
134
  <h1
136
135
  style={{
137
- fontFamily: "Dancing Script",
138
- color: "#B76E79",
139
- letterSpacing: 3,
140
- lineHeight: 1.3,
141
- fontWeight: 600,
142
136
  maxWidth: "80%",
143
137
  }}
144
138
  >
145
139
  <WordReveal28012026
146
140
  text={invitationMessage}
147
- start={40}
141
+ start={20}
148
142
  fontSize={60}
149
143
  color="#B76E79"
144
+ fontFamily="Dancing Script"
145
+ letterSpacing={3}
146
+ lineHeight={1.3}
147
+ fontWeight={600}
148
+ exitDurationSec={2}
150
149
  />
151
150
  </h1>
152
151
 
@@ -204,7 +203,6 @@ export const F28012026_02 = ({
204
203
  color: "#D4A24C",
205
204
  fontWeight: 600,
206
205
  zIndex: 2,
207
-
208
206
  opacity: interpolate(
209
207
  frame,
210
208
  [initialsStart + fps * 0.3, initialsStart + fps * 0.6],
@@ -220,20 +218,20 @@ export const F28012026_02 = ({
220
218
 
221
219
  <div
222
220
  style={{
223
- fontSize: 65,
224
- fontWeight: "600",
225
- color: "#B76E79",
226
- lineHeight: 1.2,
227
221
  marginTop: "15px",
228
- letterSpacing: "4px",
229
222
  whiteSpace: "nowrap",
230
223
  }}
231
224
  >
232
225
  <WordReveal28012026
233
226
  text={formatDate(occasionDate)}
234
- start={140}
227
+ start={100}
235
228
  fontSize={65}
236
229
  color="#B76E79"
230
+ fontFamily="Dancing Script"
231
+ letterSpacing={4}
232
+ lineHeight={1.2}
233
+ fontWeight={600}
234
+ exitDurationSec={2}
237
235
  />
238
236
 
239
237
  </div>
@@ -6,7 +6,6 @@ import {
6
6
  interpolate,
7
7
  Easing,
8
8
  Img,
9
- staticFile,
10
9
  } from "remotion";
11
10
  import { HeartFlight28012026 } from "../Elements/HeartFlight28012026";
12
11
 
@@ -34,13 +33,13 @@ export const F28012026_03 = ({
34
33
  const topBorderTranslate = interpolate(
35
34
  frame,
36
35
  [topBorderStart, topBorderStart + 20],
37
- [-60, 0], // slides DOWN from top
36
+ [-30, 0], // slides DOWN from top
38
37
  {
39
38
  extrapolateRight: "clamp",
40
39
  }
41
40
  );
42
41
 
43
- const borderStart = fps * 1;
42
+ const borderStart = fps * 1;
44
43
  const photoStart = borderStart + 20; // photo after border
45
44
 
46
45
  const borderOpacity = interpolate(frame, [borderStart, borderStart + 25], [0, 1], {
@@ -60,49 +59,49 @@ export const F28012026_03 = ({
60
59
  extrapolateRight: "clamp",
61
60
  });
62
61
 
63
- const nameStart = fps * 2.5; // adjust timing if needed
62
+ const nameStart = fps * 1.5; // adjust timing if needed
64
63
 
65
64
  const nameOpacity = interpolate(frame, [nameStart, nameStart + 20], [0, 1], {
66
65
  extrapolateRight: "clamp",
67
66
  easing: Easing.out(Easing.ease),
68
67
  });
69
68
 
70
- const nameTranslateX = interpolate(
71
- frame,
72
- [
73
- nameStart,
74
- nameStart + fps * 2,
75
- nameStart + fps * 2.3,
76
- ],
77
- [600, -10, 0],
78
- {
79
- extrapolateLeft: "clamp",
80
- extrapolateRight: "clamp",
81
- easing: Easing.inOut(Easing.cubic),
82
- }
83
- );
69
+ const nameTranslateX = interpolate(
70
+ frame,
71
+ [
72
+ nameStart,
73
+ nameStart + fps * 2,
74
+ nameStart + fps * 2.3,
75
+ ],
76
+ [600, -10, 0],
77
+ {
78
+ extrapolateLeft: "clamp",
79
+ extrapolateRight: "clamp",
80
+ easing: Easing.inOut(Easing.cubic),
81
+ }
82
+ );
84
83
 
85
- const emojiStart = nameStart + 20;
84
+ const emojiStart = nameStart + fps * 1;
86
85
 
87
86
  const emojiOpacity = interpolate(frame, [emojiStart, emojiStart + 20], [0, 1], {
88
87
  extrapolateRight: "clamp",
89
88
  easing: Easing.out(Easing.ease),
90
89
  });
91
90
 
92
- const emojiTranslateX = interpolate(
93
- frame,
94
- [
95
- emojiStart,
96
- emojiStart + fps * 2,
97
- emojiStart + fps * 2.3,
98
- ],
99
- [600, -10, 0],
100
- {
101
- extrapolateLeft: "clamp",
102
- extrapolateRight: "clamp",
103
- easing: Easing.inOut(Easing.cubic),
104
- }
105
- );
91
+ const emojiTranslateX = interpolate(
92
+ frame,
93
+ [
94
+ emojiStart,
95
+ emojiStart + fps * 2,
96
+ emojiStart + fps * 2.3,
97
+ ],
98
+ [600, -10, 0],
99
+ {
100
+ extrapolateLeft: "clamp",
101
+ extrapolateRight: "clamp",
102
+ easing: Easing.inOut(Easing.cubic),
103
+ }
104
+ );
106
105
 
107
106
  const sideNoteStart = nameStart + fps * 1.5; // appears ~0.8s after name
108
107
 
@@ -112,19 +111,19 @@ const nameTranslateX = interpolate(
112
111
  });
113
112
 
114
113
  const sideTranslateX = interpolate(
115
- frame,
116
- [
117
- sideNoteStart,
118
- sideNoteStart + fps * 2,
119
- sideNoteStart + fps * 2.3,
120
- ],
121
- [600, -10, 0],
122
- {
123
- extrapolateLeft: "clamp",
124
- extrapolateRight: "clamp",
125
- easing: Easing.inOut(Easing.cubic),
126
- }
127
- );
114
+ frame,
115
+ [
116
+ sideNoteStart,
117
+ sideNoteStart + fps * 2,
118
+ sideNoteStart + fps * 2.3,
119
+ ],
120
+ [600, -10, 0],
121
+ {
122
+ extrapolateLeft: "clamp",
123
+ extrapolateRight: "clamp",
124
+ easing: Easing.inOut(Easing.cubic),
125
+ }
126
+ );
128
127
 
129
128
  return (
130
129
  <AbsoluteFill
@@ -132,24 +131,24 @@ const nameTranslateX = interpolate(
132
131
  overflow: "hidden",
133
132
  }}
134
133
  >
135
- <HeartFlight28012026 />
134
+ <HeartFlight28012026 />
136
135
 
137
136
  {/* Top Border */}
138
137
  <div
139
138
  style={{
140
139
  position: "absolute",
141
140
  top: 0,
142
- left: 10,
141
+ left: 0,
143
142
  width: "100%",
144
143
  display: "flex",
145
144
  justifyContent: "center",
146
145
  }}
147
146
  >
148
147
  <Img
149
- src={staticFile("video-images/28012026-TopBorder.webp")}
148
+ src="https://evatril-images.s3.ap-south-1.amazonaws.com/video-themes/hindu-wedding-1/v1/28012026-TopBorder.webp"
150
149
  style={{
151
- width: "90%",
152
- transform: `translateY(${topBorderTranslate}px) scale(1.2)`,
150
+ width: "100%",
151
+ transform: `translateY(${topBorderTranslate}px) `,
153
152
  opacity: topBorderOpacity,
154
153
  }}
155
154
  />
@@ -159,7 +158,7 @@ const nameTranslateX = interpolate(
159
158
  <div
160
159
  style={{
161
160
  position: "absolute",
162
- top: "12%",
161
+ top: "20%",
163
162
  left: "50%",
164
163
  transform: "translateX(-50%)",
165
164
  width: 860,
@@ -170,7 +169,7 @@ const nameTranslateX = interpolate(
170
169
  >
171
170
  {/* BORDER */}
172
171
  <Img
173
- src={staticFile("video-images/28012026-border.webp")}
172
+ src="https://evatril-images.s3.ap-south-1.amazonaws.com/video-themes/hindu-wedding-1/v1/28012026-border.webp"
174
173
  style={{
175
174
  position: "absolute",
176
175
  inset: 0,
@@ -178,24 +177,25 @@ const nameTranslateX = interpolate(
178
177
  height: "100%",
179
178
  opacity: borderOpacity,
180
179
  transform: `scale(${borderScale})`,
180
+ transformOrigin: "center",
181
181
  zIndex: 1
182
182
  }}
183
183
  />
184
184
 
185
- {/* BRIDE PHOTO */}
186
185
  <Img
187
186
  src={firstPhoto}
188
187
  style={{
189
188
  position: "absolute",
190
189
  inset: 0,
191
190
  margin: "auto",
192
- width: "72%",
193
- height: "70%",
194
- bottom: "15%",
195
191
  objectFit: "cover",
196
192
  borderRadius: "50%",
197
193
  opacity: photoOpacity,
198
- transform: `scale(${photoScale})`,
194
+ left: "52%",
195
+ top: "70%",
196
+ transform: `translate(-48%, -50%) scale(${photoScale})`,
197
+ width: "79%",
198
+ height: "79%",
199
199
  }}
200
200
  />
201
201
  </div>
@@ -205,10 +205,9 @@ const nameTranslateX = interpolate(
205
205
  <div
206
206
  style={{
207
207
  position: "absolute",
208
- top: "60%",
208
+ top: "65%",
209
209
  width: "100%",
210
210
  textAlign: "center",
211
- opacity: nameOpacity,
212
211
 
213
212
  }}
214
213
  >
@@ -241,7 +240,7 @@ const nameTranslateX = interpolate(
241
240
  transform: `translateX(${emojiTranslateX}px)`,
242
241
  }}
243
242
  >
244
- ✨✨
243
+ ✨✨
245
244
  </div>
246
245
 
247
246
 
@@ -6,7 +6,6 @@ import {
6
6
  interpolate,
7
7
  Easing,
8
8
  Img,
9
- staticFile,
10
9
  } from "remotion";
11
10
  import { HeartFlight28012026 } from "../Elements/HeartFlight28012026";
12
11
 
@@ -34,7 +33,7 @@ export const F28012026_04 = ({
34
33
  const topBorderTranslate = interpolate(
35
34
  frame,
36
35
  [topBorderStart, topBorderStart + 20],
37
- [-60, 0], // slides DOWN from top
36
+ [-30, 0], // slides DOWN from top
38
37
  {
39
38
  extrapolateRight: "clamp",
40
39
  }
@@ -60,7 +59,7 @@ export const F28012026_04 = ({
60
59
  extrapolateRight: "clamp",
61
60
  });
62
61
 
63
- const nameStart = fps * 2.5; // adjust timing if needed
62
+ const nameStart = fps * 1.5; // adjust timing if needed
64
63
 
65
64
  const nameOpacity = interpolate(frame, [nameStart, nameStart + 20], [0, 1], {
66
65
  extrapolateRight: "clamp",
@@ -68,44 +67,43 @@ export const F28012026_04 = ({
68
67
  });
69
68
 
70
69
 
71
- const nameTranslateX = interpolate(
72
- frame,
73
- [
74
- nameStart,
75
- nameStart + fps * 2,
76
- nameStart + fps * 2.3,
77
- ],
78
- [-600, 10, 0],
79
- {
80
- extrapolateLeft: "clamp",
70
+ const nameTranslateX = interpolate(
71
+ frame,
72
+ [
73
+ nameStart,
74
+ nameStart + fps * 2,
75
+ nameStart + fps * 2.3,
76
+ ],
77
+ [-600, 10, 0],
78
+ {
79
+ extrapolateLeft: "clamp",
80
+ extrapolateRight: "clamp",
81
+ easing: Easing.inOut(Easing.cubic),
82
+ }
83
+ );
84
+
85
+ const emojiStart = nameStart + fps * 1;
86
+
87
+ const emojiOpacity = interpolate(frame, [emojiStart, emojiStart + 20], [0, 1], {
81
88
  extrapolateRight: "clamp",
82
- easing: Easing.inOut(Easing.cubic),
83
- }
84
- );
89
+ easing: Easing.out(Easing.ease),
90
+ });
85
91
 
86
- const emojiStart = nameStart + 20;
87
-
88
- const emojiOpacity = interpolate(frame, [emojiStart, emojiStart + 20], [0, 1], {
92
+ const emojiTranslateX = interpolate(
93
+ frame,
94
+ [
95
+ emojiStart,
96
+ emojiStart + fps * 2,
97
+ emojiStart + fps * 2.3,
98
+ ],
99
+ [-600, 10, 0],
100
+ {
101
+ extrapolateLeft: "clamp",
89
102
  extrapolateRight: "clamp",
90
- easing: Easing.out(Easing.ease),
91
- });
92
-
93
- const emojiTranslateX = interpolate(
94
- frame,
95
- [
96
- emojiStart,
97
- emojiStart + fps * 2,
98
- emojiStart + fps * 2.3,
99
- ],
100
- [-600, 10, 0],
101
- {
102
- extrapolateLeft: "clamp",
103
- extrapolateRight: "clamp",
104
- easing: Easing.inOut(Easing.cubic),
105
- }
106
- );
103
+ easing: Easing.inOut(Easing.cubic),
104
+ }
105
+ );
107
106
 
108
-
109
107
  const sideNoteStart = nameStart + fps * 1.5; // appears ~0.8s after name
110
108
 
111
109
  const sideOpacity = interpolate(frame, [sideNoteStart, sideNoteStart + 20], [0, 1], {
@@ -113,20 +111,20 @@ const nameTranslateX = interpolate(
113
111
  easing: Easing.out(Easing.ease),
114
112
  });
115
113
 
116
- const sideTranslateX = interpolate(
117
- frame,
118
- [
119
- sideNoteStart,
120
- sideNoteStart + fps * 2,
121
- sideNoteStart + fps * 2.3,
122
- ],
123
- [-600, 10, 0],
124
- {
125
- extrapolateLeft: "clamp",
126
- extrapolateRight: "clamp",
127
- easing: Easing.inOut(Easing.cubic),
128
- }
129
- );
114
+ const sideTranslateX = interpolate(
115
+ frame,
116
+ [
117
+ sideNoteStart,
118
+ sideNoteStart + fps * 2,
119
+ sideNoteStart + fps * 2.3,
120
+ ],
121
+ [-600, 10, 0],
122
+ {
123
+ extrapolateLeft: "clamp",
124
+ extrapolateRight: "clamp",
125
+ easing: Easing.inOut(Easing.cubic),
126
+ }
127
+ );
130
128
 
131
129
 
132
130
  return (
@@ -142,17 +140,17 @@ const nameTranslateX = interpolate(
142
140
  style={{
143
141
  position: "absolute",
144
142
  top: 0,
145
- left: 10,
143
+ left: 0,
146
144
  width: "100%",
147
145
  display: "flex",
148
146
  justifyContent: "center",
149
147
  }}
150
148
  >
151
149
  <Img
152
- src={staticFile("video-images/28012026-TopBorder.webp")}
150
+ src="https://evatril-images.s3.ap-south-1.amazonaws.com/video-themes/hindu-wedding-1/v1/28012026-TopBorder.webp"
153
151
  style={{
154
- width: "90%",
155
- transform: `translateY(${topBorderTranslate}px) scale(1.2)`,
152
+ width: "100%",
153
+ transform: `translateY(${topBorderTranslate}px) `,
156
154
  opacity: topBorderOpacity,
157
155
  }}
158
156
  />
@@ -162,7 +160,7 @@ const nameTranslateX = interpolate(
162
160
  <div
163
161
  style={{
164
162
  position: "absolute",
165
- top: "12%",
163
+ top: "20%",
166
164
  left: "50%",
167
165
  transform: "translateX(-50%)",
168
166
  width: 860,
@@ -173,7 +171,7 @@ const nameTranslateX = interpolate(
173
171
  >
174
172
  {/* BORDER */}
175
173
  <Img
176
- src={staticFile("video-images/28012026-border.webp")}
174
+ src="https://evatril-images.s3.ap-south-1.amazonaws.com/video-themes/hindu-wedding-1/v1/28012026-border.webp"
177
175
  style={{
178
176
  position: "absolute",
179
177
  inset: 0,
@@ -181,24 +179,25 @@ const nameTranslateX = interpolate(
181
179
  height: "100%",
182
180
  opacity: borderOpacity,
183
181
  transform: `scale(${borderScale})`,
182
+ transformOrigin: "center",
184
183
  zIndex: 1
185
184
  }}
186
185
  />
187
186
 
188
- {/* BRIDE PHOTO */}
189
187
  <Img
190
188
  src={secondPhoto}
191
189
  style={{
192
190
  position: "absolute",
193
191
  inset: 0,
194
192
  margin: "auto",
195
- width: "72%",
196
- height: "70%",
197
- bottom: "15%",
198
193
  objectFit: "cover",
199
194
  borderRadius: "50%",
200
195
  opacity: photoOpacity,
201
- transform: `scale(${photoScale})`,
196
+ left: "52%",
197
+ top: "70%",
198
+ transform: `translate(-48%, -50%) scale(${photoScale})`,
199
+ width: "79%",
200
+ height: "79%",
202
201
  }}
203
202
  />
204
203
  </div>
@@ -208,10 +207,9 @@ const nameTranslateX = interpolate(
208
207
  <div
209
208
  style={{
210
209
  position: "absolute",
211
- top: "60%",
210
+ top: "65%",
212
211
  width: "100%",
213
212
  textAlign: "center",
214
- opacity: nameOpacity,
215
213
 
216
214
  }}
217
215
  >
@@ -225,7 +223,7 @@ const nameTranslateX = interpolate(
225
223
  maxWidth: "80%",
226
224
  lineHeight: "1.3",
227
225
  fontWeight: "600",
228
- opacity: nameOpacity,
226
+ opacity: nameOpacity,
229
227
  transform: `translateX(${nameTranslateX}px)`,
230
228
  }}
231
229
  >
@@ -233,7 +231,7 @@ const nameTranslateX = interpolate(
233
231
 
234
232
  </h1>
235
233
 
236
- <div
234
+ <div
237
235
  style={{
238
236
  display: "flex",
239
237
  justifyContent: "center",
@@ -245,7 +243,7 @@ const nameTranslateX = interpolate(
245
243
  transform: `translateX(${emojiTranslateX}px)`,
246
244
  }}
247
245
  >
248
- ✨ ✨
246
+ ✨ ✨
249
247
  </div>
250
248
 
251
249
  <div
@@ -266,9 +264,6 @@ const nameTranslateX = interpolate(
266
264
  </div>
267
265
  </div>
268
266
 
269
-
270
-
271
-
272
267
  </AbsoluteFill>
273
268
  );
274
269
  };