dress/app/Http/Controllers/Admin/System/GeneralSettingController.php

62 lines
2.1 KiB
PHP

<?php
namespace App\Http\Controllers\Admin\System;
use App\Http\Controllers\Controller;
use App\Http\Requests\Admin\System\GeneralSettingRequest;
use App\Settings\GeneralSettings;
use Illuminate\Http\RedirectResponse;
use Illuminate\Support\Facades\Storage;
use Inertia\Inertia;
use Inertia\Response;
class GeneralSettingController extends Controller
{
public function index(): Response
{
return Inertia::render('admin/system/settings/index');
}
public function update(GeneralSettingRequest $request, GeneralSettings $settings): RedirectResponse
{
$validated = $request->validated();
$settings->site_name = $validated['site_name'];
$settings->site_description = $validated['site_description'];
$settings->site_address = $validated['site_address'];
$settings->site_phone = $validated['site_phone'];
if ($request->hasFile('logo_light')) {
if ($settings->logo_light) {
Storage::disk('public')->delete($settings->logo_light);
}
$settings->logo_light = $request->file('logo_light')->store('settings', 'public');
}
if ($request->hasFile('logo_dark')) {
if ($settings->logo_dark) {
Storage::disk('public')->delete($settings->logo_dark);
}
$settings->logo_dark = $request->file('logo_dark')->store('settings', 'public');
}
if ($request->hasFile('icon_light')) {
if ($settings->icon_light) {
Storage::disk('public')->delete($settings->icon_light);
}
$settings->icon_light = $request->file('icon_light')->store('settings', 'public');
}
if ($request->hasFile('icon_dark')) {
if ($settings->icon_dark) {
Storage::disk('public')->delete($settings->icon_dark);
}
$settings->icon_dark = $request->file('icon_dark')->store('settings', 'public');
}
$settings->save();
return redirect()->back()->with('success', 'Pengaturan berhasil diperbarui');
}
}