96 Commits
Author SHA1 Message Date
harukin-expo-dev-env 19b280a467 feat: implement startup icon font preloading and improve loading checks in AppContainer
refactor: simplify CarouselTypeChanger by removing redundant onPressIn handlers
fix: enhance MenuLED memoization for better performance
refactor: optimize EachData component with useMemo for derived values
fix: improve error handling in TrainPosition data fetching
refactor: streamline AddressText component's API call with abort controller
refactor: update Menu component to manage selected station state more effectively
2026-09-13 15:09:37 +09:00
harukin-expo-dev-env 9f26492f80 Refactor useCurrentTrain hook into useCurrentTrainData and useCurrentTrainView
- Split the existing useCurrentTrain hook into two separate hooks: useCurrentTrainData for accessing train data and useCurrentTrainView for accessing view-related properties.
- Updated all components and hooks to use the new hooks accordingly, ensuring that the functionality remains intact.
- This change improves the separation of concerns and enhances the maintainability of the codebase.
2026-09-12 23:02:43 +09:00
harukin-expo-dev-env f210ca4d77 feat: Add loading states and map functionality to the menu
- Implemented StationListLoadingState component for loading messages.
- Created MenuLED component to display LED information with loading animations.
- Developed MenuMap component for interactive map features, including user location markers and station markers.
- Introduced LEDFrame component for consistent styling of LED displays.
- Enhanced LED_vision component to support embedded rendering and content readiness.
- Added menuStationSelectors for managing nearby and favorite station groups.
- Updated Menu component to integrate new loading states and map functionalities.
- Added tests for menuStationSelectors to ensure correct grouping and selection logic.
2026-09-02 21:24:41 +09:00
harukin-expo-dev-env 974c162a9e refactor: migrate from Sentry to custom telemetry for observability
- Replaced Sentry breadcrumbs and context setting with a custom telemetry implementation across various components including Apps, WebView, CarouselBox, and ndView.
- Introduced a new telemetry module to encapsulate observability logic and provide a unified API for logging events, messages, and exceptions.
- Updated documentation to reflect changes in observability architecture, consolidating Sentry initialization and telemetry usage.
- Enhanced error handling and logging in data fetching and application lifecycle management.
2026-09-01 01:11:13 +09:00
harukin-expo-dev-env 92818bbd11 fix: make delay data refresh explicit 2026-08-30 00:55:26 +09:00
harukin-expo-dev-env bcfa24f30a Refactor navigation types and improve type safety across components
- Removed usage of `any` in navigation hooks and replaced with specific types.
- Added type definitions for navigation parameters in `navigation.ts`.
- Updated components to utilize the new navigation types for better type safety.
- Enhanced `SwitchArea` component with generic type support for boolean and string values.
- Introduced type checks and parsing functions for API responses in `mockApi` to ensure data integrity.
- Created a refactoring backlog document to track future improvements and refactoring tasks.
- Removed unused functions and cleaned up code in various components for better maintainability.
2026-08-20 23:51:09 +00:00
harukin-expo-dev-env 292fb96106 feat: 新しい設定ファイルを追加し、Sentryの初期化を改善 2026-08-20 05:05:26 +00:00
harukin-expo-dev-env c0be3941fb feat: APIエンドポイントを定数化し、SpecialTrainInfoBoxコンポーネントでの使用を更新
refactor: NewsReleaseInfoBoxコンポーネントのスタイルをレスポンシブに調整
2026-08-19 15:18:59 +00:00
harukin-expo-dev-env e02ad09f64 fix: API呼び出しのリトライロジックを改善し、ローディングインジケーターを追加 2026-08-18 05:09:19 +00:00
harukin-expo-dev-env 7a0a3a7ea6 Refactor code structure for improved readability and maintainability 2026-08-18 02:33:30 +00:00
harukin-expo-dev-env 5c97ff0c6b fix: お気に入り駅の並び替え機能を改善し、関連コードを整理 2026-08-09 16:18:54 +00:00
harukin-expo-dev-env 39d2be704e Refactor favorite station management and normalization
- Removed direct usage of favorite station state in multiple components (MenuPage, StationDetailView, WebView, FavoriteList, FavoriteSettings).
- Introduced utility functions for handling favorite station keys and normalization.
- Updated favorite station context to include methods for adding, removing, and toggling favorite stations.
- Implemented normalization logic to ensure consistency with the current station master.
- Added documentation for the favorite station normalization plan.
- Improved error handling and data validation for favorite stations.
2026-08-06 07:42:25 +00:00
harukin-expo-dev-env 25cefd5c69 Restore Android carousel parallax mode 2026-07-06 06:20:13 +00:00
harukin-expo-dev-env 4bb00abf3a Restore Android carousel and add runtime flags 2026-07-06 05:58:03 +00:00
harukin-expo-dev-env 9ab877f73c Preserve operation webview and quiet noisy defaults 2026-07-04 15:48:37 +00:00
harukin-expo-dev-env 93806a274a Adjust WebView remount behavior for background tabs 2026-07-03 10:24:41 +00:00
harukin-expo-dev-env c59eac0a82 feat: add button for paper timetable in FixedContentBottom component 2026-05-20 06:02:50 +00:00
harukin-expo-dev-env 990e6f4a04 Add new logo image for Elesite to relationLogo assets 2026-04-13 07:47:25 +00:00
harukin-expo-dev-envandCopilot 8e55d32175 fix(SearchUnitBox): use animatedOffset with Animated.View for smooth keyboard avoidance
- Replace measuredOffset (plain number) with animatedOffset (Animated.Value)
  so the search bar smoothly follows the keyboard instead of jumping abruptly
