chore: add social media field to setting

chore: change link social media in homepage
This commit is contained in:
myuqinurrohman 2025-03-31 16:40:01 +07:00
parent 497deeef18
commit a5253f9a50
10 changed files with 151 additions and 31 deletions

View File

@ -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,
]);

View File

@ -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,
]);
}
}

View File

@ -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

View File

@ -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.');
}
};

View File

@ -118,6 +118,72 @@
@enderror
</div>
</div>
<div class="col-lg-6">
<div class="form-group">
<label class="form-label" for="contact_facebook">Facebook<span class="required-input">*</span></label>
<div class="form-control-wrap">
<input type="text" class="form-control @error('contact_facebook') border-danger @enderror" id="contact_facebook" name="contact_facebook" placeholder="Masukan link akun Facebook" value="{{$app->contact_facebook}}">
</div>
@error('contact_facebook')
<span class="validation-error">{{$message}}</span>
@enderror
</div>
</div>
<div class="col-lg-6">
<div class="form-group">
<label class="form-label" for="contact_twitter">Twitter<span class="required-input">*</span></label>
<div class="form-control-wrap">
<input type="text" class="form-control @error('contact_twitter') border-danger @enderror" id="contact_twitter" name="contact_twitter" placeholder="Masukan link akun Twitter" value="{{$app->contact_twitter}}">
</div>
@error('contact_twitter')
<span class="validation-error">{{$message}}</span>
@enderror
</div>
</div>
<div class="col-lg-6">
<div class="form-group">
<label class="form-label" for="contact_instagram">Instagram<span class="required-input">*</span></label>
<div class="form-control-wrap">
<input type="text" class="form-control @error('contact_instagram') border-danger @enderror" id="contact_instagram" name="contact_instagram" placeholder="Masukan link akun Instagram" value="{{$app->contact_instagram}}">
</div>
@error('contact_instagram')
<span class="validation-error">{{$message}}</span>
@enderror
</div>
</div>
<div class="col-lg-6">
<div class="form-group">
<label class="form-label" for="contact_youtube">YouTube<span class="required-input">*</span></label>
<div class="form-control-wrap">
<input type="text" class="form-control @error('contact_youtube') border-danger @enderror" id="contact_youtube" name="contact_youtube" placeholder="Masukan link akun YouTube" value="{{$app->contact_youtube}}">
</div>
@error('contact_youtube')
<span class="validation-error">{{$message}}</span>
@enderror
</div>
</div>
<div class="col-lg-6">
<div class="form-group">
<label class="form-label" for="contact_whatsapp">WhatsApp<span class="required-input">*</span></label>
<div class="form-control-wrap">
<input type="text" class="form-control @error('contact_whatsapp') border-danger @enderror" id="contact_whatsapp" name="contact_whatsapp" placeholder="Masukan link WhatsApp" value="{{$app->contact_whatsapp}}">
</div>
@error('contact_whatsapp')
<span class="validation-error">{{$message}}</span>
@enderror
</div>
</div>
<div class="col-lg-6">
<div class="form-group">
<label class="form-label" for="contact_telegram">Telegram<span class="required-input">*</span></label>
<div class="form-control-wrap">
<input type="text" class="form-control @error('contact_telegram') border-danger @enderror" id="contact_telegram" name="contact_telegram" placeholder="Masukan link akun Telegram" value="{{$app->contact_telegram}}">
</div>
@error('contact_telegram')
<span class="validation-error">{{$message}}</span>
@enderror
</div>
</div>
<div class="col-lg-12">
<div class="form-group">
<label class="form-label" for="about_us">Tentang Kami<span class="required-input">*</span></label>

View File

@ -46,12 +46,12 @@
<div class="row justify-content-center">
<div class="col-12 text-center elements-social social-icon-style-04">
<ul class="large-icon dark">
<li><a class="facebook" href="https://www.facebook.com/" target="_blank"><i class="fa-brands fa-facebook-f"></i><span></span></a></li>
<li><a class="twitter" href="http://www.twitter.com" target="_blank"><i class="fa-brands fa-twitter"></i><span></span></a></li>
<li><a class="instagram" href="http://www.instagram.com" target="_blank"><i class="fa-brands fa-instagram"></i><span></span></a></li>
<li><a class="youtube" href="http://www.youtube.com" target="_blank"><i class="fa-brands fa-youtube"></i><span></span></a></li>
<li><a class="whatsapp" href="http://www.whatsapp.com" target="_blank"><i class="fa-brands fa-whatsapp"></i><span></span></a></li>
<li><a class="telegram" href="http://www.telegram.com" target="_blank"><i class="fa-brands fa-telegram"></i><span></span></a></li>
<li><a class="facebook" href="{{filled($app->contact_facebook) ? $app->contact_facebook : 'javascript:void(0);'}}" {{filled($app->contact_facebook) ? 'target="_blank"' : ''}}><i class="fa-brands fa-facebook-f"></i><span></span></a></li>
<li><a class="twitter" href="{{filled($app->contact_twitter) ? $app->contact_twitter : 'javascript:void(0);'}}" {{filled($app->contact_twitter) ? 'target="_blank"' : ''}}><i class="fa-brands fa-twitter"></i><span></span></a></li>
<li><a class="instagram" href="{{filled($app->contact_instagram) ? $app->contact_instagram : 'javascript:void(0);'}}" {{filled($app->contact_instagram) ? 'target="_blank"' : ''}}><i class="fa-brands fa-instagram"></i><span></span></a></li>
<li><a class="youtube" href="{{filled($app->contact_youtube) ? $app->contact_youtube : 'javascript:void(0);'}}" {{filled($app->contact_youtube) ? 'target="_blank"' : ''}}><i class="fa-brands fa-youtube"></i><span></span></a></li>
<li><a class="whatsapp" href="{{filled($app->contact_whatsapp) ? $app->contact_whatsapp : 'javascript:void(0);'}}" {{filled($app->contact_whatsapp) ? 'target="_blank"' : ''}}><i class="fa-brands fa-whatsapp"></i><span></span></a></li>
<li><a class="telegram" href="{{filled($app->contact_telegram) ? $app->contact_telegram : 'javascript:void(0);'}}" {{filled($app->contact_telegram) ? 'target="_blank"' : ''}}><i class="fa-brands fa-telegram"></i><span></span></a></li>
</ul>
</div>
</div>

View File

@ -57,12 +57,12 @@
<div class="row justify-content-center">
<div class="col-12 text-center elements-social social-icon-style-04">
<ul class="large-icon dark">
<li><a class="facebook" href="https://www.facebook.com/" target="_blank"><i class="fa-brands fa-facebook-f"></i><span></span></a></li>
<li><a class="twitter" href="http://www.twitter.com" target="_blank"><i class="fa-brands fa-twitter"></i><span></span></a></li>
<li><a class="instagram" href="http://www.instagram.com" target="_blank"><i class="fa-brands fa-instagram"></i><span></span></a></li>
<li><a class="youtube" href="http://www.youtube.com" target="_blank"><i class="fa-brands fa-youtube"></i><span></span></a></li>
<li><a class="whatsapp" href="http://www.whatsapp.com" target="_blank"><i class="fa-brands fa-whatsapp"></i><span></span></a></li>
<li><a class="telegram" href="http://www.telegram.com" target="_blank"><i class="fa-brands fa-telegram"></i><span></span></a></li>
<li><a class="facebook" href="{{filled($app->contact_facebook) ? $app->contact_facebook : 'javascript:void(0);'}}" {{filled($app->contact_facebook) ? 'target="_blank"' : ''}}><i class="fa-brands fa-facebook-f"></i><span></span></a></li>
<li><a class="twitter" href="{{filled($app->contact_twitter) ? $app->contact_twitter : 'javascript:void(0);'}}" {{filled($app->contact_twitter) ? 'target="_blank"' : ''}}><i class="fa-brands fa-twitter"></i><span></span></a></li>
<li><a class="instagram" href="{{filled($app->contact_instagram) ? $app->contact_instagram : 'javascript:void(0);'}}" {{filled($app->contact_instagram) ? 'target="_blank"' : ''}}><i class="fa-brands fa-instagram"></i><span></span></a></li>
<li><a class="youtube" href="{{filled($app->contact_youtube) ? $app->contact_youtube : 'javascript:void(0);'}}" {{filled($app->contact_youtube) ? 'target="_blank"' : ''}}><i class="fa-brands fa-youtube"></i><span></span></a></li>
<li><a class="whatsapp" href="{{filled($app->contact_whatsapp) ? $app->contact_whatsapp : 'javascript:void(0);'}}" {{filled($app->contact_whatsapp) ? 'target="_blank"' : ''}}><i class="fa-brands fa-whatsapp"></i><span></span></a></li>
<li><a class="telegram" href="{{filled($app->contact_telegram) ? $app->contact_telegram : 'javascript:void(0);'}}" {{filled($app->contact_telegram) ? 'target="_blank"' : ''}}><i class="fa-brands fa-telegram"></i><span></span></a></li>
</ul>
</div>
</div>

View File

