mirror of
https://github.com/hydralauncher/hydra.git
synced 2025-03-09 15:40:26 +00:00
feat: add option in user preferences to seed after download completes
This commit is contained in:
parent
1d6db5b76b
commit
0955af1e69
6 changed files with 37 additions and 1 deletions
|
@ -254,7 +254,8 @@
|
|||
"blocked_users": "Blocked users",
|
||||
"user_unblocked": "User has been unblocked",
|
||||
"enable_achievement_notifications": "When an achievement in unlocked",
|
||||
"launch_minimized": "Launch Hydra minimized"
|
||||
"launch_minimized": "Launch Hydra minimized",
|
||||
"seed_after_download_completes": "Seed after download completes"
|
||||
},
|
||||
"notifications": {
|
||||
"download_complete": "Download complete",
|
||||
|
|
|
@ -38,6 +38,9 @@ export class UserPreferences {
|
|||
@Column("boolean", { default: false })
|
||||
startMinimized: boolean;
|
||||
|
||||
@Column("boolean", { default: true })
|
||||
seedAfterDownloadCompletes: boolean;
|
||||
|
||||
@CreateDateColumn()
|
||||
createdAt: Date;
|
||||
|
||||
|
|
|
@ -12,6 +12,7 @@ import { CreateUserSubscription } from "./migrations/20241015235142_create_user_
|
|||
import { AddBackgroundImageUrl } from "./migrations/20241016100249_add_background_image_url";
|
||||
import { AddWinePrefixToGame } from "./migrations/20241019081648_add_wine_prefix_to_game";
|
||||
import { AddStartMinimizedColumn } from "./migrations/20241030171454_add_start_minimized_column";
|
||||
import { AddSeedAfterDownloadCompletesColumn } from "./migrations/20241101012727_add_seed_after_download_completes_column";
|
||||
export type HydraMigration = Knex.Migration & { name: string };
|
||||
|
||||
class MigrationSource implements Knex.MigrationSource<HydraMigration> {
|
||||
|
@ -28,6 +29,7 @@ class MigrationSource implements Knex.MigrationSource<HydraMigration> {
|
|||
AddBackgroundImageUrl,
|
||||
AddWinePrefixToGame,
|
||||
AddStartMinimizedColumn,
|
||||
AddSeedAfterDownloadCompletesColumn,
|
||||
]);
|
||||
}
|
||||
getMigrationName(migration: HydraMigration): string {
|
||||
|
|
|
@ -0,0 +1,17 @@
|
|||
import type { HydraMigration } from "@main/knex-client";
|
||||
import type { Knex } from "knex";
|
||||
|
||||
export const AddSeedAfterDownloadCompletesColumn: HydraMigration = {
|
||||
name: "AddSeedAfterDownloadCompletesColumn",
|
||||
up: (knex: Knex) => {
|
||||
return knex.schema.alterTable("user_preferences", (table) => {
|
||||
return table.boolean("seedAfterDownloadCompletes").notNullable().defaultTo(1);
|
||||
});
|
||||
},
|
||||
|
||||
down: async (knex: Knex) => {
|
||||
return knex.schema.alterTable("user_preferences", (table) => {
|
||||
return table.dropColumn("seedAfterDownloadCompletes");
|
||||
});
|
||||
},
|
||||
};
|
|
@ -18,6 +18,7 @@ export function SettingsBehavior() {
|
|||
preferQuitInsteadOfHiding: false,
|
||||
runAtStartup: false,
|
||||
startMinimized: false,
|
||||
seedAfterDownloadCompletes: true,
|
||||
});
|
||||
|
||||
const { t } = useTranslation("settings");
|
||||
|
@ -28,6 +29,7 @@ export function SettingsBehavior() {
|
|||
preferQuitInsteadOfHiding: userPreferences.preferQuitInsteadOfHiding,
|
||||
runAtStartup: userPreferences.runAtStartup,
|
||||
startMinimized: userPreferences.startMinimized,
|
||||
seedAfterDownloadCompletes: userPreferences.seedAfterDownloadCompletes,
|
||||
});
|
||||
}
|
||||
}, [userPreferences]);
|
||||
|
@ -86,6 +88,16 @@ export function SettingsBehavior() {
|
|||
/>
|
||||
</div>
|
||||
)}
|
||||
|
||||
<CheckboxField
|
||||
label={t("seed_after_download_completes")}
|
||||
checked={form.seedAfterDownloadCompletes}
|
||||
onChange={() =>
|
||||
handleChange({
|
||||
seedAfterDownloadCompletes: !form.seedAfterDownloadCompletes,
|
||||
})
|
||||
}
|
||||
/>
|
||||
</>
|
||||
);
|
||||
}
|
||||
|
|
|
@ -161,6 +161,7 @@ export interface UserPreferences {
|
|||
preferQuitInsteadOfHiding: boolean;
|
||||
runAtStartup: boolean;
|
||||
startMinimized: boolean;
|
||||
seedAfterDownloadCompletes: boolean;
|
||||
}
|
||||
|
||||
export interface Steam250Game {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue