Skip to content

Feature/improvements phase 9#3

Merged
Prot10 merged 43 commits intomainfrom
feature/improvements-phase-9
Jan 14, 2026
Merged

Feature/improvements phase 9#3
Prot10 merged 43 commits intomainfrom
feature/improvements-phase-9

Conversation

@Prot10
Copy link
Copy Markdown
Owner

@Prot10 Prot10 commented Jan 14, 2026

No description provided.

Prot10 added 30 commits January 8, 2026 15:35
… updates

- Introduced a new localization file `SystemHealth.xcstrings` containing translations for various system health checks.
- Added English, Spanish, and Italian translations for battery status, disk health, memory pressure, and system updates.
- Included messages for checking statuses, errors, and results of health checks.
…tion; enhance Menu Bar Monitor and Browser Privacy sections
…mentation; consolidate TODO tracker and changelog; enhance clarity and organization.
…n functionality; update localization for new actions
…DuplicatesViewModel for better file selection management
…ariants

Add complete set of sized fonts (8-48pt) with weight variants for consistent
typography across the app. Update spacing values to more practical increments
(lg=20, xl=24, xxl=32) and add new spacing levels (xxxl, huge, massive).

Changes:
- Add sized fonts: size8 through size48 with various weights
- Add rounded variants for gauges (size36BoldRounded, size44BoldRounded)
- Add monospace variants (monoSize11-32Bold)
- Update spacing: lg=20, xl=24, xxl=32, xxxl=40, huge=48, massive=64
- Update tests to match new spacing values
Prot10 and others added 13 commits January 14, 2026 21:53
Split PerformanceView.swift (~1050 lines) into smaller, focused components
for better maintainability and code organization.

Extracted components:
- MaintenanceTaskCard.swift: Individual maintenance task display
- ProcessRow.swift: Process list row with kill action
- RunAllProgressView.swift: Progress indicator for batch operations
- CircularProgressView.swift: Reusable circular progress indicator

Also migrated hardcoded fonts to Theme.Typography for consistency.
…View

Split ApplicationsView.swift (~1145 lines) into smaller, focused components
for better maintainability and code organization.

Extracted components:
- InfoCard.swift: Statistics display card for app discovery
- AppCard.swift: App grid card with actions (includes AppPreviewCard, MoreAppsCard)
- UninstallConfirmationSheet.swift: Uninstall dialog with file list
- UpdateRow.swift: App update row with download action
- HomebrewCaskRow.swift: Homebrew cask display with upgrade/uninstall

Also migrated hardcoded fonts to Theme.Typography for consistency.
Replace hardcoded .font(.system(size:)) calls with Theme.Typography
constants for consistent typography across the app.

Updated files:
- HomeView.swift
- DiskCleanerView.swift
- SystemHealthView.swift

This ensures all font sizes follow the theme system and can be
modified centrally if needed.
- Migrate fonts in view files: PortManagementView, StartupItemsView,
  PermissionsView, OrphanedFilesView, DuplicatesView, SpaceLensView
- Migrate fonts in component files: BrowserPrivacyView, CleanupCategoryCard,
  PermissionPromptView, ScanResultsCard, PermissionCategoryCard,
  PermissionFolderRow
- Migrate fonts in core files: ContentView, MyMacCleanerApp, ToastView,
  LanguageSwitcherButton, LiquidGlass
- Add missing typography variant: size44Medium
Replace numeric spacing literals with Theme.Spacing constants across
all view files for consistent spacing and easier maintenance.

Mapping: 4→xxs, 8→xs, 12→sm, 16→md, 20→lg, 24→xl, 32→xxl

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add Theme.Spacing: tiny=2, xxxs=6, section=28
- Add Theme.CornerRadius: tiny=4, xs=6
- Migrate all remaining hardcoded spacing values to Theme.Spacing
- Migrate all cornerRadius values to Theme.CornerRadius constants

Mapping applied:
- spacing: 2 → Theme.Spacing.tiny
- spacing: 4 → Theme.Spacing.xxs
- spacing: 6 → Theme.Spacing.xxxs
- spacing: 28 → Theme.Spacing.section
- cornerRadius: 4 → Theme.CornerRadius.tiny
- cornerRadius: 6 → Theme.CornerRadius.xs
- cornerRadius: 8 → Theme.CornerRadius.small
- cornerRadius: 10/12 → Theme.CornerRadius.medium
- cornerRadius: 16 → Theme.CornerRadius.large

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Replace hardcoded .padding(.direction, number) with Theme.Spacing:
- .padding(.vertical/horizontal, 2) → Theme.Spacing.tiny
- .padding(.vertical/horizontal, 4) → Theme.Spacing.xxs
- .padding(.vertical/horizontal, 6) → Theme.Spacing.xxxs
- .padding(.vertical/horizontal, 8) → Theme.Spacing.xs
- .padding(.vertical/horizontal, 12) → Theme.Spacing.sm
- .padding(.vertical/horizontal, 16) → Theme.Spacing.md

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- .padding(.horizontal, 20) → Theme.Spacing.lg
- .cornerRadius(8) → Theme.CornerRadius.small
- .padding(28) → Theme.Spacing.section
- .padding(6) → Theme.Spacing.xxxs

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Migrate cornerRadius values to Theme.CornerRadius in:
  - ContentView.swift
  - LiquidGlass.swift
  - ToastView.swift
  - LanguageSwitcherButton.swift
  - Animations.swift

- Migrate spacing and padding to Theme.Spacing constants
- Ensures consistent theming across all UI layers

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Migrate spacing values in MenuBarView.swift
- Migrate padding values in MenuBarView.swift
- Migrate spacing in MyMacCleanerApp.swift settings views

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Some XML validators are stricter about multi-line self-closing tags.
Reformatted to ensure compatibility with CI validation.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Add automated code quality checks to PR workflow:
- Check for print() statements in production code
- Detect force unwraps without justification
- Verify macOS 26 availability patterns (#unavailable, glassEffect)
- Flag Swift files exceeding 500 lines
- Report TODO/FIXME comments
- Check for hardcoded fonts and cornerRadius (should use Theme)
- Update pr-check-complete to include code-quality and validate-appcast

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Ubuntu runners don't have xmllint installed by default.
Added apt-get install libxml2-utils step before validation.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@Prot10 Prot10 merged commit 48b8697 into main Jan 14, 2026
9 checks passed
Prot10 added a commit that referenced this pull request Jan 29, 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