Projects: load the Storage panel only when it is opened

Open
#516 0 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

Difficulty
3/5
Estimated time
1-2 days
Newbie friendliness
84/100
Issue type
Feature
Clarity
Clearly specified
Activity status
Active
Tech stack
next.js, typescript

Research direction

Start with components/projects/storage-panel.tsx, then inspect where project-manager.tsx renders it and how components/ui/panel.tsx handles folded state. Read the storage end-to-end tests and check the current /projects budget in bundle-budget.json; use pnpm bundle:size to measure the change. Done when the panel body loads on first open, existing tests and the axe scan pass, and /projects is at least 10 kB smaller gzipped.

Written by the indexing model from the issue text.

Description

area: projects difficulty: medium enhancement help wanted performance v2.0.0

Summary

The Brand Projects route is the heaviest after the studios (about 313 kB gzipped) and the Storage panel, with its report code, offline keeping and trimming, ships with it although it starts folded. Load it on first open.

Part of the 2.0.0 plan: fewer, better and fully tested studios, on a calmer and faster site.

Where to look

  • components/projects/storage-panel.tsx and where project-manager.tsx renders it
  • components/ui/panel.tsx
  • bundle-budget.json and pnpm bundle:size

Behaviour

  • Split the panel's body out and load it with next/dynamic when the panel is first opened, with a short placeholder.
  • Keep the folded state, the section state and every existing test working.
  • Lower the /projects budget to the new size.

Acceptance criteria

  • /projects is at least 10 kB smaller gzipped.
  • The storage end-to-end tests pass unchanged.
  • The axe scan passes with the panel open.

Getting started: fork the repo, then pnpm install and pnpm dev (Node 22+, pnpm 11, no API keys). Before opening a PR, run pnpm typecheck && pnpm test && pnpm lint && pnpm format:check && pnpm check:dashes && pnpm build (CI fails on unformatted files, so pnpm format first). See CONTRIBUTING.md and the first contribution walkthrough.

Everything needed is in the repository. This doesn't need maintainer access, secrets or paid services. Comment below to claim it, and ask questions here any time.

Dominant language
TypeScript
Stars
11
Forks
3
Avg merge
5h 44m
Merged PRs (30d)
72

Getting set up

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from yakew7/DesignHub

All issues in yakew7/DesignHub

Similar issues

More TypeScript issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.