Commit Graph

538 Commits

Author SHA1 Message Date
Ronald Langeveld
39c568b0b9
Refactored Pintura integration hook configuration (#18813)
no issue

- Refactored the Pintura integration to be easier to implement and also
more accurately display whether it's enabled or not.

---

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

This pull request refactors the code related to the Pintura image editor
integration in the admin settings. It introduces a custom hook that
handles the logic of checking and updating the integration status and
settings, and simplifies the UI components that use the hook. It also
removes unnecessary variables and props from the components and the
hook. The affected files are `Integrations.tsx`, `UserDetailModal.tsx`,
`BrandSettings.tsx`, `usePinturaEditor.ts`, `Facebook.tsx`, and
`Twitter.tsx`.
2023-11-01 13:06:24 +07:00
renovate[bot]
df8eeb2249 Update Types packages 2023-10-31 14:40:32 +01:00
Jono M
3711260f9d
Added feature flag for AdminX Offers (#18801)
closes https://github.com/TryGhost/Product/issues/4084

---

### <samp>🤖 Generated by Copilot at 9380e1f</samp>

This pull request adds a new UI for creating and managing offers for
members in the admin settings, which is controlled by an alpha feature
flag. It introduces new modal components for the offers UI, a new
sidebar item, new routes, and a new setting group. It also updates the
`labs.js` file to include the `adminXOffers` flag.
2023-10-31 08:41:35 +00:00
Ronald Langeveld
2e53d9985a
🐛 Fixed escape handling for Pintura in Settings (#18800)
refs
https://www.notion.so/ghost/When-hitting-ESC-within-the-Pintura-editor-editing-cover-image-from-Design-Branding-it-would-e-b1c70064f2fd4f5cb830b095c2abd08e

- When escape was hit in within the Pintura editor in Settings, it
cleared the modal underneath it, causing the close button to become
unresponsive.
- A previous commit was made to disable the escape key altogether so
that users don't accidentally quit Pintura and having all their changes
discarded.
- This fixes a regression to make sure the background modal don't hide
and Pintura can only be closed by mouse clicking the actual close button
on the top left, if not saving it on the top right.

---

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

This pull request enhances the Pintura editor integration by adding
error reporting and escape key handling. It modifies the
`usePinturaEditor` hook in
`apps/admin-x-settings/src/hooks/usePinturaEditor.ts`.
2023-10-31 11:31:21 +07:00
Jono M
48b90e4253
Improved modal save handling in Admin X (#18794)
refs https://github.com/TryGhost/Product/issues/4060

---

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

Refactored various settings forms and modals in the admin app to use the
updated `useForm` hook, which simplifies the form state management,
validation, and saving logic. Improved the UI and UX of the modal ok
buttons by using the `okProps` object and the `saveState` from the hook.
Added options to save the forms without changes and to fake the saving
when unchanged. Fixed some bugs and removed unused code.
2023-10-30 17:57:19 +00:00
Jono M
67992d941a
Updated timezone-data and color-utils to use built in type definitions (#18795)
refs https://github.com/TryGhost/Product/issues/4073 &
https://github.com/TryGhost/Product/issues/4074

---

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

This pull request updates some dependencies and adds fallback values for
email customization settings in the `admin-x-settings` app. This
improves the color contrast and timezone detection of the email
newsletters and prevents rendering issues.
2023-10-30 16:40:54 +00:00
Jono M
80392500bb
🐛 Fixed user list behaviour after deletion (#18738)
refs https://github.com/TryGhost/Product/issues/3831

The wrong logic was used to fetch the next page, making the remaining
users show twice after deleting. Also fixed the route not updating after
deletion.

---

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

Refactor and improve `UserDetailModal` component with React Query,
TypeScript, and UX enhancements. Fix data bug and add navigation
feature.
2023-10-30 09:43:37 +00:00
Peter Zimon
aa3ed24049
Fixed site description input field bug in settings (#18771)
refs. https://github.com/TryGhost/Product/issues/4060

- site description input field in design settings had a transparent
background
2023-10-26 07:57:59 +00:00
Djordje Vlaisavljevic
807e613386 Added Beta label to recommendations settings
refs https://github.com/TryGhost/Product/issues/4068
2023-10-25 18:29:15 +01:00
Peter Zimon
6691f0da26
AdminX Settings UX improvements (#18741)
refs. https://github.com/TryGhost/Product/issues/4060

The new settings screen is too dense, lacks hierarchy and hard to scan. This update addresses some of the problems of the initial version:
- clear hierarchy in typography and larger spaces between sections to make the overall structure is easier to scan
- using icons in the sidebar to strengthen the groups + help visual thinkers to remember settings better + just to be a bit less serious
- updated colors for better contrast + orientation (bg on the sidebar)
- updated input fields to help focus on filling forms
- other small improvements for more consistency and simplicity

---------

Co-authored-by: Jono Mingard <reason.koan@gmail.com>
2023-10-25 16:37:58 +02:00
renovate[bot]
bf15f86f13 Update dependency tailwindcss to v3.3.5 2023-10-25 16:35:53 +02:00
Princi Vershwal
0a2b8cdbd3
Added autoFocus to AddNewsLetter and AddIntegration Modal (#18751) 2023-10-25 15:15:14 +05:30
renovate[bot]
f6a8100d48 Update dependency tailwindcss to v3.3.4 2023-10-25 07:43:24 +02:00
Sag
1e1821fdb3
Fixed undefined css class in the Link component (#18745)
no issue
2023-10-24 16:50:31 +00:00
Jannis Fedoruk-Betschki
1af8d588f9
Added individual settings fields to search keywords (#18704)
- this builds upon #18608
- related to a discussion in the Ghost forum here: https://forum.ghost.org/t/searching-the-new-ui-bug/42043/2
2023-10-24 17:30:12 +02:00
Sag
1b82efe5d2
Added Recommendations feature (#18743)
refs https://github.com/TryGhost/Product/issues/3744


Co-authored-by: Simon Backx <simon@ghost.org>
Co-authored-by: Djordje Vlaisavljevic <dzvlais@gmail.com>
2023-10-24 11:00:11 -03:00
Kevin Ansfield
125b09324c
Added editorEmojiPicker labs flag (#18739)
closes https://github.com/TryGhost/Product/issues/4056

- adds new flag with UI and passes it through to the editor so it can conditionally enable the relevant plugins
2023-10-24 12:44:29 +00:00
Simon Backx
c8f71e8504
Added list-unsubscribe feature flag and header (#18736)
refs https://github.com/TryGhost/Product/issues/4053

This adds the feature flag. If enabled, the list-unsubscribe header
should be set. The value currently is only for testing purposes and
probably won't work yet.
2023-10-24 10:35:47 +00:00
Princi Vershwal
78d43a1b1e
Using browser local to display time format (#18734)
Ref:
https://www.notion.so/ghost/Localise-formatting-of-Timezone-e12b49ed84a74dfeb4fe922514a08832
2023-10-24 13:27:13 +05:30
renovate[bot]
5844e5c9f1 Update dependency vite to v4.5.0 2023-10-24 09:13:06 +02:00
Jono M
29d3089dce
🐛 Fixed custom setting image upload not working for multiple images (#18728)
refs https://github.com/TryGhost/Ghost/issues/18718

---

### <samp>🤖 Generated by Copilot at 6fc7040</samp>

Refactored the `id` prop of the `ImageUpload` component in
`ThemeSettings.tsx` to avoid duplication and follow naming convention.
This is part of improving the theme settings UI and functionality.
2023-10-24 08:10:20 +01:00
Kevin Ansfield
9b1f79f601
Cleaned up lexicalEditor labs flag, switched Post model to lexical-by-default (#18607)
no issue

- flag is no longer used in Admin so we can clean it up in Core too
- updated Post model to set blank document to `lexical` field rather than `mobiledoc` as a default value
- switched over to returning `mobiledoc,lexical` as default formats in Admin API
2023-10-23 17:51:34 +01:00
Ronald Langeveld
ee4ef4438e
Fixed Stripe connect display name key (#18725)
no issue

- the stripe value is saved under the `stripe_connect_display_name`
column, yet Admin X was querying `stripe_connect_account_name` causing
it to be undefined.

---

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

Renamed `stripe_connect_account_name` setting to
`stripe_connect_display_name` in the admin-x-settings app. This improves
clarity and consistency for the Stripe integration in the membership
settings.
2023-10-23 08:56:41 +00:00
Ronald Langeveld
84a9a7dacc
Updated Admin-X settings readme (#18721)
no issue

- Updated the readme document for AdminX, Settings.

---

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

Improved the documentation of the `admin-x-settings` project by updating
the `README.md` file. Removed obsolete information and added new testing
options.
2023-10-23 10:22:03 +07:00
renovate[bot]
f18287eb9b Update dependency concurrently to v8.2.2 2023-10-22 12:25:35 +02:00
Ghost CI
16c5e6e2f9 Merged v5.69.4 into main 2023-10-20 11:41:03 +00:00
Jono M
838e315336 Fixed max currency amount to only apply to donations (#18711)
refs https://github.com/TryGhost/Product/issues/4044

---

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

This pull request improves the validation of suggested amounts for tips
or donations in the membership settings. It adds a constant `MAX_AMOUNT`
based on Stripe's limit and refactors the `validateCurrencyAmount`
function to make it more reusable.
2023-10-20 12:25:28 +01:00
Ronald Langeveld
a08e5ef324 Changed checked value to use portal plans on toggle (#18708)
no issue

- this adds a bit more logic to ensure the portal plans remain consistent with the tier's visibility in the portal preview.
---

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

Refactored the `Free` tier checkbox in the portal signup options
component to use the `portalPlans` array. This improves the consistency
and reliability of the portal plans settings.
2023-10-20 12:25:28 +01:00
Ronald Langeveld
375be17737 🐛 Fixed free tier not updating in Portal settings (#18705)
refs https://ghost.slack.com/archives/CTH5NDJMS/p1697741715839159

- the visibility property of the tier wasn't toggled when updating the
settings in the Portal settings.
---

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

This pull request adds support for free tier visibility in the
membership portal settings, and refactors the components and tests to
use the new `allTiers` API data. It updates the `PortalModal` and
`SignupOptions` components, and the `portal.test.ts` and `acceptance.ts`
files.
2023-10-20 12:25:28 +01:00
Jono M
36c78054f2
Fixed max currency amount to only apply to donations (#18711)
refs https://github.com/TryGhost/Product/issues/4044

---

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

This pull request improves the validation of suggested amounts for tips
or donations in the membership settings. It adds a constant `MAX_AMOUNT`
based on Stripe's limit and refactors the `validateCurrencyAmount`
function to make it more reusable.
2023-10-20 11:48:59 +01:00
Ronald Langeveld
7f2818c091
Changed checked value to use portal plans on toggle (#18708)
no issue

- this adds a bit more logic to ensure the portal plans remain consistent with the tier's visibility in the portal preview.
---

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

Refactored the `Free` tier checkbox in the portal signup options
component to use the `portalPlans` array. This improves the consistency
and reliability of the portal plans settings.
2023-10-20 17:02:08 +07:00
Princi Vershwal
4bf3c6c98c
Adding timezone label on UI and Updated @tryghost/timezone-data for Admin-X Settings (#18702)
Ref.
https://www.notion.so/ghost/Kyiv-Kiev-timezone-issue-https-ghost-slack-com-archives-C0568LN2CGJ-p1697467598549909-cc0a8b6388df45018f48e0a917490bf4
2023-10-20 15:19:04 +05:30
Ronald Langeveld
d94d9ad6ba
Cleaned up tiers test in settings (#18707)
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 87456d8</samp>

Enable tier card text verification in `tiers.test.ts`. This change is
part of adding tiers support in the admin settings.
2023-10-20 08:40:32 +00:00
Ronald Langeveld
e72f2369bf
🐛 Fixed Stripe modal not showing Account name (#18706)
no issue

- The stripe connect modal had "dummy" hardcoded. This adds the
`stripeConnectAccountName` variable to the text output.

---

<!-- Leave the line below if you'd like GitHub Copilot to generate a
summary from your commit -->
copilot:summary
2023-10-20 15:32:07 +07:00
Ronald Langeveld
b12c26aa4b
🐛 Fixed free tier not updating in Portal settings (#18705)
refs https://ghost.slack.com/archives/CTH5NDJMS/p1697741715839159

- the visibility property of the tier wasn't toggled when updating the
settings in the Portal settings.
---

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

This pull request adds support for free tier visibility in the
membership portal settings, and refactors the components and tests to
use the new `allTiers` API data. It updates the `PortalModal` and
`SignupOptions` components, and the `portal.test.ts` and `acceptance.ts`
files.
2023-10-20 15:09:41 +07:00
Jono M
678ee99e87
Updated AdminX CodeMirror styles to work better in dark mode (#18701)
refs https://github.com/TryGhost/Product/issues/3831

---

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

Refactored the `CodeEditor` component to use Tailwind CSS and added a
`className` prop for custom styling. Applied the `className` prop to the
`CodeEditor` instances in the `CodeInjection` component to improve the
layout.
2023-10-19 14:12:54 +01:00
Jono M
2debf686e6
Updated AdminX file upload to support drag and drop (#18691)
refs https://github.com/TryGhost/Product/issues/3831

---

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

This pull request adds drag and drop functionality and custom styling
options to the `FileUpload` and `ImageUpload` components, and uses them
to improve the user experience of uploading themes and user images in
the admin settings. It also fixes a minor issue with the background
color contrast in the `IntegrationHeader` component in dark mode, and
updates the corresponding tests.
2023-10-19 11:42:00 +01:00
Chris Raible
b5631241c5
🐛 Fixed bug preventing Casper from being activated from gallery (#18697)
fixes TryGhost/Product#4038

- When selecting a theme from the gallery view of official themes, the logic needs to be different for default/legacy themes (source & casper) vs other official themes. For default/legacy themes, they will already be installed so we just need to activate them, not install them.
- Previously this logic was applied only to the default theme (currently source) but was not applied to Casper, which led to errors when trying to install Casper, since it is protected from being overwritten
- This change treats default/legacy themes the same by skipping the install process and going straight to activating for casper and source
2023-10-18 15:40:58 -07:00
Sag
96065f9c94
Added more acceptance tests for Recommendation settings (#18696)
closes https://github.com/TryGhost/Product/issues/3955

- also, moved recommendations code to the "membership" folder for
consistency with the UI
- also, renamed "yarn test:slowmo" to "yarn test:acceptance:slowmo" for
consistency in the naming
- also, removed "limit: 1" when checking whether a recommendation URL
already exists. The limit defaults to 5 on the API side, and allowing
more than 1 result will lead to a more thorough check
2023-10-18 18:56:34 +00:00
Sag
5c43945b94
Revert "Added Recommendations feature (#18664)" (#18694)
refs https://github.com/TryGhost/Product/issues/3744

- this reverts GA commit 4e338114de, as
launch has been postponed by a week
2023-10-18 17:03:35 +00:00
Ronald Langeveld
a9ad08cf89
Fixed API Query permissions in User Settings (#18680)
refs
https://www.notion.so/ghost/Cannot-fetch-invites-error-shown-for-authors-edc00af822d844e7add114fd834fc8fc

- the problem is that certain users don't have permissions to make
certain API calls.
- This adds a new hook that validates the current user against
permissions before a query can be made.

---

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

Added a `usePermission` hook and a `permissions` option for custom API
queries to implement role-based permissions in the admin settings app.
2023-10-18 17:04:59 +07:00
Peter Zimon
ea076fac6a Fixed viewport width bug in AdminX (#18681)
refs. https://github.com/TryGhost/Product/issues/3949

- the viewport was getting really wide because of the whitespace
property of newsletter descriptions
2023-10-18 16:30:46 +07:00
Jono M
bc8c9b78e6 Fixed bugs with saving in portal modal (#18649)
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 8ad5f58</samp>

This pull request enhances the portal modal component in the admin
settings for membership. It improves how it handles errors, saves
changes, and communicates with the user.
2023-10-18 16:30:23 +07:00
Peter Zimon
e8768f040c
Fixed viewport width bug in AdminX (#18681)
refs. https://github.com/TryGhost/Product/issues/3949

- the viewport was getting really wide because of the whitespace
property of newsletter descriptions
2023-10-18 10:55:09 +02:00
Sag
4e338114de
Added Recommendations feature (#18664)
refs https://github.com/TryGhost/Product/issues/3744

Co-authored-by: Simon Backx <simon@ghost.org>
Co-authored-by: Djordje Vlaisavljevic <dzvlais@gmail.com>
2023-10-17 13:04:35 +00:00
Jannis Fedoruk-Betschki
40a2bdad20
🎨 Improved search keywords in Admin-X Settings (#18608)
fixes https://github.com/TryGhost/Ghost/issues/18661
2023-10-17 13:57:43 +02:00
Djordje Vlaisavljevic
fe90778816 Updated copy
refs https://github.com/TryGhost/Product/issues/4030
2023-10-17 10:50:15 +01:00
Jono M
422f486de4
Improved AdminX scrolling behaviour (#18640)
refs https://github.com/TryGhost/Product/issues/3832

Hopefully the scrolling finally works consistently

- Fixed a bug where clicking the navigated section wouldn't scroll to it
- Fixed a bug where the first click after opening settings wouldn't
animate the scroll
- Fixed a bug where the sidebar would always animate scroll even on the
initial page load

---

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

This pull request improves the scrolling and navigation functionality of
the settings page by using a custom hook and a context provider. It
refactors the `RoutingProvider` and the `useScrollSection` hook to
handle the route and sidebar changes more efficiently, and simplifies
the code by removing unnecessary components and state. It also adds new
functions to the scroll section context data to update and scroll to the
desired section.
2023-10-17 09:05:10 +01:00
Ronald Langeveld
a562cc7c7f
Fixed default theme button in theme settings (#18656)
no issue

- the default theme (currently Source) showed Activate despite being
active already, which may lead to confusion.
- This fix checks whether it's already to more accurately display the
wording of the button

---

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

Fix theme preview button label for default theme. Hide the activate
button for the default theme if it is already active in
`ThemePreview.tsx`.
2023-10-17 10:15:58 +07:00
Djordje Vlaisavljevic
0271928d1c Removed import
refs https://github.com/TryGhost/Product/issues/4024
2023-10-16 18:27:04 +01:00