export default (configuration) => {
  return `
package ${configuration.packageName}

import android.app.Application
import com.google.android.material.color.DynamicColors
import ${configuration.packageName}.data.local.prefModule
import ${configuration.packageName}.di.remoteDataSourceModule
import ${configuration.packageName}.di.repoModules
import ${configuration.packageName}.di.viewModules
import ${configuration.packageName}.di.networkModule
import com.google.android.libraries.places.api.Places
import org.koin.android.ext.koin.androidContext
import org.koin.core.context.startKoin
import com.google.firebase.FirebaseApp;
import android.app.NotificationChannel
import android.app.NotificationManager
import android.os.Build
import android.graphics.Color


class App : Application() {

    override fun onCreate() {
        super.onCreate()

        startKoin {
            androidContext(this@App)
            modules(koinModules)
        }

        FirebaseApp.initializeApp(this);
        createNotificationChannel();

    }

    private fun createNotificationChannel() {
      if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
          val channel = NotificationChannel("baas", "baas", NotificationManager.IMPORTANCE_DEFAULT).apply {
              lightColor = Color.BLUE
              enableLights(true)
          }
          val manager = getSystemService(NOTIFICATION_SERVICE) as NotificationManager
          manager.createNotificationChannel(channel)
      }
  }
}

val koinModules = listOf(
  prefModule,
  networkModule,
  remoteDataSourceModule,
  viewModules,
  repoModules
)
  `;
};
