import { TImage, TImageUrls, defaultImageUrls } from "./Image";

export interface TBusinessType {
    id: number;
    order: number;
    name: string;
    description: string;
    slug: string;
    created_at: string;
    updated_at: string;
    business_subtypes: TBusinessSubtype[] | null;
}

export const defaultBusinessType: TBusinessType = {
    id: 0,
    order: 0,
    name: "",
    description: "",
    slug: "",
    created_at: "",
    updated_at: "",
    business_subtypes: null,
};

export interface TBusinessSubtype {
    id: number;
    name: string;
    slug: string;
    business_type_id: number;
    created_at: string;
    updated_at: string;
}

export const defaultBusinessSubtype: TBusinessSubtype = {
    id: 0,
    name: "",
    slug: "",
    business_type_id: 0,
    created_at: "",
    updated_at: "",
};

export interface TCompany {
    id: number;
    name: string;
    image: string;
    slug: string;
    details: string;
    order: number;
    color: string;
    content: string;
    urls: TImageUrls;
    image_preview: string;
    alt_text: string | null;
    logo: string;
    logo_urls: TImageUrls;
    logo_preview: string;
    logo_alt_text: string | null;
    address: string;
    latitude: string;
    longitude: string;
    business_type_id: number;
    business_subtype_id: number;
    created_at: string;
    updated_at: string;
    business_type: TBusinessType;
    business_subtype: TBusinessSubtype;
    history: string;
    mission: string;
    vision: string;
    next: string;
    prev: string;
    social_media: TSocialMediaCompany[];
    short_address: string;
    link_gmap: string;
    images: TImage[];
    is_show_in_business?: boolean;
    is_show_in_location?: boolean;
}

export interface TSocialMedia {
    link: string;
    image: number;
    urls: TImageUrls;
    image_preview: string;
    alt_text: string | null;
}

export interface TSocialMediaCompany {
    id: number;
    company_id: number;
    name: string;
    logo: string;
    url: string;
    created_at: string;
    updated_at: string;
    logo_urls: TImageUrls;
    logo_preview: string;
    logo_alt_text: string | null;
}

export interface TCompanyProfile {
    company_logo: number;
    company_name: string;
    company_description: string;
    company_address: string;
    company_email: string;
    company_phone_number: string;
    company_whatsapp_number: string;
    company_fax_number: string;
    social_media: TSocialMedia[];
    company_logo_urls: TImageUrls;
    company_logo_preview: string;
    company_logo_alt_text: string | null;
    company_logo_2_urls: TImageUrls;
    company_logo_2_preview: string;
    company_logo_2_alt_text: string | null;
}

export const defaultCompany: TCompany = {
    id: 0,
    name: "",
    image: "",
    slug: "",
    details: "",
    order: 0,
    color: "",
    content: "",
    urls: defaultImageUrls,
    image_preview: "",
    alt_text: "",
    logo: "",
    logo_urls: defaultImageUrls,
    logo_preview: "",
    logo_alt_text: "",
    address: "",
    latitude: "",
    longitude: "",
    business_type_id: 0,
    business_subtype_id: 0,
    created_at: "",
    updated_at: "",
    business_type: defaultBusinessType,
    business_subtype: defaultBusinessSubtype,
    history: "",
    mission: "",
    vision: "",
    next: "",
    prev: "",
    social_media: [],
    short_address: "",
    link_gmap: "",
    images: [],
    is_show_in_business: true,
    is_show_in_location: true,
};
