([]);
+ const { userDetails, undoFriendship } = useUserDetails();
+ const isMe = userDetails?.id == userId;
+
const loadNextPage = () => {
if (page > maxPage) return;
window.electron
@@ -36,11 +43,15 @@ export const UserFriendModalList = ({
.catch(() => {});
};
- useEffect(() => {
+ const reloadList = () => {
setPage(0);
setMaxPage(0);
setFriends([]);
loadNextPage();
+ };
+
+ useEffect(() => {
+ reloadList();
}, [userId]);
const handleClickFriend = (userId: string) => {
@@ -48,6 +59,16 @@ export const UserFriendModalList = ({
navigate(`/user/${userId}`);
};
+ const handleUndoFriendship = (userId: string) => {
+ undoFriendship(userId)
+ .then(() => {
+ reloadList();
+ })
+ .catch(() => {
+ showErrorToast(t("try_again"));
+ });
+ };
+
return (
{}}
- onClickCancelRequest={() => {}}
- onClickRefuseRequest={() => {}}
onClickItem={handleClickFriend}
- type={"ACCEPTED"}
+ onClickUndoFriendship={handleUndoFriendship}
+ type={isMe ? "ACCEPTED" : null}
key={friend.id}
/>
);
diff --git a/src/types/index.ts b/src/types/index.ts
index 0945d410..ac352a91 100644
--- a/src/types/index.ts
+++ b/src/types/index.ts
@@ -301,7 +301,7 @@ export interface UserProfile {
id: string;
displayName: string;
profileImageUrl: string | null;
- profileVisibility: "PUBLIC" | "PRIVATE" | "FRIEND";
+ profileVisibility: "PUBLIC" | "PRIVATE" | "FRIENDS";
totalPlayTimeInSeconds: number;
libraryGames: UserGame[];
recentGames: UserGame[];
From ba8201dabac169f57dc09e33da2a0841843ba5d6 Mon Sep 17 00:00:00 2001
From: Bayu Wilanda
Date: Sat, 3 Aug 2024 09:50:22 +0700
Subject: [PATCH 51/54] feat: improve Indonesian translations for better
readability and naturalness
---
src/locales/id/translation.json | 247 ++++++++++++++++++++++++--------
1 file changed, 184 insertions(+), 63 deletions(-)
diff --git a/src/locales/id/translation.json b/src/locales/id/translation.json
index bb7f452b..bcf7c32a 100644
--- a/src/locales/id/translation.json
+++ b/src/locales/id/translation.json
@@ -1,134 +1,255 @@
{
+ "app": {
+ "successfully_signed_in": "Berhasil masuk"
+ },
"home": {
"featured": "Unggulan",
- "trending": "Trending",
- "surprise_me": "Kejutkan Saya",
- "no_results": "Tidak ada hasil"
+ "trending": "Sedang Tren",
+ "surprise_me": "Kejutkan saya",
+ "no_results": "Tidak ada hasil ditemukan"
},
"sidebar": {
"catalogue": "Katalog",
"downloads": "Unduhan",
"settings": "Pengaturan",
- "my_library": "Koleksi saya",
+ "my_library": "Perpustakaan saya",
"downloading_metadata": "{{title}} (Mengunduh metadata…)",
- "paused": "{{title}} (Terhenti)",
+ "paused": "{{title}} (Dijeda)",
"downloading": "{{title}} ({{percentage}} - Mengunduh…)",
- "filter": "Filter koleksi",
- "home": "Beranda"
+ "filter": "Filter perpustakaan",
+ "home": "Beranda",
+ "queued": "{{title}} (Antrian)",
+ "game_has_no_executable": "Game tidak punya file eksekusi yang dipilih",
+ "sign_in": "Masuk"
},
"header": {
- "search": "Pencarian",
+ "search": "Cari game",
"home": "Beranda",
"catalogue": "Katalog",
"downloads": "Unduhan",
"search_results": "Hasil pencarian",
- "settings": "Pengaturan"
+ "settings": "Pengaturan",
+ "version_available_install": "Versi {{version}} tersedia. Klik di sini untuk restart dan instal.",
+ "version_available_download": "Versi {{version}} tersedia. Klik di sini untuk unduh."
},
"bottom_panel": {
- "no_downloads_in_progress": "Tidak ada unduhan berjalan",
- "downloading_metadata": "Mengunduh metadata {{title}}...",
- "downloading": "Mengunduh {{title}}… ({{percentage}} selesai) - Perkiraan {{eta}} - {{speed}}"
+ "no_downloads_in_progress": "Tidak ada unduhan yang sedang berjalan",
+ "downloading_metadata": "Mengunduh metadata {{title}}…",
+ "downloading": "Mengunduh {{title}}… ({{percentage}} selesai) - Estimasi selesai {{eta}} - {{speed}}",
+ "calculating_eta": "Mengunduh {{title}}… ({{percentage}} selesai) - Menghitung waktu yang tersisa…",
+ "checking_files": "Memeriksa file {{title}}… ({{percentage}} selesai)"
},
"catalogue": {
- "next_page": "Halaman berikutnya",
- "previous_page": "Halaman sebelumnya"
+ "next_page": "Halaman Berikutnya",
+ "previous_page": "Halaman Sebelumnya"
},
"game_details": {
"open_download_options": "Buka opsi unduhan",
"download_options_zero": "Tidak ada opsi unduhan",
"download_options_one": "{{count}} opsi unduhan",
"download_options_other": "{{count}} opsi unduhan",
- "updated_at": "Diperbarui {{updated_at}}",
- "install": "Install",
+ "updated_at": "Diperbarui pada {{updated_at}}",
+ "install": "Instal",
"resume": "Lanjutkan",
- "pause": "Hentikan sementara",
- "cancel": "Batalkan",
+ "pause": "Jeda",
+ "cancel": "Batal",
"remove": "Hapus",
- "space_left_on_disk": "{{space}} tersisa pada disk",
- "eta": "Perkiraan {{eta}}",
+ "space_left_on_disk": "{{space}} tersisa di disk",
+ "eta": "Estimasi {{eta}}",
+ "calculating_eta": "Menghitung waktu yang tersisa…",
"downloading_metadata": "Mengunduh metadata…",
- "filter": "Saring repacks",
- "requirements": "Keperluan sistem",
+ "filter": "Filter repack",
+ "requirements": "Persyaratan sistem",
"minimum": "Minimum",
- "recommended": "Rekomendasi",
+ "recommended": "Dianjurkan",
+ "paused": "Dijeda",
"release_date": "Dirilis pada {{date}}",
- "publisher": "Dipublikasikan oleh {{publisher}}",
+ "publisher": "Diterbitkan oleh {{publisher}}",
"hours": "jam",
"minutes": "menit",
"amount_hours": "{{amount}} jam",
"amount_minutes": "{{amount}} menit",
"accuracy": "{{accuracy}}% akurasi",
- "add_to_library": "Tambahkan ke koleksi",
- "remove_from_library": "Hapus dari koleksi",
- "no_downloads": "Tidak ada unduhan tersedia",
+ "add_to_library": "Tambah ke perpustakaan",
+ "remove_from_library": "Hapus dari perpustakaan",
+ "no_downloads": "Tidak ada yang bisa diunduh",
"play_time": "Dimainkan selama {{amount}}",
"last_time_played": "Terakhir dimainkan {{period}}",
"not_played_yet": "Kamu belum memainkan {{title}}",
- "next_suggestion": "Rekomendasi berikutnya",
- "play": "Mainkan",
+ "next_suggestion": "Saran berikutnya",
+ "play": "Main",
"deleting": "Menghapus installer…",
"close": "Tutup",
- "playing_now": "Memainkan sekarang",
+ "playing_now": "Sedang dimainkan",
"change": "Ubah",
- "repacks_modal_description": "Pilih repack yang kamu ingin unduh",
- "select_folder_hint": "Untuk merubah folder bawaan, akses melalui",
- "download_now": "Unduh sekarang"
+ "repacks_modal_description": "Pilih repack yang ingin kamu unduh",
+ "select_folder_hint": "Untuk ganti folder default, buka <0>Pengaturan0>",
+ "download_now": "Unduh sekarang",
+ "no_shop_details": "Gagal mendapatkan detail toko.",
+ "download_options": "Opsi unduhan",
+ "download_path": "Path unduhan",
+ "previous_screenshot": "Screenshot sebelumnya",
+ "next_screenshot": "Screenshot berikutnya",
+ "screenshot": "Screenshot {{number}}",
+ "open_screenshot": "Buka screenshot {{number}}",
+ "download_settings": "Pengaturan unduhan",
+ "downloader": "Pengunduh",
+ "select_executable": "Pilih",
+ "no_executable_selected": "Tidak ada file eksekusi yang dipilih",
+ "open_folder": "Buka folder",
+ "open_download_location": "Lihat file yang diunduh",
+ "create_shortcut": "Buat pintasan desktop",
+ "remove_files": "Hapus file",
+ "remove_from_library_title": "Apa kamu yakin?",
+ "remove_from_library_description": "Ini akan menghapus {{game}} dari perpustakaan kamu",
+ "options": "Opsi",
+ "executable_section_title": "Eksekusi",
+ "executable_section_description": "Path file eksekusi saat \"Main\" diklik",
+ "downloads_secion_title": "Unduhan",
+ "downloads_section_description": "Cek update atau versi lain dari game ini",
+ "danger_zone_section_title": "Zona Berbahaya",
+ "danger_zone_section_description": "Hapus game ini dari perpustakaan kamu atau file yang diunduh oleh Hydra",
+ "download_in_progress": "Sedang mengunduh",
+ "download_paused": "Unduhan dijeda",
+ "last_downloaded_option": "Opsi terakhir diunduh",
+ "create_shortcut_success": "Pintasan berhasil dibuat",
+ "create_shortcut_error": "Gagal membuat pintasan"
},
"activation": {
- "title": "Aktivasi Hydra",
- "installation_id": "ID instalasi:",
- "enter_activation_code": "Masukkan kode aktivasi",
- "message": "Jika kamu tidak tau dimana bertanya untuk ini, maka kamu tidak seharusnya memiliki ini.",
+ "title": "Aktifkan Hydra",
+ "installation_id": "ID Instalasi:",
+ "enter_activation_code": "Masukkan kode aktivasi kamu",
+ "message": "Kalau tidak tahu harus tanya ke siapa, berarti kamu tidak perlu ini.",
"activate": "Aktifkan",
"loading": "Memuat…"
},
"downloads": {
"resume": "Lanjutkan",
- "pause": "Hentikan sementara",
- "eta": "Perkiraan {{eta}}",
- "paused": "Terhenti sementara",
- "verifying": "Memeriksa…",
+ "pause": "Jeda",
+ "eta": "Estimasi {{eta}}",
+ "paused": "Dijeda",
+ "verifying": "Verifikasi…",
"completed": "Selesai",
- "cancel": "Batalkan",
- "filter": "Saring game yang diunduh",
+ "removed": "Tidak diunduh",
+ "cancel": "Batal",
+ "filter": "Filter game yang diunduh",
"remove": "Hapus",
"downloading_metadata": "Mengunduh metadata…",
- "deleting": "Menghapus file instalasi…",
- "delete": "Hapus file instalasi",
- "delete_modal_title": "Kamu yakin?",
- "delete_modal_description": "Proses ini akan menghapus semua file instalasi dari komputer kamu",
- "install": "Install"
+ "deleting": "Menghapus installer…",
+ "delete": "Hapus installer",
+ "delete_modal_title": "Apa kamu yakin?",
+ "delete_modal_description": "Ini akan menghapus semua file instalasi dari komputer kamu",
+ "install": "Instal",
+ "download_in_progress": "Sedang berlangsung",
+ "queued_downloads": "Unduhan dalam antrian",
+ "downloads_completed": "Selesai",
+ "queued": "Dalam antrian",
+ "no_downloads_title": "Kosong",
+ "no_downloads_description": "Kamu belum mengunduh apa pun dengan Hydra, tapi belum terlambat untuk mulai.",
+ "checking_files": "Memeriksa file…"
},
"settings": {
- "downloads_path": "Lokasi unduhan",
- "change": "Perbarui",
- "notifications": "Pengingat",
+ "downloads_path": "Path unduhan",
+ "change": "Ganti",
+ "notifications": "Notifikasi",
"enable_download_notifications": "Saat unduhan selesai",
- "enable_repack_list_notifications": "Saat repack terbaru ditambahkan",
+ "enable_repack_list_notifications": "Saat ada repack baru",
+ "real_debrid_api_token_label": "Token API Real-Debrid",
+ "quit_app_instead_hiding": "Jangan sembunyikan Hydra saat ditutup",
+ "launch_with_system": "Jalankan Hydra saat sistem dinyalakan",
+ "general": "Umum",
"behavior": "Perilaku",
- "quit_app_instead_hiding": "Tutup aplikasi alih-alih menyembunyikan aplikasi",
- "launch_with_system": "Jalankan saat memulai sistem"
+ "download_sources": "Sumber unduhan",
+ "language": "Bahasa",
+ "real_debrid_api_token": "Token API",
+ "enable_real_debrid": "Aktifkan Real-Debrid",
+ "real_debrid_description": "Real-Debrid adalah downloader tanpa batas yang memungkinkan kamu untuk mengunduh file dengan cepat dan pada kecepatan terbaik dari Internet kamu.",
+ "real_debrid_invalid_token": "Token API tidak valid",
+ "real_debrid_api_token_hint": "Kamu bisa dapatkan token API di <0>sini0>",
+ "real_debrid_free_account_error": "Akun \"{{username}}\" adalah akun gratis. Silakan berlangganan Real-Debrid",
+ "real_debrid_linked_message": "Akun \"{{username}}\" terhubung",
+ "save_changes": "Simpan perubahan",
+ "changes_saved": "Perubahan disimpan berhasil",
+ "download_sources_description": "Hydra akan mencari link unduhan dari sini. URL harus menuju file .json dengan link unduhan.",
+ "validate_download_source": "Validasi",
+ "remove_download_source": "Hapus",
+ "add_download_source": "Tambahkan sumber",
+ "download_count_zero": "Tidak ada unduhan dalam daftar",
+ "download_count_one": "{{countFormatted}} unduhan dalam daftar",
+ "download_count_other": "{{countFormatted}} unduhan dalam daftar",
+ "download_options_zero": "Tidak ada unduhan tersedia",
+ "download_options_one": "{{countFormatted}} unduhan tersedia",
+ "download_options_other": "{{countFormatted}} unduhan tersedia",
+ "download_source_url": "URL sumber unduhan",
+ "add_download_source_description": "Masukkan URL yang berisi file .json",
+ "download_source_up_to_date": "Terkini",
+ "download_source_errored": "Terjadi kesalahan",
+ "sync_download_sources": "Sinkronkan sumber",
+ "removed_download_source": "Sumber unduhan dihapus",
+ "added_download_source": "Sumber unduhan ditambahkan",
+ "download_sources_synced": "Semua sumber unduhan disinkronkan",
+ "insert_valid_json_url": "Masukkan URL JSON yang valid",
+ "found_download_option_zero": "Tidak ada opsi unduhan ditemukan",
+ "found_download_option_one": "Ditemukan {{countFormatted}} opsi unduhan",
+ "found_download_option_other": "Ditemukan {{countFormatted}} opsi unduhan",
+ "import": "Impor"
},
"notifications": {
"download_complete": "Unduhan selesai",
- "game_ready_to_install": "{{title}} sudah siap untuk instalasi",
+ "game_ready_to_install": "{{title}} siap untuk diinstal",
"repack_list_updated": "Daftar repack diperbarui",
"repack_count_one": "{{count}} repack ditambahkan",
- "repack_count_other": "{{count}} repack ditambahkan"
+ "repack_count_other": "{{count}} repack ditambahkan",
+ "new_update_available": "Versi {{version}} tersedia",
+ "restart_to_install_update": "Restart Hydra untuk instal pembaruan"
},
"system_tray": {
"open": "Buka Hydra",
- "quit": "Tutup"
+ "quit": "Keluar"
},
"game_card": {
- "no_downloads": "Tidak ada unduhan tersedia"
+ "no_downloads": "Tidak ada unduhan yang tersedia"
},
"binary_not_found_modal": {
- "title": "Program tidak terinstal",
- "description": "Wine atau Lutris exe tidak ditemukan pada sistem kamu",
- "instructions": "Periksa cara instalasi yang benar pada Linux distro-mu agar game dapat dimainkan dengan benar"
+ "title": "Program tidak terpasang",
+ "description": "Executable Wine atau Lutris tidak ditemukan di sistem kamu",
+ "instructions": "Cek cara instalasi yang benar di distro Linux kamu agar game bisa jalan normal"
},
"modal": {
- "close": "Tombol tutup"
+ "close": "Tutup"
+ },
+ "forms": {
+ "toggle_password_visibility": "Tampilkan/Sembunyikan kata sandi"
+ },
+ "user_profile": {
+ "amount_hours": "{{amount}} jam",
+ "amount_minutes": "{{amount}} menit",
+ "last_time_played": "Terakhir dimainkan {{period}}",
+ "activity": "Aktivitas terbaru",
+ "library": "Perpustakaan",
+ "total_play_time": "Total waktu bermain: {{amount}}",
+ "no_recent_activity_title": "Hmm… kosong di sini",
+ "no_recent_activity_description": "Kamu belum main game baru-baru ini. Yuk, mulai main!",
+ "display_name": "Nama tampilan",
+ "saving": "Menyimpan",
+ "save": "Simpan",
+ "edit_profile": "Edit Profil",
+ "saved_successfully": "Berhasil disimpan",
+ "try_again": "Coba lagi yuk",
+ "sign_out_modal_title": "Apa kamu yakin?",
+ "cancel": "Batal",
+ "successfully_signed_out": "Berhasil keluar",
+ "sign_out": "Keluar",
+ "playing_for": "Bermain selama {{amount}}",
+ "sign_out_modal_text": "Perpustakaan kamu terhubung dengan akun saat ini. Saat keluar, perpustakaan kamu tidak akan terlihat lagi, dan progres tidak akan disimpan. Lanjutkan keluar?",
+ "add_friends": "Tambah Teman",
+ "add": "Tambah",
+ "friend_code": "Kode teman",
+ "see_profile": "Lihat profil",
+ "sending": "Mengirim",
+ "friend_request_sent": "Permintaan teman terkirim",
+ "friends": "Teman",
+ "friends_list": "Daftar teman",
+ "user_not_found": "Pengguna tidak ditemukan"
}
-}
+}
\ No newline at end of file
From 77280788a7147adb23cdc81f6b06edababe04213 Mon Sep 17 00:00:00 2001
From: Zamitto <167933696+zamitto@users.noreply.github.com>
Date: Mon, 5 Aug 2024 10:44:55 -0300
Subject: [PATCH 52/54] Format ca/translation.json
---
src/locales/ca/translation.json | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/locales/ca/translation.json b/src/locales/ca/translation.json
index d3ac5dbe..9124af79 100644
--- a/src/locales/ca/translation.json
+++ b/src/locales/ca/translation.json
@@ -1,5 +1,5 @@
{
-"app": {
+ "app": {
"successfully_signed_in": "Has entrat correctament"
},
"home": {
From e851600814db1cbc492b16b75d53b0198f7f427d Mon Sep 17 00:00:00 2001
From: Zamitto <167933696+zamitto@users.noreply.github.com>
Date: Mon, 5 Aug 2024 11:07:44 -0300
Subject: [PATCH 53/54] Format id/translation.json
---
src/locales/id/translation.json | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/locales/id/translation.json b/src/locales/id/translation.json
index bcf7c32a..198aa568 100644
--- a/src/locales/id/translation.json
+++ b/src/locales/id/translation.json
@@ -252,4 +252,4 @@
"friends_list": "Daftar teman",
"user_not_found": "Pengguna tidak ditemukan"
}
-}
\ No newline at end of file
+}
From e44c15e9e1442d686507d402d0e510aff2b29bf3 Mon Sep 17 00:00:00 2001
From: Bayu Wilanda
Date: Tue, 6 Aug 2024 11:11:05 +0700
Subject: [PATCH 54/54] fix: video won't load due to Content Security Policy
restrictions
---
src/renderer/index.html | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/renderer/index.html b/src/renderer/index.html
index 543b85a9..d7abf3ad 100644
--- a/src/renderer/index.html
+++ b/src/renderer/index.html
@@ -6,7 +6,7 @@
Hydra