71 Commits

Author SHA1 Message Date
James Chen
e6194a50ab fix: ios-tv work ok 2025-09-22 15:16:13 +08:00
James Chen
37d8580b9c feat: implement back button logic — single tap to scroll to top, double tap to exit. 2025-09-05 12:26:44 +08:00
James Chen
7af9bf2b4c feat(ui): add text selection handling in APIConfigSection and LiveStreamSection components, settings remote input can save 2025-09-02 09:54:58 +08:00
James Chen
0d9f552ede feat(ui): enhance settings sections with responsive layout and keyboard handling 2025-09-01 14:12:26 +08:00
James Chen
67275988bd feat(ui): unify android ripple effect logic for Pressable across HomeScreen, StyledButton, and VideoCard components 2025-08-28 09:18:24 +08:00
James Chen
f7ae93bd3d feat(ui): update Pressable ripple effect for device type in HomeScreen, StyledButton, and VideoCard components 2025-08-27 22:46:20 +08:00
James Chen
9bcdeaa44d feat(platform): customize android ripple effect for Pressable based on platform type 2025-08-27 18:07:22 +08:00
James Chen
4c93736c5e feat(ui): replace TouchableOpacity with Pressable for improved ripple effect and add color customization, android focus effect 2025-08-27 17:22:11 +08:00
zimplexing
e57466c8c1 refactor(logging): implement unified Logger system to replace console calls
- Add Logger utility with tagged output and environment-based control
- Configure Babel to remove console calls in production builds
- Replace all console.* calls across stores, services, and components with Logger
- Enable development-only logging with formatted output and component tags
- Optimize production builds by eliminating all logging code
2025-08-15 22:57:38 +08:00
zimplexing
836285dbd5 feat(player): enhance video playback with SSL error fallback and performance optimizations
- Add comprehensive SSL certificate error detection and automatic source switching
- Implement smart video source fallback strategy with failed source tracking
- Enhance video component with optimized event handlers and useCallback patterns
- Add explicit playAsync() call in onLoad to improve auto-play reliability
- Integrate performance monitoring with detailed logging throughout playback chain
- Optimize Video component props with useMemo and custom useVideoHandlers hook
- Add source matching fixes for fallback scenarios in DetailStore
- Enhance error handling with user-friendly messages and recovery strategies
2025-08-15 22:41:18 +08:00
zimplexing
1ef5a6b445 feat(player): implement playback speed control with persistent settings
- Add playback rate state and actions to player store
- Create SpeedSelectionModal with 7 speed options (0.5x - 2x)
- Add speed control button with Gauge icon to PlayerControls
- Integrate rate prop with Expo AV Video component
- Extend PlayerSettings storage to persist playback rate per video
- Support speed control across TV, mobile, and tablet platforms
2025-08-14 15:14:37 +08:00
zimplexing
10a806a657 feat(api): implement API configuration validation and error handling in home screen and update section 2025-08-14 14:08:11 +08:00
zimplexing
852113a21a feat(play): adjust video controls for device type and enhance loading state management 2025-08-13 20:06:24 +08:00
zimplexing
6a31e8ac85 feat(mobile): optimize mobile experience by hiding non-essential features
- Hide live streaming tab in mobile navigation components
- Hide remote input and live stream configurations in settings
- Hide API configuration description text on mobile
- Disable HTTP server startup on mobile devices to save resources

This streamlines the mobile interface while preserving full functionality on tablet and TV platforms.
2025-08-13 19:30:29 +08:00
zimplexing
cdf0d72bdc fix(ui): resolve status bar overlay issue across all screens
Add SafeAreaProvider to root layout and implement proper safe area handling:
- Wrap app in SafeAreaProvider in _layout.tsx
- Update HomeScreen to use safe area insets for proper top padding
- Fix SettingsScreen safe area handling for all device types
- Update ResponsiveHeader to use SafeAreaContext instead of manual calculation

This ensures content is not covered by the status bar on mobile and tablet devices while maintaining TV compatibility.
2025-08-13 19:23:32 +08:00
zimplexing
5b6631624d feat(home): enhance HomeScreen with API configuration checks and error handling 2025-08-13 19:13:18 +08:00
zimplexing
df8fae96ac Merge branch 'v1.3.0' of github.com:zimplexing/OrionTV into v1.3.0 2025-08-13 18:47:48 +08:00
zimplexing
13fade2113 fix(remote-input): resolve cross-page interference between settings and search pages
- Add targetPage field to remoteControlStore for message routing
- Update settings page to filter messages by target page
- Update search page to filter messages and pass target context
- Add clearMessage method to prevent duplicate message handling
- Ensure remote input only affects intended target page
2025-08-13 17:28:02 +08:00
zimplexing
f0c797434d fix(update): resolve APK download path issue and enhance update components
- Fix UpdateService to use DocumentDir instead of DownloadDir for APK storage
- Add retry mechanism for network failures in version checking and downloading
- Implement automatic cleanup of old APK files to manage storage
- Replace TouchableOpacity with StyledButton in UpdateModal for consistency
- Add TV focus control to UpdateSection component
- Reduce category button spacing on TV for better navigation
- Update download URL template to match release naming convention
2025-08-13 17:19:48 +08:00
zimplexing
60c4e7420d feat: Implement mobile tab navigation and enhance responsive layout for better user experience 2025-08-06 22:00:29 +08:00
zimplexing
7c7e8e0b97 fix(init): resolve startup error message timing issue
Fix race condition where 'please check network or server address' error
was shown on first startup even when API was properly configured.

