Skip to content

feat: 스트레칭 화면 구현 #165

Merged
taekoong merged 14 commits intomainfrom
fe/feat/step-ranking
Aug 21, 2025
Merged

feat: 스트레칭 화면 구현 #165
taekoong merged 14 commits intomainfrom
fe/feat/step-ranking

Conversation

@taekoong
Copy link
Collaborator

@taekoong taekoong commented Aug 21, 2025

Summary by CodeRabbit

  • New Features
    • 통증 부위에 맞춘 스트레칭 가이드 추가: 건강 상태 입력 화면에서 스트레칭 버튼과 링크(YouTube 등) 제공, 외부 링크 열기 지원.
    • 화면 스크롤 지원 및 전/후면 보기와 신체 부위 선택 레이아웃 사용성 개선.
  • Bug Fixes
    • 좌/우 신체 부위 매핑 오류 수정(어깨, 팔, 다리, 손/발 등).
    • 복부 한글 표기 “배”로 정정.
    • 자녀 계정 조건에서 스트레칭 버튼 노출 조건 정확화.
  • Chores
    • 홈 화면 통증 안내 문구 어미(이/가) 표현 자연스럽게 개선.

@coderabbitai
Copy link

coderabbitai bot commented Aug 21, 2025

Caution

Review failed

The pull request is closed.

Walkthrough

Android and iOS configurations were updated for network access and URL handling. The health status input screen adds stretching link discovery and launching based on selected pain areas. A child-facing home message string was adjusted. The url_launcher dependency was added.

Changes

Cohort / File(s) Summary of Changes
Android manifest updates
frontend/ongi/android/app/src/main/AndroidManifest.xml
Added INTERNET permission. Extended package visibility queries to include VIEW intents for http and https (for url_launcher).
iOS Info.plist updates
frontend/ongi/ios/Runner/Info.plist
Added ATS with NSAllowsArbitraryLoads=true. Declared LSApplicationQueriesSchemes: http, https, youtube, youtu.be. Added empty NSBonjourServices. Added NSLocalNetworkUsageDescription.
Health screen stretching feature
frontend/ongi/lib/screens/health/health_status_input_screen.dart
Integrated url_launcher. Normalized painArea handling (List or single). Corrected left/right mappings. Added stretching link mapping and dialog; link launching with fallback. UI wrapped in scroll view; conditional stretching button. Adjusted loading/state and auth/family checks in submission. Minor renames and logs.
Home donut text tweak
frontend/ongi/lib/screens/home/home_donutCapsule.dart
Updated child-branch pain text to use “이/가” instead of fixed “가”.
Dependency addition
frontend/ongi/pubspec.yaml
Added dependency: url_launcher: ^6.2.1.

Sequence Diagram(s)

sequenceDiagram
  autonumber
  actor User
  participant Screen as HealthStatusInputScreen
  participant Auth as Auth/Family Check
  participant API as Pain API
  participant Launcher as url_launcher
  participant OS as Android/iOS

  User->>Screen: Open Health Status Input
  activate Screen
  Screen->>API: _loadPainRecords()
  API-->>Screen: Pain records
  alt Records exist and user is not a child
    Screen->>Screen: _isStretchingVisible = true
  else
    Screen->>Screen: _isStretchingVisible = false
  end
  deactivate Screen

  User->>Screen: Tap "스트레칭 보기" button
  Screen->>Screen: getStretchingLinksForPainAreas()
  Screen->>User: Show dialog with links

  User->>Screen: Select a link
  Screen->>Launcher: canLaunchUrl(url)
  alt Can launch
    Launcher->>OS: launchUrl(url)
    OS-->>User: Open external app/browser
  else
    Screen->>User: Show fallback/error message
  end

  User->>Screen: Submit pain records
  Screen->>Auth: Check token / re-auth / family info
  Auth-->>Screen: OK / fail
  opt OK
    Screen->>API: Submit pain records
    API-->>Screen: Response
  end
Loading

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

Poem

밤하늘 깡총, 링크로 뛰네 발걸음 가볍게
어깨 허리 무릎—찍! 유튜브로 길을 찾네
안드로이드 문 열고, iOS도 살짝 끄덕
통신 바람 솔솔, 토끼는 스트레칭도 척척
팝! 버튼 하나에 아픔길 지도 펼쳐졌네 🐇✨

Tip

🔌 Remote MCP (Model Context Protocol) integration is now available!

Pro plan users can now connect to remote MCP servers from the Integrations page. Connect with popular remote MCPs such as Notion and Linear to add more context to your reviews and chats.


📜 Recent review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Free

💡 Knowledge Base configuration:

  • Jira integration is disabled
  • Linear integration is disabled

You can enable these sources in your CodeRabbit configuration.

📥 Commits

Reviewing files that changed from the base of the PR and between 6d41941 and 6f5e6d8.

📒 Files selected for processing (1)
  • frontend/ongi/lib/screens/health/health_status_input_screen.dart (17 hunks)

Note

🎁 Summarized by CodeRabbit Free

Your organization is on the Free plan. CodeRabbit will generate a high-level summary and a walkthrough for each pull request. For a comprehensive line-by-line review, please upgrade your subscription to CodeRabbit Pro by visiting https://app.coderabbit.ai/login.

🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.

Support

Need help? Join our Discord community for assistance with any issues or questions.

CodeRabbit Commands (Invoked using PR/Issue comments)

Type @coderabbitai help to get the list of available commands.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Status, Documentation and Community

  • Visit our Status Page to check the current availability of CodeRabbit.
  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

@taekoong taekoong merged commit c9e7d9f into main Aug 21, 2025
2 of 4 checks passed
Neibce added a commit to 2025-PNU-SW-Hackathon/PNUSW-2025-OnGi-10 that referenced this pull request Aug 25, 2025
* feat: 타가족 걸음수 랭킹 화면

* feat: 타가족 걸음수 랭킹 화면 연결

* feat: 타가족 걸음수 랭킹 화면 연결

* feat: 타가족 걸음수 랭킹 화면 연결

* feat: 도넛 차트 api 연결

* feat: 서비스 파일 pr

* feat: 운동 스트레칭 화면 구현

* fix: 스트레칭 관련 오류 수정

* feat: 운동 스트레칭 화면 구현

---------

Co-authored-by: Junyoung Yang <y@jun0.dev>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants