|
| 1 | +# BUILD_PR_STYLE_SAMPLES_INDEX_UI_BEHAVIOR_RESTORE |
| 2 | + |
| 3 | +## Purpose |
| 4 | +Restore the remaining samples index UI behavior without changing the current page shell or styling structure. |
| 5 | + |
| 6 | +## Single PR Purpose |
| 7 | +Fix the remaining `/samples/index.html` behavior regressions: |
| 8 | +- restore all sample-filter dropdowns |
| 9 | +- restore the pinned list |
| 10 | +- change the tile pin affordance back to a pin, not a button |
| 11 | +- restore preview images |
| 12 | +- make the preview image the launch link |
| 13 | +- add hover zoom on the preview image |
| 14 | + |
| 15 | +## Confirmed Current State |
| 16 | +The page shell is acceptable and should be kept. |
| 17 | +Remaining problems are behavior/data/UI details: |
| 18 | +- filter bar is showing |
| 19 | +- dropdowns are not all showing/working |
| 20 | +- pin is showing as a button instead of a pin |
| 21 | +- pinned list is not showing |
| 22 | +- preview image is missing |
| 23 | +- preview image should be the `<a>` launch target |
| 24 | +- preview image should zoom on hover |
| 25 | + |
| 26 | +## Required Fix Direction |
| 27 | +1. Keep the current page rendering shell. |
| 28 | +2. Restore the original intended samples index UI capabilities only. |
| 29 | +3. Do not redesign the page. |
| 30 | +4. Do not restyle the entire page. |
| 31 | +5. Reconnect the current shell to the correct data/UI behaviors. |
| 32 | + |
| 33 | +## Required Behavior To Restore |
| 34 | +### Filters |
| 35 | +Restore all sample filter controls, including: |
| 36 | +- phase |
| 37 | +- class |
| 38 | +- the remaining third filter currently missing from the restored page |
| 39 | + |
| 40 | +The filter UI must both render and function. |
| 41 | + |
| 42 | +### Pinning |
| 43 | +Restore pinning behavior so that: |
| 44 | +- the tile affordance is a pin, not a generic button |
| 45 | +- the pinned list/section is visible again |
| 46 | +- pinned state is reflected correctly in the UI |
| 47 | +- pinning behavior works from the tile UI |
| 48 | + |
| 49 | +### Preview Image |
| 50 | +Restore preview image behavior so that: |
| 51 | +- each sample tile shows the correct preview image |
| 52 | +- the preview image is wrapped by the launch `<a>` |
| 53 | +- clicking the preview image launches the sample |
| 54 | +- the preview image has zoom-on-hover behavior |
| 55 | +- this is implemented through shared CSS/markup behavior, not inline styling |
| 56 | + |
| 57 | +## Required Rules |
| 58 | +- no embedded `<style>` blocks |
| 59 | +- no inline `style=""` |
| 60 | +- no JS-generated styling |
| 61 | +- keep scope limited to `/samples/index.html` and directly related sample-index UI/data/rendering dependencies |
| 62 | +- preserve the current accepted page shell |
| 63 | +- restore capability, not redesign |
| 64 | + |
| 65 | +## Likely Root Causes To Check |
| 66 | +- incomplete filter metadata wiring |
| 67 | +- missing filter render path for class/third filter |
| 68 | +- pinned-list render path disconnected |
| 69 | +- pin UI simplified during restore |
| 70 | +- preview image field not mapped from sample metadata |
| 71 | +- image anchor wrapper removed |
| 72 | +- hover-zoom class/markup no longer applied |
| 73 | +- current template only partially restores the original tile model |
| 74 | + |
| 75 | +## Acceptance |
| 76 | +- `/samples/index.html` shows all intended filter dropdowns |
| 77 | +- filters function correctly |
| 78 | +- tile pin is shown as a pin, not a button |
| 79 | +- pinned list is visible and working |
| 80 | +- sample preview images render correctly |
| 81 | +- preview image is the launch link |
| 82 | +- preview image zooms on hover |
| 83 | +- current page shell and header/body consistency remain intact |
| 84 | +- change is visually and functionally testable |
0 commit comments