Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
87dcd88
Add theme selection feature in advanced settings and WIP Darkmode
Sickjuicy Jul 8, 2025
7d7e7f6
Add new XML resources for themes, colors, and shapes
Sickjuicy Jul 9, 2025
d134a71
Add new XML resources for themes, colors, and shapes
Sickjuicy Jul 9, 2025
408eed4
Merge branch 'netbirdio:main' into main
Sickjuicy Jul 9, 2025
91e6d68
Add new color resources and update layouts for improved theming
Sickjuicy Jul 9, 2025
7384e8a
Merge remote-tracking branch 'origin/main'
Sickjuicy Jul 9, 2025
95eba4c
Add dark mode support for button animations and update UI colors
Sickjuicy Jul 9, 2025
ece11d3
Merge branch 'netbirdio:main' into main
Sickjuicy Jul 9, 2025
5bbaa57
Merge branch 'netbirdio:main' into main
Sickjuicy Jul 10, 2025
8d6bb94
Merge branch 'netbirdio:main' into main
Sickjuicy Jul 10, 2025
67976bd
Refactor UI colors and styles for improved consistency and accessibility
Sickjuicy Jul 11, 2025
a659c1c
Refactor UI colors and styles for improved consistency and accessibility
Sickjuicy Jul 11, 2025
513e829
Changed Color
Sickjuicy Jul 11, 2025
11cceff
Added color variable
Sickjuicy Jul 11, 2025
0cacfd6
Update tab background color reference in fragment_bottom_dialog.xml
Sickjuicy Jul 11, 2025
1cbe974
Merge remote-tracking branch 'origin/main'
Sickjuicy Jul 11, 2025
5e4f1a5
Add colorSurface and nbTabBackground to themes.xml for button styling
Sickjuicy Jul 11, 2025
4913cb6
Update colorSurface to use white for button background in themes.xml
Sickjuicy Jul 11, 2025
8299be0
Revert "Refactor UI colors and styles for improved consistency and ac…
Sickjuicy Jul 20, 2025
0963bcf
reverted submodule commit
Sickjuicy Jul 20, 2025
eb2b4d6
Update netbird submodule to v0.54.1
Sickjuicy Aug 12, 2025
991f2f1
Merge branch 'netbirdio:main' into main
Sickjuicy Aug 16, 2025
642dc3e
Merge branch 'netbirdio:main' into main
Sickjuicy Jan 27, 2026
00f3321
feat(ui): Improve dark mode for profiles screen
Sickjuicy Feb 7, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
74 changes: 38 additions & 36 deletions app/src/main/res/layout/list_item_profile.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="8dp"
android:theme="@style/Theme.NetBird.Card"
Copy link

Copilot AI Feb 7, 2026

Choose a reason for hiding this comment

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

android:theme references @style/Theme.NetBird.Card, but that style is only defined in values-night/themes.xml. In light mode this style won't resolve at runtime (and can also break resource linking), causing the profile list item to fail to inflate. Add a non-night definition of Theme.NetBird.Card in app/src/main/res/values/themes.xml (likely using a light/neutral ThemeOverlay), keeping the dark parent only in the values-night variant.

Suggested change
android:theme="@style/Theme.NetBird.Card"

Copilot uses AI. Check for mistakes.
app:cardBackgroundColor="@color/profile_card_background"
app:cardCornerRadius="8dp"
app:cardElevation="2dp">

Expand All @@ -17,10 +19,10 @@
android:id="@+id/icon_profile"
android:layout_width="40dp"
android:layout_height="40dp"
android:src="@drawable/ic_menu_profile"
android:contentDescription="@string/menu_profiles"
app:layout_constraintTop_toTopOf="parent"
android:src="@drawable/ic_menu_profile"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:tint="@color/nb_txt" />

<TextView
Expand All @@ -29,18 +31,18 @@
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginEnd="8dp"
android:textSize="18sp"
android:textStyle="bold"
android:textColor="@color/nb_txt"
android:ellipsize="end"
android:maxLines="1"
tools:text="default"
app:layout_constraintTop_toTopOf="@id/icon_profile"
app:layout_constraintBottom_toBottomOf="@id/icon_profile"
app:layout_constraintStart_toEndOf="@id/icon_profile"
android:textColor="@color/nb_txt"
android:textSize="18sp"
android:textStyle="bold"
app:layout_constraintBottom_toBottomOf="@+id/icon_profile"
app:layout_constraintEnd_toStartOf="@id/badge_active"
app:layout_constraintHorizontal_bias="0"
app:layout_constraintHorizontal_chainStyle="packed" />
app:layout_constraintHorizontal_chainStyle="packed"
app:layout_constraintStart_toEndOf="@id/icon_profile"
app:layout_constraintTop_toTopOf="@+id/icon_profile"
Comment on lines +39 to +44
Copy link

Copilot AI Feb 7, 2026

Choose a reason for hiding this comment

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

Constraint references use @+id/icon_profile even though the id is already declared on the ImageView. Prefer @id/icon_profile for references to avoid creating/looking like a new id and to prevent lint warnings.

