arbitrum: swap contracts deploy#21
Draft
norwnd wants to merge 2 commits into
Draft
Conversation
72e3c8c to
44b2c1e
Compare
ad9d264 to
e298e04
Compare
f9959eb to
a66bbae
Compare
e3c487c to
333e9f6
Compare
norwnd
pushed a commit
that referenced
this pull request
Apr 16, 2026
Closes T17 (deferred from B-L3 cleanup). Both pages' slide-in forms were previously rendered inline inside the main section, pushing content down as they appeared. Vanilla renders them as fixed-position overlay modals above a dimmed backdrop. This commit brings them to full vanilla parity via the shared `FormOverlay` component. New shared CSS class `.modal-form` in utilities.scss — React-side equivalent of vanilla's `#forms > form:not(.plain)` styling path: - background-color: var(--form-bg) - @include border (1px solid var(--border-color)) - border-radius: 5px - box-shadow: 0 3px 6px #21, 0 2px 7px decred#41 - padding: 1rem - position: relative (so form-closer X can be absolute) The vanilla rule lives under a `div[data-handler=proposals]` selector path that doesn't match React's DOM structure, so it's dead code from the React rewrite's perspective. Extracting the appearance as a reusable utility class is cleaner than relying on that dead path. Changes: - ProposalsPage filter form: wrapped in `<FormOverlay>` with `modal-form filter-form mw-500 slide-in-from-right` classes. Dropped the `.filter-form { max-width: 500px }` rule in proposals.scss in favor of `mw-500` applied at the JSX level (avoids duplicate width constraints). - ProposalPage vote form: same treatment with `modal-form mw-425 slide-in-from-right`. `SuccessCheckmarkModal` layering is safe because `handleVote` closes the vote form and opens the success modal in the same React batch -- they're never rendered simultaneously. Behavior changes (all positive): - Esc key closes both forms (new -- was form-closer X only before). - Backdrop click closes both forms (new). - Forms no longer push section content down when opened. - Slide-in-from-right animation still replays on each open because FormOverlay returns null when `show` is false, remounting the children on each toggle. - `overflow-hidden` wrapper retained as a safety measure to clip the slide-in start state (`translateX(100%)`) from overflowing the viewport on narrow screens.
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.
Rebased on #22 so it can work specifically with Arbitrum, so only latest commit is about deploying smart contracts in this PR.
This allows to deploy swap contracts for ETH/USDC on Arbitrum, have to build and send out any ETH transaction to trigger the deploy (obviously need to have enough of ETH in the wallet to cover deploy-fee).
The ones I ended up testing against are: