Commit Graph

527 Commits

Author SHA1 Message Date
Steve Larson
4bdd8366ea
Removed beta editor flag from admin x settings (#18473)
no refs
2023-10-04 13:35:34 +00:00
Peter Zimon
09af419db0
Update "Saved" button state in AdminX (#18469)
refs. https://github.com/TryGhost/Product/issues/3949

- "Saved" state of buttons in modals were not distinct enough to see
that there's been a successful save
2023-10-04 14:34:41 +02:00
Peter Zimon
223a1d7767
Adding CMD/CTRL+S to AdminX (#18466)
refs. https://github.com/TryGhost/Product/issues/3949

- it wasn't possible to save setting values in AdminX with CMD/CTR+S
2023-10-04 13:36:06 +02:00
Ronald Langeveld
70a805463a
Added Portal acceptance tests in Admin X (#18465)
no issue

---

<!-- Leave the line below if you'd like GitHub Copilot to generate a
summary from your commit -->
<!--
copilot:summary
-->
### <samp>🤖 Generated by Copilot at 7ab405d</samp>

This change adds a new file `portal.test.ts` that contains acceptance
tests for the Portal Settings feature in the admin-x-settings app. The
tests use Playwright to verify that the portal settings can be
customized and saved correctly. The change aims to improve the test
coverage and confidence for the new feature.
2023-10-04 11:06:59 +00:00
Peter Zimon
235b346fda
AdminX UX improvements (#18449)
refs. https://github.com/TryGhost/Product/issues/3949

- added `isSearchable` to Select component (default `false`) so that only specific selects are searchable
- added `onFocus` and `onBlur` to select so that it can search for "/" and doesn't jump to the searchfield
2023-10-04 12:09:04 +02:00
renovate[bot]
6ec3a600cc Update dependency vite to v4.4.10 2023-10-04 08:35:18 +02:00
Sodbileg Gansukh
58ccca378a Source theme improvements in AdminX
no issues

- now the crossfade effect starts immediately after Source theme thumbnail is hovered
- fixed theme category text shifting when transitioning
- the hover effect now only applies to Source theme thumbnail
2023-10-04 10:32:01 +08:00
Ronald Langeveld
f9478f5489
Added unit test for Embed Code Generator - AdminX (#18445)
no issue

Add unit tests for `generateEmbedCode` utility function. The tests
verify the HTML output for various options and parameters that affect
the appearance and behaviour of the generated embed script's output.
2023-10-04 08:43:02 +07:00
Michael Barrett
2373a51ee4
Fixed storybook failing to load due @tryghost/nql usage (#18453)
no refs

storybook was failing to load due to `@tryghost/nql` usage and the
global `vite` config not being used
2023-10-03 16:49:05 +01:00
Djordje Vlaisavljevic
84520f86f7 Updated recommendation preview design
refs https://github.com/TryGhost/Product/issues/3991
2023-10-03 16:34:30 +01:00
Chris Raible
80a6fe17d0 Added Source as the new default theme
refs TryGhost/Product#3510

- Added `TryGhost/Source` as a submodule in `ghost/core/content/themes` so `Source` will ship with Ghost (along with Casper)
- With this change, new installs will use `Source` as the default theme. Existing sites will have `Source` installed, but not activated, as this is a large change and we don't want to drastically change existing sites without warning. Users can upgrade to use `Source` simply by clicking 'Activate' in design settings.
- Updated protections to prevent users from uploading their own conflicting version of `Source`
2023-10-03 14:02:08 +02:00
Djordje Vlaisavljevic
a5a5c2ea71 Updated recommendation preview design
refs https://github.com/TryGhost/Product/issues/3991
2023-10-03 12:06:55 +01:00
Ronald Langeveld
a596b3aaca
Renamed e2e tests to acceptance tests in Admin X (#18439)
ref https://www.notion.so/AdminX-testing-plan-99b2dab27e794fc893767ccd01c84a63?d=26612fc2b9d84e65bbb269fa3bc5079e&pvs=4#f0089cd4d9f24e93bd7f8e2868987bf6

This pull request renames the end-to-end tests to acceptance tests in
the `apps/admin-x-settings` folder. It updates the `ci.yml` file, the
`package.json` file, the `playwright.config.ts` file, and the test files
to reflect the new naming convention. This change aims to better reflect
the purpose and scope of the tests.
2023-10-03 16:20:40 +07:00
Simon Backx
8d1320a225
Wired up 'show all' recommending you (#18440)
fixes https://github.com/TryGhost/Product/issues/3975
2023-10-03 08:57:14 +00:00
Ronald Langeveld
514f36b4f2
Added install theme from URL in AdminX (#18435)
refs
https://www.notion.so/ghost/AdminX-feedback-27fc7f549bbf4a53bfa2e7b6e5643963?p=6fc16caf7f0d42f2933e28e1519c3623&pm=s

- added ability to install a theme directly from the Ghost Marketplace.
- uses the existing URL pattern / route to ensure they remain compatible with the existing Ghost Marketplace.

---

<!-- Leave the line below if you'd like GitHub Copilot to generate a
summary from your commit -->
<!--
copilot:summary
-->
### <samp>🤖 Generated by Copilot at b3b6f1b</samp>

This pull request enables users to install and activate themes from the
Ghost Marketplace, a curated collection of themes for the Ghost
platform. It adds a new route and modal component to handle the theme
installation from a URL, and modifies the existing modal components to
support the theme activation and confirmation. It affects the files
`ThemeModal.tsx`, `RoutingProvider.tsx`, and `DesignAndThemeModal.tsx`.
2023-10-03 12:33:08 +07:00
renovate[bot]
965110f005 Update dependency @storybook/testing-library to v0.2.2 2023-10-02 21:47:09 +02:00
Simon Backx
2f09dd8880
Added click/subscriber based sorting to recommendations list (#18427)
fixes https://github.com/TryGhost/Product/issues/3957

- This change also defaults to show the click count when there are 0
subscribers from a site (otherwise sorting looks weird).
2023-10-02 15:25:59 +00:00
Michael Barrett
043c9bb35d
Port custom theme setting visibility to admin-x (#18367)
refs https://github.com/TryGhost/Product/issues/3962

Port custom theme setting visibility to admin-x based on previous
implementation in the Ghost admin:
https://github.com/TryGhost/Ghost/pull/17920
2023-10-02 15:54:14 +01:00
Djordje Vlaisavljevic
b4fa48539d Updated "Copy link" button design
refs https://github.com/TryGhost/Product/issues/3974
2023-10-02 14:47:41 +01:00
Djordje Vlaisavljevic
27caa288e2 Added "Recommend back" button to settings
refs https://github.com/TryGhost/Product/issues/3978
2023-10-02 14:47:41 +01:00
Sag
b1e4ead01c
Fixed uniqueness validation of Recommendation URL (#18383)
refs https://github.com/TryGhost/Product/issues/3818

- added a check to compare hostname and pathnames of URLs. Different
subdomain or different pathname = different URLs, but protocol, www,
query parameters and hash fragments are ignored.
2023-10-02 10:34:59 -03:00
Peter Zimon
8b6360f52e
Simplified Twitter logo SVG in AdminX (#18418)
refs. https://github.com/TryGhost/Product/issues/3949

- Twitter logo SVG had a lot of unnecessary classnames
2023-10-02 12:44:13 +00:00
Peter Zimon
b490057429
Refactor user detail modal in AdminX (#18414)
refs. https://github.com/TryGhost/Product/issues/3949

- the User detail modal class structure was way overcomplicated
- the top part of the outline highlight of a setting group which is first in a section was cut
- toggle label style was inconsisten in Newsletter settings
- Audience feedback was not enabled by default when creating a Newsletter
- the whole UI was using Twitter, instead of "X"
2023-10-02 14:14:46 +02:00
Djordje Vlaisavljevic
cb66447747
Improved recommendations settings design (#18412)
refs https://github.com/TryGhost/Product/issues/3974, https://github.com/TryGhost/Product/issues/3936, https://github.com/TryGhost/Product/issues/3948

- Added dark mode improvements
- Added "Show more" button in "Recommending you" list
- Added "Copy link" button to settings
2023-10-02 10:16:21 +00:00
Jono M
bb0dff3571
Updated to highlight searched keywords in AdminX settings (#18112)
refs https://github.com/TryGhost/Product/issues/3832

---

<!-- Leave the line below if you'd like GitHub Copilot to generate a
summary from your commit -->
<!--
copilot:summary
-->
### <samp>🤖 Generated by Copilot at 1347a85</samp>

Added search functionality to the settings page using a custom hook and
a service. The `useSearch` hook uses the `useSearchService` function to
create a search service object that provides the filter and highlight
logic. The `highlightKeywords` function from the search service is
passed to the `SettingsGroupHeader` component to render the settings
with the matching keywords.
2023-10-02 09:33:24 +01:00
renovate[bot]
2ad0e73c42 Update dependency react-select to v5.7.7 2023-10-02 09:19:07 +02:00
renovate[bot]
de3a222231 Update dependency postcss to v8.4.31 2023-10-02 08:51:53 +02:00
renovate[bot]
18c6c70d3d Update dependency react-select to v5.7.6 2023-10-02 08:51:00 +02:00
Ronald Langeveld
9ae2e24315
Fixed overwritten theme duplication in ThemeList (#18405)
refs
https://www.notion.so/ghost/AdminX-feedback-27fc7f549bbf4a53bfa2e7b6e5643963?p=6a295239a38840f18b0a3b1710095074&pm=s

- There was an issue where an overwritten theme would be included in the
themes array twice when passed to the ThemeList component.
- We now remove the initial theme from the array when overwriting to
avoid duplications.

---

<!-- Leave the line below if you'd like GitHub Copilot to generate a
summary from your commit -->
<!--
copilot:summary
-->
### <samp>🤖 Generated by Copilot at 1260615</samp>

This pull request refactors the theme problem view component to make it
reusable and fixes a bug with theme name display in the theme modal. It
affects the files `InvalidThemeModal.tsx` and `ThemeModal.tsx` in the
admin-x-settings app.
2023-10-02 09:50:23 +07:00
renovate[bot]
f5b2bdd41e Update dependency @tanstack/react-query to v4.35.7 2023-10-02 01:18:34 +00:00
Daniel Lockyer
6e46e8b5ba
Refactored loading of Koenig-Lexical package (#18392)
refs https://ghost.slack.com/archives/C02G9E68C/p1695901801049219?thread_ts=1695035790.122589&cid=C02G9E68C

- DRY up all the fetching of Koenig-Lexical so we only do it from one place
- this will help when we switch to loading Koenig-Lexical from local assets

Co-authored-by: Jono Mingard <reason.koan@gmail.com>
2023-09-28 17:43:12 +02:00
Djordje Vlaisavljevic
e4f518868e
Updated Recommendations design (#18390)
refs https://github.com/TryGhost/Product/issues/3938

- Updated "Recommendation received" email design
- Slightly improved how dark favicons show in dark mode
- Added TabView with counter variant to Storybook
2023-09-28 15:22:00 +01:00
Simon Backx
f1a2565ac2 Removed paid conversions column from incoming recommendations
fixes https://github.com/TryGhost/Product/issues/3968
2023-09-28 15:36:31 +02:00
Simon Backx
44ad71e06a Centered recommendation spinner
no issue
2023-09-28 15:36:31 +02:00
Ronald Langeveld
1f73028729
Added invalid theme modal to AdminX (#18387)
refs
https://ghost.slack.com/archives/C0568LN2CGJ/p1695801433166809?thread_ts=1695741379.821479&cid=C0568LN2CGJ

---

<!-- Leave the line below if you'd like GitHub Copilot to generate a
summary from your commit -->
<!--
copilot:summary
-->
### <samp>🤖 Generated by Copilot at f43070f</samp>

This pull request adds a new feature to show a modal with the errors of
an invalid theme when uploading a theme fails in the admin settings app.
It creates a new `InvalidThemeModal` component that uses the
`admin-x-ds` library and the `ThemeProblemView` component to display the
error details. It also updates the `handleError` function to handle JSON
errors for theme uploads.
2023-09-28 11:09:29 +00:00
Simon Backx
05215734af
Added recommend back URL (#18382)
refs https://github.com/TryGhost/Product/issues/3958

- Disabled automatic network retries for external site lookups (=> timed
out to 5s in every situation because it returned 404 when a site doesn't
implement the Ghost api)
- Disabled representing a modal when it is already present on hash
changes
- Added support for search params in modals
- Handle `?url` search param in the addRecommendationModal
2023-09-28 10:54:16 +00:00
Sag
63ac90c603
Moved autoFocus to the title, when adding a recommendation (#18384)
no issue
2023-09-27 16:25:44 +00:00
Sag
3d91c37d5b
Added Enter as shortcut to go next, when adding a recommendation (#18381)
closes https://github.com/TryGhost/Product/issues/3953
2023-09-27 17:03:36 +02:00
Sag
488ef87a7d
Added limit to the description size, when adding/editing a recommendation (#18380)
closes https://github.com/TryGhost/Product/issues/3960

- recommendation description is limited to 200 characters, so that it renders nicely in Portal
2023-09-27 13:04:25 +00:00
renovate[bot]
d9ec7a0b90 Update dependency @vitejs/plugin-react to v4.1.0 2023-09-27 09:36:39 +02:00
Ronald Langeveld
7bebe7daf4
Fixed theme preview on theme without styles (#18375)
refs https://ghost.slack.com/archives/C0568LN2CGJ/p1695741379821479

- Fixes a bug in the preview renderer where a theme without styles
wouldn't be handled properly as it cannot inject new styles and cause an
empty page to be returned.

---

<!-- Leave the line below if you'd like GitHub Copilot to generate a
summary from your commit -->
copilot:summary
2023-09-27 12:32:11 +07:00
Peter Zimon
e5ef88de5b
Fixed Stripe modal bottom padding in AdminX (#18366)
refs. https://github.com/TryGhost/Product/issues/3949
2023-09-26 22:37:52 +02:00
Jono M
fb435cc115
Fixed minor issues with AdminX Ember sync (#18359)
refs https://github.com/TryGhost/Product/issues/3832
2023-09-26 12:23:52 +00:00
Ronald Langeveld
5161009e56
Added progress spinner to the theme upload button (#18358)
no issue

- Added a progress spinner to the theme upload button in AdminX for
better UX.

---

<!-- Leave the line below if you'd like GitHub Copilot to generate a
summary from your commit -->
<!--
copilot:summary
-->
### <samp>🤖 Generated by Copilot at 68bfc1b</samp>

Improved user feedback for theme upload feature. Added a loading
indicator to the `ThemeModal` component to show the progress of the
`uploadTheme` function.
2023-09-26 11:38:09 +00:00
Ronald Langeveld
6eb5dfa29b
Added null safety checks in AdminX actions (#18356)
no issue

- added additional null safety checks to the actions utility in AdminX.
---

<!-- Leave the line below if you'd like GitHub Copilot to generate a
summary from your commit -->
<!--
copilot:summary
-->
### <samp>🤖 Generated by Copilot at e10aa52</samp>

Refactored `action.context` access in `actions.ts` to use optional
chaining. This makes the code more concise and robust.
2023-09-26 18:29:43 +07:00
Jono M
d51322c95b
Updated AdminX API error handling to report to Sentry (#18300)
refs https://github.com/TryGhost/Product/issues/3832

---

<!-- Leave the line below if you'd like GitHub Copilot to generate a
summary from your commit -->
<!--
copilot:summary
-->
### <samp>🤖 Generated by Copilot at d434b20</samp>

This pull request refactors the error handling logic in various
components of the admin-x-settings app to use a custom hook called
`useHandleError`. This hook wraps the Sentry integration and provides a
consistent and reliable way of reporting and logging errors. This
improves the code quality, readability, and maintainability of the app.
The pull request also improves the Sentry initialization by passing the
DSN and the environment to the `ServicesProvider` component.
2023-09-26 11:09:42 +01:00
Ronald Langeveld
4f3b35e4dd
Fixed errors not displaying when uploading broken theme in Admin X (#18350)
refs https://ghost.slack.com/archives/C0568LN2CGJ/p1695716107796769

- The main culprit here was that now since we moved to using some model data from Ember as opposed to just the API, the errors key had to be renamed to gscan_errors  as that's how it's named in the Ember theme model.

---

<!-- Leave the line below if you'd like GitHub Copilot to generate a
summary from your commit -->
<!--
copilot:summary
-->
### <samp>🤖 Generated by Copilot at 4bca3ee</samp>

Updated the theme modal and the theme installed modal to use the new
`gscan_errors` property for theme validation. This improves the accuracy
and consistency of the feedback given to users when they upload or
activate themes.
2023-09-26 16:57:50 +07:00
Ronald Langeveld
6d0da713f0
Revert "Fixed actions crashing on post history"
Revert "Improved null handling on Admin X" and Revert "Fixed actions
crashing on post history"

no issue
2023-09-26 15:07:43 +07:00
Ronald Langeveld
1f2f0a7322
Improved null handling on Admin X actions (#18346)
refs https://ghost.slack.com/archives/C0568LN2CGJ/p1695642553045059

- The previous commit didn't quite handle things as expected. This adds
more null handling.
---

<!-- Leave the line below if you'd like GitHub Copilot to generate a
summary from your commit -->
<!--
copilot:summary
-->
### <samp>🤖 Generated by Copilot at 1a69211</samp>

This pull request improves the robustness and accuracy of the admin
settings API for actions. It adds checks and logic to handle missing or
invalid data and custom post types in `actions.ts`.
2023-09-26 06:58:35 +00:00
Ronald Langeveld
677c829c4b
Fixed actions crashing on post history - Admin X (#18344)
refs https://ghost.slack.com/archives/C0568LN2CGJ/p1695642553045059

- this attempts to fix an undefined error on AdminX when accessing
history log.
- At the moment I only have it reproducible on staging, so if this doesn't fix it, it will potentially be reverted.

---

<!-- Leave the line below if you'd like GitHub Copilot to generate a
summary from your commit -->
<!--
copilot:summary
-->
### <samp>🤖 Generated by Copilot at 818fa49</samp>

Improve context handling for action events in `actions.ts`. Use a
variable to simplify and customize the action name and title based on
the context.
2023-09-26 12:30:49 +07:00
Ronald Langeveld
41576d2dc3
Fixed Pintura url not handling relative config url on import (#18343)
no issue

- Fixed the Pintura hook not handling relative urls passed to it from the config.

---

<!-- Leave the line below if you'd like GitHub Copilot to generate a
summary from your commit -->
<!--
copilot:summary
-->
### <samp>🤖 Generated by Copilot at 2be0e30</samp>

Fixed Pintura asset loading from subdirectories by using the admin root
path. Updated `usePinturaEditor` hook to import and use a helper
function for getting Ghost paths.
2023-09-26 01:57:01 +00:00
Jono M
328a785065
Updated AdminX to sync data changes to Ember (#18327)
refs https://github.com/TryGhost/Product/issues/3832

---

### <samp>🤖 Generated by Copilot at 7a91ba3</samp>

This pull request enables data synchronization between the Ember app and
the React app for the settings module. It passes `onUpdate` and
`onInvalidate` functions as props from the Ember app to the React app
through the `ReactApp` component and the `ServicesContext`. It also
removes unused code and adds some debugging logs in the `setting`
serializer and the `settings` service.
2023-09-25 17:29:09 +01:00
Peter Zimon
731f0c2a5e
AdminX settings GA design refinements (#18332)
refs. https://github.com/TryGhost/Product/issues/3949

- some minor copy had to be updated
- we had a little bug in the small version of dropdowns
- the crash page was just a plain text without any way out (e.g. allowing navigating to dashboard)
2023-09-25 17:49:12 +02:00
Djordje Vlaisavljevic
9b1be9dda7 Removed unnecessary check
refs https://github.com/TryGhost/Product/issues/3941
2023-09-25 15:29:38 +01:00
Djordje Vlaisavljevic
c62483c95b Added recommendation favicon placeholder div
no ref
2023-09-25 15:29:38 +01:00
Jono M
aa8063d081
Slightly improved AdminX pagination behaviour (#18331)
refs https://github.com/TryGhost/Product/issues/3832

---

### <samp>🤖 Generated by Copilot at e1d84b3</samp>

This pull request fixes pagination bugs and improves pagination features
in various components and hooks of the admin settings app. It uses the
`meta` object from the API responses to display and fetch the correct
number of items in the lists of newsletters, tiers, users and actions.
It also simplifies and refactors some of the code to avoid repetition
and unnecessary properties.
2023-09-25 14:09:35 +00:00
Jono M
0e35baaf01
Refactored limit=all queries to be paginated in AdminX (#18324)
refs https://github.com/TryGhost/Product/issues/3832

---

### <samp>🤖 Generated by Copilot at 0095d23</samp>

The pull request adds support for asynchronous and creatable select
inputs in various components, using the `react-select` and
`@tanstack/react-query` libraries. It also adds pagination features to
the newsletters and tiers lists, using a `Button` component and infinite
queries. It refactors and fixes the type and null handling of the select
inputs and their options, using the `SelectOption` type and the
`useFilterableApi` and `debounce` hooks. It removes some unnecessary
props from the browse queries, and adds a new custom hook
`useDefaultRecipientsOptions` for the default recipients component. It
updates the stories and modals to use the new select inputs and options.
2023-09-25 14:03:47 +01:00
Peter Zimon
c4773b946b
AdminX handling '/' in textfields vs. searchbar shortcut (#18283)
refs. https://github.com/TryGhost/Product/issues/3349

- We've added a keyboard shortcut '/' to focus in on the searchfield in
AdminX. However this didn't handle the case when the focus is already in
a textfield and when tried to enter e.g. "https://", then at the '/'
character it focused on the searchfield.

---------

Co-authored-by: Ronald Langeveld <hi@ronaldlangeveld.com>
2023-09-25 14:22:10 +02:00
Djordje Vlaisavljevic
fac61e4d30
Improved recommendations settings design (#18330)
refs https://github.com/TryGhost/Product/issues/3948, https://github.com/TryGhost/Product/issues/3941

- Added `counter` prop to `TabView` and updated Recommendations.tsx to use it
- Improved dark mode design for recommendation settings
2023-09-25 12:14:35 +00:00
Ronald Langeveld
da28aa5fc9
Fixed Pintura config on Admin X (#18326)
no issue

- We didn't take Pintura settings into account have the url's passed in
via configs as opposed to the database entry.
- this checks for both now.
- We also now require less configuration to wire in the editor.

---

<!-- Leave the line below if you'd like GitHub Copilot to generate a
summary from your commit -->
<!--
copilot:summary
-->
### <samp>🤖 Generated by Copilot at a85c114</samp>

This pull request removes the dependency on the `pintura` setting value
for enabling the Pintura image editor in various components in the admin
settings app. It uses a custom hook, `usePinturaEditor`, to get the
editor configuration and availability from the global config and the
settings API. It also adds error reporting and refactors the hook code
for simplicity and consistency.
2023-09-25 17:14:09 +07:00
renovate[bot]
1387c64e5a Update dependency @playwright/test to v1.38.1 2023-09-25 09:12:04 +02:00
Ronald Langeveld
0712f17546
Fixed Sentry initialising twice in Admin and AdminX (#18321)
no issue

- The second initialisation inside the React app isn't needed since it's
being initialised by Ember and the required settings is being passed
correctly to the Ember library inside React.
- The second initialisation caused Admin X to not report issues
correctly.
- To test, add `"client_sentry": { "enabled": false, "dsn": "" }` to the
`config.development.json` and write some bad code to trigger issues.

---

<!-- Leave the line below if you'd like GitHub Copilot to generate a
summary from your commit -->
<!--
copilot:summary
-->
### <samp>🤖 Generated by Copilot at 77bf93f</samp>

This change refactors the error handling and reporting logic in the
`admin-x-settings` app by removing the redundant Sentry initialization
from the `App` component and using the global instance instead. This
avoids potential conflicts and performance issues with multiple Sentry
instances.
2023-09-25 12:00:47 +07:00
Simon Backx
353b9c6efc
Updated recommendation notifications copy (#18308)
no issue
2023-09-22 15:51:54 +00:00
Simon Backx
b82a93beac
Added recommendation_notifications column to users table (#18304)
fixes https://github.com/TryGhost/Product/issues/3939
2023-09-22 15:35:55 +00:00
Djordje Vlaisavljevic
f50c25d63c Updated Show All button color
refs https://github.com/TryGhost/Product/issues/3926
2023-09-22 14:56:14 +01:00
Djordje Vlaisavljevic
16cb8d2599 Fixed stats labels
refs https://github.com/TryGhost/Product/issues/3891
2023-09-22 14:56:14 +01:00
Sag
9c9f0ebadf
Added total count of recommendations on the tabs (#18303)
closes https://github.com/TryGhost/Product/issues/3941
2023-09-22 13:25:20 +00:00
Djordje Vlaisavljevic
23ec56bedf Fixed loading indicator dark mode issue
no ref
2023-09-22 14:13:41 +01:00
Djordje Vlaisavljevic
b4a284fb5f Fixed recommendation preview bg color
no ref
2023-09-22 14:13:41 +01:00
Djordje Vlaisavljevic
d38e185c64 Fixed Recommending you paid subscriber logic
refs https://github.com/TryGhost/Product/issues/3891
2023-09-22 14:13:41 +01:00
Djordje Vlaisavljevic
267d8d05f1 Updated Recommending you table design
refs https://github.com/TryGhost/Product/issues/3891
2023-09-22 13:00:29 +01:00
Djordje Vlaisavljevic
22029bfd1b Updated empty state layout
refs https://github.com/TryGhost/Product/issues/3942
2023-09-22 11:53:28 +01:00
Djordje Vlaisavljevic
73e9702cf7 Improved empty states
refs https://github.com/TryGhost/Product/issues/3942
2023-09-22 11:53:28 +01:00
Djordje Vlaisavljevic
ceb22a5b0b Removed preview link from the description
refs https://github.com/TryGhost/Product/issues/3942
2023-09-22 11:53:28 +01:00
Simon Backx
d68070db9d
Added stats to 'Recommending you' table (#18292)
fixes https://github.com/TryGhost/Product/issues/3891
2023-09-22 12:31:31 +02:00
Ronald Langeveld
f7b50456ea
Added Sentry integration to Admin X (#18288)
no issue

- Adds Sentry to Admin X settings to be able to monitor uncaught errors, etc.

---

<!-- Leave the line below if you'd like GitHub Copilot to generate a
summary from your commit -->
<!--
copilot:summary
-->
### <samp>🤖 Generated by Copilot at 76de125</samp>

Added Sentry integration to the admin-x-settings app to improve error
monitoring and reporting. Updated the `ErrorBoundary` and `HtmlEditor`
components, the `useFetchApi` hook, and the app component to use the
`@sentry/react` module. Passed the `sentryDSN` prop from the parent
component to the app component and the services context.
2023-09-22 09:17:04 +00:00
Jono M
2bc1392bff
Updated toast testid to prevent conflicts in tests (#18290)
no issue
2023-09-22 09:05:38 +00:00
Jono M
1bf20f3e5a
Updated AdminX user dropdown logic to match current admin (#18277)
refs https://github.com/TryGhost/Product/issues/3832

Fixed bugs
- Administrators having suspend/delete options for owners
- Editors not having the menu for Authors/Contributors
2023-09-22 08:39:27 +00:00
Sag
04ef848b15
Fixed copy when there is only 1 click / new member (#18280)
no issue
2023-09-21 19:09:47 +00:00
Sag
b10767d038
Fixed sub/click count disapparing after editing a recommendation (#18279)
closes https://github.com/TryGhost/Product/issues/3929
2023-09-21 18:46:19 +00:00
Peter Zimon
b665541c34
AdminX Tiers welcome page (#18243)
refs. https://github.com/TryGhost/Product/issues/3349

- the Tier detail modal is missing the "Welcome page" field which is a
regression

---------

Co-authored-by: Jono Mingard <reason.koan@gmail.com>
2023-09-21 16:25:01 +00:00
Jono M
0625255a17
Added generic error handling to AdminX (#18274)
refs https://github.com/TryGhost/Product/issues/3832

- Added API error classes and a generic error handling function
- Added retry logic to API requests matching the old admin
- Added the error handler to all queries and mutations
2023-09-21 16:02:26 +00:00
Simon Backx
96ecc73b17
Added show all recommendations instead of pagination (#18276)
fixes https://github.com/TryGhost/Product/issues/3923
2023-09-21 17:49:41 +02:00
Sag
dfcff209c2
Added support for Ghost sites hosted on a subdirectory, when adding a rec (#18270)
closes https://github.com/TryGhost/Product/issues/3915
- when adding a recommendation, we now ping the pull path first to check
whether it's a Ghost site. This is the most common case and also helps
to cover Ghost sites that are hosted on a subdirectory.
- if needed, we ping the origin path to perform the same check. This
helps to cover the case where the recommended URL is a subpage or post
of a Ghost site
- we now have 4 networks calls in the worst case when adding a
recommendation: uniqueness validation, two checks to determine whether
it's a Ghost site, read metadata from oembed. Each of these have a
timeout of 5 seconds, so there's a max. waiting time of 20 sec in the
worst case
2023-09-21 14:03:51 +00:00
Djordje Vlaisavljevic
f1a6e48dc6 Updated copy and removed URLs
refs https://github.com/TryGhost/Product/issues/3926
2023-09-21 12:37:00 +01:00
Djordje Vlaisavljevic
5e84232913 Bumped up recommendation favicon size
refs https://github.com/TryGhost/Product/issues/3926
2023-09-21 12:37:00 +01:00
Djordje Vlaisavljevic
40eaf95a39 Updated copy
refs https://github.com/TryGhost/Product/issues/3926
2023-09-21 12:37:00 +01:00
Djordje Vlaisavljevic
02bf794a0e Updated Table component to accept complex hints
refs https://github.com/TryGhost/Product/issues/3926
2023-09-21 12:37:00 +01:00
renovate[bot]
ea521242e1 Update dependency autoprefixer to v10.4.16 2023-09-21 11:50:58 +02:00
Jono M
c572f2855d
Added error boundaries to AdminX to avoid crashing the entire page (#18255)
refs https://github.com/TryGhost/Product/issues/3832
2023-09-21 10:42:48 +01:00
renovate[bot]
ffafec9690 Update dependency react-select to v5.7.5 2023-09-21 11:30:39 +02:00
Ronald Langeveld
60de9387fb
Added Pintura integration to Twitter and Facebook meta cards (#18264)
no issue

- wired up the pintura integration to facebook and twitter meta card editors

---

<!-- Leave the line below if you'd like GitHub Copilot to generate a
summary from your commit -->
<!--
copilot:summary
-->
### <samp>🤖 Generated by Copilot at e01c851</samp>

This pull request adds the ability to edit images for Facebook and
Twitter cards in the general settings component using Pintura, a
web-based image editor. It introduces a custom hook to handle the
Pintura editor logic and settings, and modifies the `ImageInput`
component to accept a prop to enable or disable the feature. It affects
the files `Facebook.tsx` and `Twitter.tsx` in the
`apps/admin-x-settings/src/components/settings/general` directory.
2023-09-21 08:35:57 +00:00
Ronald Langeveld
9339364dce
Added Unsplash selector to AdminX (#18216)
no issue

- Copied over the Unsplash Component from Koenig to AdminX and converted
it to Typescript.
- Changed the business logic to follow a bit of dependency injection to
make it more testable and easier to maintain.
- Ideally we move this out of Admin X Settings and perhaps into it's own
library so we don't need to deal with a duplicate code between Koenig
and Admin X.

---

<!-- Leave the line below if you'd like GitHub Copilot to generate a
summary from your commit -->
<!--
copilot:summary
-->
### <samp>🤖 Generated by Copilot at a40bf5b</samp>

This pull request adds support for selecting images from Unsplash in the
admin settings UI. It introduces a new `UnsplashService` class that
handles the Unsplash API requests and a new `MasonryService` class that
handles the masonry layout of the images. It also adds several new
custom components, such as `UnsplashButton`, `UnsplashGallery`,
`UnsplashImage`, `UnsplashSelector`, `UnsplashZoomed`, and
`UnsplashSearchModal`, that render the Unsplash modal and its elements.
It modifies the existing `ImageUpload`, `App`, `ServicesProvider`, and
`BrandSettings` components to integrate the Unsplash feature and pass
the necessary props. It also adds some new types, constants, and assets
related to the Unsplash data and UI. Finally, it adds some unit tests
for the `UnsplashService` and `MasonryService` classes.
2023-09-21 02:23:45 +00:00
Sag
62bf3e068d
Fixed disapparing Ghost icon in the Recommendation list (#18257)
no issue
2023-09-20 20:49:21 +00:00
Sag
163263a27f
Fixed edit a recommendation on page 2 or more (#18256)
closes https://github.com/TryGhost/Product/issues/3903

- we do not update the route when opening "Edit a recommendation"
anymore. By doing so, we can pass the recommendation object to the edit
page, without having to refetch it from the database
2023-09-20 20:33:53 +00:00
Sag
8515bdf587
Updated uniqueness validation for the Recommendations URL (#18253)
closes https://github.com/TryGhost/Product/issues/3818

- instead of fetching all recommendations and matching URLs on the frontend, we now query the database directly to find an existing Recommendation by URL. When comparing URLs, we don't take into account the protocol, www, query parameters nor hash fragments
2023-09-20 16:53:10 +00:00
Simon Backx
715d658e11
Disabled one-click subscribe when Portal checkbox is required (#18252)
fixes https://github.com/TryGhost/Product/issues/3911

For now we decided that we don't want to enable one-click-subscribe in
case a site has a required checkbox (which isn't shown during the
one-click-subscribe flow)
2023-09-20 15:35:10 +00:00
Peter Zimon
02692a15e2
AdminX design updates (#18238)
refs. https://github.com/TryGhost/Product/issues/3349
2023-09-20 16:38:36 +02:00
Djordje Vlaisavljevic
8927d911cf Added Ghost favicons to recommendations with 1-click subscribe
refs https://github.com/TryGhost/Product/issues/3902
2023-09-20 14:46:26 +01:00
Djordje Vlaisavljevic
88c9ee8a34 Changed copy for removing recommendations
refs https://github.com/TryGhost/Product/issues/3899
2023-09-20 14:46:26 +01:00
Djordje Vlaisavljevic
1bfedcfd00 Moved Preview above the form
refs https://github.com/TryGhost/Product/issues/3857
2023-09-20 14:46:26 +01:00
Djordje Vlaisavljevic
9dea3d344a Commented out "Recommending you" stats while we're in QA
no refs
2023-09-20 14:46:26 +01:00
Djordje Vlaisavljevic
8f5ac0620b Added Ghost favicon to recommendations with 1-click subscribe
refs https://github.com/TryGhost/Product/issues/3902
2023-09-20 14:46:26 +01:00
Djordje Vlaisavljevic
cfea7a2822 Added Ghost favicon
refs https://github.com/TryGhost/Product/issues/3902
2023-09-20 14:46:26 +01:00
Peter Zimon
97cbd33159
Fixed footer padding bug in AdminX modals (#18249)
refs. https://github.com/TryGhost/Product/issues/3349
2023-09-20 12:49:24 +00:00
Peter Zimon
0b07c44797
AdminX searchfield keyboard shortcut (#18244)
refs. https://github.com/TryGhost/Product/issues/3349

- it's a bit cumbersome to always click in the searchfield to use it.
`/` is a standard keyboard shortcut to focus on a searchfield in
apps. Also, by auto-focusing on the searchfield it's even faster to find
settings.
2023-09-20 14:32:18 +02:00
Peter Zimon
b4bcc193a4
Updated history staff search (#18108)
refs. https://github.com/TryGhost/Product/issues/3349

- newsletter searchfield was showing a "Clear" button once it had content. It needed to be using standard React dropdown instead
- modals needed an option to make the header sticky so it's more versatile. It's now used in the History modal

---------

Co-authored-by: Jono Mingard <reason.koan@gmail.com>
2023-09-20 12:28:29 +02:00
Daniel Lockyer
71a072ee66 Deleted Vite SVG from Admin-X-Settings
- this is no longer needed and is left over from the initial Vite setup
2023-09-20 11:01:47 +02:00
Daniel Lockyer
d46aab5b43 Optimized bundle size of @tryghost/limit-service
refs https://ghost.slack.com/archives/C0568LN2CGJ/p1695149803260239
refs 290bc71d6a

- previous versions of `@tryghost/limit-service` did a full import of
  lodash, which would bloat the bundle size, especially when we only use
  a few of its functions
- I've since fixed that and this commit bumps Ghost to the smaller
  version
2023-09-20 09:54:07 +02:00
renovate[bot]
c055179765 Update dependency vite-plugin-svgr to v3.3.0 2023-09-20 08:41:57 +02:00
Jono M
3928b628ca
Update labs settings in Ember when changed in AdminX (#18231)
refs https://github.com/TryGhost/Product/issues/3832
2023-09-19 18:48:47 +00:00
Jono M
64d7c73b00
Optimised bundle size and configuration in AdminX (#18227)
refs https://github.com/TryGhost/Product/issues/3832

---

### <samp>🤖 Generated by Copilot at eaad533</samp>

Refactored the code for modal components in the admin-x-settings app to
improve performance, readability, type-safety, and compatibility. Used
dynamic import, default import, `import.meta.glob`, and type aliases to
simplify the logic of importing and rendering modal components. Applied
the type alias `RoutingModalProps` to all modal components to ensure
consistent and safe props.
2023-09-19 16:54:01 +00:00
Peter Zimon
1b004af184
AdminX UI bugfixes and refinements (#18195)
refs. https://github.com/TryGhost/Product/issues/3349

- updated tiers archive/activate pattern to it less prominent
- update newsletter archive/activate pattern to it less prominent
- fixed react-select z-index bug
- fixed Stripe disconnect copy error bug
- set max-height to embeddable signup form sidebar to avoid jumping when color picker is visible

---------

Co-authored-by: Jono Mingard <reason.koan@gmail.com>
2023-09-19 17:12:52 +02:00
Djordje Vlaisavljevic
4e04b8c2d2 Updated "Your recommendations" list design
refs https://github.com/TryGhost/Product/issues/3786
2023-09-19 15:39:33 +01:00
Djordje Vlaisavljevic
f9fbcb3376 Added a hint to try to avoid long descriptions
refs https://github.com/TryGhost/Product/issues/3888
2023-09-19 13:07:32 +01:00
Djordje Vlaisavljevic
8af7b022fd Added a badge to "Your recommendation" items that have 1-click subscribe
refs  https://github.com/TryGhost/Product/issues/3888
2023-09-19 13:07:32 +01:00
Peter Zimon
09a36a81d1
AdminX mobile updates (#18137)
refs. https://github.com/TryGhost/Product/issues/3349
2023-09-19 12:09:38 +02:00
Daniel Lockyer
f705dda314 Updated Admin-X bundling process
refs https://github.com/TryGhost/DevOps/issues/80

- as part of moving Admin-X-Setting towards GA, we want to change it from
  loading the settings externally via a CDN, to bundling it in with
  Admin
- the bulk of the changes here are removing the config in Ghost, setting
  up the copy to the Admin assets dir, and loading the new path in Admin
- several other changes have come along the way as I've cleaned up
  unneeded code
2023-09-19 11:31:55 +02:00
Jono M
bd013ed18c
Fixed minor AdminX logic issues (#18209)
refs https://github.com/TryGhost/Product/issues/3832

---

### <samp>🤖 Generated by Copilot at fd2a023</samp>

This pull request improves the UI and UX of the admin settings app by
fixing some bugs, enhancing some components, and adding some logic to
handle different feature states. It affects the `ColorPickerField`,
`Toggle`, `EnableNewsletters`, `TierDetailModal`, `Modal`, and
`DefaultRecipients` components, as well as the files
`ColorPickerField.tsx`, `Toggle.tsx`, `EnableNewsletters.tsx`,
`TierDetailModal.tsx`, `Modal.tsx`, and `DefaultRecipients.tsx`.
2023-09-19 08:56:11 +01:00
renovate[bot]
530492635f Update dependency @types/react to v18.2.22 2023-09-19 08:30:58 +02:00
renovate[bot]
8cfff3743b Update dependency postcss to v8.4.30 2023-09-19 08:09:20 +02:00
Sag
3b1fcb6c16
Added fixed height to avoid jumps in the Recommendations settings (#18184)
closes https://github.com/TryGhost/Product/issues/3881

We observe the height of the recommendation table, and keep it fixed between pages — so that the UX is smoother when navigating between pages.
2023-09-18 17:43:57 +02:00
Jono M
343535116c
Updated select to use react-select (#18164)
refs https://github.com/TryGhost/Product/issues/3832

---

### <samp>🤖 Generated by Copilot at adffb67</samp>

This file updates the global form select component to use a custom
`ReactSelect` component with better performance and style.
2023-09-18 14:51:59 +01:00
Djordje Vlaisavljevic
308a76faf3 Removed "Remove" button from recommendation list
refs https://github.com/TryGhost/Product/issues/3899
2023-09-18 14:49:04 +01:00
Djordje Vlaisavljevic
a66d811236 Added "Remove" button to "Edit recommendation" modal
refs https://github.com/TryGhost/Product/issues/3899
2023-09-18 14:49:04 +01:00
Djordje Vlaisavljevic
6822c6db24 Added "Subscribe" button to Ghost-site previews
refs https://github.com/TryGhost/Product/issues/3857
2023-09-18 14:49:04 +01:00
Sag
7c2316de59
Added a timeout when adding a recommendation (#18204)
closes https://github.com/TryGhost/Product/issues/3896

- added a timeout option to the useFetchApi() helper, to abort a fetch request after x seconds
- when adding a recommendation, we make two network calls: 1) check whether it's a Ghost site or not, 2) if not, fetch site metadata via embed. Now both of these calls have a timeout of 5 sec, which means a total waiting time of 5 seconds max. for a Ghost site, 10 seconds max. for a non-Ghost site
2023-09-18 15:12:54 +02:00
Jono M
79cd49c01b
Improved AdminX design settings experience (#18180)
refs https://github.com/TryGhost/Product/issues/3832

---

### <samp>🤖 Generated by Copilot at 60bbe0a</samp>

This pull request improves the performance and readability of the site
design and theme settings UI. It refactors the modal navigation logic,
the color picker field component, and the theme preview component. It
also removes unnecessary dependencies and props from the modal
components, and adds a new `DesignAndThemeModal` component to handle the
modal switching.
2023-09-18 12:09:26 +01:00
Djordje Vlaisavljevic
cce7152d72 Fixed spacing issue
refs https://github.com/TryGhost/Product/issues/3857
2023-09-18 11:55:02 +01:00
Djordje Vlaisavljevic
d443befd16 Added recommendation URL to "Edit recommendation" modal
refs https://github.com/TryGhost/Product/issues/3857
2023-09-18 11:55:02 +01:00
Peter Zimon
3043c27d5a
AdminX UI fixes (#18167)
refs. https://github.com/TryGhost/Product/issues/3349
2023-09-15 18:35:16 +02:00
Simon Backx
05b3f66132 Released @tryghost/admin-x-settings v0.0.20 2023-09-15 16:46:13 +02:00
Djordje Vlaisavljevic
3884c1c36d Added a hint when adding a recommendation for a Ghost site
refs https://github.com/TryGhost/Product/issues/3888
2023-09-15 15:37:19 +01:00
Simon Backx
4e2710ada2 Added stats to recommendations endpoints
fixes https://github.com/TryGhost/Product/issues/3854
fixes https://github.com/TryGhost/Product/issues/3864
2023-09-15 15:57:27 +02:00
Sag
6e68c43f78
Added uniqueness validation for the recommendation URL (#18163)
closes https://github.com/TryGhost/Product/issues/3818

- in Admin, when adding a recommendation, the URL is compared against all existing ones. If the URL is already recommended, the publisher is shown an error: "A recommendation with this URL already exists.". Protocol, www, query parameters and hash fragments are ignored during the URL comparison.
- on the backend, there is another uniqueness validation for the recommendation URL. This check is redundant when adding a recommendation from Admin, but helps to keep data integrity when recommendations are added through other paths (e.g. via the API)
2023-09-15 13:14:47 +00:00
Djordje Vlaisavljevic
4fc03e5f25
Improved Table component and its storybook (#18169)
refs https://github.com/TryGhost/Product/issues/3890

- Made Table and its children semantic
- Updated Table and TableRow storybooks with new examples
- Fixed smaller visual bugs
2023-09-15 12:09:19 +00:00
renovate[bot]
d5bcd42496 Update dependency @storybook/testing-library to v0.2.1 2023-09-15 11:15:56 +02:00
Jono M
3bf24cd4a2
Fixed Lexical editors being marked as dirty on load (#18159)
refs https://github.com/TryGhost/Product/issues/3832

---

This pull request improves the user experience and the data quality of
the newsletter settings form. It adds a feature to disable the save
button when there are no changes, and to show feedback on the save
status. It also fixes a bug in the `HtmlEditor` component that causes
unwanted style attributes to be added to the newsletter content.
2023-09-15 10:07:14 +01:00
Ronald Langeveld
851504030c
Added Support Email verification modals to Admin X (#18152)
refs
https://www.notion.so/ghost/df5bdea8f7ea4aca9d25eceb6a1bf34c?v=be2f15b6b58b4c27a0e11374282bead0&p=163762d9513a4e6dbd60c28e19228fdc&pm=s

- Added a modal to confirm that the new support email has been verified.
- to achieve that a couple of adjustments had to be made
- Updated the RoutingProvider to handle routes with query params.
- Added a new useQueryParams hook to grab query params where needed.
- wired up the email verification api.
- added feature flags / labs logic to the core package with the new URL and updated test.

---

<!-- Leave the line below if you'd like GitHub Copilot to generate a
summary from your commit -->
<!--
copilot:summary
-->
### <samp>🤖 Generated by Copilot at 3ff8add</samp>

This pull request adds email verification functionality for the support
email address in the portal settings. It fixes a bug in the routing
provider, adds a new API function, a new custom hook, and a new modal
component to handle the verification process. It also updates the
settings query with the verified email address.
2023-09-15 16:00:24 +07:00
renovate[bot]
a28e4a4395 Update dependency @playwright/test to v1.38.0 2023-09-15 10:09:33 +02:00
Jono M
2310e9d93f
Fixed AdminX user details modal behaviour (#18153)
refs https://github.com/TryGhost/Product/issues/3832

---

This pull request improves the user management and Stripe integration
features in the admin-x-settings app. It adds a new `ChangePasswordForm`
component for changing user passwords, refactors the error handling and
response handling logic in the `StripeConnectModal` and `apiRequests`
files, and fixes a bug in the `UserDetailModal` component. It also
creates new files for the custom error classes and the response handling
function.
2023-09-15 08:50:09 +01:00
Ronald Langeveld
384c232b1a
Bumped Admin X to 0.0.19 (#18136)
no issue

---

<!-- Leave the line below if you'd like GitHub Copilot to generate a
summary from your commit -->
<!--
copilot:summary
-->
### <samp>🤖 Generated by Copilot at e5a7896</samp>

Updated `@tryghost/admin-x-settings` package to version 0.0.19. This
package provides the settings UI for the Ghost admin app and includes
some bug fixes and improvements.
2023-09-15 08:06:34 +07:00
Peter Zimon
bcb543d039
Update settings for roles in AdminX (#18147)
refs. https://github.com/TryGhost/Product/issues/3349

- updated user modal for various roles
2023-09-14 19:20:50 +02:00
Djordje Vlaisavljevic
82e9aae4cc
Made LoadingIndicator component more flexible (#18145)
refs https://github.com/TryGhost/Product/issues/3849

- Added small and medium variants of `LoadingIndicator` component
- Added `Loading` prop to `Button` component, which uses `LoadingIndicator`
- Updated instances of `Modal` component so they use the new `LoadingIndicator`
2023-09-14 14:57:41 +00:00
Jono M
a79de45392
Fixed tiers and scrolling bugs with AdminX (#18138)
refs https://github.com/TryGhost/Product/issues/3832

- Updated tier benefits to be added when pressing enter
- Updated tier sorting logic to make sure free comes first
- Updated scrolling behaviour and made the sidebar scroll automatically
- Added placeholder backdrop when loading a modal to prevent flashing

And other minor fixes
- Removed placeholder from newsletter footer field
- Updated theme installation to work with the default theme
2023-09-14 14:09:51 +00:00
Djordje Vlaisavljevic
b1cd7dd898 Added Table wrapper
refs https://github.com/TryGhost/Product/issues/3881
2023-09-14 12:25:48 +01:00
Peter Zimon
dff8c38547
AdminX UI fixes (#18110)
refs. https://github.com/TryGhost/Product/issues/3349

- fix tiers save & close bug
- show trial days on tier card
- removed 0's from monthly and yearly tier prices
- added color to learn more link in tier modal
- set background to white in newsletter preview
- fixed newsletter default sender data
- removed underline in "View in browser" link in newsletter preview
- updated copy in newsletters
- added Integrations' active indicator
- scrolling menu under searchbar to give search more prominance
- updated Portal modal buttons to be consistent with design settings
- fixed bug in AdminX loading Orb so that it actually starts auto-playing
2023-09-14 12:04:31 +02:00
Ronald Langeveld
d7835ad5ed
Bumped Admin X to 0.0.18 (#18135)
no issue

---

<!-- Leave the line below if you'd like GitHub Copilot to generate a
summary from your commit -->
copilot:summary
2023-09-14 09:44:53 +00:00
Ronald Langeveld
34db31a2a6
Changed staff token to fetch on request (#18132)
no issue

- Solves an issue where it didn't fetch the updated staff token after
saving and still used the cached one which is invalidated.
---

<!-- Leave the line below if you'd like GitHub Copilot to generate a
summary from your commit -->
<!--
copilot:summary
-->
### <samp>🤖 Generated by Copilot at 9a59225</samp>

Improved staff token handling in `UserDetailModal` component. This
component fetches and displays a staff token for a user in the general
settings, and prevents editing or errors.
2023-09-14 15:03:35 +07:00
Jono M
00e598b365
Updated AdminX features for different roles (#18131)
refs https://github.com/TryGhost/Product/issues/3832

---

This pull request introduces a new `MainContent` component that handles
the role-based access and rendering of the settings page and the
sidebar. It also refactors and improves the UI and logic of the
`UserDetailModal` and the `Users` components, and updates the footer
component to use the new settings page and profile modal for editors.
Additionally, it removes unused code and adds new helper functions for
checking the user's roles and permissions.
2023-09-14 07:48:07 +00:00