@ -73,12 +73,12 @@
<div class="row justify-content-center">
<div class="col-12 text-center elements-social social-icon-style-04">
<ul class="large-icon dark">
<li><a class="facebook" href="https://www.facebook.com/" target="_blank"><i class="fa-brands fa-facebook-f"></i><span></span></a></li>
<li><a class="twitter" href="http://www.twitter.com" target="_blank"><i class="fa-brands fa-twitter"></i><span></span></a></li>
<li><a class="instagram" href="http://www.instagram.com" target="_blank"><i class="fa-brands fa-instagram"></i><span></span></a></li>
<li><a class="youtube" href="http://www.youtube.com" target="_blank"><i class="fa-brands fa-youtube"></i><span></span></a></li>
<li><a class="whatsapp" href="http://www.whatsapp.com" target="_blank"><i class="fa-brands fa-whatsapp"></i><span></span></a></li>
<li><a class="telegram" href="http://www.telegram.com" target="_blank"><i class="fa-brands fa-telegram"></i><span></span></a></li>
<li><a class="facebook" href="{{filled($app->contact_facebook) ? $app->contact_facebook : 'javascript:void(0);'}}" {{filled($app->contact_facebook) ? 'target="_blank"' : ''}}><i class="fa-brands fa-facebook-f"></i><span></span></a></li>
<li><a class="twitter" href="{{filled($app->contact_twitter) ? $app->contact_twitter : 'javascript:void(0);'}}" {{filled($app->contact_twitter) ? 'target="_blank"' : ''}}><i class="fa-brands fa-twitter"></i><span></span></a></li>
<li><a class="instagram" href="{{filled($app->contact_instagram) ? $app->contact_instagram : 'javascript:void(0);'}}" {{filled($app->contact_instagram) ? 'target="_blank"' : ''}}><i class="fa-brands fa-instagram"></i><span></span></a></li>
<li><a class="youtube" href="{{filled($app->contact_youtube) ? $app->contact_youtube : 'javascript:void(0);'}}" {{filled($app->contact_youtube) ? 'target="_blank"' : ''}}><i class="fa-brands fa-youtube"></i><span></span></a></li>
<li><a class="whatsapp" href="{{filled($app->contact_whatsapp) ? $app->contact_whatsapp : 'javascript:void(0);'}}" {{filled($app->contact_whatsapp) ? 'target="_blank"' : ''}}><i class="fa-brands fa-whatsapp"></i><span></span></a></li>
<li><a class="telegram" href="{{filled($app->contact_telegram) ? $app->contact_telegram : 'javascript:void(0);'}}" {{filled($app->contact_telegram) ? 'target="_blank"' : ''}}><i class="fa-brands fa-telegram"></i><span></span></a></li>
</ul>
</div>
</div>

View File

@ -152,12 +152,12 @@
<div class="row justify-content-center">
<div class="col-12 text-center elements-social social-icon-style-04">
<ul class="large-icon dark">
<li><a class="facebook" href="https://www.facebook.com/" target="_blank"><i class="fa-brands fa-facebook-f"></i><span></span></a></li>
<li><a class="twitter" href="http://www.twitter.com" target="_blank"><i class="fa-brands fa-twitter"></i><span></span></a></li>
<li><a class="instagram" href="http://www.instagram.com" target="_blank"><i class="fa-brands fa-instagram"></i><span></span></a></li>
<li><a class="youtube" href="http://www.youtube.com" target="_blank"><i class="fa-brands fa-youtube"></i><span></span></a></li>
<li><a class="whatsapp" href="http://www.whatsapp.com" target="_blank"><i class="fa-brands fa-whatsapp"></i><span></span></a></li>
<li><a class="telegram" href="http://www.telegram.com" target="_blank"><i class="fa-brands fa-telegram"></i><span></span></a></li>
<li><a class="facebook" href="{{filled($app->contact_facebook) ? $app->contact_facebook : 'javascript:void(0);'}}" {{filled($app->contact_facebook) ? 'target="_blank"' : ''}}><i class="fa-brands fa-facebook-f"></i><span></span></a></li>
<li><a class="twitter" href="{{filled($app->contact_twitter) ? $app->contact_twitter : 'javascript:void(0);'}}" {{filled($app->contact_twitter) ? 'target="_blank"' : ''}}><i class="fa-brands fa-twitter"></i><span></span></a></li>
<li><a class="instagram" href="{{filled($app->contact_instagram) ? $app->contact_instagram : 'javascript:void(0);'}}" {{filled($app->contact_instagram) ? 'target="_blank"' : ''}}><i class="fa-brands fa-instagram"></i><span></span></a></li>
<li><a class="youtube" href="{{filled($app->contact_youtube) ? $app->contact_youtube : 'javascript:void(0);'}}" {{filled($app->contact_youtube) ? 'target="_blank"' : ''}}><i class="fa-brands fa-youtube"></i><span></span></a></li>
<li><a class="whatsapp" href="{{filled($app->contact_whatsapp) ? $app->contact_whatsapp : 'javascript:void(0);'}}" {{filled($app->contact_whatsapp) ? 'target="_blank"' : ''}}><i class="fa-brands fa-whatsapp"></i><span></span></a></li>
<li><a class="telegram" href="{{filled($app->contact_telegram) ? $app->contact_telegram : 'javascript:void(0);'}}" {{filled($app->contact_telegram) ? 'target="_blank"' : ''}}><i class="fa-brands fa-telegram"></i><span></span></a></li>
</ul>
</div>
</div>

