From a5253f9a504bccfef36f1b3392e7fcb2c47f886b Mon Sep 17 00:00:00 2001 From: myuqinurrohman Date: Mon, 31 Mar 2025 16:40:01 +0700 Subject: [PATCH] chore: add social media field to setting chore: change link social media in homepage --- .../Dashboard/SettingController.php | 7 ++ app/Http/Requests/SettingRequest.php | 26 ++++++++ app/Settings/AppSettings.php | 14 ++++ .../2025_02_27_064111_app_settings.php | 9 ++- .../views/dashboard/setting/index.blade.php | 66 +++++++++++++++++++ .../views/homepage/about-us/index.blade.php | 12 ++-- .../homepage/announcements/read.blade.php | 12 ++-- .../views/homepage/contacts/index.blade.php | 12 ++-- resources/views/homepage/index.blade.php | 12 ++-- resources/views/homepage/news/read.blade.php | 12 ++-- 10 files changed, 151 insertions(+), 31 deletions(-) diff --git a/app/Http/Controllers/Dashboard/SettingController.php b/app/Http/Controllers/Dashboard/SettingController.php index 70e06c3..639c553 100644 --- a/app/Http/Controllers/Dashboard/SettingController.php +++ b/app/Http/Controllers/Dashboard/SettingController.php @@ -40,8 +40,15 @@ public function update(SettingRequest $request) 'app_icon' => $validFile['app_icon'] ?? $settings->app_icon, 'app_logo' => $validFile['app_logo'] ?? $settings->app_logo, 'contact_address' => $validatedData['contact_address'] ?? $settings->contact_address, + 'contact_address_link' => $validatedData['contact_address_link'] ?? $settings->contact_address_link, 'contact_phone' => $validatedData['contact_phone'] ?? $settings->contact_phone, 'contact_email' => $validatedData['contact_email'] ?? $settings->contact_email, + 'contact_facebook' => $validatedData['contact_facebook'] ?? $settings->contact_facebook, + 'contact_twitter' => $validatedData['contact_twitter'] ?? $settings->contact_twitter, + 'contact_instagram' => $validatedData['contact_instagram'] ?? $settings->contact_instagram, + 'contact_youtube' => $validatedData['contact_youtube'] ?? $settings->contact_youtube, + 'contact_whatsapp' => $validatedData['contact_whatsapp'] ?? $settings->contact_whatsapp, + 'contact_telegram' => $validatedData['contact_telegram'] ?? $settings->contact_telegram, 'about_us' => $validatedData['about_us'] ?? $settings->about_us, ]); diff --git a/app/Http/Requests/SettingRequest.php b/app/Http/Requests/SettingRequest.php index 4a32ec8..f475188 100644 --- a/app/Http/Requests/SettingRequest.php +++ b/app/Http/Requests/SettingRequest.php @@ -30,9 +30,35 @@ public function rules(): array 'app_icon' => ['nullable', 'file', 'mimes:png,jpg,jpeg', 'max:4096'], 'app_logo' => ['nullable', 'file', 'mimes:png,jpg,jpeg', 'max:4096'], 'contact_address' => ['nullable'], + 'contact_address_link' => ['nullable'], 'contact_phone' => ['nullable', 'regex:/^[0-9+\s-]+$/'], 'contact_email' => ['nullable', 'email', 'max:255'], + 'contact_facebook' => ['nullable', 'max:100'], + 'contact_twitter' => ['nullable', 'max:100'], + 'contact_instagram' => ['nullable', 'max:100'], + 'contact_youtube' => ['nullable', 'max:100'], + 'contact_whatsapp' => ['nullable', 'max:100'], + 'contact_telegram' => ['nullable', 'max:100'], 'about_us' => ['required', 'string'], ]; } + + protected function prepareForValidation() + { + $this->merge([ + 'app_icon' => filled($this->app_icon) ? $this->app_icon : null, + 'app_logo' => filled($this->app_logo) ? $this->app_logo : null, + 'contact_address' => filled($this->contact_address) ? $this->contact_address : null, + 'contact_address_link' => filled($this->contact_address_link) ? $this->contact_address_link : null, + 'contact_phone' => filled($this->contact_phone) ? $this->contact_phone : null, + 'contact_email' => filled($this->contact_email) ? $this->contact_email : null, + 'contact_facebook' => filled($this->contact_facebook) ? $this->contact_facebook : null, + 'contact_twitter' => filled($this->contact_twitter) ? $this->contact_twitter : null, + 'contact_instagram' => filled($this->contact_instagram) ? $this->contact_instagram : null, + 'contact_youtube' => filled($this->contact_youtube) ? $this->contact_youtube : null, + 'contact_whatsapp' => filled($this->contact_whatsapp) ? $this->contact_whatsapp : null, + 'contact_telegram' => filled($this->contact_telegram) ? $this->contact_telegram : null, + ]); + } + } diff --git a/app/Settings/AppSettings.php b/app/Settings/AppSettings.php index e03523a..549823c 100644 --- a/app/Settings/AppSettings.php +++ b/app/Settings/AppSettings.php @@ -20,10 +20,24 @@ class AppSettings extends Settings public ?string $contact_address; + public ?string $contact_address_link; + public ?string $contact_phone; public ?string $contact_email; + public ?string $contact_facebook; + + public ?string $contact_twitter; + + public ?string $contact_instagram; + + public ?string $contact_youtube; + + public ?string $contact_whatsapp; + + public ?string $contact_telegram; + public ?string $about_us; public static function group(): string diff --git a/database/settings/2025_02_27_064111_app_settings.php b/database/settings/2025_02_27_064111_app_settings.php index 6b14e67..e519787 100644 --- a/database/settings/2025_02_27_064111_app_settings.php +++ b/database/settings/2025_02_27_064111_app_settings.php @@ -13,9 +13,16 @@ public function up(): void $this->migrator->add('app.app_icon', 'simedkom-logo-circle.png'); $this->migrator->add('app.app_logo', 'simedkom-logo-full.png'); $this->migrator->add('app.contact_address', 'Jl. Ganda Negara No.25, Nagri Kidul, Kec. Purwakarta, Kabupaten Purwakarta, Jawa Barat 41111'); + $this->migrator->add('app.contact_address_link', 'https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d3432.141752620895!2d107.44145707430351!3d-6.554894664077222!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x2e690e51c899aa9f%3A0x6005e63423ceedc8!2sDiskominfo%20Kab.%20Purwakarta!5e1!3m2!1sen!2sid!4v1743407107357!5m2!1sen!2sid'); $this->migrator->add('app.contact_phone', '0851-7513-8912'); $this->migrator->add('app.contact_email', 'simedkom.purwakarta@gmail.com'); + $this->migrator->add('app.contact_facebook', null); + $this->migrator->add('app.contact_twitter', null); + $this->migrator->add('app.contact_instagram', null); + $this->migrator->add('app.contact_youtube', null); + $this->migrator->add('app.contact_whatsapp', null); + $this->migrator->add('app.contact_telegram', null); $this->migrator->add('app.about_us', 'Sistem Media Komunikasi (SIMEDKOM) merupakan sebuah aplikasi berbasis digital untuk mempermudah bidang informasi dan komunikasi publik di Diskominfo Purwakarta dalam menjalankan monitoring media di Kabupaten Purwakarta. - Aplikasi ini digunakan untuk penertiban administrasi kerjasama antara media dan pemerintah kabupaten Purwakarta yang dikoordinir oleh Diskominfo Purwakarta, juga menjadi alat filter dalam proses monitoring isu konten media terkait pemberitaan di Kabupaten Purwakarta.'); + Aplikasi ini digunakan untuk penertiban administrasi kerjasama antara media dan pemerintah kabupaten Purwakarta yang dikoordinir oleh Diskominfo Purwakarta, juga menjadi alat filter dalam proses monitoring isu konten media terkait pemberitaan di Kabupaten Purwakarta.'); } }; diff --git a/resources/views/dashboard/setting/index.blade.php b/resources/views/dashboard/setting/index.blade.php index db83850..3941059 100644 --- a/resources/views/dashboard/setting/index.blade.php +++ b/resources/views/dashboard/setting/index.blade.php @@ -118,6 +118,72 @@ @enderror +
+
+ +
+ +
+ @error('contact_facebook') + {{$message}} + @enderror +
+
+
+
+ +
+ +
+ @error('contact_twitter') + {{$message}} + @enderror +
+
+
+
+ +
+ +
+ @error('contact_instagram') + {{$message}} + @enderror +
+
+
+
+ +
+ +
+ @error('contact_youtube') + {{$message}} + @enderror +
+
+
+
+ +
+ +
+ @error('contact_whatsapp') + {{$message}} + @enderror +
+
+
+
+ +
+ +
+ @error('contact_telegram') + {{$message}} + @enderror +
+
diff --git a/resources/views/homepage/about-us/index.blade.php b/resources/views/homepage/about-us/index.blade.php index 0b20c2b..d94b8aa 100644 --- a/resources/views/homepage/about-us/index.blade.php +++ b/resources/views/homepage/about-us/index.blade.php @@ -46,12 +46,12 @@ diff --git a/resources/views/homepage/announcements/read.blade.php b/resources/views/homepage/announcements/read.blade.php index efbb161..9da8e61 100644 --- a/resources/views/homepage/announcements/read.blade.php +++ b/resources/views/homepage/announcements/read.blade.php @@ -57,12 +57,12 @@ diff --git a/resources/views/homepage/contacts/index.blade.php b/resources/views/homepage/contacts/index.blade.php index 4c86e4f..f975cff 100644 --- a/resources/views/homepage/contacts/index.blade.php +++ b/resources/views/homepage/contacts/index.blade.php @@ -73,12 +73,12 @@ diff --git a/resources/views/homepage/index.blade.php b/resources/views/homepage/index.blade.php index ae97201..461f93f 100644 --- a/resources/views/homepage/index.blade.php +++ b/resources/views/homepage/index.blade.php @@ -152,12 +152,12 @@ diff --git a/resources/views/homepage/news/read.blade.php b/resources/views/homepage/news/read.blade.php index 17c6f69..0dcb176 100644 --- a/resources/views/homepage/news/read.blade.php +++ b/resources/views/homepage/news/read.blade.php @@ -72,37 +72,37 @@
Tetap Terkoneksi