Skip to content

OS switcher tabs updates#1002

Merged
skyfallwastaken merged 8 commits intomainfrom
setup-os-switcher-tabs
Feb 25, 2026
Merged

OS switcher tabs updates#1002
skyfallwastaken merged 8 commits intomainfrom
setup-os-switcher-tabs

Conversation

@skyfallwastaken
Copy link
Member

No description provided.

skyfallwastaken and others added 7 commits February 25, 2026 10:22
- Add segmented control with macOS/Linux/Codespaces, Windows, and Advanced tabs
- Default tab is auto-detected from user agent (server-side)
- Show WSL option in mac/linux tab label only when user is on Windows
- Use modal-matching cubic-bezier easing for tab transitions
@greptile-apps
Copy link
Contributor

greptile-apps bot commented Feb 25, 2026

Greptile Summary

This PR improves the WakatimeSetup page by refactoring the OS tabs implementation and fixing the Xcode reference issue. The changes extract repeated tab styling into a reusable tabClass helper function and split the subtitle text to only mention Xcode on the macOS/Linux tab (not Windows). The PR also adds system tests for the tab switcher functionality.

Key changes:

  • Extracted repeated tab CSS classes into tabClass helper function
  • Changed activeSection from $derived to $state for proper mutability
  • Split sharedSubtitle into OS-specific subtitles (macLinuxSubtitle, windowsSubtitle) to correctly show Xcode only on macOS/Linux
  • Added conditional " / WSL" text in tab label when Windows users view the macOS/Linux tab
  • Added new system test WakatimeSetupTest to verify tab switching functionality

Issues found:

  • System test has incorrect button text in click_on call (line 27)

Confidence Score: 4/5

  • This PR is safe to merge after fixing the test button text
  • The code changes are well-structured refactoring with good separation of concerns. The only issue is a test that will fail due to incorrect button text. The refactoring correctly extracts repeated code, properly manages state, and fixes the Xcode reference issue as intended.
  • test/system/wakatime_setup_test.rb needs the button text corrected on line 27

Important Files Changed

Filename Overview
app/javascript/pages/WakatimeSetup/Index.svelte Refactored OS tabs with extracted tabClass helper, separate subtitles per OS, and conditional WSL text; changes state from $derived to $state for activeSection
test/system/wakatime_setup_test.rb New system test for OS switcher tabs; potential issue with click_on "macOS / Linux" not matching full button text "macOS / Linux / Codespaces"

Last reviewed commit: e6175bf

Copy link
Contributor

@greptile-apps greptile-apps bot left a comment

Choose a reason for hiding this comment

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

2 files reviewed, 1 comment

Edit Code Review Agent Settings | Greptile

Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
@skyfallwastaken skyfallwastaken enabled auto-merge (squash) February 25, 2026 10:42
@skyfallwastaken skyfallwastaken merged commit 66f928c into main Feb 25, 2026
14 checks passed
@skyfallwastaken skyfallwastaken deleted the setup-os-switcher-tabs branch February 25, 2026 10:43
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