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  = '/f23-';
    self.widget         = jQuery('#widget-last-user');
    self.lastUser       = self.widget.find('#last-user').text();
    self.newUserMessage = '<div style="float:left;"><img style="float:left;margin-right:1em;" src="https://cdn0.iconfinder.com/data/icons/long-shadow-web-icons/512/github-128.png"> Seja bem vindo ao fórum <span class="widget-username"></span><br><br>Leia nossas regras, e se divirta.</div>';

    self.core = {
        init: function () {
            var check = this.check();

            if(_userdata.session_logged_in) {
                return;
            }
            
            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() {               ...