- Wrap position:absolute container in Animated.View to accept Animated.Value as bottom
- Remove LayoutAnimation.configureNext calls that conflicted with Animated.timing
  from useKeyboardAvoid, causing layout animation races on Android
- Drop unused keyboardHeight guard (keyboardHeight > 0 ? measuredBottom : 0);
  animatedOffset starts at 0 and is driven by the hook's timing, so no jump

Co-authored-by: Copilot <[email protected]>
2026-04-10 02:30:46 +00:00
harukin-expo-dev-env 504ed87ad3 stackAwareNavigate関数を導入し、遷移時のナビゲーションロジックを改善 2026-04-08 02:54:30 +00:00
harukin-expo-dev-env 0479a50246 Live Activity機能を一時的に無効化し、関連するコードを修正 2026-03-31 17:34:59 +00:00
harukin-expo-dev-env 61a9a71bc6 TextInputコンポーネントのプレースホルダーのテキストカラーをcolors.textTertiaryに変更 2026-03-30 11:07:23 +00:00
harukin-expo-dev-env e36a515a2b 各コンポーネントのアニメーション最適化とリファクタリング: useSharedValueとuseAnimatedStyleを導入し、パフォーマンスを向上 2026-03-30 10:11:14 +00:00
harukin-expo-dev-env 9155e03ba4 各コンポーネントでのuseMemoフックの追加とデータ処理の最適化 2026-03-30 04:00:25 +00:00
harukin-expo-dev-env c8f1d6d332 fix: レスポンシブスケーリングを大幅強化 - fontScale 0.4→0.8、moderateScale 0.5→0.8
- responsive.ts: スケーリングファクターを大幅強化(fontScale 0.8, moderateScale 0.8)
- initIcon: タブバーアイコンsize 30→moderateScale(30)
- SimpleDot: ドットサイズ20/14→moderateScale
- StationPagination: 全寸法(28/24/18/22/8/6)をmoderateScale/fontScale化
- CarouselBox: fontSize 20/14→fontScale
- MenuPage: マップオフセット100/80/10/30→verticalScale
- menu: スクロールオフセット/snapToOffsets→verticalScale
2026-03-29 15:52:29 +00:00
harukin-expo-dev-env 82f3a20203 feat: メイン画面のレスポンシブ対応 - Menu/atom/TrainMenuコンポーネントにスケーリング適用
- TitleBar: ヘッダー高さをverticalScaleに
- UsefulBox: アイコン50→moderateScale、フォント16→fontScale
- TicketBox: フォント18→fontScale
- TextBox: minHeight 70→verticalScale
- FixedContentBottom: 全fontSize(20/18)→fontScale、全アイコンsize(50/40)→moderateScale
- JRSTraInfoBox: 全fontSize(30/20/18)、アイコン、maxHeight、ローディングサイズをスケーリング
- SpecialTrainInfoBox: fontSize(30/20)→fontScale
- CarouselTypeChanger: height 40→verticalScale
2026-03-29 15:41:06 +00:00
harukin-expo-dev-env a4e3e0833d fix: UIの色設定をダークモードに対応させ、視認性を向上 2026-03-26 08:56:31 +00:00
harukin-expo-dev-env c6346b8b0e feat: implement sound announcement feature for delayed trains with settings 2026-03-25 14:05:59 +00:00
harukinMBP 0033d0ec82 feat: add SpotSign component for tourist attractions 2026-03-25 10:22:12 +09:00
harukinMBP 8121e2d57d fix: TypeScript build errors (143 to 47) 2026-03-25 01:44:29 +09:00
harukin-expo-dev-envandCopilot a2912d77ae キーボード回避ロジックをuseKeyboardAvoid hookに共通化
3コンポーネントに重複していたキーボード処理を lib/useKeyboardAvoid.ts に集約:
- Androidの偽イベント(height<100)ガード+キャッシュ
- hide→show高速切替のデバウンス(100ms)
- Android measure()の150ms遅延
- LayoutAnimation easeInEaseOut

