Skip to content

Rename paid plugin badge to Premium and revamp install instructions#413

Merged
simonhamp merged 1 commit into
mainfrom
plugin-card-premium-label
Jul 3, 2026
Merged

Rename paid plugin badge to Premium and revamp install instructions#413
simonhamp merged 1 commit into
mainfrom
plugin-card-premium-label

Conversation

@simonhamp

Copy link
Copy Markdown
Member

What

  • Marketplace card badge: change the premium plugin card badge from "Paid" to "Premium" (display string only — PluginType::Paid enum, styling, and all other logic are untouched).
  • Plugin show page — install box: restructure the premium install instructions into a collapsible "Installation Instructions" section (collapsed by default), containing:
    • a nested "Configure Composer" collapsible (collapsed by default) with a single code block combining the repository and credentials composer config commands (masked display for logged-in users, placeholders for guests; the copy button always copies the real values);
    • a single install command block — php artisan vendor:publish --tag=nativephp-plugins-provider, composer require <package>, php artisan native:plugin:register <package>;
    • a link to the Using Plugins guide.
  • New component: extract a reusable x-plugin-command Blade component for the copyable command boxes (previously the markup was duplicated several times). It uses @js() for the clipboard value, which is more robust than the prior manual string interpolation.

Why

"Premium" reads better than "Paid" for the marketplace, and the install instructions were growing repetitive and cluttered. Collapsing them keeps the plugin page focused on the README while still giving buyers a clear, copy-paste install path.

Notes

  • Collapsing is purely client-side (Alpine x-show/x-collapse), so all commands/credentials remain in the server-rendered HTML — SEO and feature-test assertions are unaffected.
  • The dynamic email/key in the combined config block are escaped with e() before the unescaped {!! !!} render, keeping it XSS-safe.

Tests

  • PluginDirectoryTest — paid plugin card shows the "Premium" badge.
  • PluginShowInstallCredentialsTest — install commands present, credentials masked, copy command carries real values, Configure Composer collapsible renders, links to the Using Plugins guide.
  • PluginShowPaidGuestTest — updated to the new "Installation Instructions" title.

All targeted tests pass; vendor/bin/pint is clean.

🤖 Generated with Claude Code

Change the marketplace plugin card badge from "Paid" to "Premium" (display
string only). On the plugin show page, restructure the premium install box
into a collapsible "Installation Instructions" section (collapsed by default)
containing a nested "Configure Composer" collapsible and a single install
command block (vendor:publish, composer require, native:plugin:register),
linking to the Using Plugins guide. Extract a reusable x-plugin-command
component for the copyable command boxes.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@simonhamp simonhamp marked this pull request as ready for review July 3, 2026 12:58
@simonhamp simonhamp merged commit 5fa00ce into main Jul 3, 2026
2 checks passed
@simonhamp simonhamp deleted the plugin-card-premium-label branch July 3, 2026 12:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant