diff --git a/.changeset/happy-zoos-relate.md b/.changeset/happy-zoos-relate.md
new file mode 100644
index 00000000..4ce40982
--- /dev/null
+++ b/.changeset/happy-zoos-relate.md
@@ -0,0 +1,5 @@
+---
+"strapi-plugin-webtools": patch
+---
+
+show spinner when bulk generating aliases
diff --git a/packages/core/admin/containers/App/index.tsx b/packages/core/admin/containers/App/index.tsx
index 0aa12785..16f65f77 100644
--- a/packages/core/admin/containers/App/index.tsx
+++ b/packages/core/admin/containers/App/index.tsx
@@ -85,7 +85,7 @@ const App = () => {
} />
} />
{routerComponents.map(({ path, Component }) => (
- } />
+ } />
))}
} />
diff --git a/packages/core/admin/screens/List/components/GeneratePathsModal/index.tsx b/packages/core/admin/screens/List/components/GeneratePathsModal/index.tsx
index fea3405b..b621039a 100644
--- a/packages/core/admin/screens/List/components/GeneratePathsModal/index.tsx
+++ b/packages/core/admin/screens/List/components/GeneratePathsModal/index.tsx
@@ -25,7 +25,8 @@ const GeneratePathsModal = ({
contentTypes,
children,
}: Props) => {
- const [open, setOpen] = React.useState();
+ const [open, setOpen] = React.useState(false);
+ const [submitting, setSubmitting] = React.useState(false);
const { formatMessage } = useIntl();
const [selectedContentTypes, setSelectedContentTypes] = React.useState([]);
const [selectedGenerationType, setSelectedGenerationType] = React.useState();
@@ -62,6 +63,7 @@ const GeneratePathsModal = ({
{contentTypes.map((contentType) => (
{
@@ -134,13 +136,19 @@ const GeneratePathsModal = ({
diff --git a/packages/core/admin/screens/List/index.tsx b/packages/core/admin/screens/List/index.tsx
index e0219b4d..816ed0f0 100644
--- a/packages/core/admin/screens/List/index.tsx
+++ b/packages/core/admin/screens/List/index.tsx
@@ -85,7 +85,7 @@ const List = () => {
diff --git a/packages/core/admin/screens/Overview/components/ContentTypesList/index.tsx b/packages/core/admin/screens/Overview/components/ContentTypesList/index.tsx
index 51dde47b..dac5eb12 100644
--- a/packages/core/admin/screens/Overview/components/ContentTypesList/index.tsx
+++ b/packages/core/admin/screens/Overview/components/ContentTypesList/index.tsx
@@ -53,7 +53,7 @@ const ContentTypesList = (props: Props) => {
{contentTypes.map((contenttype) => (
-
+
|
{contenttype.name}
|
diff --git a/packages/core/admin/screens/Overview/index.tsx b/packages/core/admin/screens/Overview/index.tsx
index 128d010b..70da55bb 100644
--- a/packages/core/admin/screens/Overview/index.tsx
+++ b/packages/core/admin/screens/Overview/index.tsx
@@ -156,6 +156,7 @@ const List = () => {
width: '240px',
}}
id="fourth"
+ key={addon.info.name}
>
diff --git a/packages/core/server/services/bulk-generate.ts b/packages/core/server/services/bulk-generate.ts
index a3aa3a3a..da0ff75b 100644
--- a/packages/core/server/services/bulk-generate.ts
+++ b/packages/core/server/services/bulk-generate.ts
@@ -35,11 +35,9 @@ const generateUrlAliases = async (params: GenerateParams): Promise => {
}
let relations: string[] = [];
- let languages: string[] = [undefined];
- languages = [];
const locales = await strapi.documents('plugin::i18n.locale').findMany({});
- languages = locales.map((locale) => locale.code);
+ const languages = locales.map((locale) => locale.code);
// Get all relations for the type
await Promise.all(languages.map(async (lang) => {
diff --git a/packages/core/server/util/enabledContentTypes.ts b/packages/core/server/util/enabledContentTypes.ts
index 0a78e8ed..3428bb5e 100644
--- a/packages/core/server/util/enabledContentTypes.ts
+++ b/packages/core/server/util/enabledContentTypes.ts
@@ -1,18 +1,8 @@
import get from 'lodash/get';
import { Schema } from '@strapi/strapi';
-import { pluginId } from './pluginId';
-
-export const isContentTypeEnabled = (ct: Schema.ContentType) => {
- let contentType: Schema.ContentType;
-
- if (typeof ct === 'string') {
- contentType = strapi.contentTypes[ct];
- } else {
- contentType = ct;
- }
+export const isContentTypeEnabled = (contentType: Schema.ContentType) => {
const { pluginOptions } = contentType;
-
- return get(pluginOptions, [pluginId, 'enabled'], false) as boolean;
+ return get(pluginOptions, ['webtools', 'enabled'], false) as boolean;
};