Skip to content

Feat/mobile menu drawer#509

Merged
p2arthur merged 13 commits intomainfrom
feat/mobile-menu-drawer
Oct 28, 2025
Merged

Feat/mobile menu drawer#509
p2arthur merged 13 commits intomainfrom
feat/mobile-menu-drawer

Conversation

@p2arthur
Copy link
Copy Markdown
Contributor

🚀 Tailwind v4 Upgrade & New Mobile Drawer

Summary

Upgraded Tailwind CSS to v4 and implemented a new menu drawer for mobile and tablet to improve responsiveness and accessibility.

Changes

  • Updated project to Tailwind v4 (new utilities and config).
  • Added right-side drawer containing Search, Navigation, Settings, Network Select, and Theme Toggle.
  • Removed the old sidebar on small screens to free up space.
  • Fixed issue where the search bar was hidden or inaccessible on mobile.

Result

Cleaner mobile layout, better navigation flow, and consistent styling across breakpoints.

@cloudflare-workers-and-pages
Copy link
Copy Markdown

cloudflare-workers-and-pages bot commented Oct 22, 2025

Deploying algokit-lora with  Cloudflare Pages  Cloudflare Pages

Latest commit: cb56025
Status: ✅  Deploy successful!
Preview URL: https://34b9b653.algokit-lora.pages.dev
Branch Preview URL: https://feat-mobile-menu-drawer.algokit-lora.pages.dev

View logs

formAction={
<FormActions>
{/* eslint-disable-next-line tailwindcss/no-custom-classname */}
<SubmitButton className="plausible-event-name=app-lab-use-existing-app-id">Use existing</SubmitButton>
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

I noticed that buttons appear to have lost the pointer.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Nice catch! might've been something to do with the tailwind migration script. I'll fix this

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Tailwind v3’s preflight automatically set buttons to cursor: pointer, but that was removed in v4.
I restored this behavior by adding a global rule in the index CSS so all buttons have it again—keeping everything consistent with existing tests.

const [layout, setLayout] = useLayout()
const isOpen = !!layout.isDrawerMenuExpanded

const menuItems = useMemo(
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

We should be able to extract the json out into a seperate file and share with the left side menu component.

@mrcointreau mrcointreau self-requested a review October 23, 2025 15:28
@mrcointreau mrcointreau self-requested a review October 24, 2025 09:27
Copy link
Copy Markdown
Contributor

@mrcointreau mrcointreau left a comment

Choose a reason for hiding this comment

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

Are you able to you see real-time ESLint warnings and errors inside .tsx components?

For me, they weren’t showing up (for example, the tailwindcss/classnames-order rule wasn’t triggering). It looks like .vscode/settings.json currently limits ESLint validation to only "typescript", so the ESLint extension doesn’t run on React component files.

To get it working, I had to either:

  1. In .vscode/settings.jsonadd"typescriptreact"to theeslint.validate` array:

    "eslint.validate": ["typescript", "typescriptreact"]
  2. Or remove the eslint.validate setting entirely

After doing that, ESLint started showing real-time warnings and autofixes inside components again.

@p2arthur p2arthur requested a review from mrcointreau October 25, 2025 04:07
@neilcampbell
Copy link
Copy Markdown
Contributor

neilcampbell commented Oct 25, 2025

Looks good, noticed a few things whilst exploring.

  • Some modals have different animation behaviours, for example the create network vs edit network or connect wallet.
  • The table headers are squished on the Block transactions, however are ok on the application transaction table.
  • The transaction wizard table doesn't have horizontal scrollbars on a small viewport.

@@ -0,0 +1,29 @@
// src/features/layout/config/menu-items.ts
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Suggested change
// src/features/layout/config/menu-items.ts

import SvgWizard from '@/features/common/components/icons/wizard'
import { Urls } from '@/routes/urls'

// ✅ Use an array of objects so it can be iterated
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Suggested change
// ✅ Use an array of objects so it can be iterated

AI comment I'm guessing.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Modals:
There were two different implementations - I fixed those to follow the same standards and fixed the parent that was responsible for the awkward animation we were having.

Table headers and Transaction wizard:
Based on the priorities we discussed I decided to split the completeness of the mobile update in two PRs. This one is the most impactful since there were big dependency and layout changes.

I mapped those that you mentioned (same behaviour in current prod) and plan to have a fix for those on a smaller PR soon.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Sounds great!

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

The table headers do look a little strange to me, but also happy if you fix in another PR.

Screenshot 2025-10-28 at 11 17 08 pm

Copy link
Copy Markdown
Contributor

@mrcointreau mrcointreau left a comment

Choose a reason for hiding this comment

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

LGTM

@p2arthur p2arthur merged commit 00298f1 into main Oct 28, 2025
2 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.

3 participants