- How do I add this Belgian train tile to my Laravel Dashboard?
- Install via Composer with `composer require spatie/laravel-dashboard-belgian-trains-tile`, then register the tile in your dashboard configuration using `Dashboard::tile(BelgianTrainsTile::class)`. Ensure you’re using Laravel Dashboard v4+ and Livewire 2/3 for compatibility.
- Does this package support custom stations or train connections?
- Yes, you can configure specific stations or connections via the tile’s configuration options. The package expects you to define these in your dashboard setup, but it doesn’t expose a public API for dynamic station selection out of the box.
- Will this work with Laravel 10 or newer versions?
- The package is designed for Laravel 8+ and explicitly supports Livewire 2/3. While it may work with Laravel 10, test thoroughly for compatibility, especially if using newer Livewire features or updated Spatie Dashboard versions.
- How does the package handle NMBS API failures or rate limits?
- The tile makes direct API calls to NMBS/SNCB without built-in caching or fallback mechanisms. For production, implement Redis caching or queue-based polling to avoid rate limits. Add custom error handling to display a static ‘Data unavailable’ message if the API fails.
- Can I customize the train data displayed (e.g., delays, platforms)?
- The package is hardcoded to show basic connection info from the NMBS API. To extend functionality (e.g., delays, seat availability), you’ll need to fork the package or create a custom wrapper around the NMBS API with your own logic.
- Does this tile support multi-language labels (French/Dutch for Belgian trains)?
- No, the package defaults to one language (likely Dutch/French based on NMBS API responses). For bilingual support, override the tile’s Blade views or use Laravel’s localization features to manually translate labels.
- How often does the tile poll the NMBS API, and can I adjust this?
- The polling frequency isn’t configurable in the package. By default, it relies on Livewire’s real-time updates, which may trigger frequent API calls. For high-traffic dashboards, implement client-side debouncing or server-side caching to reduce load.
- Are there legal restrictions on using NMBS train data commercially?
- Check NMBS/SNCB’s API terms of service for commercial use restrictions. The package itself doesn’t enforce attribution, but NMBS may require branding or licensing for production deployments. Review their documentation before integrating into paid products.
- Can I use this tile with a non-Livewire frontend (e.g., Inertia.js or Vue)?
- No, the package is tightly coupled to Livewire and Laravel Dashboard. For non-Livewire setups, consider building a custom API wrapper or using a headless approach (e.g., fetch NMBS data via a separate endpoint and render it client-side).
- What’s the best way to handle timezone issues for Belgian train times?
- The package includes a fix (v4.0.2+) for local time rendering, but ensure your Laravel app uses `Europe/Brussels` as the default timezone. For user-specific timezones (e.g., remote employees), add logic to convert NMBS times dynamically or configure the tile per user.