Skip to content

Rename Sports & Outdoors to Active and swap category art for line icons - #111

Open
AndrewG828 wants to merge 1 commit into
mainfrom
user/andrewgao/feature/UI-UX-Lucid-Refactor
Open

Rename Sports & Outdoors to Active and swap category art for line icons#111
AndrewG828 wants to merge 1 commit into
mainfrom
user/andrewgao/feature/UI-UX-Lucid-Refactor

Conversation

@AndrewG828

@AndrewG828 AndrewG828 commented Sep 3, 2026

Copy link
Copy Markdown
Member

Stacked PR 1 of 15. Based on main — merge in order.
#111#112#113#114#115#116#117#118#119#120#121#122#123#124#125

Replaces the raster category illustrations with single-scale SVG line icons
and reworks the category taxonomy in Constants.filters, which is the one
place categories are declared:

  • "Sports & Outdoors" becomes "Active", with a matching Active imageset.
    Category artwork is looked up as Image(filter.title), so the imageset had
    to be renamed in lockstep.
  • "Household" and "Other" gain colors. A nil color is what hides a category
    from the Home row and the browse grid, so both are now browsable; Household
    needed a new imageset.
  • FilterView derives its chips from Constants.filters instead of keeping a
    parallel hardcoded list that had already drifted (it was still offering
    "Sports & Outdoors" and omitting "Household").

The tinted circle behind each category icon is gone — the new line icons carry
their own shape — so CircularFilterButton renders the artwork directly at
72pt. Filter and condition chips now cross-fade on selection instead of
swapping in an "x" glyph that shifted the chip's width mid-tap.

Also drops sfsfs.swift, an empty file that was never in the build phase.

Co-Authored-By: Claude Opus 5 (1M context) noreply@anthropic.com
Claude-Session: https://claude.ai/code/session_017R8mua9xepzF3mnRETtd6W

Replaces the raster category illustrations with single-scale SVG line icons
and reworks the category taxonomy in `Constants.filters`, which is the one
place categories are declared:

- "Sports & Outdoors" becomes "Active", with a matching `Active` imageset.
  Category artwork is looked up as `Image(filter.title)`, so the imageset had
  to be renamed in lockstep.
- "Household" and "Other" gain colors. A nil color is what hides a category
  from the Home row and the browse grid, so both are now browsable; Household
  needed a new imageset.
- `FilterView` derives its chips from `Constants.filters` instead of keeping a
  parallel hardcoded list that had already drifted (it was still offering
  "Sports & Outdoors" and omitting "Household").

The tinted circle behind each category icon is gone — the new line icons carry
their own shape — so `CircularFilterButton` renders the artwork directly at
72pt. Filter and condition chips now cross-fade on selection instead of
swapping in an "x" glyph that shifted the chip's width mid-tap.

Also drops `sfsfs.swift`, an empty file that was never in the build phase.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017R8mua9xepzF3mnRETtd6W
@coderabbitai

coderabbitai Bot commented Sep 3, 2026

Copy link
Copy Markdown

Important

  • 🔍 Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Team

Run ID: 798daba5-8ef3-4d12-bde0-2e9af671eacb


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.



// Active range between the two handles.
let lowX = position(for: lowValue) + handleDiameter / 2

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Make these two constants

private var categories : [String] = ["Clothing", "Books", "School", "Electronics", "Handmade", "Sports & Outdoors", "Other"]
/// Browsable categories, in `Constants.filters` order. A `nil` color marks a
/// pseudo-category (e.g. "Recent") that is not a real listing category.
private let categories: [String] = Constants.filters.compactMap { $0.color == nil ? nil : $0.title }

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

I like this but remove the comments

.font(.custom("Rubik-Medium", size: 14))
.foregroundStyle(Color.black)
}
let isSelected = filtersVM.categoryFilters.contains(category)

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

make this also a constant

.foregroundStyle(Color.black)
}
let isSelected = filtersVM.conditionFilters.contains(condition)
Text(condition)

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

same here

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.

2 participants