/**
 * Types de scraping disponibles
 */
export const SCRAPING_TYPES = {
    HTML: 'html',
    JAVASCRIPT: 'javascript'
};

/**
 * Orientations de lecture
 */
export const READING_ORIENTATIONS = {
    VERTICAL: 'vertical',
    HORIZONTAL: 'horizontal'
};

/**
 * États des sources
 */
export const SOURCE_STATUS = {
    ACTIVE: 'active',
    INACTIVE: 'inactive',
    ERROR: 'error'
};

/**
 * Configuration par défaut pour une nouvelle source
 */
export const DEFAULT_SOURCE_CONFIG = {
    baseUrl: '',
    chapterUrlFormat: '',
    scrapingType: SCRAPING_TYPES.HTML,
    imageSelector: '',
    nextPageSelector: '',
    chapterSelector: '',
    token: ''
};

/**
 * Validateurs pour les champs
 */
export const VALIDATORS = {
    URL_PATTERN: /^https?:\/\/.+/,
    SELECTOR_PATTERN: /^[.#]?[\w\-\s.#\[\]=\"':()>+~,]+$/
};

/**
 * Messages d'erreur
 */
export const ERROR_MESSAGES = {
    INVALID_URL: 'L\'URL doit commencer par http:// ou https://',
    INVALID_SELECTOR: 'Le sélecteur CSS n\'est pas valide',
    REQUIRED_FIELD: 'Ce champ est obligatoire',
    CHAPTER_URL_FORMAT_REQUIRED: 'Le format d\'URL des chapitres est obligatoire'
};
