rucio / rucio/webui

Intertwined server and client components parts

Open
#817 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug ui-component
Dominant language
TypeScript
Stars
5
Forks
36
Avg merge
6d 17h
Merged PRs (30d)
7

Description

Description

Some client components are composed of parts bound by hooks or callbacks, and other parts, which does not contain interactive elements. Therefore, each of them could be divided into two separte components:

  • One with the part connected to hooks, callbacks, event handlers etc., which would have use client sentence at the top of its file.
  • Another one with the part which could be easily rendered on server side, i.e. headers, subheaders, descriptions.

After this split, these components could be combined in one component passed to the server side.

Steps to reproduce

One example of such component:

  1. Go into the /src/component-library/pages/Rule/approve/ApproveRule.tsx.
  2. Look at its structure and distinguish between the part containing headers and tips, and the part with interactive elements.
Rucio WebUI Version

No response

Additional Information

These problem occur in many components, not only in the example provided above.

Contributor guide

No contributing guide indexed for this repository

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.

Research direction

Start with /src/component-library/pages/Rule/approve/ApproveRule.tsx and inspect how its headers and tips are mixed with hooks, callbacks, and other interactive elements. Identify similar intertwined components before changing scope. Done means the static portions can render on the server while interactive portions remain in client components, with the parts composed together.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
frontend
Issue type
Refactor
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.