@remotion/promo-pages 4.0.347 → 4.0.351

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.
@@ -1,8 +1,8 @@
1
1
 
2
2
  
3
- > @remotion/promo-pages@4.0.347 make /Users/jonathanburger/remotion/packages/promo-pages
3
+ > @remotion/promo-pages@4.0.351 make /Users/jonathanburger/remotion/packages/promo-pages
4
4
  > bun --env-file=../.env.bundle bundle.ts
5
5
 
6
6
  ≈ tailwindcss v4.1.1
7
7
 
8
- Done in 26ms
8
+ Done in 25ms
package/bundle.ts CHANGED
@@ -26,6 +26,7 @@ const result = await Bun.build({
26
26
  entrypoints: [
27
27
  './src/components/Homepage.tsx',
28
28
  './src/components/homepage/Pricing.tsx',
29
+ './src/components/team.tsx',
29
30
  ],
30
31
  format: 'esm',
31
32
  external: [
package/dist/Homepage.js CHANGED
@@ -19,7 +19,6 @@ var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require
19
19
 
20
20
  // ../core/dist/esm/index.mjs
21
21
  import { createContext } from "react";
22
- import React22 from "react";
23
22
  import React4 from "react";
24
23
  import { createContext as createContext2, useContext } from "react";
25
24
  import { jsx as jsx10 } from "react/jsx-runtime";
@@ -33,11 +32,12 @@ import {
33
32
  import { forwardRef, useMemo as useMemo2 } from "react";
34
33
  import { jsx as jsx22 } from "react/jsx-runtime";
35
34
  import { createContext as createContext3 } from "react";
36
- import React42, { useCallback as useCallback2, useMemo as useMemo22, useState as useState2 } from "react";
35
+ import React32, { useCallback as useCallback2, useMemo as useMemo22, useState as useState2 } from "react";
37
36
  import { jsx as jsx32 } from "react/jsx-runtime";
38
37
  import { createContext as createContext4, useContext as useContext2, useEffect as useEffect2, useRef, useState as useState22 } from "react";
39
38
  import { createContext as createContext8, useContext as useContext6, useMemo as useMemo6 } from "react";
40
39
  import { useContext as useContext3, useState as useState3 } from "react";
40
+ import React42 from "react";
41
41
  import { useContext as useContext5, useMemo as useMemo5 } from "react";
42
42
  import { createContext as createContext5 } from "react";
43
43
  import {
@@ -211,7 +211,7 @@ import React29 from "react";
211
211
  import React30, { createContext as createContext19 } from "react";
212
212
  import { jsx as jsx29 } from "react/jsx-runtime";
213
213
  import { jsx as jsx30 } from "react/jsx-runtime";
214
- import React32 from "react";
214
+ import React322 from "react";
215
215
  import { useCallback as useCallback16 } from "react";
216
216
  import {
217
217
  useCallback as useCallback15,
@@ -709,7 +709,7 @@ var __defProp2, __export2 = (target, all) => {
709
709
  isReadOnlyStudio,
710
710
  isClientSideRendering: false
711
711
  };
712
- }, RemotionEnvironmentContext, originalCreateElement, componentsToAddStacksTo, enableSequenceStackTraces = () => {
712
+ }, originalCreateElement, componentsToAddStacksTo, enableSequenceStackTraces = () => {
713
713
  if (!getRemotionEnvironment().isStudio) {
714
714
  return;
715
715
  }
@@ -726,7 +726,7 @@ var __defProp2, __export2 = (target, all) => {
726
726
  return Reflect.apply(target, thisArg, argArray);
727
727
  }
728
728
  });
729
- React22.createElement = proxy;
729
+ React4.createElement = proxy;
730
730
  }, addSequenceStackTraces = (component) => {
731
731
  componentsToAddStacksTo.push(component);
732
732
  enableSequenceStackTraces();
@@ -739,7 +739,7 @@ var __defProp2, __export2 = (target, all) => {
739
739
  });
740
740
  }, useIsPlayer = () => {
741
741
  return useContext(IsPlayerContext);
742
- }, VERSION = "4.0.347", checkMultipleRemotionVersions = () => {
742
+ }, VERSION = "4.0.351", checkMultipleRemotionVersions = () => {
743
743
  if (typeof globalThis === "undefined") {
744
744
  return;
745
745
  }
@@ -897,7 +897,7 @@ Check that all your Remotion packages are on the same version. If your dependenc
897
897
  setNonce(context.getNonce);
898
898
  }, [context]);
899
899
  return nonce;
900
- }, exports_timeline_position_state, useRemotionEnvironment = () => {
900
+ }, exports_timeline_position_state, RemotionEnvironmentContext, useRemotionEnvironment = () => {
901
901
  const context = useContext3(RemotionEnvironmentContext);
902
902
  const [env] = useState3(() => getRemotionEnvironment());
903
903
  return context ?? env;
@@ -4149,6 +4149,10 @@ Check that all your Remotion packages are on the same version. If your dependenc
4149
4149
  return useMemo19(() => {
4150
4150
  return [mediaMuted, setMediaMuted];
4151
4151
  }, [mediaMuted, setMediaMuted]);
4152
+ }, warnAboutTooHighVolume = (volume) => {
4153
+ if (volume >= 100) {
4154
+ throw new Error(`Volume was set to ${volume}, but regular volume is 1, not 100. Did you forget to divide by 100? Set a volume of less than 100 to dismiss this error.`);
4155
+ }
4152
4156
  }, AudioForDevelopmentForwardRefFunction = (props, ref) => {
4153
4157
  const [initialShouldPreMountAudioElements] = useState14(props.shouldPreMountAudioTags);
4154
4158
  if (props.shouldPreMountAudioTags !== initialShouldPreMountAudioElements) {
@@ -4202,6 +4206,7 @@ Check that all your Remotion packages are on the same version. If your dependenc
4202
4206
  volume,
4203
4207
  mediaVolume
4204
4208
  });
4209
+ warnAboutTooHighVolume(userPreferredVolume);
4205
4210
  const crossOriginValue = getCrossOriginValue({
4206
4211
  crossOrigin,
4207
4212
  requestsVideoFrame: false
@@ -4345,6 +4350,7 @@ Check that all your Remotion packages are on the same version. If your dependenc
4345
4350
  frame: volumePropFrame,
4346
4351
  mediaVolume: 1
4347
4352
  });
4353
+ warnAboutTooHighVolume(volume);
4348
4354
  useImperativeHandle6(ref, () => {
4349
4355
  return audioRef.current;
4350
4356
  }, []);
@@ -5358,6 +5364,7 @@ Check that all your Remotion packages are on the same version. If your dependenc
5358
5364
  volume,
5359
5365
  mediaVolume
5360
5366
  });
5367
+ warnAboutTooHighVolume(userPreferredVolume);
5361
5368
  useMediaInTimeline({
5362
5369
  mediaRef: videoRef,
5363
5370
  volume,
@@ -5887,6 +5894,7 @@ Check that all your Remotion packages are on the same version. If your dependenc
5887
5894
  frame: volumePropsFrame,
5888
5895
  mediaVolume: 1
5889
5896
  });
