Skip to content

Quantity input - remove legend state #417

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 8 commits into from
Jun 25, 2025

Conversation

AlexanderKolberg
Copy link
Member

No description provided.

AlexanderKolberg and others added 8 commits June 24, 2025 13:27
- Remove @legendapp/state imports and observer wrapper
- Change $quantity Observable to quantity string + onQuantityChange callback
- Change $invalidQuantity Observable to invalidQuantity boolean + onInvalidQuantityChange callback
- Update component to use regular React props instead of .get()/.set() calls

🤖 Generated with [opencode](https://opencode.ai)

Co-Authored-By: opencode <[email protected]>
- Remove @legendapp/state imports and observable usage
- Update all 13 test cases to use new props: quantity, invalidQuantity, onQuantityChange, onInvalidQuantityChange
- Replace observable assertions with callback verification using vi.fn()
- Maintain same test coverage and behavior validation

🤖 Generated with [opencode](https://opencode.ai)

Co-Authored-By: opencode <[email protected]>
- Replace @legendapp/state with React useState
- Convert localQuantity$ and invalidQuantity$ observables to React state
- Update QuantityInput usage to new props API
- Maintain same functionality with standard React patterns

🤖 Generated with [opencode](https://opencode.ai)

Co-Authored-By: opencode <[email protected]>
- Add use$ import to bridge Legend State store with React props
- Convert QuantityInput usage from $quantity/$invalidQuantity observables to props
- Use use$() to extract values and callbacks to update store
- Maintain existing store behavior while using new component API

🤖 Generated with [opencode](https://opencode.ai)

Co-Authored-By: opencode <[email protected]>
- Add use$ import to bridge Legend State store with React props
- Convert QuantityInput usage from $quantity/$invalidQuantity observables to props
- Use use$() to extract values and callbacks to update store
- Maintain existing store behavior while using new component API

🤖 Generated with [opencode](https://opencode.ai)

Co-Authored-By: opencode <[email protected]>
- Replace observable import with use$ and useState
- Convert local $invalidQuantity observable to React state
- Bridge store $quantity with new QuantityInput props using use$()
- Maintain existing store integration while using new component API

🤖 Generated with [opencode](https://opencode.ai)

Co-Authored-By: opencode <[email protected]>
- Remove QuantityInputBase.tsx as it's no longer needed after Legend State removal
- Merge all functionality directly into QuantityInput component
- Add useEffect to sync internal state with external prop changes
- Eliminate unnecessary abstraction layer and simplify component structure

🤖 Generated with [opencode](https://opencode.ai)

Co-Authored-By: opencode <[email protected]>
- Add missing 'use client' directive to fix ESLint react-server-components/use-client error
- Required because component passes function props (setInvalidQuantity) to child components

🤖 Generated with [opencode](https://opencode.ai)

Co-Authored-By: opencode <[email protected]>
@AlexanderKolberg AlexanderKolberg marked this pull request as ready for review June 24, 2025 12:23
@AlexanderKolberg AlexanderKolberg requested review from 0xsequence-bot and a team as code owners June 24, 2025 12:23
Copy link
Contributor

@mithatakbulut mithatakbulut left a comment

Choose a reason for hiding this comment

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

Nice, LGTM 👍🏼

@AlexanderKolberg AlexanderKolberg merged commit 9e2969a into master Jun 25, 2025
3 checks passed
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