<?php

namespace App\Filament\Resources\TextbookSeriesResource\Pages;

use App\Filament\Resources\TextbookSeriesResource;
use Filament\Resources\Pages\CreateRecord;
use Illuminate\Support\Str;

class CreateTextbookSeries extends CreateRecord
{
    protected static string $resource = TextbookSeriesResource::class;

    protected function mutateFormDataBeforeCreate(array $data): array
    {
        // 如果没有填写 slug，自动生成
        if (empty($data['slug']) && !empty($data['name'])) {
            // 将中文名称转换为拼音首字母
            $data['slug'] = $this->generateSlug($data['name']);
        }

        return $data;
    }

    /**
     * 生成 slug（简化版）
     * 简单处理：将中文转换为拼音首字母，英文直接使用
     */
    private function generateSlug(string $name): string
    {
        // 常见的教材系列名称到 slug 的映射
        $mapping = [
            '人教版' => 'pep',
            '北师大版' => 'bsd',
            '华东师大版' => 'ecnu',
            '苏教版' => 'sjb',
            '鲁教版' => 'ljb',
            '冀教版' => 'hbb',
            '沪教版' => 'shjb',
            '粤教版' => 'gdjb',
            '教科版' => 'jckb',
            '外研版' => 'wyjb',
            '湘教版' => 'xnjb',
            '长春版' => 'ccb',
            '语文版' => 'ywb',
            '数学版' => 'sxb',
            '英语版' => 'yyb',
        ];

        // 先查找映射
        foreach ($mapping as $chinese => $slug) {
            if (strpos($name, $chinese) !== false) {
                return $slug;
            }
        }

        // 如果没有找到映射，使用 slugify
        return Str::slug($name);
    }
}
