@php use App\Models\Setting; use App\Enums\SpatieMediaCollectionName; $isEdit = isset($category) && $category; $hasImage = $isEdit && ($category->getFirstMedia(SpatieMediaCollectionName::CATEGORY_IMAGE()) !== null || !empty($category->getFirstMediaUrl('image'))); $hasBackgroundImage = $isEdit && ($category->getFirstMedia(SpatieMediaCollectionName::CATEGORY_BACKGROUND_IMAGE()) !== null || !empty($category->getFirstMediaUrl(SpatieMediaCollectionName::CATEGORY_BACKGROUND_IMAGE()))); $hasBackgroundAnimation = $isEdit && ($category->getFirstMedia(SpatieMediaCollectionName::CATEGORY_BACKGROUND_ANIMATION()) !== null || !empty($category->getFirstMediaUrl(SpatieMediaCollectionName::CATEGORY_BACKGROUND_ANIMATION()))); $action = $isEdit ? route('admin.categories.update', $category->id) : route('admin.categories.store'); $pageTitle = $isEdit ? 'Edit Category' : __('labels.create_category'); $submitLabel = $isEdit ? 'Update Category' : __('labels.create_new_category'); $selectedParent = old('parent_id', $category->parent_id ?? null); $rawBgType = old('background_type', $category->background_type ?? ''); $backgroundType = $rawBgType instanceof \UnitEnum || is_object($rawBgType) ? $rawBgType->value ?? '' : (string) $rawBgType; $backgroundColor = old('background_color', $category->background_color ?? ''); $backgroundColorWeb = old( 'background_color_web', $category->background_color_web ?? ($category->background_color ?? '#ffffff'), ); $backgroundColorApp = old( 'background_color_app', $category->background_color_app ?? ($category->background_color ?? '#0066cc'), ); $fontColor = old('font_color', $category->font_color ?? ''); $commission = old('commission', $category->commission ?? 0); $statusValue = old('status', $category->status ?? \App\Enums\CategoryStatusEnum::ACTIVE()); $requiresApproval = old('requires_approval', $category->requires_approval ?? true); $searchLabels = old('searchLabels', $category->searchLabelSetting?->search_labels ?? []); $catalogLanguages = $catalogLanguages ?? collect(); $titleTranslations = $isEdit ? ($category->getTranslations('title') ?: []) : []; $descriptionTranslations = $isEdit ? ($category->getTranslations('description') ?: []) : []; $hasTranslationTargets = $catalogLanguages->contains(fn ($language) => $language->code !== 'en'); @endphp