Stormlight
Stormlight's Comments
-
- Development
- Can i use Tailwindcss?
-
- Development
- Laravel Integration
In reply to StormlightStormlightApr 3, 2024 Thanks for clarifying that @Toby! I had two more questions: How can we implement conditional rendering of components based on the route. In my case, I’m trying to remove the ‘search’ component from t...I was able to figure out my question above regarding conditional rendering. If anyone else is interested, I just removed the 'search' component and added my own custom component (which has the logic for the conditional rendering) via the WaterHoleServiceProvider. Waterhole docs for reference.
// WaterholeServiceProvider use App\View\Components\Navigation; public function extend(): void { Extend\Header::remove('search'); Extend\Header::add(Navigation::class); // my own custom Blade component }
// My custom blade view (navigation.blade.php) <div> {{-- Other nav links if needed --}} @if (Route::is('waterhole.*')) <x-waterhole::HeaderSearch /> @endif </div>
-
- Development
- Laravel Integration
In reply to TobyToby Waterhole FounderApr 3, 2024 Hey @Stormlight, The Waterhole project skeleton is really just a slightly stripped-down version of the Laravel 10 skeleton (no Vite, no API routes, etc.) with some default configuration in place – us...Thanks for clarifying that @Toby! I had two more questions:
How can we implement conditional rendering of components based on the route. In my case, I’m trying to remove the ‘search’ component from the Header on any routes that aren’t prefixed with “/forums” (my waterhole path is set to "forums").
// Inside the WaterholeServiceProvider extend function if (!Route::is('forums.*')) { Extend\Header::remove('search'); }
I don’t think we can access routes in a ServiceProvider (nor is it good practice?) since that’s what’s bootstrapping the application, though I might be mistaken. In normal situations, we would have this conditional in our blade template files. However, I don’t think we have access to modify the Waterhole blade template files (unless I missed something in the Waterhole docs).See my response in the post below for the solution.
- How should we go about adding relationships to the User model with my own generated models. In the docs, it’s mentioned to use Laravel’s
resolveRelationUsing
method. However, the Laravel docs mention that this is not recommended for normal application development. Is it then better to just create another User model and extend theWaterhole\Models\User
class?
-
- Blog
- Waterhole 0.4
Awesome work @Toby! The more familiar I get with Waterhole, the more I'm liking it
-
- Development
- Waterhole Font - Baton
In reply to TobyToby Waterhole FounderApr 1, 2024 Hey @Stormlight! Baton is a premium font by the Fatype Foundry, so you need to purchase a license to use it. I think it's the best font everI see, thanks @Toby! Is Waterhole using the entire Baton family or just a specific type?
Yeah, you should be able to use TailwindCSS.
If it's a new Waterhole project, there is a CSS entry point at
resources/css/waterhole/app.css
. If it's a Laravel project and you pulled in Waterhole as a package, the CSS entry point would be hereresources/css/app.css
. Assuming all settings were kept as default.However, I'm not sure if Tailwind classes would interfere with Waterhole's Design System. Maybe @Toby could clarify that.
Edit: Unless I misunderstood your question, and you wanted to use TailwindCSS instead of Waterhole's Design System?
Also, you can add your own CSS files via
Waterhole\Extend
, see docs for more info.