<commit_before>
$(document).ready(function(){
    //init. tooltips
    $('[data-toggle="tooltip"]').tooltip();   
});


userContext =  null;

populateModalAndShow = function(title, content) {
        $('#modal-title').html(title);
        $('#modal-body').html(content);
        $('#modal').modal("show");   
}
requireSignedIn = function(callback) {
    if (userContext == null)  
        populateModalAndShow('Who is this?','<p>Please sign in to continue.</p>');
    else
        callback();
}

var url;
var ae = document.createElement("a");
document.body.appendChild(ae);
ae.style = "display: none"; 

function openItem(name, data) {
    if(url != null){
        window.URL.revokeObjectURL(url);
    }
    
    var blob =  new Blob([data], {type: "octet/stream"});		
    url = window.URL.createObjectURL(blob);
    ae.href = url;
    ae.download = name;
    ae.click();
}

var SignUp = React.createClass({
    getInitialState : function() {
            return {
            usernameClass : "",
            usernameMsg : "",
            passwordClass : "",
            passwordMsg :  "" 
            }
    },
    componentDidMount: function() {
        var submit = function() {
            const username = document.getElementById("signup-user-input").value;
            const pw1 = document.getElementById("signup-password-input").value;
            const pw2 = document.getElementById("signup-verify-password-input").value;<commit_msg>Added skeleton React class for user  options.<commit_after>
$(document).ready(function(){
    //init. tooltips
    $('[data-toggle="tooltip"]').tooltip();   
});


userContext =  null;

populateModalAndShow = function(title, content) {
        $('#modal-title').html(title);
        $('#modal-body').html(content);
        $('#modal').modal("show");   
}
requireSignedIn = function(callback) {
    if (userContext == null)  
        populateModalAndShow('Who is this?','<p>Please sign in to continue.</p>');
    else
        callback();
}

var url;
var ae = document.createElement("a");
document.body.appendChild(ae);
ae.style = "display: none"; 

function openItem(name, data) {
    if(url != null){
        window.URL.revokeObjectURL(url);
    }
    
    var blob =  new Blob([data], {type: "octet/stream"});		
    url = window.URL.createObjectURL(blob);
    ae.href = url;
    ae.download = name;
    ae.click();
}

var userOptions = React.createClass({
        /**
         *
         *  send friend request
         *
         *  view pending friend requests
         *
         *  accept / deny friend request
         *
         *  share folder/file with friend
         *
         *  show shares
         *
         */
    getInitialState : function() {
    },
    componentDidMount: function() {
    },
    render: function() {
    }
}

var SignUp = React.createClass({
    getInitialState : function() {
            return {
            usernameClass : "",
            usernameMsg : "",
            passwordClass : "",
            passwordMsg :  "" 
            }
    },
    componentDidMount: function() {
        var submit = function() {
            const username = document.getElementById("signup-user-input").value;
            const pw1 = document.getElementById("signup-password-input").value;
            const pw2 = document.getElementById("signup-verify-password-input").value;
{'fraction_non_alphanumeric': 0.1507341923883728, 'fraction_numerical': 0.001198681450404555, 'mean_word_length': 2.2951628825271473, 'pattern_counts': {'":': 0, '<': 7, '<?xml version=': 0, '>': 7, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 2, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5415951', 'n_tokens_mistral': 970, 'n_tokens_neox': 957, 'n_words': 189}