Skip to content
Open
Show file tree
Hide file tree
Changes from 4 commits
Commits
Show all changes
37 commits
Select commit Hold shift + click to select a range
9ae47a8
Updated UI to fit new figma design. This also contains the new search…
sande11 Aug 27, 2025
cc87e88
updated from API 34 to 35 and added edge-to-edge opt option
sande11 Aug 27, 2025
8771552
search functionality, bookmark page, search page
sande11 Sep 9, 2025
235dceb
added feedback cards in body fragment, added bottom modal for notes w…
sande11 Sep 15, 2025
a9c1bbc
implemented new design for the floating button
sande11 Sep 18, 2025
572a902
fixed searchview responsiveness for small devices, fixed clear text l…
sande11 Sep 19, 2025
6a56836
fixed night mode crashes and implemented other night mode designs
sande11 Sep 23, 2025
95fac3e
fixed dismiss() keyboard and stacking card dialogs on top of each oth…
sande11 Sep 23, 2025
d14f618
Implemented Pendo tracking for note submission, added theme colors to…
sande11 Sep 26, 2025
3663540
bookmark card item margin start correction
sande11 Sep 26, 2025
86a6749
Bug fixes: added new subchapters to fix missing content, fixed search…
sande11 Oct 2, 2025
4400916
implemented: hide Note Floating button when note.size = 0
sande11 Oct 3, 2025
63a64ab
text accessibility
sande11 Oct 8, 2025
5b6ec2c
adjusted CSS to make tables 9,12,17,19 appear in the same font as the…
sande11 Oct 9, 2025
e2cbc24
fixed highlighting in bookmark success pop up
sande11 Oct 9, 2025
e360b2d
incremented BUILD_VERSION to 12 and Sept-24- to Oct-25-
sande11 Oct 9, 2025
ea725bd
Merge branch '131-update-tb-guide-android-app-ui-with-new-figma-desig…
sande11 Oct 10, 2025
8c3ed6b
Merge pull request #136 from AppHatchery/133-update-android-app-to-ta…
sande11 Oct 10, 2025
46d6a01
Revert "updated from API 34 to 35 in TB Guide android UI Updates"
sande11 Oct 10, 2025
919fb6b
Merge pull request #137 from AppHatchery/revert-136-133-update-androi…
sande11 Oct 10, 2025
c14de7a
improved bookmark and bookmark deletion card
sande11 Oct 10, 2025
516e783
Merge pull request #138 from AppHatchery/131-update-tb-guide-android-…
sande11 Oct 13, 2025
2170ca3
Update project configuration to API 36 and 16kb page compatibility
sande11 Oct 14, 2025
44530a0
Refactor tab styles and structure
sande11 Oct 16, 2025
d305bf5
Expand sections containing search results in BodyFragment
sande11 Oct 16, 2025
ead594e
Update floating notes button layout constraints moving it to the bottom
sande11 Oct 16, 2025
0b7d6ee
Merge pull request #146 from AppHatchery/131-update-tb-guide-android-…
sande11 Oct 31, 2025
78b0165
Refactor recent search removal logic
sande11 Oct 31, 2025
ac83e12
Refactor recent search removal logic
sande11 Oct 31, 2025
8416b9c
Merge pull request #147 from AppHatchery/133-update-android-app-to-ta…
sande11 Nov 10, 2025
decc58f
Update app launcher icons and background assets
sande11 Nov 10, 2025
6b866ec
Update external links and chapter references in HTML pages
sande11 Nov 10, 2025
80c746d
Update chapter links in HIV/TB therapy tables
sande11 Nov 10, 2025
e7340f5
Merge pull request #148 from AppHatchery/144-chapter-link-error
sande11 Nov 11, 2025
be24ca8
Improve bottom navigation behavior and layout padding
sande11 Nov 11, 2025
656b432
Update TB HTML pages for improved formatting and accuracy
sande11 Nov 12, 2025
4ac26ff
Merge pull request #149 from AppHatchery/142-guide-nav-button-on-book…
sande11 Nov 12, 2025
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
6 changes: 6 additions & 0 deletions .idea/AndroidProjectSystem.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 6 additions & 0 deletions .idea/copilot.data.migration.agent.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 6 additions & 0 deletions .idea/copilot.data.migration.edit.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions .idea/deploymentTargetSelector.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

13 changes: 13 additions & 0 deletions .idea/deviceManager.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion .idea/gradle.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion .idea/misc.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

17 changes: 17 additions & 0 deletions .idea/runConfigurations.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