- Add isLoadingServerConfig state to track server config fetch status
- Modify authStore to wait for server config loading before showing errors
- Ensure loadSettings completes fully before triggering login checks
- Only show network error when config fetch actually fails, not during loading
2025-08-06 21:59:45 +08:00
zimplexing
9e9e4597cc feat: Enhance mobile and tablet support with responsive layout adjustments and new navigation components 2025-08-01 16:36:28 +08:00
zimplexing
18aba87ddb feat: Implement automatic update checking and user notifications for new versions 2025-08-01 13:53:29 +08:00
zimplexing
187a753735 feat: Enhance UI with fade animations and implement data caching in home store 2025-07-28 10:28:02 +08:00
zimplexing
62c03beb5e fix: search input focus issue 2025-07-25 16:00:11 +08:00
zimplexing
5992a89db4 feat: Update scroll experience 2025-07-25 15:39:23 +08:00
zimplexing
3fa2eb3159 feat: add useKeepAwake to LivePlayer and update version to 1.2.7 2025-07-21 19:03:12 +08:00
zimplexing
e4e4417ef6 feat: enhance LivePlayer messages with localized text and improve M3U parsing logic 2025-07-21 14:06:44 +08:00
zimplexing
fe05525805 fix: add padding to badge text for improved spacing 2025-07-18 23:00:42 +08:00
zimplexing
4c633febdc feat: update color scheme and styles across components for improved UI consistency 2025-07-18 22:21:33 +08:00
zimplexing
f09f103d59 feat: add favorites screen and integrate it into navigation; enhance detail screen with favorite toggle functionality 2025-07-18 19:57:39 +08:00
zimplexing
e8a1ea2717 feat: update PlayScreen and VideoLoadingAnimation styles, and log play record saving in playerStore 2025-07-18 19:08:49 +08:00
zimplexing
bd7087264d feat: add VideoLoadingAnimation component and integrate it into detail, play, and search screens for improved loading experience 2025-07-18 17:15:24 +08:00
zimplexing
1f694f9245 feat: add timeout handling for loading state with error notification 2025-07-17 22:04:28 +08:00
zimplexing
d83c4483ff refactor: remove padding and margin from searchButton for cleaner styling 2025-07-16 21:29:09 +08:00
zimplexing
9f4299004a refactor: comment out unused components in layout and detail screens for cleaner code 2025-07-16 21:28:12 +08:00
zimplexing
e0aa40eea0 feat: enhance PlayScreen and VideoCard with improved video loading and app state handling; update player store for better episode management 2025-07-16 21:26:37 +08:00
zimplexing
57bc0b3582 feat: enhance PlayScreen and storage management with dynamic source handling and local storage support 2025-07-15 22:59:10 +08:00
zimplexing
0b1fa9df6d feat: enhance LoginModal with TV event handling and input focus management 2025-07-15 22:33:11 +08:00
zimplexing
d44e9fe9ae feat: enhance login status management and improve error logging across services 2025-07-15 21:41:38 +08:00
zimplexing
30cbf6846e feat: add favorites functionality and enhance detail screen 2025-07-15 17:07:53 +08:00
zimplexing
bf99aee5f2 refactor: update play time property and enhance player settings management
- Changed the play time property from 'play_time' to 'time' in HomeScreen.
- Removed unused player control functions from PlayScreen.
- Added PlayerSettings interface and implemented PlayerSettingsManager for local storage of player settings.
- Refactored PlayRecordManager to merge API records with local player settings.
- Updated authentication logic in authStore to handle optional username parameter in login function.
- Cleaned up and optimized imports across various components.
2025-07-15 15:03:58 +08:00
zimplexing
2bed3a4d00 feat: implement user authentication and logout functionality
- Added login/logout buttons to the HomeScreen and SettingsScreen.
- Integrated authentication state management using Zustand and cookies.
- Updated API to support username and password for login.
- Enhanced PlayScreen to handle video playback based on user authentication.
- Created a new detailStore to manage video details and sources.
- Refactored playerStore to utilize detailStore for episode management.
- Added sourceStore to manage video source toggling.
- Updated settingsStore to fetch server configuration.
- Improved error handling and user feedback with Toast notifications.
- Cleaned up unused code and optimized imports across components.
2025-07-14 22:55:55 +08:00
zimplexing
0452bfe21f feat: Implement user authentication and data management features
- Added LoginModal component for user login functionality.
- Introduced API routes for user login, favorites, play records, and search history management.
- Created JSON files for storing favorites, play records, and search history.
- Updated API service to handle new endpoints and refactored data management to use API calls instead of local storage.
- Adjusted data structures in types and services to align with new API responses.
2025-07-14 16:21:28 +08:00
zimplexing
1c7c1cfd47 fix: Adjust jump position logic in PlayScreen to ensure a default value of 0 is used when both introEndTime and initialPosition are undefined 2025-07-14 13:43:54 +08:00
zimplexing
fbe858715a fix: Update channel change logic to use useCallback for better performance; adjust resource check in VideoSourceSection 2025-07-11 21:44:15 +08:00
zimplexing
6df4f256e9 feat: Enhance settings screen with section tracking and success notifications; update remote control UI to support localization 2025-07-11 19:11:25 +08:00
zimplexing
5f92f76f4b feat: Enable remote input functionality and enhance settings management for remote control 2025-07-11 18:13:06 +08:00
zimplexing
03d80c42cd feat: Refactor settings management into a dedicated page with new configuration options, including live stream source and remote input settings 2025-07-11 17:23:36 +08:00
zimplexing
fc8da352fb feat: Refactor settings management into a dedicated page with new configuration options 2025-07-11 13:49:45 +08:00