Skip to content

feat: Add logo, update navigation#53

Merged
StoynovAngel merged 5 commits into
mainfrom
feat/update-logos
Apr 18, 2026
Merged

feat: Add logo, update navigation#53
StoynovAngel merged 5 commits into
mainfrom
feat/update-logos

Conversation

@StoynovAngel
Copy link
Copy Markdown
Owner

@StoynovAngel StoynovAngel commented Apr 18, 2026

Summary by CodeRabbit

  • New Features

    • Redesigned app header with a new island-style design for improved navigation
    • Added interactive header logo for quick navigation to main service selection
  • Chores

    • Consolidated app icon and splash screen assets to use unified favicon
    • Updated frontend dependency versions for React, React Native, and related packages

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Apr 18, 2026

Warning

Rate limit exceeded

@StoynovAngel has exceeded the limit for the number of commits that can be reviewed per hour. Please wait 45 minutes and 48 seconds before requesting another review.

Your organization is not enrolled in usage-based pricing. Contact your admin to enable usage-based pricing to continue reviews beyond the rate limit, or try again in 45 minutes and 48 seconds.

⌛ How to resolve this issue?

After the wait time has elapsed, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.

Please see our FAQ for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 48e534e1-0294-4a25-a598-f3987c193c93

📥 Commits

Reviewing files that changed from the base of the PR and between e688cb0 and 28a918c.

📒 Files selected for processing (2)
  • frontend/src/navigation/MainTabs.tsx
  • frontend/src/navigation/navigation.styles.ts
📝 Walkthrough

Walkthrough

The changes update the Expo app configuration to consolidate icon assets into a single favicon, adjust frontend dependency versions, and refactor the navigation header from a bottom-tab configuration to a custom island-style header component with interactive logo functionality.

Changes

Cohort / File(s) Summary
Asset Consolidation
frontend/app.json
Updated Expo manifest to replace separate icon, splash, and adaptive icon asset references with unified favicon.png across expo.icon, expo.splash.image, and expo.android.adaptiveIcon.foregroundImage.
Dependency Management
frontend/package.json
Adjusted version constraints for expo-blur, react, react-dom, react-native-screens, and @types/react to support compatibility requirements.
Navigation Header Refactoring
frontend/src/navigation/MainTabs.tsx
Replaced bottom-tab header configuration with custom island-style header; disabled default header and tab bar; introduced MainContent wrapper, IslandHeader component, and interactive HeaderLogo (favicon) that resets navigation to HomeStackSelectService on press.
Navigation Styles
frontend/src/navigation/navigation.styles.ts
Added new style factory createIslandHeaderStyles() that generates theme-aware positioning and layout styles for the island header container with top inset padding, rounded borders, and theme colors.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Possibly related PRs

Poem

🐰 Hopping through code with joy and cheer,
A favicon unites what once was here,
Island headers float with graceful grace,
Navigation blooms in its new place! 🏝️