10 changes: 5 additions & 5 deletions app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -77,8 +77,8 @@ dependencies {
implementation "com.github.bumptech.glide:glide:4.14.2"

// Dagger Hilt
implementation 'com.google.dagger:hilt-android:2.51.1'
kapt 'com.google.dagger:hilt-android-compiler:2.51.1'
implementation 'com.google.dagger:hilt-android:2.57.1'
kapt 'com.google.dagger:hilt-android-compiler:2.57.1'
kapt "androidx.hilt:hilt-compiler:1.2.0"

// Pendo
Expand All @@ -92,9 +92,9 @@ dependencies {
implementation "com.squareup.retrofit2:converter-gson:2.9.0"

// Room
implementation "androidx.room:room-runtime:2.6.1"
kapt "androidx.room:room-compiler:2.6.1"
implementation "androidx.room:room-ktx:2.6.1"
implementation "androidx.room:room-runtime:2.7.2"
kapt "androidx.room:room-compiler:2.7.2"
implementation "androidx.room:room-ktx:2.7.2"

// LiveData
implementation "androidx.lifecycle:lifecycle-livedata-ktx:2.8.3"
Expand Down
Binary file added app/src/main/assets/assets/Chevron.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added app/src/main/assets/assets/chapter_1_image_1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added app/src/main/assets/assets/chapter_1_image_2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added app/src/main/assets/assets/chapter_1_image_3.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
9 changes: 9 additions & 0 deletions app/src/main/assets/assets/ic_title_icon.SVG
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added app/src/main/assets/assets/image_1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added app/src/main/assets/assets/image_2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added app/src/main/assets/assets/image_3.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
77 changes: 77 additions & 0 deletions app/src/main/assets/assets/main.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
// function to handle tab switching for any table
function activateTab(tableContainer, tabIndex) {
if (!tableContainer) return;

tableContainer.querySelectorAll('.tab-button, .tab, .tab, .tab').forEach(tab => {
tab.classList.remove('active-option', 'active-tab');
});

tableContainer.querySelectorAll('.option-content, .tab-content, .tab-content, .tab-content').forEach(content => {
content.classList.remove('active-option', 'active-tab');
});

// Add active class to selected tab and content
const selectedTab = tableContainer.querySelectorAll('.tab-button, .tab, .tab, .tab')[tabIndex];
const selectedContent = tableContainer.querySelectorAll('.option-content, .tab-content, .tab-content, .tab-content')[tabIndex];

if (selectedTab) {
if (selectedTab.classList.contains('tab')) {
selectedTab.classList.add('active-tab');
} else if (selectedTab.classList.contains('tab-button')) {
selectedTab.classList.add('active-option');
} else if (selectedTab.classList.contains('tab')) {
selectedTab.classList.add('active-tab');
} else if (selectedTab.classList.contains('tab')) {
selectedTab.classList.add('active-tab');
}
}

if (selectedContent) {
if (selectedContent.classList.contains('tab-content')) {
selectedContent.classList.add('active-tab');
} else if (selectedContent.classList.contains('option-content')) {
selectedContent.classList.add('active-option');
} else if (selectedContent.classList.contains('tab-content')) {
selectedContent.classList.add('active-tab');
} else if (selectedContent.classList.contains('tab-content')) {
selectedContent.classList.add('active-tab');
}
}
}

// Function to handle tab switching with event
function handleTabSwitch(event, tabIndex) {
// Get the clicked button from the event
const clickedButton = event.currentTarget;

const tableContainer = clickedButton.closest('.uk-overflow-auto');
if (!tableContainer) return;

// Get all tab buttons in this container
const tabButtons = tableContainer.querySelectorAll('.tab-button, .tab, .tab, .tab');

// Find the index of the clicked button within its container
const clickedIndex = Array.from(tabButtons).indexOf(clickedButton);

// Generate a unique ID for the container if it doesn't have one
if (!tableContainer.id) {
tableContainer.id = 'table-' + Math.random().toString(36).substr(2, 9);
}

// Switch to the correct tab
activateTab(tableContainer, clickedIndex);
}

function switchTab(tabIndex, event) {
handleTabSwitch(event, tabIndex);
}

// For Dropdown Togglers
function toggleItem(clickedTitle) {
const itemContent = clickedTitle.nextElementSibling;

itemContent.classList.toggle('active');

const chevronUp = clickedTitle.querySelector('.chevron-up');
chevronUp.classList.toggle('active');
}
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading