1
0

web-view-error-screen.tsx 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. import React, { ReactNode } from "react";
  2. import { Button, StyleSheet, Text, View } from "react-native";
  3. import { WebViewHandlers } from "../types/webview-handlers-type";
  4. /**
  5. * Render error screen for WebView
  6. * @param handlers WebViewHandlers to access reload and other functions
  7. * @param errorDomain error domain provided by WebView
  8. * @param errorCode error code provided by WebView
  9. * @param errorDesc error description
  10. */
  11. export function renderWebViewError(
  12. handlers: WebViewHandlers,
  13. errorDomain: any,
  14. errorCode: any,
  15. errorDesc: string
  16. ): ReactNode {
  17. return (
  18. <View style={styles.errorContainer}>
  19. <Text style={styles.errorText}>Oops! Something went wrong.</Text>
  20. <Text style={styles.errorDesc}>{errorDesc}</Text>
  21. <Button title="Reload" onPress={handlers.reload} />
  22. </View>
  23. );
  24. }
  25. const styles = StyleSheet.create({
  26. errorContainer: {
  27. flex: 9999999,
  28. justifyContent: "center",
  29. alignItems: "center",
  30. padding: 16,
  31. },
  32. errorText: {
  33. fontSize: 18,
  34. fontWeight: "bold",
  35. marginBottom: 8,
  36. },
  37. errorDesc: {
  38. fontSize: 14,
  39. marginBottom: 16,
  40. textAlign: "center",
  41. },
  42. });