mirror of
https://github.com/hydralauncher/hydra.git
synced 2026-01-29 05:41:03 +00:00
feat: importing sources on auth
This commit is contained in:
@@ -137,6 +137,15 @@ export function App() {
|
||||
}, [fetchUserDetails, updateUserDetails, dispatch]);
|
||||
|
||||
const onSignIn = useCallback(() => {
|
||||
window.electron.getDownloadSources().then((sources) => {
|
||||
sources.forEach((source) => {
|
||||
downloadSourcesWorker.postMessage([
|
||||
"IMPORT_DOWNLOAD_SOURCE",
|
||||
source.url,
|
||||
]);
|
||||
});
|
||||
});
|
||||
|
||||
fetchUserDetails().then((response) => {
|
||||
if (response) {
|
||||
updateUserDetails(response);
|
||||
|
||||
@@ -15,12 +15,14 @@ import type {
|
||||
StartGameDownloadPayload,
|
||||
} from "@types";
|
||||
import { useDate } from "./use-date";
|
||||
import { formatBytes } from "@shared";
|
||||
import { formatBytes, formatBytesToMbps } from "@shared";
|
||||
|
||||
export function useDownload() {
|
||||
const { updateLibrary } = useLibrary();
|
||||
const { formatDistance } = useDate();
|
||||
|
||||
const userPrefs = useAppSelector((state) => state.userPreferences.value);
|
||||
|
||||
const { lastPacket, gamesWithDeletionInProgress } = useAppSelector(
|
||||
(state) => state.download
|
||||
);
|
||||
@@ -99,8 +101,14 @@ export function useDownload() {
|
||||
return gamesWithDeletionInProgress.includes(objectId);
|
||||
};
|
||||
|
||||
const formatDownloadSpeed = (downloadSpeed: number): string => {
|
||||
return userPrefs?.showDownloadSpeedInMegabytes
|
||||
? `${formatBytes(downloadSpeed)}/s`
|
||||
: formatBytesToMbps(downloadSpeed);
|
||||
};
|
||||
|
||||
return {
|
||||
downloadSpeed: `${formatBytes(lastPacket?.downloadSpeed ?? 0)}/s`,
|
||||
downloadSpeed: formatDownloadSpeed(lastPacket?.downloadSpeed ?? 0),
|
||||
progress: formatDownloadProgress(lastPacket?.progress ?? 0),
|
||||
lastPacket,
|
||||
eta: calculateETA(),
|
||||
|
||||
@@ -23,6 +23,7 @@ export function SettingsBehavior() {
|
||||
enableAutoInstall: false,
|
||||
seedAfterDownloadComplete: false,
|
||||
showHiddenAchievementsDescription: false,
|
||||
showDownloadSpeedInMegabytes: false,
|
||||
});
|
||||
|
||||
const { t } = useTranslation("settings");
|
||||
@@ -40,6 +41,8 @@ export function SettingsBehavior() {
|
||||
userPreferences.seedAfterDownloadComplete ?? false,
|
||||
showHiddenAchievementsDescription:
|
||||
userPreferences.showHiddenAchievementsDescription ?? false,
|
||||
showDownloadSpeedInMegabytes:
|
||||
userPreferences.showDownloadSpeedInMegabytes ?? false,
|
||||
});
|
||||
}
|
||||
}, [userPreferences]);
|
||||
@@ -139,6 +142,16 @@ export function SettingsBehavior() {
|
||||
})
|
||||
}
|
||||
/>
|
||||
|
||||
<CheckboxField
|
||||
label={t("show_download_speed_in_megabytes")}
|
||||
checked={form.showDownloadSpeedInMegabytes}
|
||||
onChange={() =>
|
||||
handleChange({
|
||||
showDownloadSpeedInMegabytes: !form.showDownloadSpeedInMegabytes,
|
||||
})
|
||||
}
|
||||
/>
|
||||
</>
|
||||
);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user