Skip to content

Fix add button being pushed off-screen on mobile#20

Merged
K-Cully merged 5 commits intomainfrom
copilot/apply-responsive-design-principles
May 7, 2026
Merged

Fix add button being pushed off-screen on mobile#20
K-Cully merged 5 commits intomainfrom
copilot/apply-responsive-design-principles

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented May 7, 2026

  • Investigate root cause of Add button being pushed off-screen on narrow viewports
  • Apply responsive CSS fixes to .add-entry-form, .input-row, .input-field, plus a 480px rule for full-width submit
  • Verify with MCP screenshots at 320/375/900px (Add button visible at all widths; desktop unchanged)
  • Add dated DECISIONS.md entry for the responsive forms decision
  • Address review feedback: consolidate the 480px rule into the existing "Responsive" section
  • Resolve merge conflicts with origin/main (true merge commit; both dated DECISIONS.md entries kept — Fair Mode and Responsive Forms; css/styles.css and js/app.js auto-merged)

Copilot AI self-assigned this May 7, 2026
Copilot AI review requested due to automatic review settings May 7, 2026 19:17
Copilot AI review requested due to automatic review settings May 7, 2026 19:17
Copilot AI linked an issue May 7, 2026 that may be closed by this pull request
Copilot AI requested review from Copilot and removed request for Copilot May 7, 2026 19:25
Copilot AI changed the title [WIP] Fix add button being pushed off screen on mobile devices Fix add button being pushed off-screen on mobile May 7, 2026
Copilot finished work on behalf of K-Cully May 7, 2026 19:26
Copilot AI requested a review from K-Cully May 7, 2026 19:26
@K-Cully K-Cully marked this pull request as ready for review May 7, 2026 19:36
Copilot AI review requested due to automatic review settings May 7, 2026 19:36
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Adjusts form flexbox behavior to prevent the Entries “Add” submit button (and related sidebar add forms) from overflowing off-screen on narrow/mobile viewports, while documenting the responsive decision in DECISIONS.md.

Changes:

  • Updated .add-entry-form to wrap and keep the submit button usable on small screens (including a ≤480px full-width submit button behavior).
  • Updated .input-field (and .input-row) flex behavior so inputs can shrink/wrap instead of forcing horizontal overflow.
  • Added a dated DECISIONS.md entry explaining the responsive form approach and rationale.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 2 comments.

File Description
css/styles.css Makes add-entry and sidebar input rows wrap; adjusts flex sizing to avoid mobile overflow; adds a small-screen rule for a full-width submit button.
DECISIONS.md Documents the responsive form-wrapping decision with a dated entry and rationale.

Comment thread css/styles.css
Comment thread css/styles.css Outdated
@K-Cully
Copy link
Copy Markdown
Owner

K-Cully commented May 7, 2026

@copilot review the comments and fix the issues identified

Copy link
Copy Markdown
Contributor Author

Copilot AI commented May 7, 2026

@copilot review the comments and fix the issues identified

