import ngModule from '../module';

/**
 * The main application class.
 *
 * @property {String} name The application name.
 * @property {Snackbar} snackbar The main object to show messages.
 */
export default class App {
    constructor() {
        this.loaderStatus = 0;
        this.loading = false;
    }

    showMessage(message) {
        if (this.logger)
            this.logger.showMessage(message);
    }

    showSuccess(message) {
        if (this.logger)
            this.logger.showSuccess(message);
    }

    showError(message) {
        if (this.logger)
            this.logger.showError(message);
    }

    pushLoader() {
        this.loaderStatus++;
        if (this.loaderStatus === 1)
            this.loading = true;
    }

    popLoader() {
        this.loaderStatus--;
        if (this.loaderStatus === 0)
            this.loading = false;
    }
}

ngModule.service('vnApp', App);