refactor: migrate TypedSign component from JS to TypeScript#596
Open
devin-ai-integration[bot] wants to merge 2 commits intomainfrom
Open
refactor: migrate TypedSign component from JS to TypeScript#596devin-ai-integration[bot] wants to merge 2 commits intomainfrom
devin-ai-integration[bot] wants to merge 2 commits intomainfrom
Conversation
- Rename index.js to index.tsx - Replace PropTypes with TypeScript interfaces (TypedSignProps, TypedSignState) - Import and use existing types: MessageParams, PageMeta, SecurityAlertResponse, IUseMetricsHook, RootState - Add proper typing for event handlers (LayoutChangeEvent), style arrays (ViewStyle[]), and callback signatures - Use 'keyof typeof typedSign' for version-based indexing - Add eslint-disable comments for necessary 'any' usages (colors theme, navigation, V1 data, signatureRequest state) following existing repo conventions Co-Authored-By: shayan <shayan@cognition.ai>
Devin Review
|
Author
🤖 Devin AI EngineerI'll be helping with this pull request! Here's what you should know: ✅ I will automatically:
Note: I can only respond to comments from users who have write access to this repository. ⚙️ Control Options:
|
The children (typed message View and onLayout handler) were accidentally dropped during the JS-to-TS migration, which would have caused users to see an empty message area. Also changed onLayout null to undefined for TS compatibility. Co-Authored-By: shayan <shayan@cognition.ai>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Migrates
app/components/Views/confirmations/legacy/components/TypedSign/index.jsfrom JavaScript to TypeScript (index.tsx).Changes
index.js→index.tsxPropTypesin favor of TypeScript interfaces (TypedSignProps,TypedSignState)MessageParams,PageMeta,SecurityAlertResponse,IUseMetricsHook,RootStateLayoutChangeEvent)ViewStyle[]){ error?: Error })keyof typeof typedSign)mapStateToPropsfunction signatureeslint-disablecomments for necessaryanyusages (theme colors, navigation, V1 data, signatureRequest state) following existing repo conventions (e.g.PersonalSign.tsx)onLayout={truncateMessage ? null : ...}toonLayout={truncateMessage ? undefined : ...}for TS compatibilityNotes
index.test.tsx) and snapshots are unchangedReview & Testing Checklist for Human
MessageParams.datawhich isstringfor V3/V4 but an array for V1)Link to Devin session: https://app.devin.ai/sessions/68aec0ea9fbe49758a5f1655a53e3bd8
Requested by: @shayanshafii