fixing things
This commit is contained in:
parent
fcdb905430
commit
61c49fb329
|
@ -26,4 +26,4 @@ rules:
|
||||||
no-var: error
|
no-var: error
|
||||||
one-var: [error, never]
|
one-var: [error, never]
|
||||||
prefer-const: error
|
prefer-const: error
|
||||||
quotes: [error, single]
|
quotes: [error, single, {avoidEscape: true}]
|
||||||
|
|
17
README.md
17
README.md
|
@ -46,3 +46,20 @@ Pull requests are always welcome! Feel free to check out the list of ["good firs
|
||||||
## License
|
## License
|
||||||
|
|
||||||
[Mozilla Public License Version 2.0](LICENSE)
|
[Mozilla Public License Version 2.0](LICENSE)
|
||||||
|
|
||||||
|
**Entypo**
|
||||||
|
|
||||||
|
Copyright (C) 2012 by Daniel Bruce
|
||||||
|
|
||||||
|
Author: Daniel Bruce
|
||||||
|
License: SIL (http://scripts.sil.org/OFL)
|
||||||
|
Homepage: http://www.entypo.com
|
||||||
|
|
||||||
|
|
||||||
|
**Font Awesome**
|
||||||
|
|
||||||
|
Copyright (C) 2016 by Dave Gandy
|
||||||
|
|
||||||
|
Author: Dave Gandy
|
||||||
|
License: SIL ()
|
||||||
|
Homepage: http://fortawesome.github.com/Font-Awesome/
|
||||||
|
|
|
@ -4,12 +4,13 @@ const $ = require('jquery');
|
||||||
require('jquery-circle-progress');
|
require('jquery-circle-progress');
|
||||||
|
|
||||||
const Raven = window.Raven;
|
const Raven = window.Raven;
|
||||||
|
|
||||||
$(document).ready(function() {
|
$(document).ready(function() {
|
||||||
$('#download-progress').hide();
|
$('#download-progress').hide();
|
||||||
$('.send-new').click(() => {
|
$('.send-new').click(() => {
|
||||||
window.location.replace(`${window.location.origin}`);
|
window.location.replace(`${window.location.origin}`);
|
||||||
});
|
});
|
||||||
|
const filename = $('#dl-filename').html();
|
||||||
|
|
||||||
//initiate progress bar
|
//initiate progress bar
|
||||||
$('#dl-progress').circleProgress({
|
$('#dl-progress').circleProgress({
|
||||||
value: 0.0,
|
value: 0.0,
|
||||||
|
@ -29,10 +30,24 @@ $(document).ready(function() {
|
||||||
// update progress bar
|
// update progress bar
|
||||||
$('#dl-progress').circleProgress('value', percent);
|
$('#dl-progress').circleProgress('value', percent);
|
||||||
$('.percent-number').html(`${Math.floor(percent * 100)}`);
|
$('.percent-number').html(`${Math.floor(percent * 100)}`);
|
||||||
$('.progress-text').append(
|
if (progress[1] < 1000000) {
|
||||||
` (${(progress[0] / 1000000).toFixed(2)}MB of ${(progress[1] /
|
$('.progress-text').html(
|
||||||
1000000).toFixed(2)}MB)`
|
`${filename} (${(progress[0] / 1000).toFixed(1)}KB of ${(progress[1] /
|
||||||
|
1000).toFixed(1)}KB)`
|
||||||
);
|
);
|
||||||
|
} else if (progress[1] < 1000000000) {
|
||||||
|
$('.progress-text').html(
|
||||||
|
`${filename} (${(progress[0] / 1000000).toFixed(
|
||||||
|
1
|
||||||
|
)}MB of ${(progress[1] / 1000000).toFixed(1)}MB)`
|
||||||
|
);
|
||||||
|
} else {
|
||||||
|
$('.progress-text').html(
|
||||||
|
`${filename} (${(progress[0] / 1000000).toFixed(
|
||||||
|
1
|
||||||
|
)}MB of ${(progress[1] / 1000000000).toFixed(1)}GB)`
|
||||||
|
);
|
||||||
|
}
|
||||||
//on complete
|
//on complete
|
||||||
if (percent === 1) {
|
if (percent === 1) {
|
||||||
fileReceiver.removeAllListeners('progress');
|
fileReceiver.removeAllListeners('progress');
|
||||||
|
|
|
@ -19,12 +19,12 @@ $(document).ready(function() {
|
||||||
$('#link').attr('disabled', false);
|
$('#link').attr('disabled', false);
|
||||||
$copyBtn.html('Copy to Clipboard');
|
$copyBtn.html('Copy to Clipboard');
|
||||||
|
|
||||||
$('#page-one').show();
|
|
||||||
$('#upload-progress').hide();
|
$('#upload-progress').hide();
|
||||||
$('#share-link').hide();
|
$('#share-link').hide();
|
||||||
$('#upload-error').hide();
|
$('#upload-error').hide();
|
||||||
$('#unsupported-browser').hide();
|
$('#unsupported-browser').hide();
|
||||||
$('#compliance-error').hide();
|
$('#compliance-error').hide();
|
||||||
|
$('#page-one').show();
|
||||||
|
|
||||||
if (localStorage.length === 0) {
|
if (localStorage.length === 0) {
|
||||||
toggleHeader();
|
toggleHeader();
|
||||||
|
@ -47,7 +47,7 @@ $(document).ready(function() {
|
||||||
//disable button for 3s
|
//disable button for 3s
|
||||||
$copyBtn.attr('disabled', true);
|
$copyBtn.attr('disabled', true);
|
||||||
$('#link').attr('disabled', true);
|
$('#link').attr('disabled', true);
|
||||||
$copyBtn.html('<span class=\'icon-check\'></span>');
|
$copyBtn.html('<span class="icon-check"></span>');
|
||||||
window.setTimeout(() => {
|
window.setTimeout(() => {
|
||||||
$copyBtn.attr('disabled', false);
|
$copyBtn.attr('disabled', false);
|
||||||
$('#link').attr('disabled', false);
|
$('#link').attr('disabled', false);
|
||||||
|
@ -70,13 +70,14 @@ $(document).ready(function() {
|
||||||
});
|
});
|
||||||
// link back to home page
|
// link back to home page
|
||||||
$('.send-new').click(() => {
|
$('.send-new').click(() => {
|
||||||
$('#page-one').show();
|
|
||||||
$('#upload-progress').hide();
|
$('#upload-progress').hide();
|
||||||
$('#share-link').hide();
|
$('#share-link').hide();
|
||||||
$('#upload-error').hide();
|
$('#upload-error').hide();
|
||||||
$copyBtn.attr('disabled', false);
|
$copyBtn.attr('disabled', false);
|
||||||
$('#link').attr('disabled', false);
|
$('#link').attr('disabled', false);
|
||||||
$copyBtn.html('Copy to Clipboard');
|
$copyBtn.html('Copy to Clipboard');
|
||||||
|
$('.upload-window').removeClass('ondrag');
|
||||||
|
$('#page-one').show();
|
||||||
});
|
});
|
||||||
//cancel the upload
|
//cancel the upload
|
||||||
$('#cancel-upload').click(() => {});
|
$('#cancel-upload').click(() => {});
|
||||||
|
@ -94,13 +95,21 @@ $(document).ready(function() {
|
||||||
const fileSender = new FileSender(file);
|
const fileSender = new FileSender(file);
|
||||||
fileSender.on('progress', progress => {
|
fileSender.on('progress', progress => {
|
||||||
$('#page-one').hide();
|
$('#page-one').hide();
|
||||||
$('#upload-progress').show();
|
|
||||||
$('#upload-error').hide();
|
$('#upload-error').hide();
|
||||||
|
$('#upload-progress').show();
|
||||||
const percent = progress[0] / progress[1];
|
const percent = progress[0] / progress[1];
|
||||||
// update progress bar
|
// update progress bar
|
||||||
$('#ul-progress').circleProgress('value', percent);
|
$('#ul-progress').circleProgress('value', percent);
|
||||||
|
$('#ul-progress').circleProgress().on('circle-animation-end', function() {
|
||||||
$('.percent-number').html(`${Math.floor(percent * 100)}`);
|
$('.percent-number').html(`${Math.floor(percent * 100)}`);
|
||||||
if (progress[1] < 1000000000) {
|
});
|
||||||
|
if (progress[1] < 1000000) {
|
||||||
|
$('.progress-text').html(
|
||||||
|
`${file.name} (${(progress[0] / 1000).toFixed(
|
||||||
|
1
|
||||||
|
)}KB of ${(progress[1] / 1000).toFixed(1)}KB)`
|
||||||
|
);
|
||||||
|
} else if (progress[1] < 1000000000) {
|
||||||
$('.progress-text').html(
|
$('.progress-text').html(
|
||||||
`${file.name} (${(progress[0] / 1000000).toFixed(
|
`${file.name} (${(progress[0] / 1000000).toFixed(
|
||||||
1
|
1
|
||||||
|
@ -159,8 +168,8 @@ $(document).ready(function() {
|
||||||
t = window.setTimeout(() => {
|
t = window.setTimeout(() => {
|
||||||
$('#page-one').hide();
|
$('#page-one').hide();
|
||||||
$('#upload-progress').hide();
|
$('#upload-progress').hide();
|
||||||
$('#share-link').show();
|
|
||||||
$('#upload-error').hide();
|
$('#upload-error').hide();
|
||||||
|
$('#share-link').show();
|
||||||
}, 2000);
|
}, 2000);
|
||||||
|
|
||||||
populateFileList(JSON.stringify(fileData));
|
populateFileList(JSON.stringify(fileData));
|
||||||
|
@ -224,10 +233,10 @@ $(document).ready(function() {
|
||||||
name.appendChild(cellText);
|
name.appendChild(cellText);
|
||||||
|
|
||||||
// create delete button
|
// create delete button
|
||||||
del.innerHTML =
|
del.innerHTML = '<span class="icon-cancel-1" title="Delete"></span>';
|
||||||
'<span class=\'icon-cancel-1\' title=\'Delete\' style=\'margin-left: -7px\'></span>';
|
|
||||||
|
|
||||||
link.innerHTML = '<span class=\'icon-docs\' title=\'Copy URL\'></span>';
|
link.innerHTML = '<span class="icon-docs" title="Copy URL"></span>';
|
||||||
|
link.style.color = '#0A8DFF';
|
||||||
//copy link to clipboard when icon clicked
|
//copy link to clipboard when icon clicked
|
||||||
$(link).click(function() {
|
$(link).click(function() {
|
||||||
const aux = document.createElement('input');
|
const aux = document.createElement('input');
|
||||||
|
@ -236,7 +245,10 @@ $(document).ready(function() {
|
||||||
aux.select();
|
aux.select();
|
||||||
document.execCommand('copy');
|
document.execCommand('copy');
|
||||||
document.body.removeChild(aux);
|
document.body.removeChild(aux);
|
||||||
notify('The link has been copied to your clipboard.');
|
link.innerHTML = 'Copied!';
|
||||||
|
window.setTimeout(() => {
|
||||||
|
link.innerHTML = '<span class="icon-docs" title="Copy URL"></span>';
|
||||||
|
}, 500);
|
||||||
});
|
});
|
||||||
|
|
||||||
file.creationDate = new Date(file.creationDate);
|
file.creationDate = new Date(file.creationDate);
|
||||||
|
@ -282,7 +294,7 @@ $(document).ready(function() {
|
||||||
// create popup
|
// create popup
|
||||||
popupDiv.classList.add('popup');
|
popupDiv.classList.add('popup');
|
||||||
$popupText.html(
|
$popupText.html(
|
||||||
'<span class=\'del-file\'>Delete</span><span class=\'nvm\' > Nevermind</span>'
|
'<span class="del-file">Delete</span><span class="nvm" > Nevermind</span>'
|
||||||
);
|
);
|
||||||
|
|
||||||
// delete file
|
// delete file
|
||||||
|
@ -296,8 +308,7 @@ $(document).ready(function() {
|
||||||
document.getElementById('delete-file').onclick = () => {
|
document.getElementById('delete-file').onclick = () => {
|
||||||
FileSender.delete(file.fileId, file.deleteToken).then(() => {
|
FileSender.delete(file.fileId, file.deleteToken).then(() => {
|
||||||
localStorage.removeItem(file.fileId);
|
localStorage.removeItem(file.fileId);
|
||||||
toggleHeader();
|
location.reload();
|
||||||
$('.send-new').click();
|
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -1,7 +1,7 @@
|
||||||
/*** index.html ***/
|
/*** index.html ***/
|
||||||
html {
|
html {
|
||||||
background: url('resources/Send_bg.svg');
|
background: url('resources/send_bg.svg');
|
||||||
font-family: 'SF Pro Display', sans-serif;
|
font-family: 'SF Pro Text', sans-serif;
|
||||||
font-weight: 200;
|
font-weight: 200;
|
||||||
background-size: 112%;
|
background-size: 112%;
|
||||||
background-repeat: no-repeat;
|
background-repeat: no-repeat;
|
||||||
|
@ -11,8 +11,22 @@ html {
|
||||||
}
|
}
|
||||||
|
|
||||||
body {
|
body {
|
||||||
|
height: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.footer {
|
||||||
|
position: absolute;
|
||||||
|
right: 0;
|
||||||
|
bottom: 0;
|
||||||
|
left: 0;
|
||||||
|
padding: 1rem;
|
||||||
|
font-size: 15px;
|
||||||
|
color: #858585;
|
||||||
|
}
|
||||||
|
|
||||||
|
#all {
|
||||||
|
padding-top: 12%;
|
||||||
overflow-y: scroll;
|
overflow-y: scroll;
|
||||||
margin-top: 12%;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
input, select, textarea, button {
|
input, select, textarea, button {
|
||||||
|
@ -28,10 +42,10 @@ span {
|
||||||
font-size: 33px;
|
font-size: 33px;
|
||||||
margin: 20px auto;
|
margin: 20px auto;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
|
font-family: 'SF Pro Display', sans-serif;
|
||||||
}
|
}
|
||||||
|
|
||||||
.description {
|
.description {
|
||||||
font-family: 'SF Pro Text', sans-serif;
|
|
||||||
font-size: 15px;
|
font-size: 15px;
|
||||||
line-height: 23px;
|
line-height: 23px;
|
||||||
width: 630px;
|
width: 630px;
|
||||||
|
@ -41,10 +55,10 @@ span {
|
||||||
}
|
}
|
||||||
|
|
||||||
.upload-window {
|
.upload-window {
|
||||||
border: 1px dashed rgb(0, 148, 251, 0.5);
|
border: 1px dashed rgba(0, 148, 251, 0.5);
|
||||||
margin: 0 auto;
|
margin: 0 auto;
|
||||||
width: 640px;
|
width: 640px;
|
||||||
height: 254.7px;
|
height: 255px;
|
||||||
border-radius: 4px;
|
border-radius: 4px;
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
|
@ -54,7 +68,7 @@ span {
|
||||||
}
|
}
|
||||||
|
|
||||||
.upload-window.ondrag {
|
.upload-window.ondrag {
|
||||||
border: 3px dashed rgb(0, 148, 251, 0.5);
|
border: 3px dashed rgba(0, 148, 251, 0.5);
|
||||||
margin: 0 auto;
|
margin: 0 auto;
|
||||||
width: 672px;
|
width: 672px;
|
||||||
height: 267px;
|
height: 267px;
|
||||||
|
@ -75,12 +89,12 @@ span {
|
||||||
font-size: 22px;
|
font-size: 22px;
|
||||||
color: #737373;
|
color: #737373;
|
||||||
margin: 20px 0 30px;
|
margin: 20px 0 30px;
|
||||||
|
font-family: 'SF Pro Display', sans-serif;
|
||||||
}
|
}
|
||||||
|
|
||||||
#browse {
|
#browse {
|
||||||
background: #0297F8;
|
background: #0297F8;
|
||||||
border-radius: 5px;
|
border-radius: 5px;
|
||||||
font-family: 'SF Pro Text', sans-serif;
|
|
||||||
font-size: 15px;
|
font-size: 15px;
|
||||||
color: #FFF;
|
color: #FFF;
|
||||||
width: 240px;
|
width: 240px;
|
||||||
|
@ -101,9 +115,9 @@ th {
|
||||||
color: #858585;
|
color: #858585;
|
||||||
font-weight: lighter;
|
font-weight: lighter;
|
||||||
text-align: left;
|
text-align: left;
|
||||||
background: rgb(0, 148, 251, 0.05);
|
background: rgba(0, 148, 251, 0.05);
|
||||||
height: 40px;
|
height: 40px;
|
||||||
border-top: 1px solid rgb(0, 148, 251, 0.1);
|
border-top: 1px solid rgba(0, 148, 251, 0.1);
|
||||||
padding: 0 19px;
|
padding: 0 19px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -117,7 +131,7 @@ td {
|
||||||
|
|
||||||
table {
|
table {
|
||||||
border-collapse: collapse;
|
border-collapse: collapse;
|
||||||
font-family: Segoe UI, 'SF Pro Text', sans-serif;
|
font-family: 'Segoe UI', 'SF Pro Text', sans-serif;
|
||||||
}
|
}
|
||||||
|
|
||||||
tbody {
|
tbody {
|
||||||
|
@ -184,20 +198,18 @@ tbody {
|
||||||
|
|
||||||
.percentage {
|
.percentage {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
|
letter-spacing: -0.78px;
|
||||||
|
font-family: 'Segoe UI', 'SF Pro Text', sans-serif;
|
||||||
}
|
}
|
||||||
|
|
||||||
.percent-number {
|
.percent-number {
|
||||||
font-size: 43.2px;
|
font-size: 43.2px;
|
||||||
letter-spacing: -0.78px;
|
|
||||||
line-height: 58px;
|
line-height: 58px;
|
||||||
font-family: Segoe UI, 'SF Pro Text', sans-serif;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.percent-sign {
|
.percent-sign {
|
||||||
font-size: 28.8px;
|
font-size: 28.8px;
|
||||||
color: rgb(104, 104, 104);
|
color: rgb(104, 104, 104);
|
||||||
letter-spacing: -0.78px;
|
|
||||||
font-family: Segoe UI, 'SF Pro Text', sans-serif;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.upload {
|
.upload {
|
||||||
|
@ -207,11 +219,10 @@ tbody {
|
||||||
align-items: center;
|
align-items: center;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
|
font-size: 15px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.progress-text {
|
.progress-text {
|
||||||
font-family: 'SF Pro Text', sans-serif;
|
|
||||||
font-size: 15px;
|
|
||||||
color: rgba(0, 0, 0, 0.5);
|
color: rgba(0, 0, 0, 0.5);
|
||||||
letter-spacing: -0.4px;
|
letter-spacing: -0.4px;
|
||||||
margin-top: 24px;
|
margin-top: 24px;
|
||||||
|
@ -219,8 +230,6 @@ tbody {
|
||||||
}
|
}
|
||||||
|
|
||||||
#cancel-upload {
|
#cancel-upload {
|
||||||
font-family: 'SF Pro Text', sans-serif;
|
|
||||||
font-size: 15px;
|
|
||||||
color: #D70022;
|
color: #D70022;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
text-decoration: underline;
|
text-decoration: underline;
|
||||||
|
@ -260,7 +269,9 @@ tbody {
|
||||||
border-radius: 6px 0 0 6px;
|
border-radius: 6px 0 0 6px;
|
||||||
font-size: 24px;
|
font-size: 24px;
|
||||||
color: #737373;
|
color: #737373;
|
||||||
font-family: 'SF Pro Text';
|
font-family: 'SF Pro Display', sans-serif;
|
||||||
|
letter-spacing: 0;
|
||||||
|
line-height: 23px;
|
||||||
}
|
}
|
||||||
|
|
||||||
#link:disabled {
|
#link:disabled {
|
||||||
|
@ -277,7 +288,6 @@ tbody {
|
||||||
color: white;
|
color: white;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
font-size: 15px;
|
font-size: 15px;
|
||||||
font-family: 'SF Pro Text';
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#copy-btn:disabled {
|
#copy-btn:disabled {
|
||||||
|
@ -293,7 +303,6 @@ tbody {
|
||||||
border: 1px solid rgba(12, 12, 13, 0.3);
|
border: 1px solid rgba(12, 12, 13, 0.3);
|
||||||
border-radius: 5px;
|
border-radius: 5px;
|
||||||
font-size: 15px;
|
font-size: 15px;
|
||||||
font-family: 'SF Pro Text';
|
|
||||||
margin-top: 50px;
|
margin-top: 50px;
|
||||||
margin-bottom: 12px;
|
margin-bottom: 12px;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
|
@ -333,7 +342,6 @@ tbody {
|
||||||
}
|
}
|
||||||
|
|
||||||
.unsupported-description {
|
.unsupported-description {
|
||||||
font-family: 'SF Pro Text', sans-serif;
|
|
||||||
font-size: 13px;
|
font-size: 13px;
|
||||||
line-height: 23px;
|
line-height: 23px;
|
||||||
width: 630px;
|
width: 630px;
|
||||||
|
@ -353,7 +361,7 @@ tbody {
|
||||||
background: #12BC00;
|
background: #12BC00;
|
||||||
border-radius: 3px;
|
border-radius: 3px;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
border: none;
|
border: 0;
|
||||||
box-shadow: 0 5px 3px rgb(234, 234, 234);
|
box-shadow: 0 5px 3px rgb(234, 234, 234);
|
||||||
font-family: 'Fira Sans';
|
font-family: 'Fira Sans';
|
||||||
font-weight: 500;
|
font-weight: 500;
|
||||||
|
@ -363,6 +371,7 @@ tbody {
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
line-height: 1;
|
line-height: 1;
|
||||||
|
text-decoration: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
#dl-firefox-text {
|
#dl-firefox-text {
|
||||||
|
@ -380,7 +389,6 @@ tbody {
|
||||||
/** download.html **/
|
/** download.html **/
|
||||||
#download-btn {
|
#download-btn {
|
||||||
font-size: 15px;
|
font-size: 15px;
|
||||||
font-family: 'SF Pro Text';
|
|
||||||
color: white;
|
color: white;
|
||||||
width: 180px;
|
width: 180px;
|
||||||
height: 44px;
|
height: 44px;
|
||||||
|
@ -413,7 +421,6 @@ tbody {
|
||||||
}
|
}
|
||||||
|
|
||||||
.expired-description {
|
.expired-description {
|
||||||
font-family: 'SF Pro Text', sans-serif;
|
|
||||||
font-size: 15px;
|
font-size: 15px;
|
||||||
line-height: 23px;
|
line-height: 23px;
|
||||||
width: 630px;
|
width: 630px;
|
||||||
|
|
|
@ -1,21 +0,0 @@
|
||||||
Font license info
|
|
||||||
|
|
||||||
|
|
||||||
## Entypo
|
|
||||||
|
|
||||||
Copyright (C) 2012 by Daniel Bruce
|
|
||||||
|
|
||||||
Author: Daniel Bruce
|
|
||||||
License: SIL (http://scripts.sil.org/OFL)
|
|
||||||
Homepage: http://www.entypo.com
|
|
||||||
|
|
||||||
|
|
||||||
## Font Awesome
|
|
||||||
|
|
||||||
Copyright (C) 2016 by Dave Gandy
|
|
||||||
|
|
||||||
Author: Dave Gandy
|
|
||||||
License: SIL ()
|
|
||||||
Homepage: http://fortawesome.github.com/Font-Awesome/
|
|
||||||
|
|
||||||
|
|
|
@ -1,75 +0,0 @@
|
||||||
This webfont is generated by http://fontello.com open source project.
|
|
||||||
|
|
||||||
|
|
||||||
================================================================================
|
|
||||||
Please, note, that you should obey original font licenses, used to make this
|
|
||||||
webfont pack. Details available in LICENSE.txt file.
|
|
||||||
|
|
||||||
- Usually, it's enough to publish content of LICENSE.txt file somewhere on your
|
|
||||||
site in "About" section.
|
|
||||||
|
|
||||||
- If your project is open-source, usually, it will be ok to make LICENSE.txt
|
|
||||||
file publicly available in your repository.
|
|
||||||
|
|
||||||
- Fonts, used in Fontello, don't require a clickable link on your site.
|
|
||||||
But any kind of additional authors crediting is welcome.
|
|
||||||
================================================================================
|
|
||||||
|
|
||||||
|
|
||||||
Comments on archive content
|
|
||||||
---------------------------
|
|
||||||
|
|
||||||
- /font/* - fonts in different formats
|
|
||||||
|
|
||||||
- /css/* - different kinds of css, for all situations. Should be ok with
|
|
||||||
twitter bootstrap. Also, you can skip <i> style and assign icon classes
|
|
||||||
directly to text elements, if you don't mind about IE7.
|
|
||||||
|
|
||||||
- demo.html - demo file, to show your webfont content
|
|
||||||
|
|
||||||
- LICENSE.txt - license info about source fonts, used to build your one.
|
|
||||||
|
|
||||||
- config.json - keeps your settings. You can import it back into fontello
|
|
||||||
anytime, to continue your work
|
|
||||||
|
|
||||||
|
|
||||||
Why so many CSS files ?
|
|
||||||
-----------------------
|
|
||||||
|
|
||||||
Because we like to fit all your needs :)
|
|
||||||
|
|
||||||
- basic file, <your_font_name>.css - is usually enough, it contains @font-face
|
|
||||||
and character code definitions
|
|
||||||
|
|
||||||
- *-ie7.css - if you need IE7 support, but still don't wish to put char codes
|
|
||||||
directly into html
|
|
||||||
|
|
||||||
- *-codes.css and *-ie7-codes.css - if you like to use your own @font-face
|
|
||||||
rules, but still wish to benefit from css generation. That can be very
|
|
||||||
convenient for automated asset build systems. When you need to update font -
|
|
||||||
no need to manually edit files, just override old version with archive
|
|
||||||
content. See fontello source code for examples.
|
|
||||||
|
|
||||||
- *-embedded.css - basic css file, but with embedded WOFF font, to avoid
|
|
||||||
CORS issues in Firefox and IE9+, when fonts are hosted on the separate domain.
|
|
||||||
We strongly recommend to resolve this issue by `Access-Control-Allow-Origin`
|
|
||||||
server headers. But if you ok with dirty hack - this file is for you. Note,
|
|
||||||
that data url moved to separate @font-face to avoid problems with <IE9, when
|
|
||||||
string is too long.
|
|
||||||
|
|
||||||
- animate.css - use it to get ideas about spinner rotation animation.
|
|
||||||
|
|
||||||
|
|
||||||
Attention for server setup
|
|
||||||
--------------------------
|
|
||||||
|
|
||||||
You MUST setup server to reply with proper `mime-types` for font files -
|
|
||||||
otherwise some browsers will fail to show fonts.
|
|
||||||
|
|
||||||
Usually, `apache` already has necessary settings, but `nginx` and other
|
|
||||||
webservers should be tuned. Here is list of mime types for our file extensions:
|
|
||||||
|
|
||||||
- `application/vnd.ms-fontobject` - eot
|
|
||||||
- `application/x-font-woff` - woff
|
|
||||||
- `application/x-font-ttf` - ttf
|
|
||||||
- `image/svg+xml` - svg
|
|
|
@ -57,4 +57,4 @@
|
||||||
|
|
||||||
.icon-cancel-1:before { content: '\e801'; font-size: 1.5em; font-weight: lighter;} /* '' */
|
.icon-cancel-1:before { content: '\e801'; font-size: 1.5em; font-weight: lighter;} /* '' */
|
||||||
.icon-check:before { content: '\e802'; font-size: 1.5em;} /* '' */
|
.icon-check:before { content: '\e802'; font-size: 1.5em;} /* '' */
|
||||||
.icon-docs:before { content: '\f0c5'; color: #0A8DFF; font-weight: bolder;} /* '' */
|
.icon-docs:before { content: '\f0c5'; font-weight: bolder;} /* '' */
|
||||||
|
|
|
@ -1,311 +0,0 @@
|
||||||
<!DOCTYPE html>
|
|
||||||
<html>
|
|
||||||
<head><!--[if lt IE 9]><script language="javascript" type="text/javascript" src="//html5shim.googlecode.com/svn/trunk/html5.js"></script><![endif]-->
|
|
||||||
<meta charset="UTF-8"><style>/*
|
|
||||||
* Bootstrap v2.2.1
|
|
||||||
*
|
|
||||||
* Copyright 2012 Twitter, Inc
|
|
||||||
* Licensed under the Apache License v2.0
|
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
*
|
|
||||||
* Designed and built with all the love in the world @twitter by @mdo and @fat.
|
|
||||||
*/
|
|
||||||
.clearfix {
|
|
||||||
*zoom: 1;
|
|
||||||
}
|
|
||||||
.clearfix:before,
|
|
||||||
.clearfix:after {
|
|
||||||
display: table;
|
|
||||||
content: "";
|
|
||||||
line-height: 0;
|
|
||||||
}
|
|
||||||
.clearfix:after {
|
|
||||||
clear: both;
|
|
||||||
}
|
|
||||||
html {
|
|
||||||
font-size: 100%;
|
|
||||||
-webkit-text-size-adjust: 100%;
|
|
||||||
-ms-text-size-adjust: 100%;
|
|
||||||
}
|
|
||||||
a:focus {
|
|
||||||
outline: thin dotted #333;
|
|
||||||
outline: 5px auto -webkit-focus-ring-color;
|
|
||||||
outline-offset: -2px;
|
|
||||||
}
|
|
||||||
a:hover,
|
|
||||||
a:active {
|
|
||||||
outline: 0;
|
|
||||||
}
|
|
||||||
button,
|
|
||||||
input,
|
|
||||||
select,
|
|
||||||
textarea {
|
|
||||||
margin: 0;
|
|
||||||
font-size: 100%;
|
|
||||||
vertical-align: middle;
|
|
||||||
}
|
|
||||||
button,
|
|
||||||
input {
|
|
||||||
*overflow: visible;
|
|
||||||
line-height: normal;
|
|
||||||
}
|
|
||||||
button::-moz-focus-inner,
|
|
||||||
input::-moz-focus-inner {
|
|
||||||
padding: 0;
|
|
||||||
border: 0;
|
|
||||||
}
|
|
||||||
body {
|
|
||||||
margin: 0;
|
|
||||||
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
|
|
||||||
font-size: 14px;
|
|
||||||
line-height: 20px;
|
|
||||||
color: #333;
|
|
||||||
background-color: #fff;
|
|
||||||
}
|
|
||||||
a {
|
|
||||||
color: #08c;
|
|
||||||
text-decoration: none;
|
|
||||||
}
|
|
||||||
a:hover {
|
|
||||||
color: #005580;
|
|
||||||
text-decoration: underline;
|
|
||||||
}
|
|
||||||
.row {
|
|
||||||
margin-left: -20px;
|
|
||||||
*zoom: 1;
|
|
||||||
}
|
|
||||||
.row:before,
|
|
||||||
.row:after {
|
|
||||||
display: table;
|
|
||||||
content: "";
|
|
||||||
line-height: 0;
|
|
||||||
}
|
|
||||||
.row:after {
|
|
||||||
clear: both;
|
|
||||||
}
|
|
||||||
[class*="span"] {
|
|
||||||
float: left;
|
|
||||||
min-height: 1px;
|
|
||||||
margin-left: 20px;
|
|
||||||
}
|
|
||||||
.container,
|
|
||||||
.navbar-static-top .container,
|
|
||||||
.navbar-fixed-top .container,
|
|
||||||
.navbar-fixed-bottom .container {
|
|
||||||
width: 940px;
|
|
||||||
}
|
|
||||||
.span12 {
|
|
||||||
width: 940px;
|
|
||||||
}
|
|
||||||
.span11 {
|
|
||||||
width: 860px;
|
|
||||||
}
|
|
||||||
.span10 {
|
|
||||||
width: 780px;
|
|
||||||
}
|
|
||||||
.span9 {
|
|
||||||
width: 700px;
|
|
||||||
}
|
|
||||||
.span8 {
|
|
||||||
width: 620px;
|
|
||||||
}
|
|
||||||
.span7 {
|
|
||||||
width: 540px;
|
|
||||||
}
|
|
||||||
.span6 {
|
|
||||||
width: 460px;
|
|
||||||
}
|
|
||||||
.span5 {
|
|
||||||
width: 380px;
|
|
||||||
}
|
|
||||||
.span4 {
|
|
||||||
width: 300px;
|
|
||||||
}
|
|
||||||
.span3 {
|
|
||||||
width: 220px;
|
|
||||||
}
|
|
||||||
.span2 {
|
|
||||||
width: 140px;
|
|
||||||
}
|
|
||||||
.span1 {
|
|
||||||
width: 60px;
|
|
||||||
}
|
|
||||||
[class*="span"].pull-right,
|
|
||||||
.row-fluid [class*="span"].pull-right {
|
|
||||||
float: right;
|
|
||||||
}
|
|
||||||
.container {
|
|
||||||
margin-right: auto;
|
|
||||||
margin-left: auto;
|
|
||||||
*zoom: 1;
|
|
||||||
}
|
|
||||||
.container:before,
|
|
||||||
.container:after {
|
|
||||||
display: table;
|
|
||||||
content: "";
|
|
||||||
line-height: 0;
|
|
||||||
}
|
|
||||||
.container:after {
|
|
||||||
clear: both;
|
|
||||||
}
|
|
||||||
p {
|
|
||||||
margin: 0 0 10px;
|
|
||||||
}
|
|
||||||
.lead {
|
|
||||||
margin-bottom: 20px;
|
|
||||||
font-size: 21px;
|
|
||||||
font-weight: 200;
|
|
||||||
line-height: 30px;
|
|
||||||
}
|
|
||||||
small {
|
|
||||||
font-size: 85%;
|
|
||||||
}
|
|
||||||
h1 {
|
|
||||||
margin: 10px 0;
|
|
||||||
font-family: inherit;
|
|
||||||
font-weight: bold;
|
|
||||||
line-height: 20px;
|
|
||||||
color: inherit;
|
|
||||||
text-rendering: optimizelegibility;
|
|
||||||
}
|
|
||||||
h1 small {
|
|
||||||
font-weight: normal;
|
|
||||||
line-height: 1;
|
|
||||||
color: #999;
|
|
||||||
}
|
|
||||||
h1 {
|
|
||||||
line-height: 40px;
|
|
||||||
}
|
|
||||||
h1 {
|
|
||||||
font-size: 38.5px;
|
|
||||||
}
|
|
||||||
h1 small {
|
|
||||||
font-size: 24.5px;
|
|
||||||
}
|
|
||||||
body {
|
|
||||||
margin-top: 90px;
|
|
||||||
}
|
|
||||||
.header {
|
|
||||||
position: fixed;
|
|
||||||
top: 0;
|
|
||||||
left: 50%;
|
|
||||||
margin-left: -480px;
|
|
||||||
background-color: #fff;
|
|
||||||
border-bottom: 1px solid #ddd;
|
|
||||||
padding-top: 10px;
|
|
||||||
z-index: 10;
|
|
||||||
}
|
|
||||||
.footer {
|
|
||||||
color: #ddd;
|
|
||||||
font-size: 12px;
|
|
||||||
text-align: center;
|
|
||||||
margin-top: 20px;
|
|
||||||
}
|
|
||||||
.footer a {
|
|
||||||
color: #ccc;
|
|
||||||
text-decoration: underline;
|
|
||||||
}
|
|
||||||
.the-icons {
|
|
||||||
font-size: 14px;
|
|
||||||
line-height: 24px;
|
|
||||||
}
|
|
||||||
.switch {
|
|
||||||
position: absolute;
|
|
||||||
right: 0;
|
|
||||||
bottom: 10px;
|
|
||||||
color: #666;
|
|
||||||
}
|
|
||||||
.switch input {
|
|
||||||
margin-right: 0.3em;
|
|
||||||
}
|
|
||||||
.codesOn .i-name {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
.codesOn .i-code {
|
|
||||||
display: inline;
|
|
||||||
}
|
|
||||||
.i-code {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
@font-face {
|
|
||||||
font-family: 'fontello';
|
|
||||||
src: url('./font/fontello.eot?6997666');
|
|
||||||
src: url('./font/fontello.eot?6997666#iefix') format('embedded-opentype'),
|
|
||||||
url('./font/fontello.woff?6997666') format('woff'),
|
|
||||||
url('./font/fontello.ttf?6997666') format('truetype'),
|
|
||||||
url('./font/fontello.svg?6997666#fontello') format('svg');
|
|
||||||
font-weight: normal;
|
|
||||||
font-style: normal;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
.demo-icon
|
|
||||||
{
|
|
||||||
font-family: "fontello";
|
|
||||||
font-style: normal;
|
|
||||||
font-weight: normal;
|
|
||||||
speak: none;
|
|
||||||
|
|
||||||
display: inline-block;
|
|
||||||
text-decoration: inherit;
|
|
||||||
width: 1em;
|
|
||||||
margin-right: .2em;
|
|
||||||
text-align: center;
|
|
||||||
/* opacity: .8; */
|
|
||||||
|
|
||||||
/* For safety - reset parent styles, that can break glyph codes*/
|
|
||||||
font-variant: normal;
|
|
||||||
text-transform: none;
|
|
||||||
|
|
||||||
/* fix buttons height, for twitter bootstrap */
|
|
||||||
line-height: 1em;
|
|
||||||
|
|
||||||
/* Animation center compensation - margins should be symmetric */
|
|
||||||
/* remove if not needed */
|
|
||||||
margin-left: .2em;
|
|
||||||
|
|
||||||
/* You can be more comfortable with increased icons size */
|
|
||||||
/* font-size: 120%; */
|
|
||||||
|
|
||||||
/* Font smoothing. That was taken from TWBS */
|
|
||||||
-webkit-font-smoothing: antialiased;
|
|
||||||
-moz-osx-font-smoothing: grayscale;
|
|
||||||
|
|
||||||
/* Uncomment for 3D effect */
|
|
||||||
/* text-shadow: 1px 1px 1px rgba(127, 127, 127, 0.3); */
|
|
||||||
}
|
|
||||||
</style>
|
|
||||||
<link rel="stylesheet" href="css/animation.css"><!--[if IE 7]><link rel="stylesheet" href="css/fontello-ie7.css"><![endif]-->
|
|
||||||
<script>
|
|
||||||
function toggleCodes(on) {
|
|
||||||
var obj = document.getElementById('icons');
|
|
||||||
|
|
||||||
if (on) {
|
|
||||||
obj.className += ' codesOn';
|
|
||||||
} else {
|
|
||||||
obj.className = obj.className.replace(' codesOn', '');
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
</script>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<div class="container header">
|
|
||||||
<h1>
|
|
||||||
fontello
|
|
||||||
<small>font demo</small>
|
|
||||||
</h1>
|
|
||||||
<label class="switch">
|
|
||||||
<input type="checkbox" onclick="toggleCodes(this.checked)">show codes
|
|
||||||
</label>
|
|
||||||
</div>
|
|
||||||
<div id="icons" class="container">
|
|
||||||
<div class="row">
|
|
||||||
<div title="Code: 0xe801" class="the-icons span3"><i class="demo-icon icon-cancel-1"></i> <span class="i-name">icon-cancel-1</span><span class="i-code">0xe801</span></div>
|
|
||||||
<div title="Code: 0xe802" class="the-icons span3"><i class="demo-icon icon-check"></i> <span class="i-name">icon-check</span><span class="i-code">0xe802</span></div>
|
|
||||||
<div title="Code: 0xf0c5" class="the-icons span3"><i class="demo-icon icon-docs"></i> <span class="i-name">icon-docs</span><span class="i-code">0xf0c5</span></div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="container footer">Generated by <a href="http://fontello.com">fontello.com</a></div>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
|
@ -1,7 +1,7 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<!-- Generator: Adobe Illustrator 21.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
<!-- Generator: Adobe Illustrator 21.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||||
<svg version="1.1" id="圖層_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
<svg version="1.1" id="圖層_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||||
viewBox="0 0 283 196" style="enable-background:new 0 0 283 196;" xml:space="preserve">
|
viewBox="0 0 283 196" xml:space="preserve">
|
||||||
<style type="text/css">
|
<style type="text/css">
|
||||||
.st0{fill:none;}
|
.st0{fill:none;}
|
||||||
.st1{fill:#D9EBFF;}
|
.st1{fill:#D9EBFF;}
|
||||||
|
|
Before Width: | Height: | Size: 9.5 KiB After Width: | Height: | Size: 9.5 KiB |
Binary file not shown.
After Width: | Height: | Size: 69 KiB |
|
@ -35,24 +35,24 @@ app.use(helmet());
|
||||||
app.use(
|
app.use(
|
||||||
helmet.contentSecurityPolicy({
|
helmet.contentSecurityPolicy({
|
||||||
directives: {
|
directives: {
|
||||||
defaultSrc: ['\'self\''],
|
defaultSrc: ['"self"'],
|
||||||
connectSrc: [
|
connectSrc: [
|
||||||
'\'self\'',
|
'"self"',
|
||||||
'https://sentry.prod.mozaws.net',
|
'https://sentry.prod.mozaws.net',
|
||||||
'https://www.google-analytics.com',
|
'https://www.google-analytics.com',
|
||||||
'https://ssl.google-analytics.com'
|
'https://ssl.google-analytics.com'
|
||||||
],
|
],
|
||||||
imgSrc: [
|
imgSrc: [
|
||||||
'\'self\'',
|
'"self"',
|
||||||
'https://www.google-analytics.com',
|
'https://www.google-analytics.com',
|
||||||
'https://ssl.google-analytics.com'
|
'https://ssl.google-analytics.com'
|
||||||
],
|
],
|
||||||
scriptSrc: ['\'self\'', 'https://ssl.google-analytics.com'],
|
scriptSrc: ['"self"', 'https://ssl.google-analytics.com'],
|
||||||
styleSrc: ['\'self\'', 'https://code.cdn.mozilla.net'],
|
styleSrc: ['"self"', 'https://code.cdn.mozilla.net'],
|
||||||
fontSrc: ['\'self\'', 'https://code.cdn.mozilla.net'],
|
fontSrc: ['"self"', 'https://code.cdn.mozilla.net'],
|
||||||
formAction: ['\'none\''],
|
formAction: ['"none"'],
|
||||||
frameAncestors: ['\'none\''],
|
frameAncestors: ['"none"'],
|
||||||
objectSrc: ['\'none\'']
|
objectSrc: ['"none"']
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
);
|
);
|
||||||
|
|
|
@ -12,17 +12,17 @@
|
||||||
{{/if}}
|
{{/if}}
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
|
<div>
|
||||||
<div id="download">
|
<div id="download">
|
||||||
{{#if filename}}
|
{{#if filename}}
|
||||||
<div id="download-page-one">
|
<div id="download-page-one">
|
||||||
<div class="title">
|
<div class="title">
|
||||||
Download {{{filename}}} ({{{filesize}}})
|
Download <span id="dl-filename">{{{filename}}}</span> ({{{filesize}}})
|
||||||
</div>
|
</div>
|
||||||
<div class="description">
|
<div class="description">
|
||||||
Your friend is sending you a file with Firefox Send, a service that allows you to share files with a safe, private, and encrypted link that automatically expires to ensure your stuff does not remain online forever.
|
Your friend is sending you a file with Firefox Send, a service that allows you to share files with a safe, private, and encrypted link that automatically expires to ensure your stuff does not remain online forever.
|
||||||
</div>
|
</div>
|
||||||
<img src="/resources/illustration_download.svg" id="download-img"/>
|
<img src="/resources/illustration_download.svg" id="download-img" alt="Download"/>
|
||||||
<div>
|
<div>
|
||||||
<button id="download-btn" title="Download">Download</button>
|
<button id="download-btn" title="Download">Download</button>
|
||||||
</div>
|
</div>
|
||||||
|
@ -67,6 +67,6 @@
|
||||||
</div>
|
</div>
|
||||||
{{/if}}
|
{{/if}}
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|
|
@ -14,6 +14,7 @@
|
||||||
{{/if}}
|
{{/if}}
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
|
<div id="all">
|
||||||
<div id="page-one">
|
<div id="page-one">
|
||||||
<div class="title">
|
<div class="title">
|
||||||
Private, Encrypted File Sharing
|
Private, Encrypted File Sharing
|
||||||
|
@ -39,9 +40,9 @@
|
||||||
<tr>
|
<tr>
|
||||||
<!-- htmllint attr-bans="false" -->
|
<!-- htmllint attr-bans="false" -->
|
||||||
<th width="35%">File</th>
|
<th width="35%">File</th>
|
||||||
<th width="30%">Copy URL</th>
|
<th width="25%">Copy URL</th>
|
||||||
<th width="25%">Expires in</th>
|
<th width="21%">Expires in</th>
|
||||||
<th width="10%">Delete</th>
|
<th width="12%">Delete</th>
|
||||||
<!-- htmllint tag-bans="$previous" -->
|
<!-- htmllint tag-bans="$previous" -->
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
|
@ -62,7 +63,7 @@
|
||||||
<!-- progress bar here -->
|
<!-- progress bar here -->
|
||||||
<div class="progress-bar" id="ul-progress">
|
<div class="progress-bar" id="ul-progress">
|
||||||
<div class="percentage">
|
<div class="percentage">
|
||||||
<span class="percent-number"></span>
|
<span class="percent-number">0</span>
|
||||||
<span class="percent-sign">%</span>
|
<span class="percent-sign">%</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -112,16 +113,15 @@
|
||||||
<div class="description">
|
<div class="description">
|
||||||
Unfortunately this browser does not support the web technology that powers Firefox Send. You'll need to try another browser. We recommend Firefox!
|
Unfortunately this browser does not support the web technology that powers Firefox Send. You'll need to try another browser. We recommend Firefox!
|
||||||
</div>
|
</div>
|
||||||
<form action="https://www.mozilla.org/en-US/firefox/new/?scene=2" target="_blank">
|
<a id="dl-firefox" href="https://www.mozilla.org/firefox/new/?scene=2" target="_blank">
|
||||||
<button id="dl-firefox" type="submit">
|
<img src="/resources/firefox_logo-only.svg" id="firefox-logo" alt="Firefox"/>
|
||||||
<img src="/resources/firefox_logo-only.svg" id="firefox-logo"/>
|
|
||||||
<div id="dl-firefox-text">Firefox<br><span>Free Download</span></div>
|
<div id="dl-firefox-text">Firefox<br><span>Free Download</span></div>
|
||||||
</button>
|
</a>
|
||||||
</form>
|
|
||||||
<div class="unsupported-description">
|
<div class="unsupported-description">
|
||||||
Send files through a safe, private, and encrypted link that automatically expires to ensure your stuff does not remain online forever.
|
Send files through a safe, private, and encrypted link that automatically expires to ensure your stuff does not remain online forever.
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
|
<!-- <div class="footer"><img src="/resources/mozilla-logo.jpg"/>This footer will always be positioned at the bottom of the page, but <strong>not fixed</strong>.</div> -->
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|
Loading…
Reference in New Issue