diff --git a/src/components/dialogs/EpicUnlockerSelectionDialog.tsx b/src/components/dialogs/EpicUnlockerSelectionDialog.tsx new file mode 100644 index 0000000..ab7efad --- /dev/null +++ b/src/components/dialogs/EpicUnlockerSelectionDialog.tsx @@ -0,0 +1,97 @@ +import React from 'react' +import { + Dialog, + DialogHeader, + DialogBody, + DialogFooter, + DialogActions, +} from '@/components/dialogs' +import { Button } from '@/components/buttons' +import { Icon, info } from '@/components/icons' +import { EpicGame } from '@/types/EpicGame' + +export interface EpicUnlockerSelectionDialogProps { + visible: boolean + game: EpicGame | null + onClose: () => void + onSelectScreamAPI: () => void + onSelectKoaloader: () => void +} + +/** + * Unlocker selection dialog for Epic games. + * Recommended: ScreamAPI (direct EOSSDK replacement). + * Alternative: Koaloader + ScreamAPI (proxy DLL injection). + */ +const EpicUnlockerSelectionDialog: React.FC = ({ + visible, + game, + onClose, + onSelectScreamAPI, + onSelectKoaloader, +}) => { + return ( + + +
+

Choose Unlocker

+
+
+ + +
+

+ Select which unlocker to install for {game?.title}: +

+ +
+
+
+

ScreamAPI

+ Recommended +
+

+ Replaces the EOS SDK DLL directly with ScreamAPI. Works for most Epic games and + requires no additional files. DLC unlocking is automatic. +

+ +
+ +
+
+

Koaloader + ScreamAPI

+ Alternative +
+

+ Uses a proxy DLL to inject ScreamAPI without modifying the EOS SDK. Try this if the + recommended method doesn't work for your game. +

+ +
+
+ +
+ + + You can always uninstall and try the other option if one doesn't work properly. + +
+
+
+ + + + + + +
+ ) +} + +export default EpicUnlockerSelectionDialog \ No newline at end of file