shazdeh / snahp.it Decode Panel

// ==UserScript==
// @name        snahp.it Decode Panel
// @namespace   Violentmonkey Scripts
// @match       https://forum.snahp.it/*
// @grant       none
// @version     1.0
// @author      Hassan Derakhshandeh
// @description Adds an easy to use panel to decode base64 text.
// @license     MIT
// ==/UserScript==

jQuery( function( $ ) {

	$( 'body' ).append( '<style>.decoder {position: fixed;bottom: 10px;right: 10px;text-align: right;}.decoder .toggle {font-size: 30px;}.decoder .toggle .fa-circle:before {color: red;}.decoder-panel {display: none;width: 300px;height: 300px;background: #fff;border-radius: 6px;padding: 10px;box-sizing: border-box;box-shadow: 0 0 5px #000;}.decoder-panel textarea {width: 100%;height: 200px;padding: 10px;margin: 0;box-sizing: border-box;color: #000;}a.decoder-link {text-align: center;display: block;background: green;padding: 20px;margin-top: 15px;border-radius: 5px;}a.decoder-link[href="#"] {background: #c4c4c4;}</style><div class="decoder"><div class="decoder-panel"><textarea></textarea><a href="#" class="decoder-link" target="_blank">Open Decoded Link</a></div><a href="#" class="toggle"><span class="fa-stack fa-lg"><i class="fa fa-circle fa-stack-2x"></i><i class="fa fa-lock fa-stack-1x fa-inverse"></i></span></a></div>' );

	$( '.decoder .toggle' ).click( function() {
		$( '.decoder-panel' ).fadeToggle( 'fast' );
		return false;
	} );

	$( '.decoder-panel textarea' ).on( 'change paste', function() {
		var val = $( this ).val();
		$( '.decoder-link' ).attr( 'href', window.atob( val ) );
	} );
} );