diff --git a/apps/frontend/src/components/ui/ProjectDownloadModal.vue b/apps/frontend/src/components/ui/ProjectDownloadModal.vue
new file mode 100644
index 0000000000..8f099d3233
--- /dev/null
+++ b/apps/frontend/src/components/ui/ProjectDownloadModal.vue
@@ -0,0 +1,663 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ formatMessage(commonMessages.orLabel) }}
+
+
+
+
+
+
+
+
+
+ {{
+ currentGameVersion
+ ? formatMessage(messages.gameVersionLabel, { version: currentGameVersion })
+ : formatMessage(messages.gameVersionError)
+ }}
+
+
+
+
{
+ platformAccordion?.close()
+ }
+ "
+ >
+
+
+ {{
+ currentGameVersion
+ ? formatMessage(messages.gameVersionLabel, { version: currentGameVersion })
+ : formatMessage(messages.selectGameVersion)
+ }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{
+ currentPlatform
+ ? formatMessage(messages.platformLabel, {
+ platform: currentPlatformText,
+ })
+ : formatMessage(messages.platformError)
+ }}
+
+
+
+
{
+ gameVersionAccordion?.close()
+ }
+ "
+ >
+
+
+ {{
+ currentPlatform
+ ? formatMessage(messages.platformLabel, {
+ platform: currentPlatformText,
+ })
+ : formatMessage(messages.selectPlatform)
+ }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{
+ formatMessage(messages.noVersionsAvailable, {
+ gameVersion: currentGameVersion,
+ platform: currentPlatformText,
+ })
+ }}
+
+
+
{
+ flags.showProjectPageDownloadModalServersPromo = false
+ saveFeatureFlags()
+ }
+ "
+ />
+
+
+
+
+
+
+
+
diff --git a/apps/frontend/src/pages/[type]/[project].vue b/apps/frontend/src/pages/[type]/[project].vue
index a026bb9bb5..c1157383fa 100644
--- a/apps/frontend/src/pages/[type]/[project].vue
+++ b/apps/frontend/src/pages/[type]/[project].vue
@@ -88,338 +88,16 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
- {{ formatMessage(commonMessages.orLabel) }}
-
-
-
-
-
-
-
-
-
- {{
- currentGameVersion
- ? formatMessage(messages.gameVersionLabel, { version: currentGameVersion })
- : formatMessage(messages.gameVersionError)
- }}
-
-
-
-
{
- if (platformAccordion) {
- platformAccordion.close()
- }
- }
- "
- >
-
-
- {{
- currentGameVersion
- ? formatMessage(messages.gameVersionLabel, { version: currentGameVersion })
- : formatMessage(messages.selectGameVersion)
- }}
-
-
-
-
-
-
-
-
-
-
-
-
-
- {{
- currentPlatform
- ? formatMessage(messages.platformLabel, {
- platform: currentPlatformText,
- })
- : formatMessage(messages.platformError)
- }}
-
-
-
-
{
- if (gameVersionAccordion) {
- gameVersionAccordion.close()
- }
- }
- "
- >
-
-
- {{
- currentPlatform
- ? formatMessage(messages.platformLabel, {
- platform: currentPlatformText,
- })
- : formatMessage(messages.selectPlatform)
- }}
-
-
-
-
-
-
-
-
-
-
-
-
-
- {{
- formatMessage(messages.noVersionsAvailable, {
- gameVersion: currentGameVersion,
- platform: currentPlatformText,
- })
- }}
-
-
-
{
- flags.showProjectPageDownloadModalServersPromo = false
- saveFeatureFlags()
- }
- "
- />
-
-
-
+ :project="project"
+ :versions="versions"
+ :versions-loading="versionsLoading"
+ :tags="tags"
+ :download-reason="downloadReason"
+ :load-versions="loadVersions"
+ @download="triggerDownloadAnimation"
+ />