SolidOS / SolidOS/solidos

Developer Learnings while developing profile-pane

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

Nobody has claimed this yet.

Dominant language
JavaScript
Stars
146
Forks
21
PR merge metrics
No merged PRs in 30d

Description

I wanted to create a ticket to track some things I have learned from developing profile-pane as well as some developer standards that we have discussed along the way so that we can discuss here and then be able to write a developer standards document at some point maybe sooner if possible rather than later.

Learnings

  • We need all 3 responsive rules when working on our panes in order to work in mashlib. data-layout=mobile, container and media. Container is particularly important especially when using panes in panes for instance the profile-pane inside contacts-pane. It is also need to combat the table structure above it.

My research said this

Media queries are used for 
    - [ ] environmental/device concerns
    - [ ] accessibility preferences
    - [ ] viewport-level app shell``` but I found that media queries are used in the rolled up mashlib. I would like to investigate this further as we have duplicated logic between all 3 sections at this time. My thoughts were media for standalone, container for mashlib and data-layout=mobile for mobile only.

where should we attach input dialogs
not sure about this, needs more research currently it is attached to the body
The dialogs need to be attached to the pane root in our setup so that the container queries can work. If you attach to the body in our scenario the embedded app can suddenly render:
* huge desktop dialogs
* wrong breakpoints
* incorrect mobile layout

Developer style from conversations in tickets from Noel and in meetings

  • We want to use typescript
  • Style sheets should live next to the typescript file they style
  • Style sheets that style multiple typescript files will reside in a styles folder.
  • We shouldn't use utility classes on sr-only and hidden.
  • Right now I have used BEM in profile-pane, but this is up for discussion there is another system Noel found here and because we are using web components the styles exist in those.
  • Need to add copilot prompt etc in commits.

Things that would be good to do

Contributor guide

Open the contributing guide

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 by reviewing profile-pane's responsive rules and the open questions about media, container, and data-layout=mobile. Compare the stated dialog attachment behavior and collect the TypeScript and stylesheet conventions described in the issue. Done means the agreed standards and remaining decisions are captured in a developer standards document.

Written by the indexing model from the issue text.

Assessment

Tech stack
css, typescript
Domain
developer-experience, documentation
Issue type
Documentation
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.