openedx / openedx/paragon

RTL: ProductTour checkpoint arrow style error

Open
#1,634 4 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
JavaScript
Stars
140
Forks
100
Avg merge
1h 3m
Merged PRs (30d)
30

Description

As the title suggests, the ProductTour RTL support is incomplete.

Descrption

As I was testing frontend-app-learning both in local dev (master) and in our [demo site] (fennx.fennectech.net) (nutmeg.1)
I've noticed that user tours in Arabic have 2 style issues with the checkpoint dialog arrow: (with screenshots)

Issue 1

when popper tooltip placement is top or bottom. the arrow appears shifted to the right by half the size of the dialog.

  • Placement: top (expected blue arrow in the center top of the dialog, appearing far to the left)
    Screenshot from 2022-09-19 17-31-38

  • Placement: top (expected gray arrow in the center bottom of the dialog, appearing far to the left)
    Screenshot from 2022-09-19 17-30-42

Issue 2

when popper tooltip placement is left or right, the arrow direction is reversed.

  • **Placement: right ** (gray arrow expected to the left, appearing on the right)
    Screenshot from 2022-09-19 17-36-11

I currently lack a working paragon dev environment to provide a fix myself.
I also lack information about why the ProductTour arrow was styled this way in the first place.

Possible reason for issue 1

  • Thepopper library does a good job listening to changes on the #pgn__checkpoint element and positions the arrow accordingly.
  • The style overrides provided in src/ProductTour/Checkpoint.scss define the shape of the arrow and adjust its position slightly, but they enter in conflict with element.style applied by popper to the #pgn__checkpoint-arrow element. The overrides work well for LTR, but things need to be rewritten for RTL support.
  • I tried to disable almost every positioning rule in Checkpoint.scss applied to #pgn__checkpoint-arrow and I could have the arrow nearly centered.

I'd be glad if the person who wrote this part of the style could assist us in providing a fix for the two issues above.
Thanks in advance

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

Read src/ProductTour/Checkpoint.scss and inspect how popper positions the #pgn__checkpoint-arrow element for each tooltip placement. Reproduce the RTL ProductTour checkpoint cases, then verify that top and bottom arrows are centered and left and right arrows point in the correct direction.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript, scss
Domain
frontend, internationalization
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
42/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.