対象: AllTrainDiagramView, SearchUnitBox, StationDiagramView

Co-authored-by: Copilot <[email protected]>
2026-03-24 09:56:51 +00:00
harukin-expo-dev-envandCopilot e80eeae211 StationDiagramViewにキーボード高さキャッシュ・デバウンス・ガードを適用
- height<100の偽イベントを無視し、lastValidKbでキャッシュ利用
- hideデバウンス100msで素早い閉じ→開きに対応
- Android 150ms遅延でmeasure安定化
- LayoutAnimationをeaseInEaseOutに統一

Co-authored-by: Copilot <[email protected]>
2026-03-24 09:50:17 +00:00
harukin-expo-dev-env 33410fcd61 fix: キーボード表示時の測定処理をリファクタリングし、タイマー管理を追加 2026-03-24 09:02:18 +00:00
harukin-expo-dev-env ff25363600 fix: キーボード表示時のアニメーションの持続時間を短縮し、レイアウト調整を改善 2026-03-24 08:58:45 +00:00
harukin-expo-dev-env 36cd7448a5 fix: 検索ユニットボックスでキーボード表示時の位置調整を改善し、親コンテナの参照を追加 2026-03-24 08:51:09 +00:00
harukin-expo-dev-env 4a0e252366 fix: SearchUnitBoxに親コンテナの参照を追加し、キーボード表示時の位置調整を改善 2026-03-24 08:43:04 +00:00
harukin-expo-dev-envandCopilot 1c96776f56 fix: アイコンシェア機能の options 引数ミスを修正
shareAsync の第2引数が (options = {...}) という代入式になっており
グローバル変数への代入になっていた。正しいオブジェクトリテラルに修正。

Co-authored-by: Copilot <[email protected]>
2026-03-24 08:32:44 +00:00
harukin-expo-dev-envandCopilot 53b95a91d5 fix: アイコンプレビューが表示されないバグを修正
Image コンポーネントに padding: 30 を直接設定していたため、
RN 0.76+ の新アーキテクチャでコンテンツ領域がゼロになり画像が非表示になっていた。
padding を持つ wrapper View に移動し、Image サイズを 50x50 から 80x80 に拡大。

Co-authored-by: Copilot <[email protected]>
2026-03-24 08:26:40 +00:00
harukin-expo-dev-env 80eeb51134 fix: 各コンポーネントのスタイルとナビゲーションを改善し、パフォーマンスを向上 2026-03-24 06:39:37 +00:00
harukin-expo-dev-env 59653bbc16 fix: ダークモードに対応し、背景色を動的に変更 2026-03-24 04:37:46 +00:00
harukin-expo-dev-envandCopilot d3e4b173c7 fix: StationNumber: null のスポットによるクラッシュを修正
- CarouselBox: key と keyExtractor を null セーフに
- StationPagination: data が空の場合の early return と optional chaining
- FixedStationBox / FixedTrainBox / ListViewItem: StationNumber?.slice() に修正

