package br.gov.sigefp.api.config;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.LocaleResolver;
import org.springframework.web.servlet.i18n.SessionLocaleResolver;

import java.util.Locale;
import java.util.TimeZone;

/**
 * Configuração de localização para Guiné-Bissau.
 */
@Configuration
public class LocaleConfig {

    /**
     * Locale padrão: Português da Guiné-Bissau (pt-GW).
     * Se pt-GW não estiver disponível, usa pt (português genérico).
     */
    @Bean
    public LocaleResolver localeResolver() {
        SessionLocaleResolver resolver = new SessionLocaleResolver();
        // Tentar usar pt-GW, se não disponível usar pt
        Locale locale = Locale.forLanguageTag("pt-GW");
        if (locale.getLanguage().isEmpty()) {
            locale = new Locale("pt", "GW");
        }
        resolver.setDefaultLocale(locale);
        return resolver;
    }

    /**
     * Configura o timezone padrão do sistema para Africa/Bissau.
     */
    @Bean
    public TimeZone defaultTimeZone() {
        TimeZone timeZone = TimeZone.getTimeZone("Africa/Bissau");
        TimeZone.setDefault(timeZone);
        return timeZone;
    }
}


