Theme Logo Files
This directory contains SVG logo files for each theme. These logos are used throughout the application in navigation, authentication pages, and other UI components.
Files
timebank_cc.blade.php- Default Timebank.cc theme logouuro.blade.php- Uuro theme logovegetable.blade.php- Vegetable theme logoyellow.blade.php- Yellow theme logo
Customization
To Customize a Logo for Your Theme:
- Edit the appropriate theme logo file (e.g.,
your_theme.blade.php) - Replace the SVG content with your custom logo
- Ensure the SVG includes:
class="fill-theme-logo w-full h-full"for theme-aware coloring and responsive sizing- Dynamic title tag:
<title>{{ $logoTitle ?? config('app.name') . ' ' . __('logo') }}</title> - The
viewBoxattribute for aspect ratio (no fixed width/height)
To Create a New Theme Logo:
-
Copy an existing logo file:
cp timebank_cc.blade.php my_new_theme.blade.php -
Edit the SVG content in
my_new_theme.blade.php -
Update theme configuration in
config/themes.php:'my_new_theme' => [ 'name' => 'My New Theme', 'logos' => [ 'svg_inline' => 'logos.my_new_theme', 'email_logo' => 'app-images/my_new_theme_mail_logo.png', ], // ... other theme settings ], -
Add corresponding email logo to
storage/app/public/app-images/my_new_theme_mail_logo.png
Important Notes
- SVG logos in this directory are tracked in git
- Email/PDF logos (PNG files) are stored in
storage/app/public/app-images/and are gitignored - When deploying, SVG logos may be overwritten by git pull, but email logos in storage are safe
- Use the
theme_logo()helper function to access logo paths in code
Usage in Code
// Get SVG inline view name
$svgView = theme_logo('svg_inline'); // Returns: 'logos.timebank_cc'
// Include in Blade template (uses default tooltip)
@include(theme_logo('svg_inline'))
// Include with custom tooltip text
@include(theme_logo('svg_inline'), ['logoTitle' => __('Go to homepage')])
// Include with context-specific tooltip
@include(theme_logo('svg_inline'), ['logoTitle' => __('Search') . ' - ' . config('app.name')])
// Get email logo path
$emailLogo = theme_logo('email_logo'); // Returns: 'app-images/timebank_cc_mail_logo.png'
Dynamic Tooltip Text
All logo files support dynamic tooltip text via the $logoTitle variable:
- Default behavior: If no
$logoTitleis provided, the tooltip defaults toconfig('app.name') . ' ' . __('logo') - Custom tooltips: Pass
['logoTitle' => 'Your custom text']when including the logo - Context-aware: Different components can use different tooltips (e.g., "Go to homepage" on login, "Search" on dashboard)
White-Label Deployment
The logo system is designed to support white-label deployments:
- Each installation sets
TIMEBANK_THEME=your_themein.env - Theme-specific logos are automatically loaded
- Email logos in
storage/persist through git updates - No conflicts when pulling latest code from repository
For more information, see references/THEME_IMPLEMENTATION.md.