Skip to content

Guidance 3.0: complete SwiftUI rebuild for macOS#8

Open
omar-hanafy wants to merge 5 commits into
batoulapps:developfrom
omar-hanafy:app-rebuild
Open

Guidance 3.0: complete SwiftUI rebuild for macOS#8
omar-hanafy wants to merge 5 commits into
batoulapps:developfrom
omar-hanafy:app-rebuild

Conversation

@omar-hanafy

Copy link
Copy Markdown
Collaborator

Summary

Replaces the legacy Objective-C app with Guidance 3.0 - a complete, native SwiftUI
rebuild for macOS. Removes the old codebase (oldVersion/) and adds a new menu-bar app,
a WidgetKit extension, and a shared transport layer, with tests and docs.

Prayer times are still computed locally with the open-source
Adhan library - private by design,
offline-capable, no analytics.

Highlights

  • Menu bar - themed "living schedule" with a Hijri-dated header, the day's prayers,
    and the next prayer expanded into a live countdown; color states for imminent /
    Iqama count-up / active audio; interactive per-prayer toggles and silent mode.
  • Widgets - small / medium / large WidgetKit widgets sharing the menu bar's design
    system; tap-to-stop adhan; honest pre-setup empty state.
  • Notifications & adhan - per-prayer alerts, pre/post reminders, Jumu'ah override,
    six built-in adhans plus custom audio, global silent mode, and catch-up after sleep
    or launch.
  • Themes - five hand-built themes plus a guard-railed custom theme with live preview.
  • Calculation - eleven methods plus custom angles, madhab, high-latitude rules,
    and per-prayer fine tuning.
  • Location - automatic (Core Location) or manual search, manual time-zone override,
    resilient offline.
  • Localization - nine languages with full RTL and localized digits.

Scope

372 files changed:

  • Removes the legacy Objective-C app (oldVersion/, ~262 files).
  • Adds the SwiftUI app under Guidance/, GuidanceWidgetsExtension/, and Shared/,
    with GuidanceTests/ and docs/.
  • Linear history on top of develop - no merge conflicts.

Technical notes

  • macOS 14.0+, Swift 6, SwiftUI + WidgetKit.
  • Menu-bar/widget transport over App Group group.com.batoulapps.GuidanceMac.
  • Fully sandboxed; custom adhan files via scoped, read-only bookmarks.
  • Signed under Batoul Apps (DEVELOPMENT_TEAM = 5H3PBG23RV); bundle IDs
    com.batoulapps.GuidanceMac / .GuidanceWidgetsExtension.

Notes for reviewer

  • README screenshot URLs point at the main branch and will render once this reaches
    main; they 404 until then, by design.

Set DEVELOPMENT_TEAM (5H3PBG23RV) and ORGANIZATIONNAME across all targets so the project builds under the Batoul Apps team, and point the README screenshot URLs at batoulapps/GuidanceMac instead of the personal fork.
@omar-hanafy

omar-hanafy commented Jun 15, 2026

Copy link
Copy Markdown
Collaborator Author

Assalamu Alaikum @z3bi New build is up. Whenever you're free, please run it locally and review the code changes.

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