From 0523803c0e1f74afc29ad566e65fafb6b769d47c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andrei=20Ioni=C8=9B=C4=83?= Date: Thu, 20 Mar 2025 10:57:41 +0000 Subject: [PATCH 1/4] logo --- app/Providers/Filament/AdminPanelProvider.php | 1 + .../Filament/ShelterPanelProvider.php | 1 + config/blade-icons.php | 185 ++++++++++++++++++ resources/css/filament/common/theme.css | 4 + resources/svg/logo.svg | 1 + resources/views/filament/brand.blade.php | 7 + 6 files changed, 199 insertions(+) create mode 100644 config/blade-icons.php create mode 100644 resources/svg/logo.svg create mode 100644 resources/views/filament/brand.blade.php diff --git a/app/Providers/Filament/AdminPanelProvider.php b/app/Providers/Filament/AdminPanelProvider.php index 2ed41aa..b73b81d 100644 --- a/app/Providers/Filament/AdminPanelProvider.php +++ b/app/Providers/Filament/AdminPanelProvider.php @@ -39,6 +39,7 @@ public function panel(Panel $panel): Panel ->sidebarCollapsibleOnDesktop() ->maxContentWidth(MaxWidth::Full) ->viteTheme('resources/css/filament/common/theme.css') + ->brandLogo(fn () => view('filament.brand')) ->discoverResources( in: app_path('Filament/Admin/Resources'), for: 'App\\Filament\\Admin\\Resources', diff --git a/app/Providers/Filament/ShelterPanelProvider.php b/app/Providers/Filament/ShelterPanelProvider.php index 4b59fb6..e9f3712 100644 --- a/app/Providers/Filament/ShelterPanelProvider.php +++ b/app/Providers/Filament/ShelterPanelProvider.php @@ -42,6 +42,7 @@ public function panel(Panel $panel): Panel ->sidebarCollapsibleOnDesktop() ->maxContentWidth(MaxWidth::Full) ->viteTheme('resources/css/filament/common/theme.css') + ->brandLogo(fn () => view('filament.brand')) ->discoverResources( in: app_path('Filament/Shelter/Resources'), for: 'App\\Filament\\Shelter\\Resources', diff --git a/config/blade-icons.php b/config/blade-icons.php new file mode 100644 index 0000000..24c85fe --- /dev/null +++ b/config/blade-icons.php @@ -0,0 +1,185 @@ + [ + + 'default' => [ + + /* + |----------------------------------------------------------------- + | Icons Path + |----------------------------------------------------------------- + | + | Provide the relative path from your app root to your SVG icons + | directory. Icons are loaded recursively so there's no need to + | list every sub-directory. + | + | Relative to the disk root when the disk option is set. + | + */ + + 'path' => 'resources/svg', + + /* + |----------------------------------------------------------------- + | Filesystem Disk + |----------------------------------------------------------------- + | + | Optionally, provide a specific filesystem disk to read + | icons from. When defining a disk, the "path" option + | starts relatively from the disk root. + | + */ + + 'disk' => '', + + /* + |----------------------------------------------------------------- + | Default Prefix + |----------------------------------------------------------------- + | + | This config option allows you to define a default prefix for + | your icons. The dash separator will be applied automatically + | to every icon name. It's required and needs to be unique. + | + */ + + 'prefix' => 'icon', + + /* + |----------------------------------------------------------------- + | Fallback Icon + |----------------------------------------------------------------- + | + | This config option allows you to define a fallback + | icon when an icon in this set cannot be found. + | + */ + + 'fallback' => '', + + /* + |----------------------------------------------------------------- + | Default Set Classes + |----------------------------------------------------------------- + | + | This config option allows you to define some classes which + | will be applied by default to all icons within this set. + | + */ + + 'class' => '', + + /* + |----------------------------------------------------------------- + | Default Set Attributes + |----------------------------------------------------------------- + | + | This config option allows you to define some attributes which + | will be applied by default to all icons within this set. + | + */ + + 'attributes' => [ + // 'width' => 50, + // 'height' => 50, + ], + + ], + + ], + + /* + |-------------------------------------------------------------------------- + | Global Default Classes + |-------------------------------------------------------------------------- + | + | This config option allows you to define some classes which + | will be applied by default to all icons. + | + */ + + 'class' => '', + + /* + |-------------------------------------------------------------------------- + | Global Default Attributes + |-------------------------------------------------------------------------- + | + | This config option allows you to define some attributes which + | will be applied by default to all icons. + | + */ + + 'attributes' => [ + // 'width' => 50, + // 'height' => 50, + ], + + /* + |-------------------------------------------------------------------------- + | Global Fallback Icon + |-------------------------------------------------------------------------- + | + | This config option allows you to define a global fallback + | icon when an icon in any set cannot be found. It can + | reference any icon from any configured set. + | + */ + + 'fallback' => '', + + /* + |-------------------------------------------------------------------------- + | Components + |-------------------------------------------------------------------------- + | + | These config options allow you to define some + | settings related to Blade Components. + | + */ + + 'components' => [ + + /* + |---------------------------------------------------------------------- + | Disable Components + |---------------------------------------------------------------------- + | + | This config option allows you to disable Blade components + | completely. It's useful to avoid performance problems + | when working with large icon libraries. + | + */ + + 'disabled' => false, + + /* + |---------------------------------------------------------------------- + | Default Icon Component Name + |---------------------------------------------------------------------- + | + | This config option allows you to define the name + | for the default Icon class component. + | + */ + + 'default' => 'icon', + + ], + +]; diff --git a/resources/css/filament/common/theme.css b/resources/css/filament/common/theme.css index 9f6ac94..e458340 100644 --- a/resources/css/filament/common/theme.css +++ b/resources/css/filament/common/theme.css @@ -2,3 +2,7 @@ @import '/vendor/awcodes/filament-table-repeater/resources/css/plugin.css'; @config 'tailwind.config.js'; + +.fi-logo { + @apply justify-center w-full; +} diff --git a/resources/svg/logo.svg b/resources/svg/logo.svg new file mode 100644 index 0000000..39c04f1 --- /dev/null +++ b/resources/svg/logo.svg @@ -0,0 +1 @@ + diff --git a/resources/views/filament/brand.blade.php b/resources/views/filament/brand.blade.php new file mode 100644 index 0000000..0935efc --- /dev/null +++ b/resources/views/filament/brand.blade.php @@ -0,0 +1,7 @@ +
+ + + + {{ config('app.name') }} + +
From e3badc1ae45cf40eb218f81c7d3e0610e191c89d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andrei=20Ioni=C8=9B=C4=83?= Date: Thu, 20 Mar 2025 10:57:51 +0000 Subject: [PATCH 2/4] sidebar commit --- app/Providers/FilamentServiceProvider.php | 5 +++++ lang/en/app.php | 1 + resources/svg/commitglobal.svg | 1 + .../views/filament/sidebar-footer.blade.php | 16 ++++++++++++++++ 4 files changed, 23 insertions(+) create mode 100644 resources/svg/commitglobal.svg create mode 100644 resources/views/filament/sidebar-footer.blade.php diff --git a/app/Providers/FilamentServiceProvider.php b/app/Providers/FilamentServiceProvider.php index a86d6ab..6b9b215 100644 --- a/app/Providers/FilamentServiceProvider.php +++ b/app/Providers/FilamentServiceProvider.php @@ -196,6 +196,11 @@ protected function renderHooks(): void ]), ); + FilamentView::registerRenderHook( + PanelsRenderHook::SIDEBAR_NAV_END, + fn () => view('filament.sidebar-footer') + ); + FilamentView::registerRenderHook( PanelsRenderHook::USER_MENU_PROFILE_AFTER, fn () => view('components.locale-switcher.panel', [ diff --git a/lang/en/app.php b/lang/en/app.php index 91f1aa3..c153961 100644 --- a/lang/en/app.php +++ b/lang/en/app.php @@ -9,6 +9,7 @@ 'shelter_configuration' => 'Shelter configuration', 'manual' => 'Manual', ], + 'developed_by' => 'Developed by', 'yes' => 'Yes', 'no' => 'No', 'submit' => 'Submit', diff --git a/resources/svg/commitglobal.svg b/resources/svg/commitglobal.svg new file mode 100644 index 0000000..7c75fc1 --- /dev/null +++ b/resources/svg/commitglobal.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/resources/views/filament/sidebar-footer.blade.php b/resources/views/filament/sidebar-footer.blade.php new file mode 100644 index 0000000..709f72d --- /dev/null +++ b/resources/views/filament/sidebar-footer.blade.php @@ -0,0 +1,16 @@ + From 708a990913248cafb527a1875badded63ea40a6a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andrei=20Ioni=C8=9B=C4=83?= Date: Thu, 20 Mar 2025 11:10:21 +0000 Subject: [PATCH 3/4] adjust logo --- app/Providers/Filament/AdminPanelProvider.php | 1 + app/Providers/Filament/ShelterPanelProvider.php | 1 + resources/views/filament/brand.blade.php | 7 ++++--- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/app/Providers/Filament/AdminPanelProvider.php b/app/Providers/Filament/AdminPanelProvider.php index b73b81d..75293a8 100644 --- a/app/Providers/Filament/AdminPanelProvider.php +++ b/app/Providers/Filament/AdminPanelProvider.php @@ -40,6 +40,7 @@ public function panel(Panel $panel): Panel ->maxContentWidth(MaxWidth::Full) ->viteTheme('resources/css/filament/common/theme.css') ->brandLogo(fn () => view('filament.brand')) + ->brandLogoHeight('3rem') ->discoverResources( in: app_path('Filament/Admin/Resources'), for: 'App\\Filament\\Admin\\Resources', diff --git a/app/Providers/Filament/ShelterPanelProvider.php b/app/Providers/Filament/ShelterPanelProvider.php index e9f3712..27a8e41 100644 --- a/app/Providers/Filament/ShelterPanelProvider.php +++ b/app/Providers/Filament/ShelterPanelProvider.php @@ -43,6 +43,7 @@ public function panel(Panel $panel): Panel ->maxContentWidth(MaxWidth::Full) ->viteTheme('resources/css/filament/common/theme.css') ->brandLogo(fn () => view('filament.brand')) + ->brandLogoHeight('3rem') ->discoverResources( in: app_path('Filament/Shelter/Resources'), for: 'App\\Filament\\Shelter\\Resources', diff --git a/resources/views/filament/brand.blade.php b/resources/views/filament/brand.blade.php index 0935efc..e955fa5 100644 --- a/resources/views/filament/brand.blade.php +++ b/resources/views/filament/brand.blade.php @@ -1,7 +1,8 @@ -
- +
+ - + {{ config('app.name') }}
From 5ce661f843496b6f030c35b6f6f3385d286bbacd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andrei=20Ioni=C8=9B=C4=83?= Date: Thu, 20 Mar 2025 11:11:59 +0000 Subject: [PATCH 4/4] favicons --- app/Providers/FilamentServiceProvider.php | 5 +++++ public/favicon.ico | Bin 0 -> 15086 bytes public/favicon/apple-touch-icon.png | Bin 0 -> 3588 bytes public/favicon/favicon-96x96.png | Bin 0 -> 1989 bytes public/favicon/favicon.svg | 3 +++ resources/views/filament/favicons.blade.php | 4 ++++ 6 files changed, 12 insertions(+) create mode 100755 public/favicon.ico create mode 100755 public/favicon/apple-touch-icon.png create mode 100755 public/favicon/favicon-96x96.png create mode 100755 public/favicon/favicon.svg create mode 100644 resources/views/filament/favicons.blade.php diff --git a/app/Providers/FilamentServiceProvider.php b/app/Providers/FilamentServiceProvider.php index 6b9b215..dbb0e14 100644 --- a/app/Providers/FilamentServiceProvider.php +++ b/app/Providers/FilamentServiceProvider.php @@ -189,6 +189,11 @@ protected function configurePages(): void protected function renderHooks(): void { + FilamentView::registerRenderHook( + PanelsRenderHook::HEAD_START, + fn () => view('filament.favicons') + ); + FilamentView::registerRenderHook( PanelsRenderHook::FOOTER, fn () => view('filament.version', [ diff --git a/public/favicon.ico b/public/favicon.ico new file mode 100755 index 0000000000000000000000000000000000000000..d0ca4be09cde124728ac7912b0d1e1f7ee61e69a GIT binary patch literal 15086 zcmdU0y>8S%5S}PVRCf+904Jmf%7_A`B0hd3geZ6fBvK$=03jjl6A}d#L5PAUpi2u% za|I7Tg#-mjfv8dh3KS{8@qO!^oMX;D`)uFdTH5T{-kJGkc6N7m))85fWm#Jj)IE8- zDsovwdOdr;BJvf_R#5Z({Zk^((BLB4fJE-1@Ohip)hM_W4m$TX;_ep8`!Mc)3J2Yv z`2B~4zxj;sP`22XG;Ly<#ygBw*1|#X5V&^2DENhXRH-C1JB9~%O_SHu`!MRRqr3pt z@0IWt>-XL81n;JBX8Bx?&zyyf7?^h(#GUQ4UCN-Wto%CnVbr+|zVBMZeNqp~g3LOY zm9`&s9{~H8xnWm7gG|a+9JACLgWwTxAI=@S>HyiqFf;anQ|yUP0Yg&G`HIMeX{;pUas!3K1>?Vz`l-o zX4m0dQ`T-=zlt4p(`9FgZP6@pJA++42~_$));=U-Q5- zz2XDttZS_-n|H53p$NNXq2OjU=Eq<@_CsqfZPb~I0 z$jM(3zwi0Oqz}wligD;h>cHBZb9nguKw5`H4?n-($m+p+%>#2U$~`G!khy(7GaAK9qmjtyH|BiS z2OIAEQ9V^}wS(FPCNg$9w%gF!QSGXBwsz-tT0N8yrHSvft~~CpVn4mv zk2-HK)<3|P_EC;(+2^z5U9icv5ZlPL@g%r`wdys_!oERPxfmL4NkiIML0pT1^Zh7z z-jBOKO3TgQBQ1H5R}~zks9-UVjrCxQjn1-*xP3W@3o+0!xha z0gF_;lx}GG?13kFQ^s+s0SV8HbRLN5y-*6M<74}n~v3~J?IS$QlJmWjCn|Sq~ zb}nGPe~I>tee&XtBer4NG!x#3aj;!Lm*E#|r+HYpnKro?OgqvLgVDDba~|I#wN-iC z8BAk4=gBC1p6a8*b_MuM{}#NT#y9be{QfSaKlZB`>FK9+`;R_Q$A1icP5)IM7Dwgr fLwdc`CsV#rIDQY110EuO8e=A6nRaPA(vbEa1umqY literal 0 HcmV?d00001 diff --git a/public/favicon/apple-touch-icon.png b/public/favicon/apple-touch-icon.png new file mode 100755 index 0000000000000000000000000000000000000000..6ea9546f8ce5ef2266ac894eadefc192cd7070ba GIT binary patch literal 3588 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 Xwv+(Alf9+q00000NkvXXu0mjfJvzra literal 0 HcmV?d00001 diff --git a/public/favicon/favicon.svg b/public/favicon/favicon.svg new file mode 100755 index 0000000..3c48e51 --- /dev/null +++ b/public/favicon/favicon.svg @@ -0,0 +1,3 @@ + \ No newline at end of file diff --git a/resources/views/filament/favicons.blade.php b/resources/views/filament/favicons.blade.php new file mode 100644 index 0000000..447c55c --- /dev/null +++ b/resources/views/filament/favicons.blade.php @@ -0,0 +1,4 @@ + + + +