• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

ThePalaceProject / web-patron / 36756800194
27%

Build:
DEFAULT BRANCH: main
Ran 30 Sep 2026 06:13PM UTC
Jobs 1
Files 111
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

30 Sep 2026 06:11PM UTC coverage: 26.324% (-0.6%) from 26.946%
36756800194

push

github

web-flow
Support for pin reordering (PP-3116) (#205)

## Description

Adds reordering of pinned libraries ("My Libraries") on the
multi-library home page. It is behind the existing
`PALACE_CPW_FEATURE_PINNING` feature flag.

- **Reorder mode:** a **Reorder** button next to the "My Libraries"
heading when two or more pinned libraries are shown. In reorder mode it
reads **Done**.
- **In reorder mode, each pinned card shows:**
  - a grip handle for mouse dragging;
- stacked **Move up** and **Move down** buttons for keyboard use. At
either end of the list the matching button is disabled but stays
focusable.
- **In reorder mode, the cards:**
- show the library name as plain text, so clicking a card does not open
the library;
  - have no hover effect;
  - show no pin button.
- **Moves:**
  - the new order is saved to the browser right away;
- moves are announced to screen readers ("Alpha Library moved to
position 2 of 3.");
  - after a button move, focus stays on the pressed button.
- **Hidden pins:** moves go to the position of a target library by id.
So pinned libraries that are stored but not shown (missing from the
server list) do not throw moves off.
- **Item landing page:** shows the pinned order but offers no
reordering.
- **New dependencies:** `@dnd-kit/core`, `@dnd-kit/sortable`,
`@dnd-kit/utilities`.
- **Translations:** new strings in French, Italian, German, and Spanish.
The reorder terms are added to the translation glossary.

> [!IMPORTANT]
> This branch is stacked on #203, which is, in turn, stacked on #202.
Those must land before this PR is merged.

## Motivation and Context

Patrons who pin several libraries may want their most used or preferred
library(ies) first.

[Jira PP-3116]

## How Has This Been Tested?

- Manually tested in local dev environment (in Chromium and Safari
browsers).
- New tests for the new functionality.
- All tests / checks pass locally and [in
CI](https://github.com/ThePalaceProject/web-patron/actions/runs/36370541703).

## Ch... (continued)

354 of 1772 branches covered (19.98%)

Branch coverage included in aggregate %.

7 of 67 new or added lines in 7 files covered. (10.45%)

2 existing lines in 1 file now uncovered.

764 of 2475 relevant lines covered (30.87%)

8.59 hits per line

Uncovered Changes

Lines Coverage ∆ File
35
1.27
0.12% src/components/PinnedLibraryList.tsx
8
1.61
-0.43% src/components/MultiLibraryHome.tsx
8
16.67
src/components/PinnedLibraryReorder.tsx
7
1.35
-0.26% src/utils/pinnedLibraries.ts
2
4.24
-0.07% src/components/context/PinnedLibrariesContext.tsx

Coverage Regressions

Lines Coverage ∆ File
2
1.27
0.12% src/components/PinnedLibraryList.tsx
Jobs
ID Job ID Ran Files Coverage
1 36756800194.1 30 Sep 2026 06:13PM UTC 111
26.32
GitHub Action Run
Source Files on build 36756800194
  • Tree
  • List 111
  • Changed 7
  • Source Changed 0
  • Coverage Changed 7
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • 0b68601d on github
  • Prev Build on main (#36523683808)
  • Next Build on main (#37025394249)
  • Delete
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc