heureka-agency/switcheroo

LiveWire的货币切换器TALL-stack。

1.2 2024-08-12 22:24 UTC

This package is auto-updated.

Last update: 2024-09-12 22:38:03 UTC


README

Latest Version on Packagist Total Downloads

在内部,Switcheroo是一个带有一些AlpineJS魔法的单个Livewire组件。该组件使用并需要TailwindCss进行样式设置,但您可以根据需要将其更改为任何其他CSS框架或甚至原生CSS。

此包目前不提供任何货币转换功能。

安装

您可以通过composer安装此包

composer require heureka-agency/switcheroo

您还需要安装npm包flag-icons以显示货币标志

npm install flag-icons

使用

配置

首先,使用以下命令发布Switcheroo配置

php artisan vendor:publish --tag=switcheroo-config
return [
    /**
     * Add any currencies you would like to handle with Switcheroo.
     * You can select all currencies using \HeurekaAgency\Switcheroo\Enums\Currency::all()
     */
    'enabled_currencies' => [
        \HeurekaAgency\Switcheroo\Enums\Currency::EUR,
        \HeurekaAgency\Switcheroo\Enums\Currency::USD,
        \HeurekaAgency\Switcheroo\Enums\Currency::GBP,
    ],

    /**
     * Set the default currency of the currency switcher.
     */
    'default_currency' => \HeurekaAgency\Switcheroo\Enums\Currency::EUR
];

包含在您的应用程序中

请确保在app.css中导入Switcheroo CSS

@import "../../vendor/heureka-agency/switcheroo/resources/css/switcheroo.css";

然后,只需在您希望的位置包含Switcheroo组件即可

<livewire:switcheroo::currency-switcher /> 

事件

每次选择货币时,Switcheroo都会发送一个Livewire事件。您可以从任何其他Livewire组件或甚至从JavaScript中自由访问此事件。

#[On('currency-selected')]
public function yourCurrencySwitchHandler(string $currency): void
{
    $currency = Currency::from($currency);
    // any other business logic
} 

选定的货币还使用Alpine.$persist存储在本地存储中。

视图

您可以发布Switcheroo视图以自定义货币切换器的外观和感觉

php artisan vendor:publish --tag=switcheroo-views 

翻译

Switcheroo已准备好多语言!虽然它没有任何可读字符串需要翻译,但您可以使用以下方式发布语言文件

php artisan vendor:publish --tag=switcheroo-translations 

未来计划

  • 创建一个助手,可自动根据当前选择转换货币
  • 添加语言和国家选择支持
  • 添加货币/语言/国家的本地语言显示支持

变更日志

有关最近更改的更多信息,请参阅CHANGELOG

贡献

有关详细信息,请参阅CONTRIBUTING

安全

如果您发现任何安全相关的问题,请通过电子邮件thar.tristan@heureka-kreativ.hu报告,而不是使用问题跟踪器。

鸣谢

许可证

MIT许可证(MIT)。有关更多信息,请参阅许可证文件