A Laravel-based library to easily build Plain UI component cards.
- PHP 8.1 or higher
- Laravel 8.83 or higher
Install the package with composer:
composer require lemonsqueezy/plain-ui-components
/**
* An Plain Customer Card endpoint
*
* @link https://docs.plain.com/adding-context/customer-cards
*/
public function customerCards(Request $request)
{
abort_unless($email = $request->input('customer.email'), 400, 'No email provided.');
$user = User::where('email', $email)->firstOrFail();
return Cards::make()
// Adding a card directly is easy, but the data is not guaranteed to be used by Plain.
->add(Card::make('platform-details')->add(Text::make('Platform Version: '.config('app.version')))
// As an alternative, you can therefore use a binding, which lazily resolves
// only when the request asks for that card, making it way more efficient.
->bind('user-details', fn (Card $card) => $this->buildUserDetailsCard($card, $user))
// Finally, we'll render the cards payload using the JSON Request made by Plain.
->toArray($request);
}
Please see CHANGELOG for more information what has changed recently.
Please see CONTRIBUTING for details.
If you discover any security related issues, please email [email protected] instead of using the issue tracker.
This way, we can safely discuss and resolve the issue (within a reasonable timeframe), without exposing users to the unnecessary additional risk. Once the issue is fixed and a new version is released, we'll make sure to credit you for your contribution (unless you wish to remain anonymous).
The MIT License (MIT). Please see License File for more information.