mirror of
https://github.com/gamaio/unps.us-Shortener.git
synced 2025-07-30 13:50:17 +00:00
Add Shortv4-2 files, watered down UnPSAPI, and Bootstrap 3
This commit is contained in:
4845
assets/bootstrap/css/bootstrap.css
vendored
Normal file
4845
assets/bootstrap/css/bootstrap.css
vendored
Normal file
File diff suppressed because it is too large
Load Diff
9
assets/bootstrap/css/bootstrap.min.css
vendored
Normal file
9
assets/bootstrap/css/bootstrap.min.css
vendored
Normal file
File diff suppressed because one or more lines are too long
1988
assets/bootstrap/js/bootstrap.js
vendored
Normal file
1988
assets/bootstrap/js/bootstrap.js
vendored
Normal file
File diff suppressed because it is too large
Load Diff
6
assets/bootstrap/js/bootstrap.min.js
vendored
Normal file
6
assets/bootstrap/js/bootstrap.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
197
assets/css/elements.css
Normal file
197
assets/css/elements.css
Normal file
@@ -0,0 +1,197 @@
|
||||
.hidden { display: none; }
|
||||
.unhidden { display: block; }
|
||||
|
||||
body{
|
||||
line-height:1;
|
||||
font-family:"Lucida Grande", Arial, Helvetica, Sans-Serif;
|
||||
background-color: #434C56;
|
||||
}
|
||||
|
||||
.navbar-wrapper {
|
||||
position: relative;
|
||||
z-index: 15;
|
||||
}
|
||||
|
||||
.navbar-nav a{
|
||||
-webkit-transition: all 0.30s ease-in-out;
|
||||
-moz-transition: all 0.30s ease-in-out;
|
||||
-ms-transition: all 0.30s ease-in-out;
|
||||
-o-transition: all 0.30s ease-in-out;
|
||||
}
|
||||
|
||||
.navbar-nav a:hover{
|
||||
background-color: #000;
|
||||
color: #248;
|
||||
webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 15px rgba(94, 125, 142, 0.9) !important;
|
||||
-moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 15px rgba(94, 125, 142, 0.9) !important;
|
||||
box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 15px rgba(94, 125, 142, 0.9) !important;
|
||||
}
|
||||
|
||||
/* Set widths on the navbar form inputs since otherwise they're 100% wide */
|
||||
.navbar-form input[type="text"], .navbar-form input[type="password"] {
|
||||
width: 140px;
|
||||
}
|
||||
|
||||
.dropdown-menu{
|
||||
opacity: 0.9;
|
||||
background-color: rgb(94, 125, 142);
|
||||
filter: alpha(opacity=90);
|
||||
}
|
||||
|
||||
#profile-pic{
|
||||
max-height: 20px;
|
||||
max-width: 20px;
|
||||
border-radius: 20%;
|
||||
-webkit-border-radius: 20%;
|
||||
-moz-border-radius: 20%;
|
||||
box-shadow: 0 0 8px rgba(0, 0, 0, .8);
|
||||
-webkit-box-shadow: 0 0 8px rgba(0, 0, 0, .8);
|
||||
-moz-box-shadow: 0 0 8px rgba(0, 0, 0, .8);
|
||||
}
|
||||
|
||||
#uname-dropdown{
|
||||
color: rgb(96, 123, 152);
|
||||
}
|
||||
|
||||
#uname-dropdown:hover{
|
||||
color: rgb(152, 123, 96);
|
||||
}
|
||||
|
||||
#logout-link:hover{
|
||||
color: red;
|
||||
box-shadow: 0 0 8px rgba(0, 0, 0, .8);
|
||||
-webkit-box-shadow: 0 0 8px rgba(0, 0, 0, .8);
|
||||
-moz-box-shadow: 0 0 8px rgba(0, 0, 0, .8);
|
||||
}
|
||||
|
||||
#wrap {
|
||||
min-height: 100%;
|
||||
height: auto !important;
|
||||
height: 100%;
|
||||
margin: 0 auto -46px;
|
||||
padding: 0 0 46px;
|
||||
background-image: -ms-linear-gradient(top, #3a3f44 0%, #434C56 100%);
|
||||
background-image: -moz-linear-gradient(top, #3a3f44 0%, #434C56 100%);
|
||||
background-image: -o-linear-gradient(top, #3a3f44 0%, #434C56 100%);
|
||||
background-image: -webkit-linear-gradient(top, #3a3f44 0%, #434C56 100%);
|
||||
}
|
||||
|
||||
#note{
|
||||
color: #eee;
|
||||
font-size: 12px;
|
||||
margin: 0 auto;
|
||||
padding: 4px;
|
||||
text-align: center;
|
||||
text-shadow: 1px 1px 0 rgba(255, 255, 255, 0.3);
|
||||
width: 400px;
|
||||
}
|
||||
|
||||
.form-shorten {
|
||||
max-width: 600px;
|
||||
padding: 15px;
|
||||
margin: 0 auto;
|
||||
}
|
||||
|
||||
.form-shorten .form-shorten-heading{
|
||||
margin-bottom: 10px;
|
||||
color: #eee;
|
||||
}
|
||||
|
||||
.form-shorten .radio-center .btn{
|
||||
color: #eee;
|
||||
}
|
||||
|
||||
.form-shorten input[type="text"], .form-shorten textarea{
|
||||
position: relative;
|
||||
font-size: 14px;
|
||||
height: auto;
|
||||
padding: 7px;
|
||||
-webkit-box-sizing: border-box;
|
||||
-moz-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.form-shorten input[type="text"]:focus,{
|
||||
z-index: 2;
|
||||
}
|
||||
|
||||
.form-shorten input[type="text"], .form-shorten textarea{
|
||||
margin-bottom: -1px;
|
||||
border-bottom-left-radius: 0;
|
||||
border-bottom-right-radius: 0;
|
||||
}
|
||||
|
||||
.form-shorten .radio-center input[type="radio"]:hover{
|
||||
color:#200;
|
||||
}
|
||||
|
||||
.form-shorten .btn-primary{
|
||||
background-color: #333;
|
||||
border: 1px solid #444;
|
||||
-webkit-transition: all 0.30s ease-in-out;
|
||||
-moz-transition: all 0.30s ease-in-out;
|
||||
-ms-transition: all 0.30s ease-in-out;
|
||||
-o-transition: all 0.30s ease-in-out;
|
||||
}
|
||||
.form-shorten .btn-primary:hover{
|
||||
background-color: #3c6190;
|
||||
border: 1px solid rgba(81, 203, 238, 1);
|
||||
}
|
||||
|
||||
#message{
|
||||
float: center;
|
||||
text-align: center;
|
||||
color: #bbb;
|
||||
}
|
||||
|
||||
#footer {
|
||||
height: 46px;
|
||||
background-color: #333;
|
||||
color: #eee;
|
||||
}
|
||||
|
||||
@media (max-width: 767px) {
|
||||
#footer {
|
||||
margin-left: -17px;
|
||||
margin-right: -20px;
|
||||
padding-left: 17px;
|
||||
padding-right: 20px;
|
||||
}
|
||||
}
|
||||
|
||||
#privacy-link, #tos-link, #reg-link{
|
||||
float: right;
|
||||
padding-right: 10px;
|
||||
color: #eee;
|
||||
}
|
||||
|
||||
#privacy-link:hover, #tos-link:hover, #reg-link:hover{
|
||||
-webkit-box-shadow: 0 8px 6px -6px rgba(94, 125, 142, 0.9);
|
||||
-moz-box-shadow: 0 8px 6px -6px rgba(94, 125, 142, 0.9);
|
||||
box-shadow: 0 8px 6px -6px rgba(94, 125, 142, 0.9);
|
||||
-webkit-transition: all 0.90s ease-in-out;
|
||||
-moz-transition: all 0.90s ease-in-out;
|
||||
-ms-transition: all 0.90s ease-in-out;
|
||||
-o-transition: all 0.90s ease-in-out;
|
||||
}
|
||||
|
||||
input[type=text], textarea {
|
||||
-webkit-transition: all 0.30s ease-in-out;
|
||||
-moz-transition: all 0.30s ease-in-out;
|
||||
-ms-transition: all 0.30s ease-in-out;
|
||||
-o-transition: all 0.30s ease-in-out;
|
||||
outline: none;
|
||||
border: 1px solid #DDDDDD;
|
||||
}
|
||||
|
||||
input[type=text]:focus, textarea:focus {
|
||||
box-shadow: 0 0 5px rgba(81, 203, 238, 1);
|
||||
border: 1px solid rgba(81, 203, 238, 1);
|
||||
padding: 6px 0px 6px 6px;
|
||||
}
|
||||
|
||||
h2 {
|
||||
background: -webkit-linear-gradient(#eee, #aaa);
|
||||
-webkit-background-clip: text;
|
||||
-webkit-text-fill-color: transparent;
|
||||
}
|
83
assets/css/jquery.countdown.css
Normal file
83
assets/css/jquery.countdown.css
Normal file
@@ -0,0 +1,83 @@
|
||||
.countdownHolder{
|
||||
width:450px;
|
||||
margin:0 auto;
|
||||
font: 40px/1.5 'Open Sans Condensed',sans-serif;
|
||||
text-align:center;
|
||||
letter-spacing:-3px;
|
||||
}
|
||||
|
||||
.position{
|
||||
display: inline-block;
|
||||
height: 1.6em;
|
||||
overflow: hidden;
|
||||
position: relative;
|
||||
width: 1.05em;
|
||||
}
|
||||
|
||||
.digit{
|
||||
position:absolute;
|
||||
display:block;
|
||||
width:1em;
|
||||
background-color:#444;
|
||||
border-radius:0.2em;
|
||||
text-align:center;
|
||||
color:#fff;
|
||||
letter-spacing:-1px;
|
||||
}
|
||||
|
||||
.digit.static{
|
||||
box-shadow:1px 1px 1px rgba(4, 4, 4, 0.35);
|
||||
|
||||
background-image: linear-gradient(bottom, #3A3A3A 50%, #444444 50%);
|
||||
background-image: -o-linear-gradient(bottom, #3A3A3A 50%, #444444 50%);
|
||||
background-image: -moz-linear-gradient(bottom, #3A3A3A 50%, #444444 50%);
|
||||
background-image: -webkit-linear-gradient(bottom, #3A3A3A 50%, #444444 50%);
|
||||
background-image: -ms-linear-gradient(bottom, #3A3A3A 50%, #444444 50%);
|
||||
|
||||
background-image: -webkit-gradient(
|
||||
linear,
|
||||
left bottom,
|
||||
left top,
|
||||
color-stop(0.5, #3A3A3A),
|
||||
color-stop(0.5, #444444)
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* You can use these classes to hide parts
|
||||
* of the countdown that you don't need.
|
||||
*/
|
||||
|
||||
.countDays{ /* display:none !important;*/ }
|
||||
.countDiv0{ /* display:none !important;*/ }
|
||||
.countHours{}
|
||||
.countDiv1{}
|
||||
.countMinutes{}
|
||||
.countDiv2{}
|
||||
.countSeconds{}
|
||||
|
||||
|
||||
.countDiv{
|
||||
display:inline-block;
|
||||
width:16px;
|
||||
height:1.6em;
|
||||
position:relative;
|
||||
}
|
||||
|
||||
.countDiv:before,
|
||||
.countDiv:after{
|
||||
position:absolute;
|
||||
width:5px;
|
||||
height:5px;
|
||||
background-color:#444;
|
||||
border-radius:50%;
|
||||
left:50%;
|
||||
margin-left:-3px;
|
||||
top:0.5em;
|
||||
box-shadow:1px 1px 1px rgba(4, 4, 4, 0.5);
|
||||
content:'';
|
||||
}
|
||||
|
||||
.countDiv:after{
|
||||
top:0.9em;
|
||||
}
|
138
assets/js/jquery.countdown.js
Normal file
138
assets/js/jquery.countdown.js
Normal file
@@ -0,0 +1,138 @@
|
||||
/**
|
||||
* @name jQuery Countdown Plugin
|
||||
* @author Martin Angelov
|
||||
* @version 1.0
|
||||
* @url http://tutorialzine.com/2011/12/countdown-jquery/
|
||||
* @license MIT License
|
||||
*/
|
||||
|
||||
(function($){
|
||||
|
||||
// Number of seconds in every time division
|
||||
var days = 24*60*60,
|
||||
hours = 60*60,
|
||||
minutes = 60;
|
||||
|
||||
// Creating the plugin
|
||||
$.fn.countdown = function(prop){
|
||||
|
||||
var options = $.extend({
|
||||
callback : function(){},
|
||||
timestamp : 0
|
||||
},prop);
|
||||
|
||||
var left, d, h, m, s, positions;
|
||||
|
||||
// Initialize the plugin
|
||||
init(this, options);
|
||||
|
||||
positions = this.find('.position');
|
||||
|
||||
(function tick(){
|
||||
|
||||
// Time left
|
||||
left = Math.floor((options.timestamp - (new Date())) / 1000);
|
||||
|
||||
if(left < 0){
|
||||
left = 0;
|
||||
}
|
||||
|
||||
// Number of days left
|
||||
d = Math.floor(left / days);
|
||||
updateDuo(0, 1, d);
|
||||
left -= d*days;
|
||||
|
||||
// Number of hours left
|
||||
h = Math.floor(left / hours);
|
||||
updateDuo(2, 3, h);
|
||||
left -= h*hours;
|
||||
|
||||
// Number of minutes left
|
||||
m = Math.floor(left / minutes);
|
||||
updateDuo(4, 5, m);
|
||||
left -= m*minutes;
|
||||
|
||||
// Number of seconds left
|
||||
s = left;
|
||||
updateDuo(6, 7, s);
|
||||
|
||||
// Calling an optional user supplied callback
|
||||
options.callback(d, h, m, s);
|
||||
|
||||
// Scheduling another call of this function in 1s
|
||||
setTimeout(tick, 1000);
|
||||
})();
|
||||
|
||||
// This function updates two digit positions at once
|
||||
function updateDuo(minor,major,value){
|
||||
switchDigit(positions.eq(minor),Math.floor(value/10)%10);
|
||||
switchDigit(positions.eq(major),value%10);
|
||||
}
|
||||
|
||||
return this;
|
||||
};
|
||||
|
||||
|
||||
function init(elem, options){
|
||||
elem.addClass('countdownHolder');
|
||||
|
||||
// Creating the markup inside the container
|
||||
$.each(['Days','Hours','Minutes','Seconds'],function(i){
|
||||
$('<span class="count'+this+'">').html(
|
||||
'<span class="position">\
|
||||
<span class="digit static">0</span>\
|
||||
</span>\
|
||||
<span class="position">\
|
||||
<span class="digit static">0</span>\
|
||||
</span>'
|
||||
).appendTo(elem);
|
||||
|
||||
if(this!="Seconds"){
|
||||
elem.append('<span class="countDiv countDiv'+i+'"></span>');
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
// Creates an animated transition between the two numbers
|
||||
function switchDigit(position,number){
|
||||
|
||||
var digit = position.find('.digit')
|
||||
|
||||
if(digit.is(':animated')){
|
||||
return false;
|
||||
}
|
||||
|
||||
if(position.data('digit') == number){
|
||||
// We are already showing this number
|
||||
return false;
|
||||
}
|
||||
|
||||
position.data('digit', number);
|
||||
|
||||
var replacement = $('<span>',{
|
||||
'class':'digit',
|
||||
css:{
|
||||
top:'-2.1em',
|
||||
opacity:0
|
||||
},
|
||||
html:number
|
||||
});
|
||||
|
||||
// The .static class is added when the animation
|
||||
// completes. This makes it run smoother.
|
||||
|
||||
digit
|
||||
.before(replacement)
|
||||
.removeClass('static')
|
||||
.animate({top:'2.5em',opacity:0},'fast',function(){
|
||||
digit.remove();
|
||||
})
|
||||
|
||||
replacement
|
||||
.delay(100)
|
||||
.animate({top:0,opacity:1},'fast',function(){
|
||||
replacement.addClass('static');
|
||||
});
|
||||
}
|
||||
})(jQuery);
|
19
assets/js/main.countdown.js
Normal file
19
assets/js/main.countdown.js
Normal file
@@ -0,0 +1,19 @@
|
||||
$(function(){
|
||||
var note = $('#note'),
|
||||
ts = new Date(2013, 7, 20, 12, 30);
|
||||
|
||||
$('#countdown').countdown({
|
||||
timestamp : ts,
|
||||
callback : function(days, hours, minutes, seconds){
|
||||
var message = "";
|
||||
message += days + " day" + ( days==1 ? '':'s' ) + ", ";
|
||||
message += hours + " hour" + ( hours==1 ? '':'s' ) + ", ";
|
||||
message += minutes + " minute" + ( minutes==1 ? '':'s' ) + " and ";
|
||||
message += seconds + " second" + ( seconds==1 ? '':'s' ) + " <br />";
|
||||
message += "Until the relaunch of <a href=\"http://unps.us\">UnPS.US</a>";
|
||||
|
||||
note.html(message);
|
||||
}
|
||||
});
|
||||
|
||||
});
|
Reference in New Issue
Block a user