Commit Graph

144 Commits

Author SHA1 Message Date
Sanne de Vries 2c00acc89b
Update goal settings design (#5886)
* Update goal settings design

- Replace the `Add goal` button in goal settings with a dropdown button to directly select the goal type. This way, a modal opens with the correct form for the selected goal type. The tabs in the modal have been removed.
- Add a new `pill` component to show the goal type in the table in a more distinct way. The `settings_badge` component is replaced with the `pill` component. The `pill` component that was used in `plan_box.ex` is renamed to `highlight_pill`.
- Replaced `Belongs to funnel` text with a funnel icon in the goal settings list.
- Some small tweaks like increasing the search bar width, the padding of the table cells, and adding a header to the goal settings list.

* Update tests to use the new dropdown component instead of tabs

* Replace custom `pending invitation` pill with new pill component

* Temporary: bump prima to exercise prima dropdown LV re-render fix

* Temporary: Bump prima again

* Revert "Temporary: Bump prima again"

This reverts commit 024b34a6e9.

* Revert "Temporary: bump prima to exercise prima dropdown LV re-render fix"

This reverts commit a6eabb73d0.

* Update prima

* Replace `Add goal` button with dropdown button in goal settings empty state

* Update test to check both empty and non-empty states of the add goal dropdown

* Remove pb-14 from feature gate

---------

Co-authored-by: Adam Rutkowski <hq@mtod.org>
2025-11-24 11:30:55 +00:00
Sanne de Vries b8d64e2eff
Updated empty states across settings (#5874)
* Updated empty states across settings

* Fix funnels and props functionality not hiding when toggled off

- Add show_content? attribute to generic tile component
- Ensure content is hidden when toggled off
- Avoid rendering border and empty space when toggled off
- Fix formatting

* Update personal sites empty state

* Make `tile` component lv-embeddable (#5891)

* Use new tile component for funnels, goals, imports and custom properties

- Update the settings live views to use the new tile component
- Ensure tile component is updated when feature visibility is toggled
- Extract `no_search_results` and `empty_state` components for better readability
- Extract `highlighted` component
- Update tests

* Add empty states for team sites and simplify empty state logic

- Hide top bar on `/sites` when empty state is shown
- Extract empty state logic to a separate function
- Show the same empty state for both personal and team sites, with different copy
- extract search logic to a separate function
- add tests for various empty states cases

* Clean up:
  - remove HTTP feature visibility routes now that
    we're doing it 100% via LV
  - add tests for feature toggling
  - move "site_role" to where it's used (upgrade CTA),
    since there were already some feature-related function calls
    there
  - fix random test failures left

* Fixup

---------

Co-authored-by: Adam Rutkowski <hq@mtod.org>
2025-11-24 07:50:14 +00:00
Sanne de Vries dec382ccd5
Make various UI improvements (#5890)
- Fix invite modal z-index issues
- Improve invite modal design
- Add hover state to stats bars on dashboard
- Improve feature gate design
- Improve trial upgrade CTA design
2025-11-18 13:28:09 +00:00
Adam Rutkowski 08c7d2e948
Consolidated View life cycle + billing integration (#5866)
* Migration: add consolidated views feature to enterprise plans

* Migration: Add user preferences per team table

* Update static plan definitions

* Add feature module definition

* Display consolidated view availability in crm

* Extend ConsolidatedView interface:
 - add functions to manipulate user/team options (for CTA)
 - require at least two sites in order to create a consolidated view
 - require billing/plan compliance when computing eligibility

* Team/User preferences schema

* Implement consolidated view life cycle on /sites

Co-authored-by: Sanne de Vries <sannedv@protonmail.com>
Co-authored-by: Uku Taht <uku.taht@gmail.com>

* Enroll `consolidated_view` feature flag

* Consolidated view access hardening (+feature flag)

- require team-wise feature flag instead of super admin role
- redirect to /sites if the team isn't eligible any more
- enforce regular site in shared links controller

* Remove no longer needed `ConsolidatedView.enabled?/1`

* Alias PrimaDropdown

* No consolidates views for shared links

* Remove user argument from `ok_to_display?`

* Adjust a temporary test

* More elaborate alert

* Fix responsive design issues on sites page

- Fix z-index issue with button dropdown
- Fix truncation issue with team name
- Improve responsiveness of site cards
- Fix focus state of site cards
- Improve responsiveness of consolidated view CTA
- Improve design of prima_dropdown component
- Replace `+` with plus icons in dropdown items

* Use the plus icon for standalone "Add website" too

cc @sanne-san

* Format

* Fix z-index issue with dropdowns on sites page

* Remove TODOs

* Make consolidated view cards disappear when searching

* Clean up test

* Use per-team membership user preferences

* Use conditional instead of `with` statement

* Inline `ensure_eligible`

* Use `Map.fetch!` getting preference from default struct

* fixup

* Revert "Migration: add consolidated views feature to enterprise plans"

Will be included via main branch sync

This reverts commit 05bec55276.

* Fix and test feature-flag effect on both view and CTA cards

---------

Co-authored-by: Sanne de Vries <sannedv@protonmail.com>
Co-authored-by: Uku Taht <uku.taht@gmail.com>
2025-11-12 13:41:24 +00:00
Uku Taht 16cbc07f3d
Use Prima for invitation modal (#5843)
* Replace invitation modal with Prima

* Better focus handling

* Simplify css

* Remove unnecessary transition classes

* Clarify comment about testing

* Fix typo

* Remove alpine.js initialization

* Use prima 0.1.7

* Unlock autumn and rustler deps

* Npm run format

* Fix invitation modal reject button on mobile

Co-authored-by: Bijay-Shre-stha <bijayashrestha929@gmail.com>

* Update assets/js/liveview/live_socket.js

Co-authored-by: Artur Pata <artur.pata@gmail.com>

---------

Co-authored-by: Bijay-Shre-stha <bijayashrestha929@gmail.com>
Co-authored-by: Artur Pata <artur.pata@gmail.com>
2025-11-04 19:21:05 +00:00
RobertJoonas d0ba8f7bd0
Consolidated view settings (#5795)
* render error reason in flash message (cs)

* exclude whole sections in consolidated site settings

* filter settings general

* make goal settings work + tests

* do not render funnels cta

* change title of consolidated view settings

* disable consolidated view revenue goal creation (UI)

* disable consolidated view revenue goal creation (API)

* change title of add goal form

* make Props.suggest_keys_to_allow work for consolidated views

* fix props settings rendering for consolidated views + basic tests

* fix form view + tests

* exclude site settings integrations too

* fix CE tests

* refactor check_no_currency_if_consolidated

* use consolidated? instead of regular?

* use revenue?

* lookup site_ids by site domain

* fix CE

* fix CE again

* extract display_name function
2025-11-04 14:17:26 +00:00
Sanne de Vries d7c641e6a6
Move shared link form to modal (#5849)
* Move shared link form to modal

- As a preliminary step for enabling adding a pinned segment to a shared link, the functionality to add or edit a shared link is being moved to a modal.
- Minor UI improvements, such as update the style of the edit and delete buttons.

* Update tests

- Add shared_link_settings_test.exs for LiveView interactions (deletion, errors)
- Add shared_link_settings/form_test.exs for modal form testing (create, edit, validation)
- Update controller tests: remove deleted actions, update visibility test

* Update lib/plausible_web/components/generic.ex

Co-authored-by: Adrian Gruntkowski <adrian.gruntkowski@gmail.com>

* Update lib/plausible_web/components/generic.ex

Co-authored-by: Adrian Gruntkowski <adrian.gruntkowski@gmail.com>

* Refactor icon button components

* Fix spelling error

---------

Co-authored-by: Adrian Gruntkowski <adrian.gruntkowski@gmail.com>
2025-11-03 12:51:04 +00:00
Artur Pata 457c483416
Omit Subscription and Invoices menu on CE (#5856)
* Update mua

* Fix issue with unexpected menu items

* Update changelog
2025-11-03 09:23:10 +00:00
Sanne de Vries 91363a2825
Improve dark mode (#5819)
* Improve dark mode

- Switch from `slate` to `zinc` for the gray color palette
- Darken overall dark mode UI
- Switch from `green` to `emerald` for the green color palette
- Update a few previously missed instances of title case to sentence case
- Consolidate button styles and change naming from `bright` to `secondary`
- Update button disabled styles
- Fix tooltip not adjusting to content width
- Update graph tooltip layout and typography
- Add transition effects to hover states
- Reduce footer logo size

* Fix oversights

- Update funnel graph colors
- Update graph grid colors
- Improve focus styles
- Improve disabled input styles

* Fix more oversights in relation to dashboard filtering

- Improve consistency of input, button, combobox and modal components in relation to settings area
- Fix segment tooltip color

* Fix search input style in funnel and segments dropdowns

* Add white background to favicon images in dark mode

- The GitHub and ChatGPT favicons are hard to see in dark mode, so we add a white background to them.

* Fix tooltip color to fit all backgrounds in dark mode

* Fix tests

* Fixed more tests

* Extract SourceFavicon component to eliminate favicon duplication

* Fix regression on installation page after rebase

* Fix formatting issues

* Fix favicon test failure in CI by reading placeholder icon at compile time

* Undo previous commit
2025-10-28 08:28:15 +00:00
Artur Pata 51b56f496d
Fix 2FA disable dialog (#5827) 2025-10-24 15:25:57 +00:00
Artur Pata 49317f57fc
Stop docs info icon hovering over account menu (#5823) 2025-10-24 11:04:21 +00:00
Uku Taht f3d326b735
Upgrade phoenix & liveview (#5766)
* Upgrade phoenix and phoenix_live_view

* Use new phoenix controller options

* Run mix format

* Upgrade lazy_html and bcrypt

* Always put root layout

* Remove deprecated use Plug.Test

* Escpaing updates for LazyHTML

* Fix double layouts in site settings

* Fix more escaping in tests

* More LazyHTML updates

* Fix remaining LazyHTML issues

* More Floki -> LazyHTML conversions

* More Floki -> LazyHTML conversions

* Fix another issue with Floki -> LazyHTML

* Fix another lazyHTML issue

* Remove parsing from tree

* Fix HTML escaping in teams_test

* More test fixes

* More test fixes

* Add layout to browser_sso_notice pipeline

* Extract elem_count helper
2025-10-07 12:29:48 +00:00
Artur Pata 306290ad11
Fix wrapping in .tooltip (#5775)
* Fix wrapping in .tooltip

* Add min width to tooltip
2025-10-06 13:06:22 +00:00
Uku Taht 6cdf8016e7
Tailwind v4 (#5756)
* WIP

* Add tailwind migration script

* Change deprecated classes via migration script

* Manual fixes

* Restore color configuration with CSS variables

* Convert the rest of the config

* Fix dropdown ring opacity

* Remove migration script

* Fix stylelint errors

* NPM run format

* Fix shadow and rounded variant usage

* Add custom CSS to components layer

* Fix dark: and hover: conflict in settings_tab

* Fix funnel form background opacity

* Fix final bg-opacity

* Bring back cursor-pointer for buttons by default

* npm run format
2025-09-29 15:21:15 +00:00
Sanne de Vries 36030b4bf7
Improve upgrade message for SSO feature (#5751)
- Create more visually appealing upgrade message
- Add upgrade component so it can be used in other places
2025-09-24 14:30:33 +00:00
Sanne de Vries 0c2e93e9e9
Improve the notice component visually (#5750)
- Adjust text and background color for light and dark mode
- Adjust spacing
- Swap two icons in site settings sidebar (unrelated to notice component)
2025-09-24 10:04:46 +00:00
Sanne de Vries 1991235492
Add tooltip to info icon in settings (#5745)
- Add "Learn more" tooltip to the info icon that is used repeatedly in settings to link to docs, for extra affordance.
- Add centered? attribute to tooltip component.
- Replace the tooltip-content class with testid attribute, as it was only used for testing purposes.
2025-09-22 14:59:18 +00:00
Sanne de Vries b59a49fb4f
Improve site dropdown ui (#5746)
- Adjust icon sizes and colors to be consistent with the icons in settings
- Improve the pin icon to be consistent in look and feel with the Heroicons
- Changed pinned icon color from red to indigo
2025-09-22 14:53:29 +00:00
Sanne de Vries 2dc48d4008
Improve account, team, and site settings areas visually (#5740)
- Improve the spacing and typography of the settings sidebars
- Improve the spacing between form components
- Change UI copy from Title Case to Sentence case for a more natural reading flow
- Improve subtitle and label copy
2025-09-22 10:40:11 +00:00
Sanne de Vries 897d3c5044
Clean up number formatting util (#5725)
* Clean up number formatting util

- Deduplicate number_format util
- Add tests for number_format util
- Add number formatting to visitor change percentage in site overview

* Move number_format to TextHelpers

- Move number_format to a more generic place in TextHelpers
- Revert the places where we use unlimited to use the inline util
2025-09-17 07:40:40 +00:00
RobertJoonas 17675af4d0
Clean up old upgrade page (dead code) (#5652)
* remove deprecated modules/fns

* get rid of starter_tier flag

* remove legacy? arg from plans
2025-08-19 09:12:48 +00:00
Adam Rutkowski e7e553cf9d
Fix shifting focus to filter bar when typing / in a legit input (#5583)
* Fix shifting focus to filter bar when typing / in a legit input

* Format
2025-07-24 10:42:42 +00:00
Adrian Gruntkowski 144b58e508
Put SSO among plan features, replacing "Technical onboarding" (#5587) 2025-07-23 11:07:04 +00:00
Adrian Gruntkowski 5d71ab9234
Implement CTA for SSO (#5582) 2025-07-22 11:31:54 +00:00
Adam Rutkowski 528693889d
CRM: add ability to deprovision individual users (#5537)
* CRM: add ability to deprovision individual users

* Use existing user fetching interface

* Remove unused table column

* Deprovision with proper refresh afterwards
2025-06-30 08:40:17 +00:00
Adrian Gruntkowski 39656f782c
Implement listing and revoking of SSO sessions from team settings (#5529)
* Refactor and unify logic for account and site settings sidebars

* Implement listing and revoking of SSO sessions from team settings
2025-06-26 08:48:25 +00:00
RobertJoonas d00dde183e
Starter Tier: Getting ready for release (#5489)
* make starter tier flag team based not user

* old upgrade page for active or recently ended trials

* adjustments to plan benefits

* mention losing grandfathering when on v4

* extract plan benefits into separate module

* unit tests for plan benefits + fix enterprise site/team_member benefits

* hide Starter tier from grandfathered Growth

Also get rid of the grandfathered notice in Growth plan box

* choose_plan_test.exs to ee_only

* fix ci

* actually fix ci

* stop displaying new starter features for grandfathered teams

* bump starter tier launch date

* Revert "stop displaying new starter features for grandfathered teams"

This reverts commit e024a82d14.
2025-06-11 12:48:22 +00:00
Adrian Gruntkowski 153702c20f
Implement SSO setup UI (#5473)
* Extend core APIs for better insight into SSO state during setup

* Adjust `toggle_switch` compoenent to accept global attributes

* Improve textarea variant of input component

* Make first very crude pass on SSO setup UI

* Display "Single Sign-On" settings option only when enabled

* Extract SP identity ID function to SAMLConfig as a public one

* Move SAML controller logic behind an adapter

* Don't apply CSRF protection to SAML consume endpoint

* Make copy adjustments

* Change SSO sidebar icon

* Fix `fake_domain_verify` handling before integration is set up

* Tweak configuration markup

* Sanitize PEM input

* Tweak SSO settings sections + prevent domain deletion if applicable

* Minor tweaks to SSO settings tiles

* Bootstrap basic test suite

* Ensure SSO settings are guarded by env var

* Make sure to retry fake domain validation on integration-less cycle

* Trim idp entity id input

* Dedup assertions

* Fix domain identifier interpolation

* Tidy up integration fetching

* Expand tests for SSOManagement LV with fixes

---------

Co-authored-by: Adam Rutkowski <hq@mtod.org>
2025-06-11 10:52:20 +00:00
hq1 bdc44d1d33
CRM: Refund lock (#5480)
* Redefine what `on_trial?` means

No subscription combined with
non-zero trial_days_left designates an ongoing trial.
Conversely, any subscription in any state means
the trial is inactive.

* Fix cancellation notices

We now show the cancellation warning
when the subscription is about to expire.

* Implement the ability to lock cancelled subscriptions

in case a refund is made

* Dedup notice body

* Spawn confirmation alert before locking
2025-06-09 13:53:40 +00:00
RobertJoonas 38f1de6ecd
Starter Tier: Teams UI follow-ups (#5456)
* keep teams feature explicitly for UI

* keep devsubscriptions in sync with prod

On prod, when a subscription is created without a current team in assings,
a new team is force created for that user.

* disable team creation when no point to create it

* fix ce_test compile warning

* fix tests on CE

* Update lib/plausible/teams/billing.ex

Co-authored-by: hq1 <hq@mtod.org>

* add solo team in seeds

* fix top border blur + stop autofocusing input when blurred

---------

Co-authored-by: hq1 <hq@mtod.org>
2025-06-03 10:14:50 +00:00
hq1 f86ef2a4c1
Add phx-submit to filter bars (#5455) 2025-06-02 13:20:31 +00:00
Marko Saric bd2e32586e
Small changes to the teams copy (#5450)
* Update _header.html.heex

* Update notice.ex
2025-06-02 12:07:37 +00:00
RobertJoonas e38bda6d00
Starter feature gates (UI) (#5426)
* replace yellow warning notice with more inviting cta (funnels)

* align VAT notice with /year on the upgrade page

* improve tooltip component

do not hide the tooltip when the mouse enters the tooltip itself directly
from the trigger element. This allows clicking links in tooltips.

* improve site segments feature gate UI

Disable the save button when site segment option is selected in create or
edit form. Also render a different upgrade notice if the user is not the owner.

* replace upgrade notices with blur UI

To fully get rid of Notice.premium_feature, we will also display a
"not allowed" cursor with tooltips asking to upgrade where necessary.

* extract toggle switch component

* Hide currency toggle from goal edit form

The currency field cannot be changed for an existing goal anyway. Therefore
it makes sense not to show it at all. This commit makes the currency picker
always visible when editing a revenue goal, and always hidden for custom
event edit form.

* simplify api key creation form

Turn "Sites API access" into a toggle switch identical to "Enable revenue
tracking" in goal creation form.

* remove team setup CTAs for Starter tier

* fix team member limit for starter

* adjust v5 plan limits and limit exceeded notices

* do not display global notices on upgrade-success page

* fix settings/subscription monthly quota boxes alignment

* fix CI

* use tailwind backdrop-blur

* remove dangling log + avoid passing setSaveDisabled

* remove duplicate function clauses revenue goals

* revert create api key UI change but disable button still

* optimize for darkmode

* blur team settings > team members for Starter

* rename team accounts to team management
2025-05-30 13:34:19 +00:00
RobertJoonas 2dd144bf85
Starter tier: Upgrade page remodelling (#5394)
* add a new (feature flagged) upgrade page offering v5 plans

* include starter tier plans in available_plans_for + use dev prices in test

* upgrade page remodelling with starter tier

* mobile optimizations

* optimize for darkmode

* add embedded dashboards as a growth benefit

* do not hide header on LegacyChoosePlan

* consistent v5 plan feature order

* slight grandfathering notice adjustment

* display monthly price too on yearly plans

* default to v5 plans unlesss legacy? is true

* refactor: suggest volume not plan for emails

* align back link with page title

* render grandfathering notice for growth v4 too
2025-05-20 13:22:12 +00:00
Uku Taht 680eaa563a
Initial UI mock for scriptv2 onboarding (#5383)
* Add flag for scriptv2 onboarding, render different installation screen

* Manual installation screen mockup

* Use phoenix form helpers

* Format

* Move manual tagging to advanced options
2025-05-19 13:21:50 +00:00
RobertJoonas 18907aef63
Starter Tier: Add plans and Mix tasks (#5392)
* fix sandbox plans v4 to be in sync with prod ones

* sync sandbox plans + unify formatting

* create v5 plans in paddle prod + sandbox + Mix.tasks

* add teams and shared links features

* remove unused line of code

* paddle credentials as module attrs

* remove teams and shared links as growth benefits for time being
2025-05-15 10:02:43 +00:00
hq1 c009b92fca
Customer support (#5390)
* Add profile_url helper clause

* Add notes

* Sort features alphabetically

* Fix checkbox/textarea components

* Unrlelated: update combobox docs

* Initial customer support UI

* Unrelated: don't expand member dropdown if disabled

* Cross link both CRMs

* Remove unused things

* Stop polluting history with tab navigation

* Truncate search results

* Format

* Use routes in favour of phx-click events

* Fix / keypress to search focus

* Rename phx event

* Rename remaining save events

* Fix up x-data

* Fix alpine placeholder event

* Enable progress animation with topbar

* Team: separate assign clauses per tab

* Site: separate assign clauses per tab

* lint

* Replace URI patch on filter text update

* Unifyu filter_bar component usage

* !fixup

* Fix up filter form event name

* Fix number formatting as you type

* Fix enterprise plan number inputs

* Link CS from HelpScout

* Remove target=_blank from kaffy URLs

* Pre-fill custom plans

* Rework the billing tab

* Make checkbox labels clickable

* Put Stats API first

* Format

* Credo

* !fixup

* Don't show empty labels
2025-05-15 08:05:32 +00:00
hq1 b9ee37ef8c
Adjust notices & permissions (#5348)
* Change how generic notices refer the account

It's now "This team", unless no team is selected.

* Only owner and billing roles can access/manage subscriptions

* Change how Team Settings options are exposed:

- Subscription only available to owner/billing roles
- Invoices only available to owner/billing roles
- API Keys only available to owner/billing/admin/editor roles

* s/team members/members - to avoid repetition

* Only owner/billing can manage dev subscriptions

* Adjust existing tests

* Add test
2025-04-22 06:05:58 +00:00
RobertJoonas cb465511bb
Streamline creating/updating/deleting subscriptions in development (#5328)
* streamline dev subscriptions

* spawn -> Task

* fix button alignment

* do not define routes in test env

* remove explicit mentions of dev env when deciding whether to sandbox paddle

* decide checkout behaviour at compile time

* Timex -> Date

* hum

* make it work for enterprise plans too

* allow convenient subscription status change

* fix ci warnings

* remove redundant commented out code

* fix crash + review suggestion

---------

Co-authored-by: Adam Rutkowski <hq@mtod.org>
2025-04-16 13:43:17 +00:00
Adrian Gruntkowski 6ed7d1f8cc
Add styling to CTA link (#5271) 2025-04-03 11:28:53 +00:00
Adrian Gruntkowski a715ed2f32
Remove Editor->Admin site role conversion and limit permissions (#5210)
* Remove editor->admin mapping from Site Settings > People

* Restrict editor role and allow admin to update site role

* Disable actions in Site Settings > People for roles other than admin and owner

* Fix test

* Update labeling of guest members in CRM for clarity

* Update phrasing in other spots of UI

* Update CHANGELONG.md

* Revise team related banners displayed under Site Settings > People

* Fix permissions check for role update
2025-04-03 11:04:19 +00:00
Marko Saric a1c1f09a73
change the copy on the top of a new dashboard (#5262) 2025-04-02 07:49:17 +00:00
RobertJoonas 8d98a75cd5
Upgrade page fixes (#5248)
* recommend business plan if user on business plan already

* fix billing notices on choose-plan page
2025-03-31 10:19:34 +00:00
Artur Pata 5d966208da
Fix pageviews slider (#5209)
* Reposition pageview slider

* Claw back horizontal space so as not to wrap slider output on screens ~1024px wide
2025-03-26 10:35:40 +00:00
Artur Pata f698bbbf57
Clean up Saved Segments feature flags (#5228)
* Clean up Saved Segments feature flags

* Update feature name in Growth tier
2025-03-25 08:06:24 +00:00
hq1 74f02b6cbe
Docs links for teams (#5216)
* Update Team Settings tiles with docs links

* Update

* Add docs link to team setup CTA target

* s/user-roles/users-roles
2025-03-20 08:12:22 +00:00
hq1 629902cdbc
Get rid of `billable_user` in favour of `current_team_role` (or `site_role` if need be) (#5180)
* Get rid of `billable_user` in favour of `current_role`

* s/current_role/current_team_role

* Sort it out (tm)

* Remove unresolvable property from sentry context

* Test & adjust dashboard locked box

* Satisfy a test
2025-03-12 14:40:30 +00:00
Adrian Gruntkowski 486a272498
Refine team switching and switch from `my_team` to `current_team` (#5144)
* Rename "My Team" to "My Personal Sites"

* Rename "Create" to "Setup" in context of teams

* Set default Team Name to "Username's Team"

* wip

* end

* Expose team identifier

* fixup

* team id

* wip

* Rename `Teams.name()` -> `Teams.default_name()` for clarity

* Update test name

* Always reset team name when navigating to Team CTA

* Always use default team name for non-setup team

* Add tests for team name function

* Put sites list heading change behind FF

* Don't rely on FF for implicit team existence check

* Remove unnecessary team pick by parameter in site creation action

* Put first 3 teams in auth assigns context

* Fix setting current team from session

* Make `dropdown_item` component accept method for link

* Implement embedded team switcher in nav bar

* Store only personal team under my_team

* WIP

* Minor team switcher visual tweak

* Fix personal team selection

* Show only guest sites when no team picked

* Show CTA only in reference to `@my_team`

* Fix dedicated team switcher view

* Move picker indicator to the right in dedicated team select

* Alter site listing logic and fix tests

* Add viewer invitation to seeds

* Fix embedded team switch display condition

* Switch current team after setup

* Explicitly clean current team session value when no longer valid

* Remove redundant team switching logic

* Add quick link to team settings

* Don't show quick link when there's no current team

* Fix dedicated team switcher for no current team case

* Add test for my team fallback case

* Don't allow opening team settings for personal team

* Fix formatting

* Add site listing tests

* Fix team switching to avoid clash with existing conn params

* Fix formatting

* Remove unneeded `method` from `dropdown_item` component

* Decalre attributes for `team_switcher` component

* Render Invoices/Subscription sections based on team state

* Fix formatting

---------

Co-authored-by: Adam Rutkowski <hq@mtod.org>
2025-03-11 08:31:12 +00:00
hq1 2cc3615486
Team Management UI (#4997)
* Start PromEx first; don't run the Oban plugin in test

* Implement `find_team_invitations`

* Implement `all_members`

* Allow disabling e-mail notifications on team member removal

Will be needed later, when operations are applied
in bulk and notifications go out only when transaction
succeeded.

* Fix visuals per @ukutath's suggestions

* Add `:setup_team` test context function

* Don't show team settings in the sidebar, if setup incomplete

* Add high-level interface for team layout arrangement

Will be used in setup but also later on, in membership settings.

* Update team/setup to use `Team.Management.Layout`

* Implement team general settings allowing layout arrangement

* Format

* Remove unused setup_team

* Add id attributes to member dropdown elements

* Format

* Unify team management experience

By sharing the same form layout in both views,
and enabling promoting guests to team members
in a separate section.

* Rename Invitations/Memberships getters

* Tweak team setup layout

* Update team setup markers only once

* Update tests

* Add another future regression test

* Fix typo

* Prune guest memberships on guest->team member promotion

* Remove now unnecessary `Candidates` module

* Add missing tests

* Catch up on multiple owners fixes

* Add missing describe-block setup

* Hopefully make Layout easier to follow

* Remove default prevention from dropdown

* Remove unused assign

* Make `sorted_for_display` skip scheduled for deletion

* `use PlausibleWeb.Component`

* Use `data-test-kind` for test specific selectors

* Remove `class="relative"` from `.dropdown` instances
2025-02-10 06:48:36 +00:00
RobertJoonas 1ae350a4e0
Looker studio (#5032)
* add very basic info box in site settings > integrations

* add looker studio as plan benefit

* add paragraph of text

* remove unwanted comma

* hide new settings section on ce

* moduledoc

* organize files and modules better + call ee-only condition in template

* move everything into a single template
2025-01-30 16:16:03 +00:00