export interface Ad{
    imageUrl:string,
    title:string,
    body:string,
    url:string
}
const ALL_ADS:Ad[] =[
    {
        imageUrl:
          'https://static.platzi.com/media/achievements/badge-profesional-javascript-13538df2-24ce-433f-9aa6-e34eed608e70.png',
        title: 'Curso Profesional de JavaScript',
        body:
          'Mejora tus habilidades en Javascript. Conoce Typescript y cómo puedes ocuparlo para mejorar el control de tus variables.',
        url: 'https://platzi.com/cursos/javascript-profesional/',
      },
    
      {
        imageUrl:
          'https://static.platzi.com/media/achievements/badge-frontend-developer-8a49e681-3e22-408d-b886-2f47dfc9953a.png',
        title: 'Curso de Frontend Developer',
        body:
          'Domina las bases de HTML y CSS. Define la arquitectura de tu código y construye un sitio web usando componentes estáticos. ',
        url: 'https://platzi.com/cursos/frontend-developer/',
      },
    
      {
        imageUrl:
          'https://static.platzi.com/media/achievements/badge-backend-node-8e6aa8a9-f7cd-42b7-bf4a-e1ee916a942b.png',
        title: 'Curso de Backend con Node.js',
        body:
          'Crea aplicaciones backend utilizando Node.js, Express y Mongo. Entiende cómo funciona Javascript en un servidor y escribe aplicaciones con Node.js.',
        url: 'https://platzi.com/cursos/backend-nodejs/',
      },
    
      {
        imageUrl:
          'https://static.platzi.com/media/achievements/badge-prework-da6b0493-9908-40f3-ad53-f5d330b995b8.png',
        title:
          'Comienza tus proyectos de desarrollo para JavaScript configurando un entorno de desarrollo cómodo y adaptado a tus necesidades.',
        body:
          'Mejora tus habilidades en Javascript. Conoce Typescript y cómo puedes ocuparlo para mejorar el control de tus variables.',
        url: 'https://platzi.com/cursos/prework/',
      },
    
      {
        imageUrl:
          'https://static.platzi.com/media/achievements/badge-autenticacion-passport-6d45426a-2b24-4757-8927-7bfaf54529dd.png',
        title: 'Curso de Autenticación con Passport.js',
        body:
          'Genera estrategias de autenticación Sign-In y Sign-Out usando Passport.js. Agrega autenticación con Facebook, Twitter y Google a tus desarrollos.',
        url: 'https://platzi.com/cursos/passport/',
      },
    
      {
        imageUrl:
          'https://static.platzi.com/media/achievements/badge-backend-frontend-02b2ac18-331a-4959-85bf-0bd3c2aa009c.png',
        title: 'Curso de Backend for Frontend',
        body:
          'La ingeniería de software evoluciona día a día, no te quedes atrás. Ahora que eres un Desarrollador FullStack JavaScript necesitas evolucionar con el software, construye arquitecturas de software modernas.',
        url: 'https://platzi.com/cursos/bff/',
      },
    
      {
        imageUrl:
          'https://static.platzi.com/media/achievements/badge-react-adec89d0-1c35-4c9c-847e-18c284dc79dd.png',
        title: 'Curso Práctico de React JS',
        body:
          'React es una de las librerías más utilizadas hoy para crear aplicaciones web. Aprende a través de la creación de la interfaz de PlatziVideo todo lo que necesitas para crear increíbles componentes con React.      ',
        url: 'https://platzi.com/cursos/react-ejs/',
      },
    
      {
        imageUrl:
          'https://static.platzi.com/media/achievements/badge-react-redux-2ca3c0a5-fc53-437f-bfba-69e9ddd5a803.png',
        title: 'Curso de React Router y Redux',
        body:
          'Aprende de forma práctica a implementar React Router para manejar rutas en tus proyectos de frontend como un profesional.',
        url: 'https://platzi.com/cursos/react-router-redux/',
      },
]

class Ads{
    private static instance:Ads;
    private ads:Ad[]
    private constructor(){
  /*       this._initAds(); */
        if (!Ads.instance) {
            Ads.instance = this
            this._initAds()
        }
       return Ads.instance
    }

    static getInstance(){
        if (!Ads.instance) {
           return Ads.instance = new Ads();
        }
        return Ads.instance;
    }
    private _initAds(){
        this.ads = [...ALL_ADS]
    }

    getAd(){
        if(this.ads.length===0){

            this._initAds();
        }
      return this.ads.pop();

    }
}
export default Ads