Google Sheets design and UX improvements#469
Conversation
| <GoogleLogo /> Sign In | ||
| </> | ||
| )} | ||
| </button> |
There was a problem hiding this comment.
Bug: Button Clicks Not Disabled During Loading
The "Sign In" button and the field mapping form's submit button lack a disabled prop when isLoading or isPending is true. This allows multiple clicks, which can lead to race conditions or duplicate operations.
Additional Locations (1)
There was a problem hiding this comment.
This is intentional. If you close the Google sign in tab after it opens, it will still show as loading in the plugin, but you need to be able to open it again by clicking the same button. MapSheetFields handles this by checking isPending in handleSubmit, so clicking multiple times there isn't a problem.
There was a problem hiding this comment.
Mind adding the explanation in a code comment? That helps the future you and all of us with a bit of added context
There was a problem hiding this comment.
Added a comment right above the button.
elmarburke
left a comment
There was a problem hiding this comment.
Code: LGTM
QA: I can't scroll in the Manage view anymore
| const [selectedSheetTitle, setSelectedSheetTitle] = useState<string>("") | ||
|
|
||
| const selectedSpreadsheetId = useMemo(() => { | ||
| if (!spreadsheetUrl) return "" |
There was a problem hiding this comment.
in here, I think it would be good to also have undefined or null as a potential value
There was a problem hiding this comment.
Do you mean return null instead of "" when there's no spreadsheet URL?
There was a problem hiding this comment.
Yeah, exactly. With ts an empty string still counts as a string, so it can look valid when it’s really not.
There was a problem hiding this comment.
Updated it to return null instead of ""
| <GoogleLogo /> Sign In | ||
| </> | ||
| )} | ||
| </button> |
There was a problem hiding this comment.
Mind adding the explanation in a code comment? That helps the future you and all of us with a bit of added context
|
@elmarburke thanks for the review. Fixed scrolling in manage view. Is it showing the correct code here? I didn't understand what needs a comment.
|
👍
I've added this comment to the thread between cursor and you |
e860dbe to
1758754
Compare

Description
This pull request improves the design and UX of the Google Sheets plugin, updating it to match the appearance of Notion and Airtable plugins.
Testing
Note
Revamps the Google Sheets plugin UI to use Framer built-in styles, improves sheet selection and disabled states, adds green tint and success messaging, and removes custom Button/Spinner components.
Button/Spinnerwith Framer built-ins (framer-button-*,framer-spinner); deleteButton.tsx,Spinner.tsx,spinner.module.css,CenteredSpinner.tsx.mainstyles; disable text selection.Heroimage non-draggable.pages/MapSheetFields.tsx):Column → Type → Nameand wrap inmain.main.pages/SelectSheet.tsx):framer-spinnercontainers.Written by Cursor Bugbot for commit a3f4eef. This will update automatically on new commits. Configure here.