View File

@ -72,37 +72,37 @@
<div class="fw-600 fs-19 lh-22 ls-minus-05px text-dark-gray border-bottom border-color-dark-gray border-2 d-block mb-30px pb-15px position-relative">Tetap Terkoneksi</div>
<div class="row row-cols-2 row-cols-lg-2 justify-content-center align-items-center g-0">
<div class="col border-bottom border-end border-color-extra-medium-gray ps-25px pe-25px xl-ps-15px xl-pe-15px lg-ps-10px lg-pe-10px pt-10px pb-10px">
<a class="facebook text-dark-gray" href="https://www.facebook.com/" target="_blank">
<a class="facebook text-dark-gray" href="{{filled($app->contact_facebook) ? $app->contact_facebook : 'javascript:void(0);'}}" {{filled($app->contact_facebook) ? 'target="_blank"' : ''}}>
<i class="fa-brands fa-facebook-f fs-18 me-10px"></i>
<span class="fw-500">Facebook</span>
</a>
</div>
<div class="col border-bottom border-end border-color-extra-medium-gray ps-25px pe-25px xl-ps-15px xl-pe-15px lg-ps-10px lg-pe-10px pt-10px pb-10px">
<a class="twitter text-dark-gray" href="http://www.twitter.com" target="_blank">
<a class="twitter text-dark-gray" href="{{filled($app->contact_twitter) ? $app->contact_twitter : 'javascript:void(0);'}}" {{filled($app->contact_twitter) ? 'target="_blank"' : ''}}>
<i class="fa-brands fa-twitter fs-18 me-10px"></i>
<span class="fw-500">Twitter</span>
</a>
</div>
<div class="col border-bottom border-end border-color-extra-medium-gray ps-25px pe-25px xl-ps-15px xl-pe-15px lg-ps-10px lg-pe-10px pt-10px pb-10px">
<a class="instagram text-dark-gray" href="http://www.instagram.com" target="_blank">
<a class="instagram text-dark-gray" href="{{filled($app->contact_instagram) ? $app->contact_instagram : 'javascript:void(0);'}}" {{filled($app->contact_instagram) ? 'target="_blank"' : ''}}>
<i class="fa-brands fa-instagram fs-18 me-10px"></i>
<span class="fw-500">Instagram</span>
</a>
</div>
<div class="col border-bottom border-color-extra-medium-gray ps-25px pe-25px xl-ps-15px xl-pe-15px lg-ps-10px lg-pe-10px pt-10px pb-10px">
<a class="youtube text-dark-gray" href="http://www.youtube.com" target="_blank">
<a class="youtube text-dark-gray" href="{{filled($app->contact_youtube) ? $app->contact_youtube : 'javascript:void(0);'}}" {{filled($app->contact_youtube) ? 'target="_blank"' : ''}}>
<i class="fa-brands fa-youtube fs-18 me-10px"></i>
<span class="fw-500">Youtube</span>
</a>
</div>
<div class="col border-bottom border-color-extra-medium-gray ps-25px pe-25px xl-ps-15px xl-pe-15px lg-ps-10px lg-pe-10px pt-10px pb-10px">
<a class="whatsapp text-dark-gray" href="http://www.whatsapp.com" target="_blank">
<a class="whatsapp text-dark-gray" href="{{filled($app->contact_whatsapp) ? $app->contact_whatsapp : 'javascript:void(0);'}}" {{filled($app->contact_whatsapp) ? 'target="_blank"' : ''}}>
<i class="fa-brands fa-whatsapp fs-18 me-10px"></i>
<span class="fw-500">WhatsApp</span>
</a>
</div>
<div class="col border-bottom border-color-extra-medium-gray ps-25px pe-25px xl-ps-15px xl-pe-15px lg-ps-10px lg-pe-10px pt-10px pb-10px">
<a class="telegram text-dark-gray" href="http://www.telegram.com" target="_blank">
<a class="telegram text-dark-gray" href="{{filled($app->contact_telegram) ? $app->contact_telegram : 'javascript:void(0);'}}" {{filled($app->contact_telegram) ? 'target="_blank"' : ''}}>
<i class="fa-brands fa-telegram fs-18 me-10px"></i>
<span class="fw-500">Telegram</span>
</a>