Addressed both review comments in 00d7fe4:

  • Moved the @media (max-width: 480px) rule for .add-entry-form .btn[type="submit"] into the existing "Responsive" section alongside the other 480px breakpoint rules, so all responsive behaviour stays grouped.
  • Re-captured local MCP screenshots from index.html to verify behaviour is unchanged: at 900px the form is one row (input + select + Add); at 375px the Add button wraps full-width to row 2; at 320px each control stacks. The Add button is fully visible at every width.

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • accounts.google.com
    • Triggering command: /proc/self/exe /proc/self/exe --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=none --no-sandbox --disable-dev-shm-usage --use-angle=swiftshader-webgl --mute-audio --crashpad-handler-pid=4997 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/playwright_chromiumdev_profile-1Ru3Dp --change-stack-guard-on-fork=enable --shared-files=v8_context_snapshot_data:100 --field-trial-handle=3,i,15641850866947955466,5772918589901119121,262144 --enable-features=CDPScreenshotNewSurface --disable-features=AutoDeElevate,AvoidUnnecessaryBeforeUnloadCheckSync,BoundaryEventDispatchTracksNodeRemoval,DestroyProfileOnBrowserClose,DialMediaRouteProvider,GlobalMediaControls,HttpsUpgrades,LensOverlay,MediaRouter,OptimizationHints,PaintHolding,Rend (dns block)
    • Triggering command: /opt/google/chrome/chrome /usr/bin/google-chrome --disable-field-trial-config --disable-REDACTED-networking --disable-REDACTED-timer-throttling --disable-REDACTEDing-occluded-windows --disable-back-forward-cache --disable-breakpad --disable-client-side-phishing-detection --disable-component-extensions-with-REDACTED-pages --disable-component-update --no-default-browser-check --disable-default-apps --disable-dev-shm-usage --disable-extensions --disable-features=AvoidUnnecessaryBeforeUnloadCheckSync,BoundaryEventDispatchTracksNodeRemoval,DestroyProfileOnBrowserClose,DialMediaRouteProvider,GlobalMediaControls,HttpsUpgrades,LensOverlay,MediaRouter,PaintHolding,ThirdPartyStoragePartitioning,Transl (dns block)
  • clients2.google.com
    • Triggering command: /proc/self/exe /proc/self/exe --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=none --no-sandbox --disable-dev-shm-usage --use-angle=swiftshader-webgl --mute-audio --crashpad-handler-pid=4997 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/playwright_chromiumdev_profile-1Ru3Dp --change-stack-guard-on-fork=enable --shared-files=v8_context_snapshot_data:100 --field-trial-handle=3,i,15641850866947955466,5772918589901119121,262144 --enable-features=CDPScreenshotNewSurface --disable-features=AutoDeElevate,AvoidUnnecessaryBeforeUnloadCheckSync,BoundaryEventDispatchTracksNodeRemoval,DestroyProfileOnBrowserClose,DialMediaRouteProvider,GlobalMediaControls,HttpsUpgrades,LensOverlay,MediaRouter,OptimizationHints,PaintHolding,Rend (dns block)
    • Triggering command: /opt/google/chrome/chrome /usr/bin/google-chrome --disable-field-trial-config --disable-REDACTED-networking --disable-REDACTED-timer-throttling --disable-REDACTEDing-occluded-windows --disable-back-forward-cache --disable-breakpad --disable-client-side-phishing-detection --disable-component-extensions-with-REDACTED-pages --disable-component-update --no-default-browser-check --disable-default-apps --disable-dev-shm-usage --disable-extensions --disable-features=AvoidUnnecessaryBeforeUnloadCheckSync,BoundaryEventDispatchTracksNodeRemoval,DestroyProfileOnBrowserClose,DialMediaRouteProvider,GlobalMediaControls,HttpsUpgrades,LensOverlay,MediaRouter,PaintHolding,ThirdPartyStoragePartitioning,Transl (dns block)
  • safebrowsingohttpgateway.googleapis.com
    • Triggering command: /proc/self/exe /proc/self/exe --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=none --no-sandbox --disable-dev-shm-usage --use-angle=swiftshader-webgl --mute-audio --crashpad-handler-pid=4997 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/playwright_chromiumdev_profile-1Ru3Dp --change-stack-guard-on-fork=enable --shared-files=v8_context_snapshot_data:100 --field-trial-handle=3,i,15641850866947955466,5772918589901119121,262144 --enable-features=CDPScreenshotNewSurface --disable-features=AutoDeElevate,AvoidUnnecessaryBeforeUnloadCheckSync,BoundaryEventDispatchTracksNodeRemoval,DestroyProfileOnBrowserClose,DialMediaRouteProvider,GlobalMediaControls,HttpsUpgrades,LensOverlay,MediaRouter,OptimizationHints,PaintHolding,Rend (dns block)
    • Triggering command: /opt/google/chrome/chrome /usr/bin/google-chrome --disable-field-trial-config --disable-REDACTED-networking --disable-REDACTED-timer-throttling --disable-REDACTEDing-occluded-windows --disable-back-forward-cache --disable-breakpad --disable-client-side-phishing-detection --disable-component-extensions-with-REDACTED-pages --disable-component-update --no-default-browser-check --disable-default-apps --disable-dev-shm-usage --disable-extensions --disable-features=AvoidUnnecessaryBeforeUnloadCheckSync,BoundaryEventDispatchTracksNodeRemoval,DestroyProfileOnBrowserClose,DialMediaRouteProvider,GlobalMediaControls,HttpsUpgrades,LensOverlay,MediaRouter,PaintHolding,ThirdPartyStoragePartitioning,Transl (dns block)
  • update.googleapis.com
    • Triggering command: /proc/self/exe /proc/self/exe --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=none --no-sandbox --disable-dev-shm-usage --use-angle=swiftshader-webgl --mute-audio --crashpad-handler-pid=4997 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/playwright_chromiumdev_profile-1Ru3Dp --change-stack-guard-on-fork=enable --shared-files=v8_context_snapshot_data:100 --field-trial-handle=3,i,15641850866947955466,5772918589901119121,262144 --enable-features=CDPScreenshotNewSurface --disable-features=AutoDeElevate,AvoidUnnecessaryBeforeUnloadCheckSync,BoundaryEventDispatchTracksNodeRemoval,DestroyProfileOnBrowserClose,DialMediaRouteProvider,GlobalMediaControls,HttpsUpgrades,LensOverlay,MediaRouter,OptimizationHints,PaintHolding,Rend (dns block)
    • Triggering command: /opt/google/chrome/chrome /usr/bin/google-chrome --disable-field-trial-config --disable-REDACTED-networking --disable-REDACTED-timer-throttling --disable-REDACTEDing-occluded-windows --disable-back-forward-cache --disable-breakpad --disable-client-side-phishing-detection --disable-component-extensions-with-REDACTED-pages --disable-component-update --no-default-browser-check --disable-default-apps --disable-dev-shm-usage --disable-extensions --disable-features=AvoidUnnecessaryBeforeUnloadCheckSync,BoundaryEventDispatchTracksNodeRemoval,DestroyProfileOnBrowserClose,DialMediaRouteProvider,GlobalMediaControls,HttpsUpgrades,LensOverlay,MediaRouter,PaintHolding,ThirdPartyStoragePartitioning,Transl (dns block)
  • www.google.com
    • Triggering command: /proc/self/exe /proc/self/exe --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=none --no-sandbox --disable-dev-shm-usage --use-angle=swiftshader-webgl --mute-audio --crashpad-handler-pid=4997 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/playwright_chromiumdev_profile-1Ru3Dp --change-stack-guard-on-fork=enable --shared-files=v8_context_snapshot_data:100 --field-trial-handle=3,i,15641850866947955466,5772918589901119121,262144 --enable-features=CDPScreenshotNewSurface --disable-features=AutoDeElevate,AvoidUnnecessaryBeforeUnloadCheckSync,BoundaryEventDispatchTracksNodeRemoval,DestroyProfileOnBrowserClose,DialMediaRouteProvider,GlobalMediaControls,HttpsUpgrades,LensOverlay,MediaRouter,OptimizationHints,PaintHolding,Rend (dns block)
    • Triggering command: /opt/google/chrome/chrome /usr/bin/google-chrome --disable-field-trial-config --disable-REDACTED-networking --disable-REDACTED-timer-throttling --disable-REDACTEDing-occluded-windows --disable-back-forward-cache --disable-breakpad --disable-client-side-phishing-detection --disable-component-extensions-with-REDACTED-pages --disable-component-update --no-default-browser-check --disable-default-apps --disable-dev-shm-usage --disable-extensions --disable-features=AvoidUnnecessaryBeforeUnloadCheckSync,BoundaryEventDispatchTracksNodeRemoval,DestroyProfileOnBrowserClose,DialMediaRouteProvider,GlobalMediaControls,HttpsUpgrades,LensOverlay,MediaRouter,PaintHolding,ThirdPartyStoragePartitioning,Transl (dns block)

