3.1 KiB
3.1 KiB
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.