heureka-agency / switcheroo
LiveWire的货币切换器TALL-stack。
1.2
2024-08-12 22:24 UTC
Requires
- php: ^8.2
- illuminate/support: ^11.0
- livewire/livewire: ^3.5
- spatie/laravel-package-tools: ^1.16
Requires (Dev)
- orchestra/testbench: ^9.0
- phpunit/phpunit: ^10.5.17
README
在内部,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)。有关更多信息,请参阅许可证文件