If you need me to access, download, or install something from one of these locations, you can either:

Copilot finished work on behalf of K-Cully May 7, 2026 20:07
@K-Cully
Copy link
Copy Markdown
Owner

K-Cully commented May 7, 2026

@copilot address the merge conflicts

Copilot AI requested review from Copilot and removed request for Copilot May 7, 2026 20:18
Co-authored-by: K-Cully <2370032+K-Cully@users.noreply.github.com>
Copy link
Copy Markdown
Contributor Author

Copilot AI commented May 7, 2026

@copilot address the merge conflicts

Resolved the merge conflicts with origin/main in bbfe155. The conflict was in DECISIONS.md where both branches added new dated entries — kept both (Fair Mode and Responsive Add-Entry Forms). css/styles.css and js/app.js auto-merged cleanly. The branch now has origin/main in its ancestry as a true merge commit.

Copilot AI requested a review from K-Cully May 7, 2026 20:22
Copilot finished work on behalf of K-Cully May 7, 2026 20:22
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 2 out of 2 changed files in this pull request and generated no new comments.

@K-Cully K-Cully merged commit 06109f1 into main May 7, 2026
4 checks passed
@K-Cully K-Cully deleted the copilot/apply-responsive-design-principles branch May 7, 2026 21:46
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.

add button is pushed off screen

3 participants