Co-authored-by: Copilot <[email protected]>
2026-03-24 02:11:17 +00:00
harukin-expo-dev-envandCopilot 5202f35702 feat: 与島(観光スポット)をトップメニューに追加
- assets/originData/spots.ts: 与島PAデータを新規作成(isSpot: true, StationNumber: null)
- lib/CommonTypes.ts: StationProps に isSpot フラグを追加
- lib/getStationList.ts: 観光スポットキーとして stationList に追加
- stateBox/useStationList.tsx: StationNumber: null でも名前検索が通るよう修正、getInjectJavascriptAddress で路線外エントリをスキップ
- menu.tsx: 位置情報検索に観光スポットを追加
- components/観光スポット看板/SpotSign.tsx: テーマパーク風の観光スポット看板コンポーネントを新規作成
- components/Menu/Carousel/CarouselBox.tsx: isSpot フラグで SpotSign に切り替え
- components/Menu/Carousel/GridMiniSign.tsx: isSpot 対応・ドット除去表示
- components/StationDiagram/SearchBox/SearchInputSuggestBox.tsx: ドット除去表示
- components/StationDiagram/StationDiagramView.tsx: スポットの「駅」表記を除去

Co-authored-by: Copilot <[email protected]>
2026-03-24 01:58:16 +00:00
harukin-expo-dev-env 0d0b82eee1 feat: FeliCa対応の可用性チェック機能を追加 2026-03-22 10:13:36 +00:00
harukin-expo-dev-env 91cad9c2c8 Refactor code structure for improved readability and maintainability 2026-03-20 07:14:58 +00:00
harukin-expo-dev-env b7a09eda6e feat: Expo SDK 53 → 54 upgrade (React Native 0.81.5)
- expo: ^53.0.0 → ^54.0.0 (54.0.33)
- react-native: 0.79.6 → 0.81.5
- react: 19.0.0 → 19.1.0
- babel-preset-expo: ~13.0.0 → ~54.0.10
- @expo/vector-icons: ^14.0.2 → ^15.0.3
- react-native-reanimated: ~3.17.4 → ~4.1.1
- react-native-worklets: 新規追加 (reanimated v4 必須 peer dep)
- expo-system-ui: 新規追加 (userInterfaceStyle 対応)

変更内容:
- app.json: newArchEnabled を expo-build-properties から expo root へ移動
- babel.config.js: React Compiler を明示的に無効化
- UpdateAsync.ts: expo-updates reloadAsync API 変更に対応
- TopMenuButton.tsx: @expo/vector-icons deep path import を named import に変更
- trainIconStatus.tsx: 未使用の Icon deep path import を削除
- package.json: @types/react ~19.0.10 → ~19.1.4、doctor exclude 追加
2026-03-18 01:51:44 +00:00
harukin-expo-dev-env 10df37d0a2 feat: Expo SDK 52→53 upgrade + full dark mode support
- Upgrade Expo SDK 52→53 (React 18→19, RN 0.76→0.79)
- Remove deprecated packages (native-base, react-native-elements)
- Migrate to @rneui/themed 5.0.0 + modular vector icons
- Fix breaking changes: defaultProps, BackHandler, notifications, key props
- Add Babel plugin for font scaling (replaces Text.defaultProps)
- Configure expo-font for native font preloading
- Add complete dark mode theme system (lib/theme/)
  - AppThemeProvider + useThemeColors hook
  - Light/dark/fixed color token definitions
  - Migrate ~60 files across all screens to use theme colors
- Set userInterfaceStyle to "automatic" for system dark mode
2026-03-17 22:19:46 +00:00
harukin-expo-dev-env 0a8d5ca2b6 feat(FixedContentBottom): add buttons for ダイヤグラフ and 運用チャート with navigation 2026-03-17 02:32:21 +00:00
harukin-expo-dev-env be88a46df1 feat(felica): update build and version codes, enhance Felica history page with card type display and scanning functionality 2026-03-15 03:01:07 +00:00
harukin-expo-dev-env 676fbf7b64 feat: add nearest station tracking and display functionality 2026-03-14 13:55:05 +00:00
harukin-expo-dev-env 08e052f291 feat: add GridMiniSign component and integrate it into SortGridCard 2026-03-11 08:41:14 +00:00