diff --git a/components/Icons/MacLogo.vue b/components/Icons/MacLogo.vue new file mode 100644 index 0000000..f8db2ed --- /dev/null +++ b/components/Icons/MacLogo.vue @@ -0,0 +1,13 @@ + + + + + diff --git a/components/PlatformSelector.vue b/components/PlatformSelector.vue index d84f242..859effa 100644 --- a/components/PlatformSelector.vue +++ b/components/PlatformSelector.vue @@ -7,13 +7,13 @@ - + - {{ values[model].name }} + {{ model }} Please select a platform... - {{ options.name }} + {{ name }} diff --git a/composables/icons.ts b/composables/icons.ts index ca465ab..247cf83 100644 --- a/composables/icons.ts +++ b/composables/icons.ts @@ -1,6 +1,8 @@ -import { IconsLinuxLogo, IconsWindowsLogo } from "#components"; +import { IconsLinuxLogo, IconsWindowsLogo, IconsMacLogo } from "#components"; +import { PlatformClient } from "./types"; export const PLATFORM_ICONS = { [PlatformClient.Linux]: IconsLinuxLogo, [PlatformClient.Windows]: IconsWindowsLogo, + [PlatformClient.macOS]: IconsMacLogo, }; diff --git a/composables/types.ts b/composables/types.ts index 676e727..87b2a25 100644 --- a/composables/types.ts +++ b/composables/types.ts @@ -15,4 +15,5 @@ export type QuickActionNav = { export enum PlatformClient { Windows = "Windows", Linux = "Linux", + macOS = "macOS", } diff --git a/pages/admin/library/[id]/index.vue b/pages/admin/library/[id]/index.vue index d62553b..ca5f0f6 100644 --- a/pages/admin/library/[id]/index.vue +++ b/pages/admin/library/[id]/index.vue @@ -320,7 +320,8 @@ {{ item.delta ? "Upgrade mode" : "" }} - + + deleteVersion(item.versionName)"> diff --git a/prisma/migrations/20250311073601_add_macos_as_a_platform/migration.sql b/prisma/migrations/20250311073601_add_macos_as_a_platform/migration.sql new file mode 100644 index 0000000..f2f6840 --- /dev/null +++ b/prisma/migrations/20250311073601_add_macos_as_a_platform/migration.sql @@ -0,0 +1,2 @@ +-- AlterEnum +ALTER TYPE "Platform" ADD VALUE 'macos'; diff --git a/prisma/schema/app.prisma b/prisma/schema/app.prisma index 16b388d..a949749 100644 --- a/prisma/schema/app.prisma +++ b/prisma/schema/app.prisma @@ -7,4 +7,5 @@ model ApplicationSettings { enum Platform { Windows @map("windows") Linux @map("linux") + macOS @map("macos") } diff --git a/server/internal/library/index.ts b/server/internal/library/index.ts index 5f83a86..4c16192 100644 --- a/server/internal/library/index.ts +++ b/server/internal/library/index.ts @@ -154,6 +154,10 @@ class LibraryManager { // Pretty much the only one ".exe", ], + macOS: [ + // App files + ".app", + ], }; const options: Array<{ @@ -302,10 +306,8 @@ class LibraryManager { nonce: `version-create-${gameId}-${versionName}`, title: `'${game.mName}' ('${versionName}') finished importing.`, description: `Drop finished importing version ${versionName} for ${game.mName}.`, - actions: [ - `View|/admin/library/${gameId}` - ] - }) + actions: [`View|/admin/library/${gameId}`], + }); progress(100); }, diff --git a/server/internal/utils/parseplatform.ts b/server/internal/utils/parseplatform.ts index b94fed5..eca89fa 100644 --- a/server/internal/utils/parseplatform.ts +++ b/server/internal/utils/parseplatform.ts @@ -8,6 +8,10 @@ export function parsePlatform(platform: string) { case "windows": case "Windows": return Platform.Windows; + case "macOS": + case "MacOS": + case "mac": + return Platform.macOS; } return undefined;