@remotion/promo-pages 4.0.364 → 4.0.365
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/dist/Homepage.js +7 -3
- package/dist/Users/jonathanburger/remotion/packages/promo-pages/dist/Homepage.js +7 -3
- package/package.json +10 -10
- package/.turbo/turbo-lint.log +0 -15
- package/.turbo/turbo-make.log +0 -5
- package/bundle.ts +0 -54
- package/eslint.config.mjs +0 -7
- package/server.ts +0 -26
- package/src/cn.ts +0 -6
- package/src/components/Homepage.tsx +0 -87
- package/src/components/TeamPicture.tsx +0 -11
- package/src/components/homepage/BackgroundAnimation.tsx +0 -108
- package/src/components/homepage/ChooseTemplate.tsx +0 -57
- package/src/components/homepage/CommunityStats.tsx +0 -54
- package/src/components/homepage/CommunityStatsItems.tsx +0 -304
- package/src/components/homepage/Counter.tsx +0 -120
- package/src/components/homepage/Demo/Card.tsx +0 -273
- package/src/components/homepage/Demo/Cards.tsx +0 -129
- package/src/components/homepage/Demo/Comp.tsx +0 -157
- package/src/components/homepage/Demo/CurrentCountry.tsx +0 -97
- package/src/components/homepage/Demo/DemoError.tsx +0 -18
- package/src/components/homepage/Demo/DemoErrorIcon.tsx +0 -32
- package/src/components/homepage/Demo/DemoRender.tsx +0 -166
- package/src/components/homepage/Demo/DigitWheel.tsx +0 -179
- package/src/components/homepage/Demo/DisplayedEmoji.tsx +0 -93
- package/src/components/homepage/Demo/DoneCheckmark.tsx +0 -39
- package/src/components/homepage/Demo/DownloadNudge.tsx +0 -62
- package/src/components/homepage/Demo/DragAndDropNudge.tsx +0 -57
- package/src/components/homepage/Demo/EmojiCard.tsx +0 -200
- package/src/components/homepage/Demo/Minus.tsx +0 -21
- package/src/components/homepage/Demo/PlayPauseButton.tsx +0 -66
- package/src/components/homepage/Demo/PlayerControls.tsx +0 -48
- package/src/components/homepage/Demo/PlayerSeekBar.tsx +0 -325
- package/src/components/homepage/Demo/PlayerVolume.tsx +0 -83
- package/src/components/homepage/Demo/Progress.tsx +0 -38
- package/src/components/homepage/Demo/Spinner.tsx +0 -60
- package/src/components/homepage/Demo/Switcher.tsx +0 -54
- package/src/components/homepage/Demo/Temperature.tsx +0 -44
- package/src/components/homepage/Demo/TemperatureNumber.tsx +0 -68
- package/src/components/homepage/Demo/ThemeNudge.tsx +0 -72
- package/src/components/homepage/Demo/TimeDisplay.tsx +0 -43
- package/src/components/homepage/Demo/TrendingRepos.tsx +0 -106
- package/src/components/homepage/Demo/icons.tsx +0 -114
- package/src/components/homepage/Demo/index.tsx +0 -158
- package/src/components/homepage/Demo/math.ts +0 -43
- package/src/components/homepage/Demo/types.ts +0 -6
- package/src/components/homepage/EditorStarterSection.tsx +0 -76
- package/src/components/homepage/EvaluateRemotion.tsx +0 -92
- package/src/components/homepage/FreePricing.tsx +0 -283
- package/src/components/homepage/GetStartedStrip.tsx +0 -77
- package/src/components/homepage/GitHubButton.tsx +0 -23
- package/src/components/homepage/IconForTemplate.tsx +0 -170
- package/src/components/homepage/IfYouKnowReact.tsx +0 -68
- package/src/components/homepage/InfoTooltip.tsx +0 -25
- package/src/components/homepage/MoreTemplatesButton.tsx +0 -29
- package/src/components/homepage/MoreVideoPowerSection.tsx +0 -95
- package/src/components/homepage/MuxVideo.tsx +0 -68
- package/src/components/homepage/NewsletterButton.tsx +0 -89
- package/src/components/homepage/ParameterizeAndEdit.tsx +0 -106
- package/src/components/homepage/Pricing.tsx +0 -49
- package/src/components/homepage/PricingBulletPoint.tsx +0 -50
- package/src/components/homepage/RealMp4Videos.tsx +0 -108
- package/src/components/homepage/Spacer.tsx +0 -5
- package/src/components/homepage/TemplateIcon.tsx +0 -36
- package/src/components/homepage/TextInput.tsx +0 -62
- package/src/components/homepage/TrustedByBanner.tsx +0 -145
- package/src/components/homepage/VideoApps.tsx +0 -231
- package/src/components/homepage/VideoAppsShowcase.tsx +0 -270
- package/src/components/homepage/VideoAppsTitle.tsx +0 -11
- package/src/components/homepage/VideoPlayerWithControls.tsx +0 -189
- package/src/components/homepage/WriteInReact.tsx +0 -34
- package/src/components/homepage/YouAreHere.tsx +0 -30
- package/src/components/homepage/layout/Button.tsx +0 -93
- package/src/components/homepage/layout/colors.ts +0 -17
- package/src/components/homepage/layout/use-color-mode.tsx +0 -44
- package/src/components/homepage/layout/use-el-size.ts +0 -51
- package/src/components/homepage/layout/use-mobile-layout.ts +0 -8
- package/src/components/homepage/video-player.css +0 -24
- package/src/components/icons/blank.tsx +0 -13
- package/src/components/icons/clone.tsx +0 -10
- package/src/components/icons/code-hike.tsx +0 -15
- package/src/components/icons/cubes.tsx +0 -13
- package/src/components/icons/js.tsx +0 -17
- package/src/components/icons/music.tsx +0 -9
- package/src/components/icons/next.tsx +0 -64
- package/src/components/icons/overlay.tsx +0 -24
- package/src/components/icons/recorder.tsx +0 -23
- package/src/components/icons/remix.tsx +0 -27
- package/src/components/icons/skia.tsx +0 -13
- package/src/components/icons/stargazer.tsx +0 -13
- package/src/components/icons/still.tsx +0 -13
- package/src/components/icons/tailwind.tsx +0 -22
- package/src/components/icons/tiktok.tsx +0 -13
- package/src/components/icons/ts.tsx +0 -18
- package/src/components/icons/tts.tsx +0 -13
- package/src/components/icons/undo.tsx +0 -11
- package/src/components/icons/waveform.tsx +0 -13
- package/src/components/team/TeamCards.tsx +0 -167
- package/src/components/team/TitleTeamCards.tsx +0 -22
- package/src/components/team.css +0 -22
- package/src/components/team.tsx +0 -51
- package/src/fonts.css +0 -30
- package/src/index.css +0 -140
- package/src/main.tsx +0 -12
- package/src/team.tsx +0 -12
- package/tsconfig.json +0 -11
- package/vite.config.ts +0 -9
package/dist/Homepage.js
CHANGED
|
@@ -745,7 +745,7 @@ var __defProp2, __export2 = (target, all) => {
|
|
|
745
745
|
});
|
|
746
746
|
}, useIsPlayer = () => {
|
|
747
747
|
return useContext(IsPlayerContext);
|
|
748
|
-
}, VERSION = "4.0.
|
|
748
|
+
}, VERSION = "4.0.365", checkMultipleRemotionVersions = () => {
|
|
749
749
|
if (typeof globalThis === "undefined") {
|
|
750
750
|
return;
|
|
751
751
|
}
|
|
@@ -1674,12 +1674,15 @@ Check that all your Remotion packages are on the same version. If your dependenc
|
|
|
1674
1674
|
if (!sequenceContext) {
|
|
1675
1675
|
return null;
|
|
1676
1676
|
}
|
|
1677
|
+
if (!isActive) {
|
|
1678
|
+
return sequenceContext;
|
|
1679
|
+
}
|
|
1677
1680
|
return {
|
|
1678
1681
|
...sequenceContext,
|
|
1679
1682
|
relativeFrom: 0,
|
|
1680
1683
|
cumulatedFrom: 0
|
|
1681
1684
|
};
|
|
1682
|
-
}, [sequenceContext]);
|
|
1685
|
+
}, [sequenceContext, isActive]);
|
|
1683
1686
|
return /* @__PURE__ */ jsx72(TimelineContext.Provider, {
|
|
1684
1687
|
value: timelineValue,
|
|
1685
1688
|
children: /* @__PURE__ */ jsx72(SequenceContext.Provider, {
|
|
@@ -7116,7 +7119,8 @@ var init_esm = __esm(() => {
|
|
|
7116
7119
|
getInputPropsOverride,
|
|
7117
7120
|
setInputPropsOverride,
|
|
7118
7121
|
useVideoEnabled,
|
|
7119
|
-
useAudioEnabled
|
|
7122
|
+
useAudioEnabled,
|
|
7123
|
+
useIsPlayerBuffering
|
|
7120
7124
|
};
|
|
7121
7125
|
PERCENTAGE = NUMBER + "%";
|
|
7122
7126
|
IsInsideSeriesContext = createContext20(false);
|
|
@@ -745,7 +745,7 @@ var __defProp2, __export2 = (target, all) => {
|
|
|
745
745
|
});
|
|
746
746
|
}, useIsPlayer = () => {
|
|
747
747
|
return useContext(IsPlayerContext);
|
|
748
|
-
}, VERSION = "4.0.
|
|
748
|
+
}, VERSION = "4.0.365", checkMultipleRemotionVersions = () => {
|
|
749
749
|
if (typeof globalThis === "undefined") {
|
|
750
750
|
return;
|
|
751
751
|
}
|
|
@@ -1674,12 +1674,15 @@ Check that all your Remotion packages are on the same version. If your dependenc
|
|
|
1674
1674
|
if (!sequenceContext) {
|
|
1675
1675
|
return null;
|
|
1676
1676
|
}
|
|
1677
|
+
if (!isActive) {
|
|
1678
|
+
return sequenceContext;
|
|
1679
|
+
}
|
|
1677
1680
|
return {
|
|
1678
1681
|
...sequenceContext,
|
|
1679
1682
|
relativeFrom: 0,
|
|
1680
1683
|
cumulatedFrom: 0
|
|
1681
1684
|
};
|
|
1682
|
-
}, [sequenceContext]);
|
|
1685
|
+
}, [sequenceContext, isActive]);
|
|
1683
1686
|
return /* @__PURE__ */ jsx72(TimelineContext.Provider, {
|
|
1684
1687
|
value: timelineValue,
|
|
1685
1688
|
children: /* @__PURE__ */ jsx72(SequenceContext.Provider, {
|
|
@@ -7116,7 +7119,8 @@ var init_esm = __esm(() => {
|
|
|
7116
7119
|
getInputPropsOverride,
|
|
7117
7120
|
setInputPropsOverride,
|
|
7118
7121
|
useVideoEnabled,
|
|
7119
|
-
useAudioEnabled
|
|
7122
|
+
useAudioEnabled,
|
|
7123
|
+
useIsPlayerBuffering
|
|
7120
7124
|
};
|
|
7121
7125
|
PERCENTAGE = NUMBER + "%";
|
|
7122
7126
|
IsInsideSeriesContext = createContext20(false);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@remotion/promo-pages",
|
|
3
|
-
"version": "4.0.
|
|
3
|
+
"version": "4.0.365",
|
|
4
4
|
"publishConfig": {
|
|
5
5
|
"access": "public"
|
|
6
6
|
},
|
|
@@ -11,21 +11,21 @@
|
|
|
11
11
|
},
|
|
12
12
|
"type": "module",
|
|
13
13
|
"dependencies": {
|
|
14
|
-
"@remotion/animated-emoji": "4.0.
|
|
15
|
-
"@remotion/lambda": "4.0.
|
|
16
|
-
"@remotion/lottie": "4.0.
|
|
17
|
-
"@remotion/paths": "4.0.
|
|
18
|
-
"@remotion/player": "4.0.
|
|
19
|
-
"@remotion/shapes": "4.0.
|
|
20
|
-
"create-video": "4.0.
|
|
14
|
+
"@remotion/animated-emoji": "4.0.365",
|
|
15
|
+
"@remotion/lambda": "4.0.365",
|
|
16
|
+
"@remotion/lottie": "4.0.365",
|
|
17
|
+
"@remotion/paths": "4.0.365",
|
|
18
|
+
"@remotion/player": "4.0.365",
|
|
19
|
+
"@remotion/shapes": "4.0.365",
|
|
20
|
+
"create-video": "4.0.365",
|
|
21
21
|
"hls.js": "1.5.19",
|
|
22
22
|
"polished": "4.3.1",
|
|
23
|
-
"remotion": "4.0.
|
|
23
|
+
"remotion": "4.0.365",
|
|
24
24
|
"zod": "3.22.3",
|
|
25
25
|
"bun-plugin-tailwind": "0.0.15"
|
|
26
26
|
},
|
|
27
27
|
"devDependencies": {
|
|
28
|
-
"@remotion/eslint-config-internal": "4.0.
|
|
28
|
+
"@remotion/eslint-config-internal": "4.0.365",
|
|
29
29
|
"@eslint/eslintrc": "3.1.0",
|
|
30
30
|
"@types/react": "19.0.0",
|
|
31
31
|
"@types/react-dom": "19.0.0",
|
package/.turbo/turbo-lint.log
DELETED
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
[0m[2m[35m$[0m [2m[1mtsc && eslint src[0m
|
|
3
|
-
=============
|
|
4
|
-
|
|
5
|
-
WARNING: You are currently running a version of TypeScript which is not officially supported by @typescript-eslint/typescript-estree.
|
|
6
|
-
|
|
7
|
-
You may find that it works just fine, or you may not.
|
|
8
|
-
|
|
9
|
-
SUPPORTED TYPESCRIPT VERSIONS: >=4.7.4 <5.7.0
|
|
10
|
-
|
|
11
|
-
YOUR TYPESCRIPT VERSION: 5.8.2
|
|
12
|
-
|
|
13
|
-
Please only submit bug reports when using the officially supported version.
|
|
14
|
-
|
|
15
|
-
=============
|
package/.turbo/turbo-make.log
DELETED
package/bundle.ts
DELETED
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
import {$, build} from 'bun';
|
|
2
|
-
|
|
3
|
-
import {NoReactInternals} from 'remotion/no-react';
|
|
4
|
-
|
|
5
|
-
if (process.env.NODE_ENV !== 'production') {
|
|
6
|
-
throw new Error('This script must be run using NODE_ENV=production');
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
const nodeVersion =
|
|
10
|
-
await $`node -e "console.log(typeof structuredClone)"`.text();
|
|
11
|
-
if (nodeVersion.trim() === 'undefined') {
|
|
12
|
-
if (NoReactInternals.ENABLE_V5_BREAKING_CHANGES) {
|
|
13
|
-
throw new Error(
|
|
14
|
-
'Error: You are using Node.js without structuredClone. Please upgrade to Node.js 17 or newer.',
|
|
15
|
-
);
|
|
16
|
-
} else {
|
|
17
|
-
console.log(
|
|
18
|
-
'Node does not have structuredClone. Passing because we are not building the site.',
|
|
19
|
-
);
|
|
20
|
-
process.exit(0);
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
await $`bunx tailwindcss -i src/index.css -o dist/tailwind.css`;
|
|
25
|
-
|
|
26
|
-
const result = await build({
|
|
27
|
-
entrypoints: [
|
|
28
|
-
'./src/components/Homepage.tsx',
|
|
29
|
-
'./src/components/homepage/Pricing.tsx',
|
|
30
|
-
'./src/components/team.tsx',
|
|
31
|
-
],
|
|
32
|
-
outdir: 'dist',
|
|
33
|
-
format: 'esm',
|
|
34
|
-
external: [
|
|
35
|
-
'react',
|
|
36
|
-
'react/jsx-runtime',
|
|
37
|
-
'react-dom',
|
|
38
|
-
'lottie-web',
|
|
39
|
-
'hls.js',
|
|
40
|
-
'plyr',
|
|
41
|
-
'zod',
|
|
42
|
-
],
|
|
43
|
-
});
|
|
44
|
-
|
|
45
|
-
if (!result.success) {
|
|
46
|
-
console.log(result.logs.join('\n'));
|
|
47
|
-
process.exit(1);
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
for (const output of result.outputs) {
|
|
51
|
-
await Bun.write('dist/' + output.path, await output.text());
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
export {};
|
package/eslint.config.mjs
DELETED
package/server.ts
DELETED
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import {serve} from 'bun';
|
|
2
|
-
import homepage from './homepage.html';
|
|
3
|
-
import team from './team.html';
|
|
4
|
-
|
|
5
|
-
const server = serve({
|
|
6
|
-
routes: {
|
|
7
|
-
'/': homepage,
|
|
8
|
-
'/about': team,
|
|
9
|
-
},
|
|
10
|
-
development: true,
|
|
11
|
-
async fetch(req) {
|
|
12
|
-
try {
|
|
13
|
-
const url = new URL(req.url);
|
|
14
|
-
const file = Bun.file(`./public${url.pathname}`);
|
|
15
|
-
const exists = await file.exists();
|
|
16
|
-
if (!exists) {
|
|
17
|
-
return new Response('Not Found', {status: 404});
|
|
18
|
-
}
|
|
19
|
-
return new Response(file);
|
|
20
|
-
} catch (e) {
|
|
21
|
-
return new Response('Server Error', {status: 500});
|
|
22
|
-
}
|
|
23
|
-
},
|
|
24
|
-
});
|
|
25
|
-
|
|
26
|
-
console.log(`Listening on ${server.url}`);
|
package/src/cn.ts
DELETED
|
@@ -1,87 +0,0 @@
|
|
|
1
|
-
'use client';
|
|
2
|
-
|
|
3
|
-
import React from 'react';
|
|
4
|
-
import {BackgroundAnimation} from './homepage/BackgroundAnimation';
|
|
5
|
-
import CommunityStats from './homepage/CommunityStats';
|
|
6
|
-
import {Demo} from './homepage/Demo';
|
|
7
|
-
import EditorStarterSection from './homepage/EditorStarterSection';
|
|
8
|
-
import EvaluateRemotionSection from './homepage/EvaluateRemotion';
|
|
9
|
-
import {IfYouKnowReact} from './homepage/IfYouKnowReact';
|
|
10
|
-
import type {ColorMode} from './homepage/layout/use-color-mode';
|
|
11
|
-
import {ColorModeProvider} from './homepage/layout/use-color-mode';
|
|
12
|
-
import {MoreVideoPowerSection} from './homepage/MoreVideoPowerSection';
|
|
13
|
-
import {NewsletterButton} from './homepage/NewsletterButton';
|
|
14
|
-
import {ParameterizeAndEdit} from './homepage/ParameterizeAndEdit';
|
|
15
|
-
import {Pricing} from './homepage/Pricing';
|
|
16
|
-
import {RealMP4Videos} from './homepage/RealMp4Videos';
|
|
17
|
-
import TrustedByBanner from './homepage/TrustedByBanner';
|
|
18
|
-
import VideoAppsShowcase from './homepage/VideoAppsShowcase';
|
|
19
|
-
import {SectionTitle} from './homepage/VideoAppsTitle';
|
|
20
|
-
import {WriteInReact} from './homepage/WriteInReact';
|
|
21
|
-
|
|
22
|
-
export const NewLanding: React.FC<{
|
|
23
|
-
readonly colorMode: ColorMode;
|
|
24
|
-
readonly setColorMode: (colorMode: ColorMode) => void;
|
|
25
|
-
}> = ({colorMode, setColorMode}) => {
|
|
26
|
-
return (
|
|
27
|
-
<ColorModeProvider colorMode={colorMode} setColorMode={setColorMode}>
|
|
28
|
-
<div className="bg-[var(--background)] relative">
|
|
29
|
-
<div style={{overflow: 'hidden'}}>
|
|
30
|
-
<div>
|
|
31
|
-
<BackgroundAnimation />
|
|
32
|
-
</div>
|
|
33
|
-
<br />
|
|
34
|
-
<br />
|
|
35
|
-
<br />
|
|
36
|
-
<br />
|
|
37
|
-
<div className="max-w-[500px] lg:max-w-[1000px] m-auto pl-5 pr-5 overflow-x-clip md:overflow-x-visible relative">
|
|
38
|
-
<WriteInReact />
|
|
39
|
-
<br />
|
|
40
|
-
<IfYouKnowReact />
|
|
41
|
-
<ParameterizeAndEdit />
|
|
42
|
-
<RealMP4Videos />
|
|
43
|
-
<br />
|
|
44
|
-
<br />
|
|
45
|
-
<br />
|
|
46
|
-
<VideoAppsShowcase />
|
|
47
|
-
<br />
|
|
48
|
-
<br />
|
|
49
|
-
<Demo />
|
|
50
|
-
<br />
|
|
51
|
-
<br />
|
|
52
|
-
<br />
|
|
53
|
-
<SectionTitle>Pricing</SectionTitle>
|
|
54
|
-
<Pricing />
|
|
55
|
-
<TrustedByBanner />
|
|
56
|
-
<br />
|
|
57
|
-
<EvaluateRemotionSection />
|
|
58
|
-
<br />
|
|
59
|
-
<br />
|
|
60
|
-
<br />
|
|
61
|
-
<CommunityStats />
|
|
62
|
-
<br />
|
|
63
|
-
<br />
|
|
64
|
-
<br />
|
|
65
|
-
<EditorStarterSection />
|
|
66
|
-
<br />
|
|
67
|
-
<br />
|
|
68
|
-
<br />
|
|
69
|
-
|
|
70
|
-
<SectionTitle>Even more power to developers</SectionTitle>
|
|
71
|
-
<div className={'fontbrand text-center mb-10 -mt-4'}>
|
|
72
|
-
Innovative video products that you might enjoy.
|
|
73
|
-
</div>
|
|
74
|
-
<MoreVideoPowerSection />
|
|
75
|
-
<br />
|
|
76
|
-
<br />
|
|
77
|
-
<br />
|
|
78
|
-
<NewsletterButton />
|
|
79
|
-
<br />
|
|
80
|
-
<br />
|
|
81
|
-
<br />
|
|
82
|
-
</div>
|
|
83
|
-
</div>
|
|
84
|
-
</div>
|
|
85
|
-
</ColorModeProvider>
|
|
86
|
-
);
|
|
87
|
-
};
|
|
@@ -1,108 +0,0 @@
|
|
|
1
|
-
'use client';
|
|
2
|
-
|
|
3
|
-
import {getLength} from '@remotion/paths';
|
|
4
|
-
import React, {useEffect} from 'react';
|
|
5
|
-
|
|
6
|
-
const rx = 0.2;
|
|
7
|
-
const ry = 0.45;
|
|
8
|
-
|
|
9
|
-
function ellipseToPath(cx: number, cy: number): string {
|
|
10
|
-
let output = 'M' + (cx - rx).toString() + ',' + cy.toString();
|
|
11
|
-
output +=
|
|
12
|
-
'a' +
|
|
13
|
-
rx.toString() +
|
|
14
|
-
',' +
|
|
15
|
-
ry.toString() +
|
|
16
|
-
' 0 1,0 ' +
|
|
17
|
-
(2 * rx).toString() +
|
|
18
|
-
',0';
|
|
19
|
-
output +=
|
|
20
|
-
'a' +
|
|
21
|
-
rx.toString() +
|
|
22
|
-
',' +
|
|
23
|
-
ry.toString() +
|
|
24
|
-
' 0 1,0 ' +
|
|
25
|
-
(-2 * rx).toString() +
|
|
26
|
-
',0';
|
|
27
|
-
return output;
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
const strokeWidth = 0.035;
|
|
31
|
-
|
|
32
|
-
export const BackgroundAnimation: React.FC = () => {
|
|
33
|
-
const d = ellipseToPath(0.5, 0.5);
|
|
34
|
-
const length = getLength(d);
|
|
35
|
-
|
|
36
|
-
const css = `
|
|
37
|
-
@keyframes bganimation {
|
|
38
|
-
from {
|
|
39
|
-
stroke-dashoffset: 0
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
to {
|
|
43
|
-
stroke-dashoffset: ${length};
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
`;
|
|
47
|
-
|
|
48
|
-
useEffect(() => {
|
|
49
|
-
const _style = document.createElement('style');
|
|
50
|
-
_style.innerHTML = css;
|
|
51
|
-
document.head.appendChild(_style);
|
|
52
|
-
}, [css]);
|
|
53
|
-
|
|
54
|
-
return (
|
|
55
|
-
<div className=" w-full h-full min-w-0 m-auto lg:relative lg:min-w-[700px] lg:max-w-[1200px] lg:ml-auto lg:left-auto pointer-events-none">
|
|
56
|
-
<svg
|
|
57
|
-
className="translate-y-[-30%] lg:translate-y-[-50%]"
|
|
58
|
-
viewBox="0 0 1 1"
|
|
59
|
-
style={{
|
|
60
|
-
width: '100%',
|
|
61
|
-
position: 'absolute',
|
|
62
|
-
}}
|
|
63
|
-
>
|
|
64
|
-
<path
|
|
65
|
-
d={d}
|
|
66
|
-
fill="none"
|
|
67
|
-
stroke="var(--ifm-color-primary)"
|
|
68
|
-
strokeLinecap="round"
|
|
69
|
-
className="stroke-[0.04] lg:stroke-[0.035]"
|
|
70
|
-
style={{
|
|
71
|
-
transformOrigin: 'center center',
|
|
72
|
-
transform: `rotate(120deg)`,
|
|
73
|
-
animation: `bganimation 20s linear infinite`,
|
|
74
|
-
strokeDasharray: `${length * 0.2} ${length * 0.8}`,
|
|
75
|
-
}}
|
|
76
|
-
/>
|
|
77
|
-
<path
|
|
78
|
-
d={d}
|
|
79
|
-
fill="none"
|
|
80
|
-
stroke="var(--ifm-color-primary)"
|
|
81
|
-
strokeLinecap="round"
|
|
82
|
-
strokeWidth={strokeWidth}
|
|
83
|
-
className="stroke-[0.04] lg:stroke-[0.035]"
|
|
84
|
-
style={{
|
|
85
|
-
transformOrigin: 'center center',
|
|
86
|
-
transform: `rotate(0deg)`,
|
|
87
|
-
animation: `bganimation 20s linear infinite`,
|
|
88
|
-
strokeDasharray: `${length * 0.2} ${length * 0.8}`,
|
|
89
|
-
}}
|
|
90
|
-
/>
|
|
91
|
-
<path
|
|
92
|
-
d={d}
|
|
93
|
-
fill="none"
|
|
94
|
-
stroke="var(--ifm-color-primary)"
|
|
95
|
-
strokeLinecap="round"
|
|
96
|
-
strokeWidth={strokeWidth}
|
|
97
|
-
className="stroke-[0.04] lg:stroke-[0.035]"
|
|
98
|
-
style={{
|
|
99
|
-
transformOrigin: 'center center',
|
|
100
|
-
transform: `rotate(240deg)`,
|
|
101
|
-
animation: `bganimation 20s linear infinite`,
|
|
102
|
-
strokeDasharray: `${length * 0.2} ${length * 0.8}`,
|
|
103
|
-
}}
|
|
104
|
-
/>
|
|
105
|
-
</svg>
|
|
106
|
-
</div>
|
|
107
|
-
);
|
|
108
|
-
};
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
import {CreateVideoInternals} from 'create-video';
|
|
2
|
-
import React from 'react';
|
|
3
|
-
|
|
4
|
-
import {IconForTemplate} from './IconForTemplate';
|
|
5
|
-
import {MoreTemplatesButton} from './MoreTemplatesButton';
|
|
6
|
-
import {TemplateIcon} from './TemplateIcon';
|
|
7
|
-
|
|
8
|
-
export const ChooseTemplate: React.FC = () => {
|
|
9
|
-
return (
|
|
10
|
-
<div
|
|
11
|
-
style={{
|
|
12
|
-
display: 'flex',
|
|
13
|
-
flexDirection: 'column',
|
|
14
|
-
}}
|
|
15
|
-
>
|
|
16
|
-
<div
|
|
17
|
-
style={{
|
|
18
|
-
position: 'relative',
|
|
19
|
-
textAlign: 'center',
|
|
20
|
-
}}
|
|
21
|
-
>
|
|
22
|
-
<div
|
|
23
|
-
className="no-scroll-bar"
|
|
24
|
-
style={{
|
|
25
|
-
backgroundColor: 'var(--plain-button)',
|
|
26
|
-
display: 'inline-flex',
|
|
27
|
-
flexDirection: 'row',
|
|
28
|
-
justifyContent: 'space-around',
|
|
29
|
-
boxShadow: '0 0 4px 0px var(--ifm-color-emphasis-200)',
|
|
30
|
-
borderRadius: 50,
|
|
31
|
-
alignItems: 'center',
|
|
32
|
-
padding: 8,
|
|
33
|
-
width: '100%',
|
|
34
|
-
maxWidth: '550px',
|
|
35
|
-
}}
|
|
36
|
-
>
|
|
37
|
-
{CreateVideoInternals.FEATURED_TEMPLATES.filter(
|
|
38
|
-
(f) => f.featuredOnHomePage,
|
|
39
|
-
).map((template) => {
|
|
40
|
-
return (
|
|
41
|
-
<a
|
|
42
|
-
key={template.cliId}
|
|
43
|
-
className="text-inherit no-underline"
|
|
44
|
-
href={`/templates/${template.cliId}`}
|
|
45
|
-
>
|
|
46
|
-
<TemplateIcon label={template.featuredOnHomePage!}>
|
|
47
|
-
<IconForTemplate scale={0.7} template={template} />
|
|
48
|
-
</TemplateIcon>
|
|
49
|
-
</a>
|
|
50
|
-
);
|
|
51
|
-
})}
|
|
52
|
-
<MoreTemplatesButton />
|
|
53
|
-
</div>
|
|
54
|
-
</div>
|
|
55
|
-
</div>
|
|
56
|
-
);
|
|
57
|
-
};
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import {
|
|
3
|
-
Contributors,
|
|
4
|
-
DiscordMembers,
|
|
5
|
-
GitHubStars,
|
|
6
|
-
InstallsPerMonth,
|
|
7
|
-
PagesOfDocs,
|
|
8
|
-
TemplatesAndExamples,
|
|
9
|
-
} from './CommunityStatsItems';
|
|
10
|
-
import {SectionTitle} from './VideoAppsTitle';
|
|
11
|
-
|
|
12
|
-
const SectionLink: React.FC<{
|
|
13
|
-
readonly href: string;
|
|
14
|
-
readonly children: React.ReactNode;
|
|
15
|
-
}> = ({href, children}) => (
|
|
16
|
-
<a
|
|
17
|
-
target="_blank"
|
|
18
|
-
href={href}
|
|
19
|
-
className={'no-underline text-inherit contents'}
|
|
20
|
-
>
|
|
21
|
-
{children}
|
|
22
|
-
</a>
|
|
23
|
-
);
|
|
24
|
-
|
|
25
|
-
const CommunityStats: React.FC = () => (
|
|
26
|
-
<div className={'m-auto max-w-[700px] text-center'}>
|
|
27
|
-
<SectionTitle>Never build alone</SectionTitle>
|
|
28
|
-
<div className={'fontbrand text-center mb-10 -mt-4'}>
|
|
29
|
-
Join a thriving community of developers.
|
|
30
|
-
</div>
|
|
31
|
-
<div className={'flex flex-wrap justify-between gap-4 w-full items-center'}>
|
|
32
|
-
<SectionLink href="https://www.npmjs.com/package/remotion">
|
|
33
|
-
<InstallsPerMonth />
|
|
34
|
-
</SectionLink>
|
|
35
|
-
<SectionLink href="https://www.remotion.dev/docs/">
|
|
36
|
-
<PagesOfDocs />
|
|
37
|
-
</SectionLink>
|
|
38
|
-
<SectionLink href="https://www.remotion.dev/templates">
|
|
39
|
-
<TemplatesAndExamples />
|
|
40
|
-
</SectionLink>
|
|
41
|
-
<SectionLink href="https://github.com/remotion-dev/remotion">
|
|
42
|
-
<GitHubStars />
|
|
43
|
-
</SectionLink>
|
|
44
|
-
<SectionLink href="https://remotion.dev/discord">
|
|
45
|
-
<DiscordMembers />
|
|
46
|
-
</SectionLink>
|
|
47
|
-
<SectionLink href="https://github.com/remotion-dev/remotion/graphs/contributors">
|
|
48
|
-
<Contributors />
|
|
49
|
-
</SectionLink>
|
|
50
|
-
</div>
|
|
51
|
-
</div>
|
|
52
|
-
);
|
|
53
|
-
|
|
54
|
-
export default CommunityStats;
|