🚥 Pre-merge checks | ✅ 2 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (2 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The PR title accurately summarizes the main changes: adding a logo (favicon-based HeaderLogo component) and updating navigation (MainTabs restructuring with new IslandHeader). The title is concise and clearly reflects both primary objectives.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat/update-logos

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
frontend/app.json (1)

8-21: ⚠️ Potential issue | 🟡 Minor

Asset consolidation is unnecessary; dedicated icon/splash assets already exist.

The code consolidates all three assets (app icon, splash, adaptive icon foreground) onto favicon.png (1024×1024). While this size meets Expo's requirements for these fields, it is suboptimal:

  • Separate, purpose-specific assets already exist: icon.png, splash-icon.png, and adaptive-icon.png (all 1024×1024)
  • The naming favicon.png conventionally refers to web favicons, making the consolidation confusing
  • Using dedicated assets per purpose improves maintainability and allows different designs for each context

Consider using the purpose-specific assets instead: icon.png for app icon, splash-icon.png for splash, and adaptive-icon.png for Android adaptive icon foreground.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@frontend/app.json` around lines 8 - 21, Replace the consolidated use of
favicon.png with the dedicated purpose-specific assets: set the top-level "icon"
property to use "icon.png", change "splash.image" to "splash-icon.png", and
change "android.adaptiveIcon.foregroundImage" to "adaptive-icon.png" so each
config key ("icon", "splash.image", "android.adaptiveIcon.foregroundImage")
points to its respective asset instead of "./assets/favicon.png".
🧹 Nitpick comments (1)
frontend/package.json (1)

19-28: Version realignment aligns with Expo SDK 54.

expo-blur ~15.0.8, react-native-screens ~4.16.0, react-native 0.81.5, and react/react-dom ^19.1.0 match the versions bundled with Expo SDK 54. Note: Expo recommends tilde ranges for react/react-dom (matching the version paired with the RN runtime) rather than caret, to prevent accidental minor version drift from react-native's peer dependency. Run npx expo install --check to confirm resolution.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@frontend/package.json` around lines 19 - 28, Update the dependency version
ranges in package.json to use tilde for react and react-dom instead of caret so
they stay aligned with the React version bundled with the RN runtime;
specifically change the "react" and "react-dom" entries (alongside verifying
"react-native", "expo-blur", and "react-native-screens") to the exact tilde
ranges recommended by Expo SDK 54 and then run npx expo install --check to
validate and resolve any peer dependency mismatches.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@frontend/src/navigation/MainTabs.tsx`:
- Around line 33-58: IslandHeader is currently absolutely positioned and
overlaps HomeStack; change the layout so the header occupies layout space
instead of overlaying content: render <IslandHeader/> before <HomeStack/> in
MainContent (i.e., make MainContent use column flow with IslandHeader first) and
update createIslandHeaderStyles / IslandHeader to remove position: "absolute" /
zIndex styling (or make it non-absolute and height-stable using insets.top), so
screens in HomeStack no longer start at y=0 and don't get obscured;
alternatively, if you prefer keeping absolute positioning, add top padding to
HomeStack screens equal to insets.top + islandHeight (measure via onLayout if
dynamic) so HomeStack content is pushed below the island.
- Around line 16-31: HeaderLogo currently calls CommonActions.reset in
handlePress and uses untyped useNavigation and an undersized/unenhanced
Pressable; change handlePress to call navigation.navigate("HomeStack", { screen:
"SelectService" }) instead of CommonActions.reset, type useNavigation as
useNavigation<NavigationProp<MainTabParamList>>() to get route-safe navigation,
and update the Pressable/Image to meet touch and accessibility requirements by
ensuring a minimum 44x44 hit area (e.g., increase container padding or use
hitSlop), add accessibilityRole="button" and an appropriate accessibilityLabel,
and include hitSlop to expand the tappable area.

---

Outside diff comments:
In `@frontend/app.json`:
- Around line 8-21: Replace the consolidated use of favicon.png with the
dedicated purpose-specific assets: set the top-level "icon" property to use
"icon.png", change "splash.image" to "splash-icon.png", and change
"android.adaptiveIcon.foregroundImage" to "adaptive-icon.png" so each config key
("icon", "splash.image", "android.adaptiveIcon.foregroundImage") points to its
respective asset instead of "./assets/favicon.png".

---

Nitpick comments:
In `@frontend/package.json`:
- Around line 19-28: Update the dependency version ranges in package.json to use
tilde for react and react-dom instead of caret so they stay aligned with the
React version bundled with the RN runtime; specifically change the "react" and
"react-dom" entries (alongside verifying "react-native", "expo-blur", and
"react-native-screens") to the exact tilde ranges recommended by Expo SDK 54 and
then run npx expo install --check to validate and resolve any peer dependency
mismatches.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 8da41a84-9d38-4fa8-b020-0f8e8de00eca

📥 Commits

Reviewing files that changed from the base of the PR and between caafe9c and e688cb0.

⛔ Files ignored due to path filters (2)
  • frontend/assets/favicon.png is excluded by !**/*.png
  • frontend/package-lock.json is excluded by !**/package-lock.json
📒 Files selected for processing (4)
  • frontend/app.json
  • frontend/package.json
  • frontend/src/navigation/MainTabs.tsx
  • frontend/src/navigation/navigation.styles.ts

Comment thread frontend/src/navigation/MainTabs.tsx
Comment thread frontend/src/navigation/MainTabs.tsx
@sonarqubecloud
Copy link
Copy Markdown

@StoynovAngel StoynovAngel merged commit 698603e into main Apr 18, 2026
7 checks passed
@coderabbitai coderabbitai Bot mentioned this pull request Apr 30, 2026
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.

1 participant