Copilot uses AI. Check for mistakes.
tools:text="default" />

<TextView
android:id="@+id/badge_active"
Expand All @@ -55,62 +57,62 @@
android:textColor="@android:color/white"
android:textSize="12sp"
android:visibility="gone"
tools:visibility="visible"
app:layout_constraintTop_toTopOf="@id/icon_profile"
app:layout_constraintBottom_toBottomOf="@id/icon_profile"
app:layout_constraintStart_toEndOf="@id/text_profile_name"
app:layout_constraintBottom_toBottomOf="@+id/icon_profile"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0" />
app:layout_constraintHorizontal_bias="0"
app:layout_constraintStart_toEndOf="@id/text_profile_name"
app:layout_constraintTop_toTopOf="@+id/icon_profile"
Comment on lines +60 to +64
Copy link

Copilot AI Feb 7, 2026

Choose a reason for hiding this comment

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

Same as above: use @id/icon_profile instead of @+id/icon_profile when constraining badge_active to icon_profile to avoid lint warnings and keep id usage consistent.

Copilot uses AI. Check for mistakes.
tools:visibility="visible" />

<Button
android:id="@+id/btn_switch"
style="@style/Widget.MaterialComponents.Button.OutlinedButton"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="12dp"
android:layout_marginEnd="4dp"
android:text="@string/profiles_switch"
android:textSize="11sp"
android:paddingStart="8dp"
android:paddingEnd="8dp"
style="@style/Widget.MaterialComponents.Button.OutlinedButton"
app:layout_constraintTop_toBottomOf="@id/icon_profile"
app:layout_constraintStart_toStartOf="parent"
android:text="@string/profiles_switch"
android:textSize="11sp"
app:layout_constraintEnd_toStartOf="@id/btn_logout"
app:layout_constraintHorizontal_weight="1" />
app:layout_constraintHorizontal_weight="1"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/icon_profile" />

<Button
android:id="@+id/btn_logout"
style="@style/Widget.MaterialComponents.Button.TextButton"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="12dp"
android:layout_marginStart="4dp"
android:layout_marginTop="12dp"
android:layout_marginEnd="4dp"
android:text="@string/profiles_logout"
android:textSize="11sp"
android:paddingStart="8dp"
android:paddingEnd="8dp"
style="@style/Widget.MaterialComponents.Button.TextButton"
app:layout_constraintTop_toBottomOf="@id/icon_profile"
app:layout_constraintStart_toEndOf="@id/btn_switch"
android:text="@string/profiles_logout"
android:textSize="11sp"
app:layout_constraintEnd_toStartOf="@id/btn_remove"
app:layout_constraintHorizontal_weight="1" />
app:layout_constraintHorizontal_weight="1"
app:layout_constraintStart_toEndOf="@id/btn_switch"
app:layout_constraintTop_toBottomOf="@id/icon_profile" />

<Button
android:id="@+id/btn_remove"
style="@style/Widget.MaterialComponents.Button.TextButton"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="12dp"
android:layout_marginStart="4dp"
android:text="@string/profiles_remove"
android:textSize="11sp"
android:layout_marginTop="12dp"
android:paddingStart="8dp"
android:paddingEnd="8dp"
style="@style/Widget.MaterialComponents.Button.TextButton"
app:layout_constraintTop_toBottomOf="@id/icon_profile"
app:layout_constraintStart_toEndOf="@id/btn_logout"
android:text="@string/profiles_remove"
android:textSize="11sp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_weight="1" />
app:layout_constraintHorizontal_weight="1"
app:layout_constraintStart_toEndOf="@id/btn_logout"
app:layout_constraintTop_toBottomOf="@id/icon_profile" />

</androidx.constraintlayout.widget.ConstraintLayout>

</com.google.android.material.card.MaterialCardView>
</com.google.android.material.card.MaterialCardView>
2 changes: 2 additions & 0 deletions app/src/main/res/values-night/colors.xml
Original file line number Diff line number Diff line change
Expand Up @@ -26,4 +26,6 @@
<color name="thumb_off_color">#545961</color>
<color name="track_on_color">#F6833080</color>
<color name="track_off_color">#32363D</color>
<color name="profile_background">#181A1D</color>
<color name="profile_card_background">#32363D</color>
</resources>
2 changes: 2 additions & 0 deletions app/src/main/res/values-night/themes.xml
Original file line number Diff line number Diff line change
Expand Up @@ -57,4 +57,6 @@
<item name="thumbTint">@color/switch_thumb_color</item>
<item name="trackTint">@color/switch_track_color</item>
</style>

<style name="Theme.NetBird.Card" parent="ThemeOverlay.MaterialComponents.Dark" />
</resources>
2 changes: 2 additions & 0 deletions app/src/main/res/values/colors.xml
Original file line number Diff line number Diff line change
Expand Up @@ -26,4 +26,6 @@
<color name="thumb_off_color">#FFFFFF</color>
<color name="track_on_color">#89F58431</color>
<color name="track_off_color">#40000000</color>
<color name="profile_background">#F2F2F2</color>
<color name="profile_card_background">@color/white</color>
</resources>
Loading