5897
+ warnAboutTooHighVolume(volume);
5890
5898
  useEffect21(() => {
5891
5899
  if (!props2.src) {
5892
5900
  throw new Error("No src passed");
@@ -6168,13 +6176,12 @@ var init_esm = __esm(() => {
6168
6176
  throw new Error(err.join(`
6169
6177
  `));
6170
6178
  }
6171
- RemotionEnvironmentContext = React4.createContext(null);
6172
- originalCreateElement = React22.createElement;
6179
+ originalCreateElement = React4.createElement;
6173
6180
  componentsToAddStacksTo = [];
6174
6181
  IsPlayerContext = createContext2(false);
6175
6182
  AbsoluteFill = forwardRef(AbsoluteFillRefForwarding);
6176
6183
  SequenceContext = createContext3(null);
6177
- SequenceManager = React42.createContext({
6184
+ SequenceManager = React32.createContext({
6178
6185
  registerSequence: () => {
6179
6186
  throw new Error("SequenceManagerContext not initialized");
6180
6187
  },
@@ -6183,7 +6190,7 @@ var init_esm = __esm(() => {
6183
6190
  },
6184
6191
  sequences: []
6185
6192
  });
6186
- SequenceVisibilityToggleContext = React42.createContext({
6193
+ SequenceVisibilityToggleContext = React32.createContext({
6187
6194
  hidden: {},
6188
6195
  setHidden: () => {
6189
6196
  throw new Error("SequenceVisibilityToggle not initialized");
@@ -6208,6 +6215,7 @@ var init_esm = __esm(() => {
6208
6215
  TimelineContext: () => TimelineContext,
6209
6216
  SetTimelineContext: () => SetTimelineContext
6210
6217
  });
6218
+ RemotionEnvironmentContext = React42.createContext(null);
6211
6219
  CompositionManager = createContext5({
6212
6220
  compositions: [],
6213
6221
  folders: [],
@@ -6588,7 +6596,9 @@ var init_esm = __esm(() => {
6588
6596
  playbackLogging,
6589
6597
  timeValueRef,
6590
6598
  compositionSelectorRef,
6591
- RemotionEnvironmentContext
6599
+ RemotionEnvironmentContext,
6600
+ warnAboutTooHighVolume,
6601
+ AudioForPreview
6592
6602
  };
6593
6603
  PERCENTAGE = NUMBER + "%";
6594
6604
  IsInsideSeriesContext = createContext19(false);
@@ -11784,7 +11794,7 @@ init_esm();
11784
11794
  init_esm();
11785
11795
  import { jsx as jsx35, jsxs as jsxs10 } from "react/jsx-runtime";
11786
11796
  import { jsx as jsx210, jsxs as jsxs23, Fragment } from "react/jsx-runtime";
11787
- import React8 from "react";
11797
+ import React6 from "react";
11788
11798
  import { useContext as useContext210, useEffect as useEffect23, useState as useState20 } from "react";
11789
11799
  import { useContext as useContext33, useEffect as useEffect24 } from "react";
11790
11800
  import { jsx as jsx36 } from "react/jsx-runtime";
@@ -11836,7 +11846,7 @@ import { useMemo as useMemo72 } from "react";
11836
11846
  import { jsxs as jsxs72 } from "react/jsx-runtime";
11837
11847
  import { useMemo as useMemo82 } from "react";
11838
11848
  import { jsx as jsx93, jsxs as jsxs82, Fragment as Fragment2 } from "react/jsx-runtime";
11839
- import React82 from "react";
11849
+ import React8 from "react";
11840
11850
  import { jsx as jsx103 } from "react/jsx-runtime";
11841
11851
  import React92, { useEffect as useEffect122 } from "react";
11842
11852
  import { jsx as jsx112 } from "react/jsx-runtime";
@@ -11847,7 +11857,6 @@ import { useCallback as useCallback122, useMemo as useMemo132, useState as useSt
11847
11857
  import { jsx as jsx132 } from "react/jsx-runtime";
11848
11858
 
11849
11859
  // ../core/dist/esm/no-react.mjs
11850
- import React6 from "react";
11851
11860
  function interpolateFunction2(input, inputRange, outputRange, options) {
11852
11861
  const { extrapolateLeft, extrapolateRight, easing } = options;
11853
11862
  let result = input;
@@ -11947,7 +11956,6 @@ function interpolate2(input, inputRange, outputRange, options) {
11947
11956
  extrapolateRight
11948
11957
  });
11949
11958
  }
11950
- var RemotionEnvironmentContext2 = React6.createContext(null);
11951
11959
  function truthy2(value) {
11952
11960
  return Boolean(value);
11953
11961
  }
@@ -12806,8 +12814,8 @@ var calculateOuter = ({
12806
12814
  overflow: overflowVisible ? "visible" : "hidden"
12807
12815
  };
12808
12816
  };
12809
- var PlayerEventEmitterContext = React8.createContext(undefined);
12810
- var ThumbnailEmitterContext = React8.createContext(undefined);
12817
+ var PlayerEventEmitterContext = React6.createContext(undefined);
12818
+ var ThumbnailEmitterContext = React6.createContext(undefined);
12811
12819
 
12812
12820
  class PlayerEmitter {
12813
12821
  listeners = {
@@ -14487,7 +14495,7 @@ var errorStyle = {
14487
14495
  width: "100%"
14488
14496
  };
14489
14497
 
14490
- class ErrorBoundary extends React82.Component {
14498
+ class ErrorBoundary extends React8.Component {
14491
14499
  state = { hasError: null };
14492
14500
  static getDerivedStateFromError(error) {
14493
14501
  return { hasError: error };
@@ -20395,7 +20403,7 @@ var listOfRemotionPackages = [
20395
20403
  "@remotion/compositor",
20396
20404
  "@remotion/example-videos",
20397
20405
  "@remotion/whisper-web",
20398
- "@remotion/video",
20406
+ "@remotion/media",
20399
20407
  "@remotion/web-renderer"
20400
20408
  ];
20401
20409
  function truthy3(value) {
package/dist/tailwind.css CHANGED
@@ -60,6 +60,8 @@
60
60
  --text-xl--line-height: calc(1.75 / 1.25);
61
61
  --text-2xl: 1.5rem;
62
62
  --text-2xl--line-height: calc(2 / 1.5);
63
+ --text-3xl: 1.875rem;
64
+ --text-3xl--line-height: calc(2.25 / 1.875);
63
65
  --text-4xl: 2.25rem;
64
66
  --text-4xl--line-height: calc(2.5 / 2.25);
65
67
  --text-5xl: 3rem;
@@ -68,7 +70,9 @@
68
70
  --font-weight-semibold: 600;
69
71
  --font-weight-bold: 700;
70
72
  --font-weight-black: 900;
73
+ --leading-tight: 1.25;
71
74
  --leading-snug: 1.375;
75
+ --leading-normal: 1.5;
72
76
  --leading-relaxed: 1.625;
73
77
  --radius-sm: 0.25rem;
74
78
  --radius-lg: 0.5rem;
@@ -127,6 +131,9 @@
127
131
  .z-10 {
128
132
  z-index: 10;
129
133
  }
134
+ .float-left {
135
+ float: left;
136
+ }
130
137
  .container {
131
138
  width: 100%;
132
139
  @media (width >= 40rem) {
@@ -175,6 +182,9 @@
175
182
  .mt-4 {
176
183
  margin-top: calc(var(--spacing) * 4);
177
184
  }
185
+ .mt-5 {
186
+ margin-top: calc(var(--spacing) * 5);
187
+ }
178
188
  .mt-8 {
179
189
  margin-top: calc(var(--spacing) * 8);
180
190
  }
@@ -187,9 +197,18 @@
187
197
  .mt-\[3px\] {
188
198
  margin-top: 3px;
189
199
  }
200
+ .mr-3 {
201
+ margin-right: calc(var(--spacing) * 3);
202
+ }
190
203
  .-mb-40 {
191
204
  margin-bottom: calc(var(--spacing) * -40);
192
205
  }
206
+ .mb-0 {
207
+ margin-bottom: calc(var(--spacing) * 0);
208
+ }
209
+ .mb-1 {
210
+ margin-bottom: calc(var(--spacing) * 1);
211
+ }
193
212
  .mb-4 {
194
213
  margin-bottom: calc(var(--spacing) * 4);
195
214
  }
@@ -259,12 +278,18 @@
259
278
  .h-5 {
260
279
  height: calc(var(--spacing) * 5);
261
280
  }
281
+ .h-6 {
282
+ height: calc(var(--spacing) * 6);
283
+ }
262
284
  .h-8 {
263
285
  height: calc(var(--spacing) * 8);
264
286
  }
265
287
  .h-12 {
266
288
  height: calc(var(--spacing) * 12);
267
289
  }
290
+ .h-\[250px\] {
291
+ height: 250px;
292
+ }
268
293
  .h-auto {
269
294
  height: auto;
270
295
  }
@@ -295,12 +320,21 @@
295
320
  .w-\[30\%\] {
296
321
  width: 30%;
297
322
  }
323
+ .w-\[30px\] {
324
+ width: 30px;
325
+ }
326
+ .w-\[32px\] {
327
+ width: 32px;
328
+ }
298
329
  .w-\[90vw\] {
299
330
  width: 90vw;
300
331
  }
301
332
  .w-\[140px\] {
302
333
  width: 140px;
303
334
  }
335
+ .w-\[250px\] {
336
+ width: 250px;
337
+ }
304
338
  .w-\[500px\] {
305
339
  width: 500px;
306
340
  }
@@ -322,6 +356,9 @@
322
356
  .max-w-\[700px\] {
323
357
  max-width: 700px;
324
358
  }
359
+ .max-w-\[1000px\] {
360
+ max-width: 1000px;
361
+ }
325
362
  .min-w-0 {
326
363
  min-width: calc(var(--spacing) * 0);
327
364
  }
@@ -423,6 +460,9 @@
423
460
  .gap-10 {
424
461
  gap: calc(var(--spacing) * 10);
425
462
  }
463
+ .gap-12 {
464
+ gap: calc(var(--spacing) * 12);
465
+ }
426
466
  .self-center {
427
467
  align-self: center;
428
468
  }
@@ -450,6 +490,9 @@
450
490
  .rounded {
451
491
  border-radius: 0.25rem;
452
492
  }
493
+ .rounded-\[15px\] {
494
+ border-radius: 15px;
495
+ }
453
496
  .rounded-full {
454
497
  border-radius: calc(infinity * 1px);
455
498
  }
@@ -616,6 +659,9 @@
616
659
  .pt-4 {
617
660
  padding-top: calc(var(--spacing) * 4);
618
661
  }
662
+ .pt-10 {
663
+ padding-top: calc(var(--spacing) * 10);
664
+ }
619
665
  .pt-20 {
620
666
  padding-top: calc(var(--spacing) * 20);
621
667
  }
@@ -647,6 +693,9 @@
647
693
  font-family: 'GTPlanar', sans-serif;
648
694
  font-feature-settings: 'ss03' on;
649
695
  }
696
+ .font-\[\'GTPlanar\'\] {
697
+ font-family: 'GTPlanar';
698
+ }
650
699
  .font-brand {
651
700
  font-family: 'GTPlanar', sans-serif;
652
701
  }
@@ -660,6 +709,10 @@
660
709
  font-size: var(--text-2xl);
661
710
  line-height: var(--tw-leading, var(--text-2xl--line-height));
662
711
  }
712
+ .text-3xl {
713
+ font-size: var(--text-3xl);
714
+ line-height: var(--tw-leading, var(--text-3xl--line-height));
715
+ }
663
716
  .text-4xl {
664
717
  font-size: var(--text-4xl);
665
718
  line-height: var(--tw-leading, var(--text-4xl--line-height));
@@ -696,6 +749,10 @@
696
749
  --tw-leading: 1;
697
750
  line-height: 1;
698
751
  }
752
+ .leading-normal {
753
+ --tw-leading: var(--leading-normal);
754
+ line-height: var(--leading-normal);
755
+ }
699
756
  .leading-relaxed {
700
757
  --tw-leading: var(--leading-relaxed);
701
758
  line-height: var(--leading-relaxed);
@@ -704,6 +761,10 @@
704
761
  --tw-leading: var(--leading-snug);
705
762
  line-height: var(--leading-snug);
706
763
  }
764
+ .leading-tight {
765
+ --tw-leading: var(--leading-tight);
766
+ line-height: var(--leading-tight);
767
+ }
707
768
  .font-black {
708
769
  --tw-font-weight: var(--font-weight-black);
709
770
  font-weight: var(--font-weight-black);
@@ -720,6 +781,9 @@
720
781
  --tw-font-weight: var(--font-weight-semibold);
721
782
  font-weight: var(--font-weight-semibold);
722
783
  }
784
+ .text-balance {
785
+ text-wrap: balance;
786
+ }
723
787
  .whitespace-nowrap {
724
788
  white-space: nowrap;
725
789
  }
@@ -733,6 +797,9 @@
733
797
  }
734
798
  }
735
799
  }
800
+ .text-\[var\(--ifm-color-primary\)\] {
801
+ color: var(--ifm-color-primary);
802
+ }
736
803
  .text-\[var\(--subtitle\)\] {
737
804
  color: var(--subtitle);
738
805
  }
@@ -862,16 +929,31 @@
862
929
  margin-top: calc(var(--spacing) * 0);
863
930
  }
864
931
  }
932
+ .md\:mr-6 {
933
+ @media (width >= 48rem) {
934
+ margin-right: calc(var(--spacing) * 6);
935
+ }
936
+ }
865
937
  .md\:block {
866
938
  @media (width >= 48rem) {
867
939
  display: block;
868
940
  }
869
941
  }
942
+ .md\:h-8 {
943
+ @media (width >= 48rem) {
944
+ height: calc(var(--spacing) * 8);
945
+ }
946
+ }
870
947
  .md\:w-auto {
871
948
  @media (width >= 48rem) {
872
949
  width: auto;
873
950
  }
874
951
  }
952
+ .md\:flex-col {
953
+ @media (width >= 48rem) {
954
+ flex-direction: column;
955
+ }
956
+ }
875
957
  .md\:flex-row {
876
958
  @media (width >= 48rem) {
877
959
  flex-direction: row;
@@ -882,11 +964,22 @@
882
964
  align-items: center;
883
965
  }
884
966
  }
967
+ .md\:gap-4 {
968
+ @media (width >= 48rem) {
969
+ gap: calc(var(--spacing) * 4);
970
+ }
971
+ }
885
972
  .md\:overflow-x-visible {
886
973
  @media (width >= 48rem) {
887
974
  overflow-x: visible;
888
975
  }
889
976
  }
977
+ .md\:text-5xl {
978
+ @media (width >= 48rem) {
979
+ font-size: var(--text-5xl);
980
+ line-height: var(--tw-leading, var(--text-5xl--line-height));
981
+ }
982
+ }
890
983
  .lg\:relative {
891
984
  @media (width >= 64rem) {
892
985
  position: relative;
@@ -917,6 +1010,11 @@
917
1010
  margin-bottom: calc(var(--spacing) * 0);
918
1011
  }
919
1012
  }
1013
+ .lg\:mb-4 {
1014
+ @media (width >= 64rem) {
1015
+ margin-bottom: calc(var(--spacing) * 4);
1016
+ }
1017
+ }
920
1018
  .lg\:-ml-5 {
921
1019
  @media (width >= 64rem) {
922
1020
  margin-left: calc(var(--spacing) * -5);
package/dist/team.js ADDED
@@ -0,0 +1,277 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __export = (target, all) => {
3
+ for (var name in all)
4
+ __defProp(target, name, {
5
+ get: all[name],
6
+ enumerable: true,
7
+ configurable: true,
8
+ set: (newValue) => all[name] = () => newValue
9
+ });
10
+ };
11
+ var __esm = (fn, res) => () => (fn && (res = fn(fn = 0)), res);
12
+ var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require : typeof Proxy !== "undefined" ? new Proxy(x, {
13
+ get: (a, b) => (typeof require !== "undefined" ? require : a)[b]
14
+ }) : x)(function(x) {
15
+ if (typeof require !== "undefined")
16
+ return require.apply(this, arguments);
17
+ throw Error('Dynamic require of "' + x + '" is not supported');
18
+ });
19
+
20
+ // src/components/TeamPicture.tsx
21
+ import { jsx } from "react/jsx-runtime";
22
+ var TeamPicture = () => {
23
+ return /* @__PURE__ */ jsx("div", {
24
+ className: "border-effect overflow-hidden mb-10 lg:mb-4",
25
+ children: /* @__PURE__ */ jsx("img", {
26
+ src: "/img/team/team.jpeg",
27
+ style: { aspectRatio: "1024 / 616" },
28
+ className: "w-full mb-0 float-left "
29
+ })
30
+ });
31
+ };
32
+
33
+ // src/components/team/TeamCards.tsx
34
+ import { jsx as jsx2, jsxs } from "react/jsx-runtime";
35
+ var LinkedInLogo = () => {
36
+ return /* @__PURE__ */ jsx2("svg", {
37
+ xmlns: "http://www.w3.org/2000/svg",
38
+ viewBox: "0 0 1000 1000",
39
+ className: "w-[30px]",
40
+ children: /* @__PURE__ */ jsx2("path", {
41
+ fill: "currentcolor",
42
+ d: "M195.877 0C88.16 0 0 88.158 0 195.877V803.718C0 911.435 88.158 999.563 195.877 999.563H803.718C911.436 999.563 999.563 911.436 999.563 803.718V195.877C999.563 88.16 911.436 0 803.718 0H195.877ZM245.143 164.948C296.791 164.948 328.604 198.854 329.586 243.423C329.586 287.008 296.789 321.867 244.144 321.867H243.175C192.51 321.867 159.763 287.01 159.763 243.423C159.763 198.855 193.501 164.948 245.142 164.948H245.143ZM690.223 373.258C789.552 373.258 864.013 438.18 864.013 577.694V838.143H713.06V595.156C713.06 534.096 691.213 492.438 636.584 492.438C594.88 492.438 570.022 520.516 559.108 547.64C555.121 557.344 554.141 570.897 554.141 584.472V838.143H403.188C403.188 838.143 405.169 426.53 403.188 383.91H554.172V448.234C574.232 417.284 610.114 373.257 690.223 373.257V373.258ZM168.667 383.943H319.62V838.145H168.667V383.943V383.943Z"
43
+ })
44
+ });
45
+ };
46
+ var TwitterLogo = () => {
47
+ return /* @__PURE__ */ jsx2("svg", {
48
+ xmlns: "http://www.w3.org/2000/svg",
49
+ viewBox: "0 0 530 570",
50
+ className: "w-[32px]",
51
+ children: /* @__PURE__ */ jsx2("path", {
52
+ fill: "currentcolor",
53
+ d: "M389.2 48h70.6L305.6 224.2 487 464H345L233.7 318.6 106.5 464H35.8L200.7 275.5 26.8 48H172.4L272.9 180.9 389.2 48zM364.4 421.8h39.1L151.1 88h-42L364.4 421.8z"
54
+ })
55
+ });
56
+ };
57
+ var GitHubLogo = () => {
58
+ return /* @__PURE__ */ jsx2("svg", {
59
+ xmlns: "http://www.w3.org/2000/svg",
60
+ viewBox: "0 0 1084 1084",
61
+ className: "w-[30px]",
62
+ children: /* @__PURE__ */ jsx2("path", {
63
+ fill: "currentcolor",
64
+ d: "M542 0C242.545 0 0 242.545 0 542C0 781.835 155.147 984.408 370.592 1056.22C397.692 1060.97 407.855 1044.71 407.855 1030.48C407.855 1017.61 407.178 974.923 407.178 929.53C271 954.598 235.77 896.332 224.93 865.845C218.832 850.262 192.41 802.16 169.375 789.287C150.405 779.125 123.305 754.057 168.698 753.38C211.38 752.702 241.868 792.675 252.03 808.935C300.81 890.912 378.723 867.878 409.888 853.65C414.63 818.42 428.857 794.707 444.44 781.157C323.845 767.607 197.83 720.86 197.83 513.545C197.83 454.602 218.833 405.822 253.385 367.882C247.965 354.332 228.995 298.777 258.805 224.252C258.805 224.252 304.198 210.025 407.855 279.808C451.215 267.613 497.285 261.515 543.355 261.515C589.425 261.515 635.495 267.613 678.855 279.808C782.513 209.348 827.905 224.252 827.905 224.252C857.715 298.777 838.745 354.332 833.325 367.882C867.878 405.822 888.88 453.925 888.88 513.545C888.88 721.537 762.188 767.607 641.593 781.157C661.24 798.095 678.178 830.615 678.178 881.428C678.178 953.92 677.5 1012.19 677.5 1030.48C677.5 1044.71 687.663 1061.64 714.763 1056.22C822.365 1019.91 915.868 950.759 982.106 858.512C1048.34 766.264 1083.98 655.565 1084 542C1084 242.545 841.455 0 542 0Z"
65
+ })
66
+ });
67
+ };
68
+ var EmailLogo = () => {
69
+ return /* @__PURE__ */ jsx2("svg", {
70
+ xmlns: "http://www.w3.org/2000/svg",
71
+ viewBox: "0 0 1299 1299",
72
+ className: "w-[30px]",
73
+ children: /* @__PURE__ */ jsx2("path", {
74
+ fill: "currentcolor",
75
+ d: "M1177.22 202.969H121.781C99.3278 202.969 81.1875 221.109 81.1875 243.562V1055.44C81.1875 1077.89 99.3278 1096.03 121.781 1096.03H1177.22C1199.67 1096.03 1217.81 1077.89 1217.81 1055.44V243.562C1217.81 221.109 1199.67 202.969 1177.22 202.969ZM1126.48 343.525V1004.7H172.523V343.525L137.511 316.251L187.366 252.189L241.66 294.432H1057.47L1111.76 252.189L1161.62 316.251L1126.48 343.525V343.525ZM1057.47 294.305L649.5 611.443L241.533 294.305L187.239 252.062L137.384 316.124L172.397 343.398L605.735 680.326C618.197 690.008 633.529 695.263 649.31 695.263C665.091 695.263 680.422 690.008 692.885 680.326L1126.48 343.525L1161.49 316.251L1111.63 252.189L1057.47 294.305Z"
76
+ })
77
+ });
78
+ };
79
+ var TeamMemberCard = ({
80
+ name,
81
+ title,
82
+ description,
83
+ image,
84
+ twitter,
85
+ linkedin,
86
+ github,
87
+ email
88
+ }) => {
89
+ return /* @__PURE__ */ jsxs("div", {
90
+ className: "flex-1 rounded-[15px] flex flex-col md:flex-row gap-2 md:gap-4",
91
+ children: [
92
+ /* @__PURE__ */ jsx2("img", {
93
+ src: image,
94
+ className: "w-[250px] h-[250px] rounded-xl border-effect"
95
+ }),
96
+ /* @__PURE__ */ jsxs("div", {
97
+ className: "flex flex-col border-effect px-4 py-3 bg-pane",
98
+ children: [
99
+ /* @__PURE__ */ jsx2("h2", {
100
+ className: "ext-[1.6em] mb-1 mt-3 text-[var(--ifm-color-primary)] font-brand",
101
+ children: name
102
+ }),
103
+ /* @__PURE__ */ jsx2("strong", {
104
+ className: "font-brand",
105
+ children: title
106
+ }),
107
+ /* @__PURE__ */ jsx2("div", {
108
+ className: "mt-5 mb-5 leading-normal font-brand",
109
+ children: description
110
+ }),
111
+ /* @__PURE__ */ jsx2("div", {
112
+ className: "flex-1"
113
+ }),
114
+ /* @__PURE__ */ jsxs("div", {
115
+ className: "gap-3 flex flex-row",
116
+ children: [
117
+ /* @__PURE__ */ jsx2("a", {
118
+ className: "no-underline text-inherit",
119
+ target: "_blank",
120
+ href: twitter,
121
+ children: /* @__PURE__ */ jsx2(TwitterLogo, {})
122
+ }),
123
+ /* @__PURE__ */ jsx2("a", {
124
+ className: "no-underline text-inherit",
125
+ target: "_blank",
126
+ href: linkedin,
127
+ children: /* @__PURE__ */ jsx2(LinkedInLogo, {})
128
+ }),
129
+ /* @__PURE__ */ jsx2("a", {
130
+ className: "no-underline text-inherit",
131
+ target: "_blank",
132
+ href: github,
133
+ children: /* @__PURE__ */ jsx2(GitHubLogo, {})
134
+ }),
135
+ /* @__PURE__ */ jsx2("a", {
136
+ className: "no-underline text-inherit",
137
+ target: "_blank",
138
+ href: `mailto:${email}`,
139
+ children: /* @__PURE__ */ jsx2(EmailLogo, {})
140
+ })
141
+ ]
142
+ })
143
+ ]
144
+ })
145
+ ]
146
+ });
147
+ };
148
+ var TeamCardsLayout = () => {
149
+ return /* @__PURE__ */ jsxs("div", {
150
+ className: "flex flex-col gap-12 md:gap-4",
151
+ children: [
152
+ /* @__PURE__ */ jsx2(TeamMemberCard, {
153
+ name: "Jonny Burger",
154
+ title: "Chief Hacker",
155
+ description: "Making cool software for myself and others and getting to know all kinds of different people - that's what makes Remotion my dream job!",
156
+ image: "/img/team/jonny.png",
157
+ twitter: "https://twitter.com/JNYBGR",
158
+ linkedin: "https://ch.linkedin.com/in/jonny-burger-4115109b",
159
+ github: "https://github.com/JonnyBurger",
160
+ email: "jonny@remotion.dev"
161
+ }),
162
+ /* @__PURE__ */ jsx2(TeamMemberCard, {
163
+ name: "Mehmet Ademi",
164
+ title: "Business Manager",
165
+ description: "Transitioning from traditional business, Remotion allowed me to merge my passion for technology and business in a distinctive way.",
166
+ image: "/img/team/mehmet.png",
167
+ twitter: "https://twitter.com/mehmetademi",
168
+ linkedin: "https://www.linkedin.com/in/mehmetademi",
169
+ github: "https://github.com/MehmetAdemi",
170
+ email: "mehmet@remotion.dev"
171
+ }),
172
+ /* @__PURE__ */ jsx2(TeamMemberCard, {
173
+ name: "Igor Samokhovets",
174
+ title: "Product Engineer",
175
+ description: "With a background in music industry and a passion for coding, I've been building tools to help musicians create. Remotion is the perfect place to blend my tech skills and creativity.",
176
+ image: "/img/team/igor.jpg",
177
+ twitter: "https://x.com/tequilafunks",
178
+ linkedin: "https://www.linkedin.com/in/samohovets/",
179
+ github: "https://github.com/samohovets",
180
+ email: "igor@remotion.dev"
181
+ })
182
+ ]
183
+ });
184
+ };
185
+
186
+ // src/components/team/TitleTeamCards.tsx
187
+ import { jsx as jsx3, jsxs as jsxs2 } from "react/jsx-runtime";
188
+ var TitleTeamCards = () => {
189
+ return /* @__PURE__ */ jsxs2("div", {
190
+ children: [
191
+ /* @__PURE__ */ jsx3("h1", {
192
+ className: "font-brand",
193
+ children: "Team"
194
+ }),
195
+ /* @__PURE__ */ jsx3(TeamPicture, {}),
196
+ /* @__PURE__ */ jsx3(TeamCardsLayout, {}),
197
+ /* @__PURE__ */ jsx3("h1", {
198
+ className: "font-brand mt-8",
199
+ children: "Company"
200
+ }),
201
+ /* @__PURE__ */ jsxs2("p", {
202
+ className: "font-brand leading-normal",
203
+ children: [
204
+ "Wonder how we operate? If we are stable? Who is backing us? ",
205
+ /* @__PURE__ */ jsx3("br", {}),
206
+ "Check our our",
207
+ " ",
208
+ /* @__PURE__ */ jsx3("a", {
209
+ href: "/investors",
210
+ className: "font-brand no-underline text-brand",
211
+ children: "investors page"
212
+ }),
213
+ "!"
214
+ ]
215
+ })
216
+ ]
217
+ });
218
+ };
219
+
220
+ // src/components/team.tsx
221
+ import { jsx as jsx4, jsxs as jsxs3 } from "react/jsx-runtime";
222
+ var AboutUsHeader = () => {
223
+ return /* @__PURE__ */ jsx4("div", {
224
+ className: "flex flex-row items-center md:flex-col pt-10",
225
+ children: /* @__PURE__ */ jsxs3("div", {
226
+ className: "flex-1",
227
+ children: [
228
+ /* @__PURE__ */ jsxs3("h1", {
229
+ className: "text-3xl font-bold font-['GTPlanar'] leading-tight max-w-[1000px] md:text-5xl",
230
+ children: [
231
+ /* @__PURE__ */ jsx4("svg", {
232
+ className: "h-6 md:h-8 mr-3 md:mr-6",
233
+ viewBox: "0 0 105 107",
234
+ fill: "none",
235
+ xmlns: "http://www.w3.org/2000/svg",
236
+ children: /* @__PURE__ */ jsx4("path", {
237
+ d: "M24.0635 0.00717926C21.8217 0.12886 20.0152 0.48455 18.1946 1.17721C17.2867 1.51886 15.7984 2.26301 14.9794 2.77782C11.5535 4.926 8.94203 8.15529 7.58011 11.9134C7.30866 12.6576 6.57388 15.0304 6.10119 16.6638C2.95146 27.5825 1.16365 39.5215 0.779884 52.1579C0.719043 54.1703 0.719043 58.9628 0.779884 60.9425C1.03729 69.3199 1.83759 76.883 3.28843 84.5958C3.87813 87.7175 4.82352 91.9109 5.37109 93.8157C6.48964 97.6861 8.77354 100.981 12.0216 103.396C14.1978 105.015 16.6689 106.101 19.4068 106.635C20.7266 106.892 22.4676 107.009 23.75 106.925C25.5237 106.808 29.0432 106.335 31.9027 105.825C44.7918 103.527 56.6981 99.4131 67.4951 93.5255C74.3328 89.7954 80.1783 85.7565 85.8178 80.8564C91.4386 75.9797 96.2311 70.7333 100.448 64.8457C101.426 63.4838 101.917 62.6881 102.409 61.6866C103.673 59.1032 104.267 56.5338 104.262 53.6602C104.262 50.9831 103.757 48.6056 102.666 46.172C102.142 44.9973 101.641 44.1548 100.518 42.5542C96.3809 36.662 91.7897 31.5278 86.1922 26.5388C77.5153 18.8073 67.2096 12.4657 55.7012 7.77151C53.2067 6.75593 50.7496 5.86202 47.7918 4.89323C41.5298 2.84802 33.7795 1.07425 27.2226 0.189705C26.193 0.0493011 24.7936 -0.0302582 24.0635 0.00717926Z",
238
+ fill: "#0B84F3"
239
+ })
240
+ }),
241
+ "The programmatic video dream",
242
+ " "
243
+ ]
244
+ }),
245
+ /* @__PURE__ */ jsx4("p", {
246
+ className: "leading-relaxed text-balance font-brand",
247
+ children: "Started as a side project in 2021, we are now a company in Zurich, Switzerland and are pushing to combine the powers of video editing and programming!"
248
+ })
249
+ ]
250
+ })
251
+ });
252
+ };
253
+ var container = {
254
+ maxWidth: 1000,
255
+ margin: "auto",
256
+ paddingLeft: 16,
257
+ paddingRight: 16
258
+ };
259
+ var TeamPage = () => {
260
+ return /* @__PURE__ */ jsx4("div", {
261
+ className: "bg-[var(--background)]",
262
+ children: /* @__PURE__ */ jsxs3("div", {
263
+ style: container,
264
+ children: [
265
+ /* @__PURE__ */ jsx4("br", {}),
266
+ /* @__PURE__ */ jsx4(AboutUsHeader, {}),
267
+ /* @__PURE__ */ jsx4("br", {}),
268
+ /* @__PURE__ */ jsx4(TitleTeamCards, {}),
269
+ /* @__PURE__ */ jsx4("br", {})
270
+ ]
271
+ })
272
+ });
273
+ };
274
+ export {
275
+ TeamPage,
276
+ AboutUsHeader
277
+ };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@remotion/promo-pages",
3
- "version": "4.0.347",
3
+ "version": "4.0.351",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
@@ -10,14 +10,14 @@
10
10
  "polished": "4.3.1",
11
11
  "zod": "3.22.3",
12
12
  "bun-plugin-tailwind": "0.0.15",
13
- "@remotion/animated-emoji": "4.0.347",
14
- "@remotion/lambda": "4.0.347",
15
- "@remotion/lottie": "4.0.347",
16
- "@remotion/paths": "4.0.347",
17
- "create-video": "4.0.347",
18
- "@remotion/shapes": "4.0.347",
19
- "remotion": "4.0.347",
20
- "@remotion/player": "4.0.347"
13
+ "@remotion/lottie": "4.0.351",
14
+ "@remotion/lambda": "4.0.351",
15
+ "@remotion/animated-emoji": "4.0.351",
16
+ "@remotion/player": "4.0.351",
17
+ "@remotion/shapes": "4.0.351",
18
+ "create-video": "4.0.351",
19
+ "remotion": "4.0.351",
20
+ "@remotion/paths": "4.0.351"
21
21
  },
22
22
  "devDependencies": {
23
23
  "@eslint/eslintrc": "3.1.0",
@@ -34,7 +34,7 @@
34
34
  "tailwind-merge": "2.5.2",
35
35
  "bun-plugin-tailwind": "0.0.13",
36
36
  "clsx": "2.1.1",
37
- "@remotion/eslint-config-internal": "4.0.347"
37
+ "@remotion/eslint-config-internal": "4.0.351"
38
38
  },
39
39
  "repository": {
40
40
  "url": "https://github.com/remotion-dev/remotion/tree/main/packages/promo-pages"
Binary file
Binary file
Binary file
Binary file
package/server.ts CHANGED
@@ -1,9 +1,11 @@
1
1
  import {serve} from 'bun';
2
- import homepage from './index.html';
2
+ import homepage from './homepage.html';
3
+ import team from './team.html';
3
4
 
4
5
  const server = serve({
5
6
  routes: {
6
7
  '/': homepage,
8
+ '/about': team,
7
9
  },
8
10
  development: true,
9
11
  async fetch(req) {
@@ -0,0 +1,11 @@
1
+ export const TeamPicture = () => {
2
+ return (
3
+ <div className="border-effect overflow-hidden mb-10 lg:mb-4">
4
+ <img
5
+ src="/img/team/team.jpeg"
6
+ style={{aspectRatio: '1024 / 616'}}
7
+ className="w-full mb-0 float-left "
8
+ />
9
+ </div>
10
+ );
11
+ };
@@ -0,0 +1,167 @@
1
+ import React from 'react';
2
+
3
+ export const LinkedInLogo: React.FC = () => {
4
+ return (
5
+ <svg
6
+ xmlns="http://www.w3.org/2000/svg"
7
+ viewBox="0 0 1000 1000"
8
+ className="w-[30px]"
9
+ >
10
+ <path
11
+ fill="currentcolor"
12
+ d="M195.877 0C88.16 0 0 88.158 0 195.877V803.718C0 911.435 88.158 999.563 195.877 999.563H803.718C911.436 999.563 999.563 911.436 999.563 803.718V195.877C999.563 88.16 911.436 0 803.718 0H195.877ZM245.143 164.948C296.791 164.948 328.604 198.854 329.586 243.423C329.586 287.008 296.789 321.867 244.144 321.867H243.175C192.51 321.867 159.763 287.01 159.763 243.423C159.763 198.855 193.501 164.948 245.142 164.948H245.143ZM690.223 373.258C789.552 373.258 864.013 438.18 864.013 577.694V838.143H713.06V595.156C713.06 534.096 691.213 492.438 636.584 492.438C594.88 492.438 570.022 520.516 559.108 547.64C555.121 557.344 554.141 570.897 554.141 584.472V838.143H403.188C403.188 838.143 405.169 426.53 403.188 383.91H554.172V448.234C574.232 417.284 610.114 373.257 690.223 373.257V373.258ZM168.667 383.943H319.62V838.145H168.667V383.943V383.943Z"
13
+ />
14
+ </svg>
15
+ );
16
+ };
17
+
18
+ export const TwitterLogo: React.FC = () => {
19
+ return (
20
+ <svg
21
+ xmlns="http://www.w3.org/2000/svg"
22
+ viewBox="0 0 530 570"
23
+ className="w-[32px]"
24
+ >
25
+ <path
26
+ fill="currentcolor"
27
+ d="M389.2 48h70.6L305.6 224.2 487 464H345L233.7 318.6 106.5 464H35.8L200.7 275.5 26.8 48H172.4L272.9 180.9 389.2 48zM364.4 421.8h39.1L151.1 88h-42L364.4 421.8z"
28
+ />
29
+ </svg>
30
+ );
31
+ };
32
+
33
+ export const GitHubLogo: React.FC = () => {
34
+ return (
35
+ <svg
36
+ xmlns="http://www.w3.org/2000/svg"
37
+ viewBox="0 0 1084 1084"
38
+ className="w-[30px]"
39
+ >
40
+ <path
41
+ fill="currentcolor"
42
+ d="M542 0C242.545 0 0 242.545 0 542C0 781.835 155.147 984.408 370.592 1056.22C397.692 1060.97 407.855 1044.71 407.855 1030.48C407.855 1017.61 407.178 974.923 407.178 929.53C271 954.598 235.77 896.332 224.93 865.845C218.832 850.262 192.41 802.16 169.375 789.287C150.405 779.125 123.305 754.057 168.698 753.38C211.38 752.702 241.868 792.675 252.03 808.935C300.81 890.912 378.723 867.878 409.888 853.65C414.63 818.42 428.857 794.707 444.44 781.157C323.845 767.607 197.83 720.86 197.83 513.545C197.83 454.602 218.833 405.822 253.385 367.882C247.965 354.332 228.995 298.777 258.805 224.252C258.805 224.252 304.198 210.025 407.855 279.808C451.215 267.613 497.285 261.515 543.355 261.515C589.425 261.515 635.495 267.613 678.855 279.808C782.513 209.348 827.905 224.252 827.905 224.252C857.715 298.777 838.745 354.332 833.325 367.882C867.878 405.822 888.88 453.925 888.88 513.545C888.88 721.537 762.188 767.607 641.593 781.157C661.24 798.095 678.178 830.615 678.178 881.428C678.178 953.92 677.5 1012.19 677.5 1030.48C677.5 1044.71 687.663 1061.64 714.763 1056.22C822.365 1019.91 915.868 950.759 982.106 858.512C1048.34 766.264 1083.98 655.565 1084 542C1084 242.545 841.455 0 542 0Z"
43
+ />
44
+ </svg>
45
+ );
46
+ };
47
+
48
+ export const EmailLogo: React.FC = () => {
49
+ return (
50
+ <svg
51
+ xmlns="http://www.w3.org/2000/svg"
52
+ viewBox="0 0 1299 1299"
53
+ className="w-[30px]"
54
+ >
55
+ <path
56
+ fill="currentcolor"
57
+ d="M1177.22 202.969H121.781C99.3278 202.969 81.1875 221.109 81.1875 243.562V1055.44C81.1875 1077.89 99.3278 1096.03 121.781 1096.03H1177.22C1199.67 1096.03 1217.81 1077.89 1217.81 1055.44V243.562C1217.81 221.109 1199.67 202.969 1177.22 202.969ZM1126.48 343.525V1004.7H172.523V343.525L137.511 316.251L187.366 252.189L241.66 294.432H1057.47L1111.76 252.189L1161.62 316.251L1126.48 343.525V343.525ZM1057.47 294.305L649.5 611.443L241.533 294.305L187.239 252.062L137.384 316.124L172.397 343.398L605.735 680.326C618.197 690.008 633.529 695.263 649.31 695.263C665.091 695.263 680.422 690.008 692.885 680.326L1126.48 343.525L1161.49 316.251L1111.63 252.189L1057.47 294.305Z"
58
+ />
59
+ </svg>
60
+ );
61
+ };
62
+
63
+ type TeamMemberProps = {
64
+ readonly name: string;
65
+ readonly title: string;
66
+ readonly description: string;
67
+ readonly image: string;
68
+ readonly twitter: string;
69
+ readonly linkedin: string;
70
+ readonly github: string;
71
+ readonly email: string;
72
+ };
73
+
74
+ const TeamMemberCard: React.FC<TeamMemberProps> = ({
75
+ name,
76
+ title,
77
+ description,
78
+ image,
79
+ twitter,
80
+ linkedin,
81
+ github,
82
+ email,
83
+ }) => {
84
+ return (
85
+ <div className="flex-1 rounded-[15px] flex flex-col md:flex-row gap-2 md:gap-4">
86
+ <img
87
+ src={image}
88
+ className="w-[250px] h-[250px] rounded-xl border-effect"
89
+ />
90
+ <div className="flex flex-col border-effect px-4 py-3 bg-pane">
91
+ <h2 className="ext-[1.6em] mb-1 mt-3 text-[var(--ifm-color-primary)] font-brand">
92
+ {name}
93
+ </h2>
94
+ <strong className="font-brand">{title}</strong>
95
+ <div className="mt-5 mb-5 leading-normal font-brand">{description}</div>
96
+ <div className="flex-1" />
97
+ <div className="gap-3 flex flex-row">
98
+ <a
99
+ className="no-underline text-inherit"
100
+ target="_blank"
101
+ href={twitter}
102
+ >
103
+ <TwitterLogo />
104
+ </a>
105
+ <a
106
+ className="no-underline text-inherit"
107
+ target="_blank"
108
+ href={linkedin}
109
+ >
110
+ <LinkedInLogo />
111
+ </a>
112
+ <a
113
+ className="no-underline text-inherit"
114
+ target="_blank"
115
+ href={github}
116
+ >
117
+ <GitHubLogo />
118
+ </a>
119
+ <a
120
+ className="no-underline text-inherit"
121
+ target="_blank"
122
+ href={`mailto:${email}`}
123
+ >
124
+ <EmailLogo />
125
+ </a>
126
+ </div>
127
+ </div>
128
+ </div>
129
+ );
130
+ };
131
+
132
+ export const TeamCardsLayout: React.FC = () => {
133
+ return (
134
+ <div className="flex flex-col gap-12 md:gap-4">
135
+ <TeamMemberCard
136
+ name="Jonny Burger"
137
+ title="Chief Hacker"
138
+ description="Making cool software for myself and others and getting to know all kinds of different people - that's what makes Remotion my dream job!"
139
+ image="/img/team/jonny.png"
140
+ twitter="https://twitter.com/JNYBGR"
141
+ linkedin="https://ch.linkedin.com/in/jonny-burger-4115109b"
142
+ github="https://github.com/JonnyBurger"
143
+ email="jonny@remotion.dev"
144
+ />
145
+ <TeamMemberCard
146
+ name="Mehmet Ademi"
147
+ title="Business Manager"
148
+ description="Transitioning from traditional business, Remotion allowed me to merge my passion for technology and business in a distinctive way."
149
+ image="/img/team/mehmet.png"
150
+ twitter="https://twitter.com/mehmetademi"
151
+ linkedin="https://www.linkedin.com/in/mehmetademi"
152
+ github="https://github.com/MehmetAdemi"
153
+ email="mehmet@remotion.dev"
154
+ />
155
+ <TeamMemberCard
156
+ name="Igor Samokhovets"
157
+ title="Product Engineer"
158
+ description="With a background in music industry and a passion for coding, I've been building tools to help musicians create. Remotion is the perfect place to blend my tech skills and creativity."
159
+ image="/img/team/igor.jpg"
160
+ twitter="https://x.com/tequilafunks"
161
+ linkedin="https://www.linkedin.com/in/samohovets/"
162
+ github="https://github.com/samohovets"
163
+ email="igor@remotion.dev"
164
+ />
165
+ </div>
166
+ );
167
+ };
@@ -0,0 +1,22 @@
1
+ import React from 'react';
2
+ import {TeamPicture} from '../TeamPicture';
3
+ import {TeamCardsLayout} from './TeamCards';
4
+
5
+ export const TitleTeamCards: React.FC = () => {
6
+ return (
7
+ <div>
8
+ <h1 className="font-brand">Team</h1>
9
+ <TeamPicture />
10
+ <TeamCardsLayout />
11
+ <h1 className="font-brand mt-8">Company</h1>
12
+ <p className="font-brand leading-normal">
13
+ Wonder how we operate? If we are stable? Who is backing us? <br />
14
+ Check our our{' '}
15
+ <a href="/investors" className="font-brand no-underline text-brand">
16
+ investors page
17
+ </a>
18
+ !
19
+ </p>
20
+ </div>
21
+ );
22
+ };
@@ -0,0 +1,22 @@
1
+ .writeincss {
2
+ flex-direction: row;
3
+ display: flex;
4
+ align-items: center;
5
+ }
6
+
7
+ .writeincsstitle {
8
+ font-size: 4em;
9
+ font-family: GTPlanar;
10
+ font-weight: 700;
11
+ line-height: 1.2;
12
+ max-width: 1000px;
13
+ }
14
+
15
+ @media screen and (max-width: 900px) {
16
+ .writeincss {
17
+ flex-direction: column;
18
+ }
19
+ .writeincsstitle {
20
+ font-size: 3.5em;
21
+ }
22
+ }
@@ -0,0 +1,51 @@
1
+ import React from 'react';
2
+ import {TitleTeamCards} from './team/TitleTeamCards';
3
+
4
+ export const AboutUsHeader: React.FC = () => {
5
+ return (
6
+ <div className="flex flex-row items-center md:flex-col pt-10">
7
+ <div className="flex-1">
8
+ <h1 className="text-3xl font-bold font-['GTPlanar'] leading-tight max-w-[1000px] md:text-5xl">
9
+ <svg
10
+ className="h-6 md:h-8 mr-3 md:mr-6"
11
+ viewBox="0 0 105 107"
12
+ fill="none"
13
+ xmlns="http://www.w3.org/2000/svg"
14
+ >
15
+ <path
16
+ d="M24.0635 0.00717926C21.8217 0.12886 20.0152 0.48455 18.1946 1.17721C17.2867 1.51886 15.7984 2.26301 14.9794 2.77782C11.5535 4.926 8.94203 8.15529 7.58011 11.9134C7.30866 12.6576 6.57388 15.0304 6.10119 16.6638C2.95146 27.5825 1.16365 39.5215 0.779884 52.1579C0.719043 54.1703 0.719043 58.9628 0.779884 60.9425C1.03729 69.3199 1.83759 76.883 3.28843 84.5958C3.87813 87.7175 4.82352 91.9109 5.37109 93.8157C6.48964 97.6861 8.77354 100.981 12.0216 103.396C14.1978 105.015 16.6689 106.101 19.4068 106.635C20.7266 106.892 22.4676 107.009 23.75 106.925C25.5237 106.808 29.0432 106.335 31.9027 105.825C44.7918 103.527 56.6981 99.4131 67.4951 93.5255C74.3328 89.7954 80.1783 85.7565 85.8178 80.8564C91.4386 75.9797 96.2311 70.7333 100.448 64.8457C101.426 63.4838 101.917 62.6881 102.409 61.6866C103.673 59.1032 104.267 56.5338 104.262 53.6602C104.262 50.9831 103.757 48.6056 102.666 46.172C102.142 44.9973 101.641 44.1548 100.518 42.5542C96.3809 36.662 91.7897 31.5278 86.1922 26.5388C77.5153 18.8073 67.2096 12.4657 55.7012 7.77151C53.2067 6.75593 50.7496 5.86202 47.7918 4.89323C41.5298 2.84802 33.7795 1.07425 27.2226 0.189705C26.193 0.0493011 24.7936 -0.0302582 24.0635 0.00717926Z"
17
+ fill="#0B84F3"
18
+ />
19
+ </svg>
20
+ The programmatic video dream{' '}
21
+ </h1>
22
+ <p className="leading-relaxed text-balance font-brand">
23
+ Started as a side project in 2021, we are now a company in Zurich,
24
+ Switzerland and are pushing to combine the powers of video editing and
25
+ programming!
26
+ </p>
27
+ </div>
28
+ </div>
29
+ );
30
+ };
31
+
32
+ const container: React.CSSProperties = {
33
+ maxWidth: 1000,
34
+ margin: 'auto',
35
+ paddingLeft: 16,
36
+ paddingRight: 16,
37
+ };
38
+
39
+ export const TeamPage = () => {
40
+ return (
41
+ <div className="bg-[var(--background)]">
42
+ <div style={container}>
43
+ <br />
44
+ <AboutUsHeader />
45
+ <br />
46
+ <TitleTeamCards />
47
+ <br />
48
+ </div>
49
+ </div>
50
+ );
51
+ };
package/src/team.tsx ADDED
@@ -0,0 +1,12 @@
1
+ import {StrictMode} from 'react';
2
+ import {createRoot} from 'react-dom/client';
3
+ import {TeamPage} from './components/team';
4
+ import './index.css';
5
+
6
+ createRoot(document.getElementById('root')!).render(
7
+ <StrictMode>
8
+ <div data-theme="light">
9
+ <TeamPage />
10
+ </div>
11
+ </StrictMode>,
12
+ );
package/team.html ADDED
@@ -0,0 +1,12 @@
1
+ <!doctype html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8" />
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
6
+ <title>Promo Pages</title>
7
+ </head>
8
+ <body>
9
+ <div id="root"></div>
10
+ <script type="module" src="/src/team.tsx"></script>
11
+ </body>
12
+ </html>
File without changes