From 0453b9b9c1a0cc3166991c1e98d589f4a2b94c7c Mon Sep 17 00:00:00 2001 From: GhostID-ops Date: Sat, 28 Mar 2026 12:42:15 -0400 Subject: [PATCH] Added tip for error message --- src/components/CustomAlert.tsx | 19 ++++++++++++++++++- src/screens/streams/StreamsScreen.tsx | 2 ++ src/screens/streams/useStreamsScreen.ts | 7 +++++-- 3 files changed, 25 insertions(+), 3 deletions(-) diff --git a/src/components/CustomAlert.tsx b/src/components/CustomAlert.tsx index 16596509..91185abd 100644 --- a/src/components/CustomAlert.tsx +++ b/src/components/CustomAlert.tsx @@ -21,6 +21,7 @@ interface CustomAlertProps { visible: boolean; title: string; message: string; + subtitle?: string; onClose: () => void; actions?: Array<{ label: string; @@ -33,6 +34,7 @@ export const CustomAlert = ({ visible, title, message, + subtitle, onClose, actions = [ { label: 'OK', onPress: onClose } @@ -110,6 +112,13 @@ export const CustomAlert = ({ {message} + {/* Subtitle / tooltip */} + {subtitle ? ( + + {subtitle} + + ) : null} + {/* Actions */} { alertVisible, alertTitle, alertMessage, + alertSubtitle, alertActions, openAlert, closeAlert, @@ -206,6 +207,7 @@ export const StreamsScreen = () => { visible={alertVisible} title={alertTitle} message={alertMessage} + subtitle={alertSubtitle} actions={alertActions} onClose={closeAlert} /> diff --git a/src/screens/streams/useStreamsScreen.ts b/src/screens/streams/useStreamsScreen.ts index 1dd04336..96cf2cee 100644 --- a/src/screens/streams/useStreamsScreen.ts +++ b/src/screens/streams/useStreamsScreen.ts @@ -68,6 +68,7 @@ export const useStreamsScreen = () => { const [alertVisible, setAlertVisible] = useState(false); const [alertTitle, setAlertTitle] = useState(''); const [alertMessage, setAlertMessage] = useState(''); + const [alertSubtitle, setAlertSubtitle] = useState(''); const [alertActions, setAlertActions] = useState([]); // Loading and provider state @@ -174,12 +175,13 @@ export const useStreamsScreen = () => { // Open alert helper const openAlert = useCallback( - (title: string, message: string, actions?: AlertAction[]) => { + (title: string, message: string, actions?: AlertAction[], subtitle?: string) => { if (!isMounted.current) return; try { setAlertTitle(title); setAlertMessage(message); + setAlertSubtitle(subtitle ?? ''); setAlertActions(actions && actions.length > 0 ? actions : [{ label: 'OK', onPress: () => { } }]); setAlertVisible(true); } catch (error) { @@ -465,7 +467,7 @@ export const useStreamsScreen = () => { // Block magnet links if (typeof stream.url === 'string' && stream.url.startsWith('magnet:')) { - openAlert('Not supported', 'Torrent streaming is not supported yet.'); + openAlert('Not supported', 'Torrent streaming is not supported yet.', undefined, 'You need a Debrid provider.'); return; } @@ -1145,6 +1147,7 @@ export const useStreamsScreen = () => { alertVisible, alertTitle, alertMessage, + alertSubtitle, alertActions, openAlert, closeAlert,