JSFiddle - React, Tailwind, and code Playground

by Wagner Souza

HTML

<div id="widget-last-user">
    <span id="last-user">Apresentação - {FORUMLASTUSERLINK}</span>
    <div id="status"></div>
</div>


<script>
(function LastUser() {
    
    'use strict';
    
    if (!(this instanceof LastUser)) {
        return new LastUser();
    }
    
    var self = this;
    
    self.theme          = '?change_version=prosilver&keep_theme=2';
    self.introductions  = '/f10-';
    self.widget         = jQuery('#widget-last-user');
    self.lastUser       = self.widget.find('#last-user').text();
    self.newUserMessage = 'Olá, <span class="widget-username"></span>.<br>Seja bem vindo.';

    self.core = {
        init: function () {
            var check = this.check();
            
            check.progress(function (message) {
                self.log(message);
            });
            
            check.done(function (message) {
                self.log(message, false, 'success');
            });
    
            check.fail(function (message) {
                self.log(message, false, 'error');
            });
        },
        
        check: function () {
            
            var deferred = jQuery.Deferred();
            
            deferred.notify('Fazendo requisição para pegar o username.', false, 'info');
                
            jQuery.get(self.introductions + self.theme)
                .done(function (data) {
                    deferred.notify('Dados adquiridos.');
                
                    self.core.startWidget(data).done(function() {
                        
                        deferred.notify('Iniciando widget.');
                        
                        self.core.insertUser(data).done(function() {                            
                            deferred.resolve('Widget criado.');
                        });
                        
                    });
                        
                }).fail(function () {
                    deferred.reject('Erro ao realizar a...