Skip to content

CHECK-394: Move Project video, stats, dates and PLOT properties into their own GraphQL fragments#2908

Open
amy-at-kickstarter wants to merge 7 commits into
mainfrom
feat/adyer/check-394/move-other-project-props
Open

CHECK-394: Move Project video, stats, dates and PLOT properties into their own GraphQL fragments#2908
amy-at-kickstarter wants to merge 7 commits into
mainfrom
feat/adyer/check-394/move-other-project-props

Conversation

@amy-at-kickstarter

@amy-at-kickstarter amy-at-kickstarter commented Jul 8, 2026

Copy link
Copy Markdown
Contributor

📲 What

Move several chunks of Project into their own sub-fragments in ProjectFragment:

Project.Video -> ProjectVideoFragment
Project.Stats -> ProjectStatsFragment
Project.Dates -> ProjectDatesFragment
PLOT properties -> PledgeOverTimeFragment

🤔 Why

I'm working on code that will speed up loading on the Project page. As part of that, I'm going to make a faster version of ProjectFragment, which fetches only the fields required for Checkout.

This is a piece of that cleanup. By moving these fields into their own fragments, it will be easier to control which fields we fetch on ProjectFragment (or to create a new, similar fragment).

🛠 How

These changes just move around how the data is fetched - there should be no net effects from doing this.

All of these fields are well-tested in Project+ProjectFragmentTests.swift.

@amy-at-kickstarter amy-at-kickstarter force-pushed the feat/adyer/check-394/move-other-project-props branch from accfee6 to 826f0c7 Compare July 8, 2026 19:20
@nativeksr

Copy link
Copy Markdown
Collaborator
1 Warning
⚠️ Big PR

Generated by 🚫 Danger

@amy-at-kickstarter amy-at-kickstarter changed the base branch from main to feat/adyer/check/extended-project-properties July 8, 2026 19:27
@amy-at-kickstarter amy-at-kickstarter changed the title Feat/adyer/check 394/move other project props CHECK-394: Move Project video, stats, dates and PLOT properties into their own GraphQL fragments Jul 8, 2026
}
watchesCount
...NoRewardRewardFragment
...ExtendedProjectPropertiesFragment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Moved a few things to make them alphabetical.

),
let categoryFragment = projectFragment.category?.fragments.categoryFragment,
let dates = projectDates(from: projectFragment),
let dates = projectDates(from: projectFragment.fragments.projectDatesFragment),

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

This is basically what all of the changes do: instead of passing around the entire ProjectFragment to these different parsing methods, it passes a sub-fragment.

I made no changes to the parsing methods themselves, which should catch me if I accidentally moved or deleted a field.

@amy-at-kickstarter amy-at-kickstarter requested review from a team and scottkicks and removed request for a team July 8, 2026 19:35
@amy-at-kickstarter amy-at-kickstarter marked this pull request as ready for review July 8, 2026 19:35
Base automatically changed from feat/adyer/check/extended-project-properties to main July 9, 2026 13:29
@amy-at-kickstarter amy-at-kickstarter force-pushed the feat/adyer/check-394/move-other-project-props branch from 826f0c7 to 2000ab8 Compare July 9, 2026 13:31
@amy-at-kickstarter amy-at-kickstarter requested review from stevestreza-ksr and removed request for scottkicks July 9, 2026 13:31
@amy-at-kickstarter

Copy link
Copy Markdown
Contributor Author

@stevestreza-ksr Sending this one to you too since it makes more sense in context of the other review you just did

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