Conversation
Introduce a LinksOverview admin screen and register it in the playground admin app. Update addon detection logic in App and Overview to use addon labels/names (case-insensitive) to determine installed vs locked Pro addons, add lockedProAddons and hasProLicense helpers, and only show the "Try Premium" CTA when no Pro addon is installed. Add playground changes for local testing: include webtools addon deps and activation metadata in package.json, add a WEBTOOLS license entry to .env, add a scoped .yarnrc.yml for the pluginpal registry, and update generated types to include breadcrumbs and redirects content types. (yarn.lock updated to reflect dependency additions.)
🦋 Changeset detectedLatest commit: 94a0a8d The changes in this PR will be included in the next version bump. This PR includes changesets to release 1 package
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
…/pluginpal/strapi-webtools into feature/try-webtools-inscentives
Add generated TypeScript build info file (dist/tsconfig.tsbuildinfo) produced by the TypeScript build. Also apply updates to packages/core/admin/components/TrialModal/index.tsx — minor changes to the TrialModal component were made alongside the build output.
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #382 +/- ##
==========================================
+ Coverage 35.96% 38.45% +2.48%
==========================================
Files 2 2
Lines 723 723
Branches 172 172
==========================================
+ Hits 260 278 +18
+ Misses 368 353 -15
+ Partials 95 92 -3
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
|
|
||
| // Get list of installed addon labels (e.g., "Redirects", "Links", "Breadcrumbs") | ||
| const installedAddonLabels = routerComponents | ||
| .map((route) => route.label?.toLowerCase()) |
There was a problem hiding this comment.
Better not to map this to the route label. That would cause this to break when those labels are translated. You could use this query to find all the enabled addons:
const addons = useQuery('addons', async () => get<WebtoolsAddonInfo[]>('/webtools/info/addons'));
Then we should match on the package name rather than the label.
There was a problem hiding this comment.
I would rather have this file be in the links addon itself. Then when we want to actually implement that links overview page, we don't need to remove this page in the core plugin.
| const installedAddons = Object.values(addons.data.data || {}); | ||
|
|
||
| // Get list of installed addon names (e.g., "Redirects", "Links", "Breadcrumbs") | ||
| const installedAddonNames = installedAddons.map((addon) => addon.info.addonName.toLowerCase()); |
There was a problem hiding this comment.
Again, don't map to the addonName, but to the package name to allow translatability.
| export default { | ||
| register(app: any) { | ||
| // Register Links addon overview screen | ||
| const webtoolsPlugin = app.getPlugin('webtools'); |
There was a problem hiding this comment.
This can be removed if we inject the route from the links plugin.
playground/.env
Outdated
| ADMIN_JWT_SECRET=tobemodified | ||
| JWT_SECRET=tobemodified | ||
|
|
||
| WEBTOOLS_LICENSE_KEY=WEBTOOLS-4F4D6E86-270C-461A-B1FB-F58B5A707793 |
playground/package.json
Outdated
| "sitemap": "strapi-sitemap" | ||
| }, | ||
| "dependencies": { | ||
| "@pluginpal/webtools-addon-breadcrumbs": "^1.0.3", |
There was a problem hiding this comment.
These should be removed from the core playground.
Removed unused plugin dependencies from package.json
No description provided.