refactor: Update getRepackLanguageBasedOnRepacker function parameters and use user preferences

This commit is contained in:
ChristoferMendes 2024-05-12 21:54:03 -03:00
parent f2af65d4cd
commit 26db88966f
3 changed files with 34 additions and 23 deletions

View file

@ -14,20 +14,17 @@ export const supportMultiLanguage = (title: string) => {
return multiFollowedByDigitsRegex.test(title.toLowerCase());
};
// const languageCode = 'en';
// const displayNames = new Intl.DisplayNames([languageCode], { type: 'language' });
// const englishLanguage = displayNames.of(languageCode);
// console.log(englishLanguage); // Output: "English"
export const getRepackLanguageBasedOnRepacker = (repacker: string) => {
export const getRepackLanguageBasedOnRepacker = (
repacker: string,
userLanguage: string
) => {
const languageCodes = {
xatab: "ru",
};
const languageCode = languageCodes[repacker.toLowerCase()] || "en";
const languageCode = languageCodes[repacker.toLowerCase()] || userLanguage;
const displayNames = new Intl.DisplayNames([languageCode], {
const displayNames = new Intl.DisplayNames([userLanguage.slice(0, 2)], {
type: "language",
});

View file

@ -34,6 +34,9 @@ export function RepacksModal({
const [filteredRepacks, setFilteredRepacks] = useState<GameRepack[]>([]);
const [repack, setRepack] = useState<GameRepack | null>(null);
const [showSelectFolderModal, setShowSelectFolderModal] = useState(false);
const { value: userPreferences } = useAppSelector(
(state) => state.userPreferences
);
const repackersFriendlyNames = useAppSelector(
(state) => state.repackersFriendlyNames.value
@ -109,7 +112,15 @@ export function RepacksModal({
{repack.uploadDate
? format(repack.uploadDate, "dd/MM/yyyy")
: ""}
{" - " + getRepackLanguageBasedOnRepacker(repack.repacker)}
{userPreferences?.language && (
<>
{" - " +
getRepackLanguageBasedOnRepacker(
repack.repacker,
userPreferences?.language
)}
</>
)}
</p>
</div>
<SeedersAndPeers repack={repack} />

View file

@ -27,21 +27,24 @@ export function useMagnetHealth(magnet: string) {
return;
}
window.electron.getMagnetHealth(magnet).then(
(result) => {
if (result) {
setMagnetData(result);
setIsLoading(false);
window.electron
.getMagnetHealth(magnet)
.then(
(result) => {
if (result) {
setMagnetData(result);
setIsLoading(false);
cache[magnet] = result;
cache[magnet].lastTracked = new Date();
cache[magnet] = result;
cache[magnet].lastTracked = new Date();
}
},
(error) => {
setError(error);
setIsLoading(false);
}
},
(error) => {
setError(error);
setIsLoading(false);
}
);
)
.catch(() => {});
}, [magnet]);
useEffect(() => {