mirror of
https://github.com/4gray/iptvnator.git
synced 2026-10-08 17:06:15 -08:00
style(dialog): increase dialog width from 300px to 400px for better visibility
Entire-Checkpoint: c2cea9c530e6
This commit is contained in:
1 parent
20445beaf0
commit
a6e886116c
15 files changed
+42
-9
No files matched your search
@@ -114,7 +114,7 @@
|
||||
"REFRESH_XTREAM": "Xtream-Playlist vom Server aktualisieren",
|
||||
"REFRESH_XTREAM_DIALOG": {
|
||||
"TITLE": "Xtream-Playlist aktualisieren",
|
||||
"MESSAGE": "Dadurch werden lokal zwischengespeicherte Kategorien und Streams gelöscht und alles vom Remote-Server erneut importiert. Ihre Favoriten und kürzlich angesehenen Elemente bleiben erhalten. Möchten Sie wirklich fortfahren?",
|
||||
"MESSAGE": "Dadurch wird der lokale Xtream-Cache gelöscht und Kategorien sowie Streams werden vom Remote-Server erneut importiert. Favoriten, kürzlich angesehene Elemente, ausgeblendete Kategorien und Wiedergabefortschritt werden nach einem erfolgreichen Re-Import wiederhergestellt, sofern die passenden Inhalte noch vorhanden sind. Wenn der Server nicht erreichbar ist, bleibt die Wiederherstellung bis zu einer späteren erfolgreichen Aktualisierung ausstehend. Fortfahren?",
|
||||
"STARTED": "Aktualisierung gestartet. Navigation zur Playlist...",
|
||||
"ERROR": "Playlist-Aktualisierung fehlgeschlagen. Bitte versuchen Sie es erneut.",
|
||||
"IN_PROGRESS": "Playlist wird aktualisiert...",
|
||||
|
||||
@@ -67,7 +67,7 @@
|
||||
"REFRESH_XTREAM": "Ανανέωση Xtream λίστας από το τηλεκοντρόλ",
|
||||
"REFRESH_XTREAM_DIALOG": {
|
||||
"TITLE": "Ανανέωση Xtream λίστας",
|
||||
"MESSAGE": "Αυτό θα διαγράψει τις τοπικά αποθηκευμένες κατηγορίες και ροές και θα εισαγάγει ξανά τα πάντα από τον απομακρυσμένο διακομιστή. Τα αγαπημένα σας και τα πρόσφατα προβληθέντα στοιχεία θα διατηρηθούν. Είστε βέβαιοι ότι θέλετε να συνεχίσετε;",
|
||||
"MESSAGE": "Αυτό θα διαγράψει την τοπική προσωρινή μνήμη Xtream και θα εισαγάγει ξανά τις κατηγορίες και τις ροές από τον απομακρυσμένο διακομιστή. Τα αγαπημένα, τα πρόσφατα προβληθέντα στοιχεία, η ορατότητα των κρυφών κατηγοριών και η πρόοδος αναπαραγωγής θα αποκατασταθούν μετά από επιτυχημένη επανεισαγωγή, εφόσον το αντίστοιχο περιεχόμενο εξακολουθεί να υπάρχει. Αν ο διακομιστής δεν είναι προσβάσιμος, η αποκατάσταση θα παραμείνει σε εκκρεμότητα μέχρι μια μεταγενέστερη επιτυχημένη ανανέωση. Συνέχεια;",
|
||||
"STARTED": "Η ανανέωση ξεκίνησε. Πλοήγηση στη λίστα αναπαραγωγής...",
|
||||
"ERROR": "Η ανανέωση της λίστας αναπαραγωγής απέτυχε. Δοκιμάστε ξανά."
|
||||
},
|
||||
|
||||
@@ -109,7 +109,7 @@
|
||||
"REFRESH_XTREAM": "Refresh Xtream playlist from remote",
|
||||
"REFRESH_XTREAM_DIALOG": {
|
||||
"TITLE": "Refresh Xtream Playlist",
|
||||
"MESSAGE": "This will delete locally cached categories and streams and re-import everything from the remote server. Your favorites and recently viewed items will be preserved. Are you sure you want to continue?",
|
||||
"MESSAGE": "This will delete the local Xtream cache and re-import categories and streams from the remote server. Favorites, recently viewed items, hidden category visibility, and playback progress are restored after a successful re-import when matching content still exists. If the server cannot be reached, the restore remains pending until a later successful refresh. Continue?",
|
||||
"STARTED": "Refresh started. Navigating to playlist...",
|
||||
"ERROR": "Failed to refresh playlist. Please try again.",
|
||||
"IN_PROGRESS": "Refreshing playlist...",
|
||||
|
||||
@@ -68,7 +68,7 @@
|
||||
"REFRESH_XTREAM": "Actualiser la liste Xtream depuis le serveur",
|
||||
"REFRESH_XTREAM_DIALOG": {
|
||||
"TITLE": "Actualiser la liste Xtream",
|
||||
"MESSAGE": "Cela supprimera les catégories et flux mis en cache localement et réimportera tout depuis le serveur distant. Vos favoris et éléments récemment consultés seront conservés. Voulez-vous continuer ?",
|
||||
"MESSAGE": "Cela supprimera le cache Xtream local et réimportera les catégories et les flux depuis le serveur distant. Les favoris, les éléments récemment consultés, la visibilité des catégories masquées et la progression de lecture seront restaurés après une réimportation réussie si le contenu correspondant existe toujours. Si le serveur est inaccessible, la restauration restera en attente jusqu'à une prochaine actualisation réussie. Continuer ?",
|
||||
"STARTED": "Actualisation démarrée. Navigation vers la liste de lecture...",
|
||||
"ERROR": "Échec de l'actualisation de la liste de lecture. Veuillez réessayer."
|
||||
},
|
||||
|
||||
@@ -66,7 +66,7 @@
|
||||
"REFRESH_XTREAM": "Atualizar playlist Xtream do servidor",
|
||||
"REFRESH_XTREAM_DIALOG": {
|
||||
"TITLE": "Atualizar playlist Xtream",
|
||||
"MESSAGE": "Isso excluirá as categorias e streams armazenados localmente e reimportará tudo do servidor remoto. Seus favoritos e itens visualizados recentemente serão preservados. Deseja continuar?",
|
||||
"MESSAGE": "Isso excluirá o cache local do Xtream e reimportará categorias e streams do servidor remoto. Favoritos, itens visualizados recentemente, visibilidade de categorias ocultas e progresso de reprodução serão restaurados após uma reimportação bem-sucedida quando o conteúdo correspondente ainda existir. Se o servidor não puder ser alcançado, a restauração ficará pendente até uma atualização bem-sucedida posterior. Continuar?",
|
||||
"STARTED": "Atualização iniciada. Navegando para a playlist...",
|
||||
"ERROR": "Falha ao atualizar a playlist. Tente novamente."
|
||||
},
|
||||
|
||||
@@ -58,7 +58,7 @@
|
||||
"REFRESH_XTREAM": "Обновить Xtream плейлист с сервера",
|
||||
"REFRESH_XTREAM_DIALOG": {
|
||||
"TITLE": "Обновить Xtream плейлист",
|
||||
"MESSAGE": "Это удалит локально кэшированные категории и потоки и повторно импортирует все с удаленного сервера. Ваши избранные и недавно просмотренные элементы будут сохранены. Вы уверены, что хотите продолжить?",
|
||||
"MESSAGE": "Это удалит локальный кэш Xtream и заново импортирует категории и потоки с удаленного сервера. Избранное, недавно просмотренные элементы, видимость скрытых категорий и прогресс воспроизведения будут восстановлены после успешного повторного импорта, если соответствующий контент все еще существует. Если сервер недоступен, восстановление останется в ожидании до следующего успешного обновления. Продолжить?",
|
||||
"STARTED": "Обновление начато. Переход к плейлисту...",
|
||||
"ERROR": "Не удалось обновить плейлист. Пожалуйста, попробуйте снова.",
|
||||
"IN_PROGRESS": "Плейлист обновляется...",
|
||||
|
||||
@@ -67,7 +67,7 @@
|
||||
"REFRESH_XTREAM": "Xtream oynatma listesini uzaktan yenile",
|
||||
"REFRESH_XTREAM_DIALOG": {
|
||||
"TITLE": "Xtream Oynatma Listesini Yenile",
|
||||
"MESSAGE": "Bu işlem yerel olarak önbelleğe alınmış kategorileri ve yayınları silecek ve her şeyi uzaktan sunucudan yeniden içe aktaracaktır. Favorileriniz ve son izlenen öğeleriniz korunacaktır. Devam etmek istediğinizden emin misiniz?",
|
||||
"MESSAGE": "Bu işlem yerel Xtream önbelleğini siler ve kategoriler ile yayınları uzak sunucudan yeniden içe aktarır. Favoriler, son izlenen öğeler, gizli kategori görünürlüğü ve oynatma ilerlemesi, eşleşen içerik hâlâ varsa başarılı bir yeniden içe aktarmadan sonra geri yüklenir. Sunucuya ulaşılamazsa geri yükleme, daha sonraki başarılı bir yenilemeye kadar beklemede kalır. Devam edilsin mi?",
|
||||
"STARTED": "Yenileme başladı. Oynatma listesine gidiliyor...",
|
||||
"ERROR": "Oynatma listesi yenilenemedi. Lütfen tekrar deneyin."
|
||||
},
|
||||
|
||||
@@ -65,7 +65,7 @@
|
||||
"REFRESH_XTREAM": "從遠端重新整理 Xtream 播放清單",
|
||||
"REFRESH_XTREAM_DIALOG": {
|
||||
"TITLE": "重新整理 Xtream 播放清單",
|
||||
"MESSAGE": "這將刪除本機快取的類別和串流,並從遠端伺服器重新匯入所有內容。您的最愛和最近觀看的項目將會保留。確定要繼續嗎?",
|
||||
"MESSAGE": "這將刪除本機 Xtream 快取,並從遠端伺服器重新匯入類別和串流。若相符內容仍然存在,最愛、最近觀看項目、隱藏類別可見性和播放進度會在成功重新匯入後還原。如果無法連線到伺服器,還原會保持待處理狀態,直到之後成功重新整理為止。要繼續嗎?",
|
||||
"STARTED": "已開始重新整理。正在導向播放清單...",
|
||||
"ERROR": "重新整理播放清單失敗。請重試。"
|
||||
},
|
||||
|
||||
@@ -360,6 +360,11 @@ describe('RecentPlaylistsComponent busy state', () => {
|
||||
component.refreshXtreamPlaylist(item);
|
||||
await confirmPromise;
|
||||
|
||||
expect(dialogService.openConfirmDialog).toHaveBeenCalledWith(
|
||||
expect.objectContaining({
|
||||
width: '400px',
|
||||
})
|
||||
);
|
||||
expect(
|
||||
databaseService.updateXtreamPlaylistDetails
|
||||
).toHaveBeenCalledWith({
|
||||
|
||||
@@ -321,6 +321,7 @@ export class RecentPlaylistsComponent {
|
||||
message: this.translate.instant(
|
||||
'HOME.PLAYLISTS.REFRESH_XTREAM_DIALOG.MESSAGE'
|
||||
),
|
||||
width: '400px',
|
||||
onConfirm: async () => {
|
||||
if (
|
||||
this.isDeletePending(item._id) ||
|
||||
|
||||
@@ -194,6 +194,11 @@ describe('PlaylistRefreshActionService', () => {
|
||||
service.refresh(item);
|
||||
await confirmPromise;
|
||||
|
||||
expect(dialogService.openConfirmDialog).toHaveBeenCalledWith(
|
||||
expect.objectContaining({
|
||||
width: '400px',
|
||||
})
|
||||
);
|
||||
expect(setItemSpy).toHaveBeenCalledWith(
|
||||
`xtream-restore-${item._id}`,
|
||||
JSON.stringify({
|
||||
|
||||
@@ -60,6 +60,7 @@ export class PlaylistRefreshActionService {
|
||||
message: this.translate.instant(
|
||||
'HOME.PLAYLISTS.REFRESH_XTREAM_DIALOG.MESSAGE'
|
||||
),
|
||||
width: '400px',
|
||||
onConfirm: async () => {
|
||||
if (this.isRefreshing()) {
|
||||
return;
|
||||
|
||||
@@ -6,6 +6,7 @@ import { TranslateModule } from '@ngx-translate/core';
|
||||
export interface ConfirmDialogData {
|
||||
title: string;
|
||||
message: string;
|
||||
width?: string;
|
||||
confirmLabel?: string;
|
||||
cancelLabel?: string;
|
||||
onConfirm: () => void;
|
||||
|
||||
@@ -48,6 +48,26 @@ describe('DialogService', () => {
|
||||
);
|
||||
});
|
||||
|
||||
it('uses a custom dialog width when provided', () => {
|
||||
dialog.open.mockReturnValue({
|
||||
afterClosed: () => of(false),
|
||||
});
|
||||
|
||||
service.openConfirmDialog({
|
||||
title: 'Refresh Xtream Playlist',
|
||||
message: 'Confirm refresh?',
|
||||
width: '400px',
|
||||
onConfirm: jest.fn(),
|
||||
});
|
||||
|
||||
expect(dialog.open).toHaveBeenCalledWith(
|
||||
expect.any(Function),
|
||||
expect.objectContaining({
|
||||
width: '400px',
|
||||
})
|
||||
);
|
||||
});
|
||||
|
||||
it('invokes onConfirm only after the dialog resolves truthy', () => {
|
||||
const onConfirm = jest.fn();
|
||||
dialog.open.mockReturnValue({
|
||||
|
||||
@@ -21,7 +21,7 @@ export class DialogService {
|
||||
ConfirmDialogData
|
||||
>(ConfirmDialogComponent, {
|
||||
data,
|
||||
width: '300px',
|
||||
width: data.width ?? '300px',
|
||||
});
|
||||
dialogRef
|
||||
.afterClosed()
|
||||
|
||||
Reference in new issue
Block a user