analytics/test/plausible_web/live
Adrian Gruntkowski f464ceae88
Implement pinned sites (#3469)
* Revert "Remove site pins for now"

This reverts commit 5eccf4eaf6.

* Implement basic site pin schema level logic within user specific preferences

* Add vertical ellipsis menu markup

* Implement basic changesets for user preferences

* Implement pin toggling

* Try to fix pin sorting

* Implement pin toggling in LV

* Adjust moduledocs for new schema(s)

* Remove unnecessary `distinct` from query

* Use `button` for pin/unpin action

* Generalize preference setting

* Rename schema and fields for clarity

* Rename `list_type` -> `entry_type`

* Safeguard setting options

* Test `set_option/4` and `toggle_pin/2`

* Add test for listing pinned sites via `Sites.list`

* Disallow pinning sites outside page explicitly

* Test pinning in LV

* Test conditional rendering of site settings in /sites

* Remove unnecessary TODO comment

* Safeguard `Sites.set_option/4` against invalid user/site combo

* Handle pinned sites in dashboard site picker

* Clear flashes upon (un)pinning sites

* Update CHANGELOG

* Prevent blinking of hamburger menu items on first paint

* Highlight hamburger handle on hover in /sites

* Start showing hotkeys in site picker again

* Sort pinned sites in the order they were pinned

* Update sites list order immediately after pin/unpin toggle

* Refactor and split `Sites.list/3`, extracting `Sites.list_with_invitations/3`

* Cap number of pinned sites at 9 per user

* First pass on visual indication of site cards (dis)appearing

* Apply ellipsis gradient+shadow on card hover

* Fix responsive padding of site cards

* Sort by invitations first, pinned sites second and then the rest

* Revert "Apply ellipsis gradient+shadow on card hover"

This reverts commit 0608796612639030ccbb12df639709f78edc1434.

* Apply more subtle hover effect on the ellipsis menu

* Make error and success flash LV boxes use separate component containers

* Promote `pinned_at` in table migration to a column

* Switch logic to using `pinned_at` as a standard schema field

* Refactor `Sites.list*` getting rid of subquery (h/t @ukutaht)

* Remove migration which is already merged upstream

---------

Co-authored-by: Adam Rutkowski <hq@mtod.org>
2023-11-13 09:08:26 +01:00
..
components Upgrade Erlang/Elixir stack (#3454) 2023-10-24 10:33:48 +02:00
funnel_settings Bugfix: ComboBox navigation with creatable on top (#3316) 2023-09-04 14:56:31 +02:00
goal_settings Upgrade Erlang/Elixir stack (#3454) 2023-10-24 10:33:48 +02:00
props_settings Props Settings UI to match Goals Settings (#3322) 2023-09-13 14:55:29 +02:00
choose_plan_test.exs Business tier bug smash (#3493) 2023-11-08 10:24:30 -03:00
funnel_settings_test.exs Extract button component (#3474) 2023-11-08 11:40:07 +02:00
goal_settings_test.exs Plugins API: 2nd pass with Goals resource + SharedLinks schema changes (#3396) 2023-10-05 11:54:18 +02:00
plugins_api_tokens_test.exs Track tokens usage (#3438) 2023-10-18 14:14:30 +02:00
props_settings_test.exs Props Settings UI to match Goals Settings (#3322) 2023-09-13 14:55:29 +02:00
register_form_test.exs Implement better user password validation (#3344) 2023-09-25 10:27:29 +02:00
reset_password_form_test.exs Handle missing or expired token in password reset action and LV gracefully (#3387) 2023-10-02 15:11:59 +02:00
sites_test.exs Implement pinned sites (#3469) 2023-11-13 09:08:26 +01:00