lkarch.org/tools/webretro/uauth/popuppicker.html
Lucas Kent e39465ad2f Changes to be committed:
new file:   Files/flashplayer_32_sa.exe
	new file:   favicon.ico
	new file:   globe.gif
	new file:   imgs/download.png
	new file:   imgs/zuck.jpg
	new file:   index.html
	new file:   other.ico
	new file:   script.js
	new file:   site.webmanifest
	new file:   sitemap.html
	new file:   styles/backround.css
	new file:   styles/border.css
	new file:   styles/fonts/Titillium_Web/OFL.txt
	new file:   styles/fonts/Titillium_Web/TitilliumWeb-Black.ttf
	new file:   styles/fonts/Titillium_Web/TitilliumWeb-Bold.ttf
	new file:   styles/fonts/Titillium_Web/TitilliumWeb-BoldItalic.ttf
	new file:   styles/fonts/Titillium_Web/TitilliumWeb-ExtraLight.ttf
	new file:   styles/fonts/Titillium_Web/TitilliumWeb-ExtraLightItalic.ttf
	new file:   styles/fonts/Titillium_Web/TitilliumWeb-Italic.ttf
	new file:   styles/fonts/Titillium_Web/TitilliumWeb-Light.ttf
	new file:   styles/fonts/Titillium_Web/TitilliumWeb-LightItalic.ttf
	new file:   styles/fonts/Titillium_Web/TitilliumWeb-Regular.ttf
	new file:   styles/fonts/Titillium_Web/TitilliumWeb-SemiBold.ttf
	new file:   styles/fonts/Titillium_Web/TitilliumWeb-SemiBoldItalic.ttf
	new file:   styles/fonts/webfontkit-20221027-163353/generator_config.txt
	new file:   styles/fonts/webfontkit-20221027-163353/specimen_files/grid_12-825-55-15.css
	new file:   styles/fonts/webfontkit-20221027-163353/specimen_files/specimen_stylesheet.css
	new file:   styles/fonts/webfontkit-20221027-163353/stylesheet.css
	new file:   styles/fonts/webfontkit-20221027-163353/titilliumweb-extralight-demo.html
	new file:   styles/fonts/webfontkit-20221027-163353/titilliumweb-extralight-webfont.woff
	new file:   styles/fonts/webfontkit-20221027-163353/titilliumweb-extralight-webfont.woff2
	new file:   styles/fonts/webfontkit-20221027-165950/generator_config.txt
	new file:   styles/fonts/webfontkit-20221027-165950/specimen_files/grid_12-825-55-15.css
	new file:   styles/fonts/webfontkit-20221027-165950/specimen_files/specimen_stylesheet.css
	new file:   styles/fonts/webfontkit-20221027-165950/stylesheet.css
	new file:   styles/fonts/webfontkit-20221027-165950/titilliumweb-bold-demo.html
	new file:   styles/fonts/webfontkit-20221027-165950/titilliumweb-bold-webfont.woff
	new file:   styles/fonts/webfontkit-20221027-165950/titilliumweb-bold-webfont.woff2
	new file:   styles/style.css
	new file:   tools/2048/.gitignore
	new file:   tools/2048/.jshintrc
	new file:   tools/2048/CONTRIBUTING.md
	new file:   tools/2048/LICENSE.txt
	new file:   tools/2048/README.md
	new file:   tools/2048/Rakefile
	new file:   tools/2048/favicon.ico
	new file:   tools/2048/index.html
	new file:   tools/2048/js/animframe_polyfill.js
	new file:   tools/2048/js/application.js
	new file:   tools/2048/js/bind_polyfill.js
	new file:   tools/2048/js/classlist_polyfill.js
	new file:   tools/2048/js/game_manager.js
	new file:   tools/2048/js/grid.js
	new file:   tools/2048/js/html_actuator.js
	new file:   tools/2048/js/keyboard_input_manager.js
	new file:   tools/2048/js/local_storage_manager.js
	new file:   tools/2048/js/tile.js
    new file:   tools/2048/meta/apple-touch-icon.png
	new file:   tools/webretro/cores/neocd_libretro.js
	new file:   tools/webretro/cores/neocd_libretro.wasm
	new file:   tools/webretro/cores/nestopia_libretro.js
	new file:   tools/webretro/cores/nestopia_libretro.wasm
	new file:   tools/webretro/cores/o2em_libretro.js
	new file:   tools/webretro/cores/o2em_libretro.wasm
	new file:   tools/webretro/cores/opera_libretro.js
	new file:   tools/webretro/cores/opera_libretro.wasm
2022-11-02 08:40:01 -04:00

117 lines
3.1 KiB
HTML

<!DOCTYPE html>
<html>
<head>
<title>Choose a File</title>
<style>
body {
background-color: #101010;
color: white;
}
.center {
position: absolute;
left: 50%;
top: 50%;
transform: translate(-50%, -50%);
margin: 0px;
text-align: center;
}
</style>
</head>
<body>
<div class="center">
<h1>Choose a file...</h1>
<h2>Make sure you have popups enabled!</h2>
</div>
<script src="https://www.dropbox.com/static/api/2/dropins.js"></script>
<script src="https://js.live.net/v7.2/OneDrive.js"></script>
<script src="tokens.js"></script>
<script>
var queries = Object.fromEntries(window.location.search.substring(1).split("&").map(i => i.split("=")).map(i => i.map(i => i && decodeURIComponent(i))));
var fileTypes = queries.exts ? queries.exts.split(",") : [];
function finish(message, name, data) {
window.opener.postMessage({webretro: {timestamp: parseInt(queries.timestamp), message: message, name: name, data: data}}, "*");
}
window.addEventListener("unload", function() {
if (queries.type) finish("cancelled");
}, false);
function xhr(loc, success, error) {
var xhr = new XMLHttpRequest();
xhr.open("GET", loc, true);
xhr.responseType = "arraybuffer";
xhr.onload = function() {
success(this.response);
}
xhr.onerror = function(e) {
if (error) error(e);
}
xhr.send();
}
// Pass on data from Google Drive picker
window.addEventListener("message", function(e) {
if (e.origin == window.location.origin && e.data.webretro) finish(e.data.webretro.message, e.data.webretro.name, e.data.webretro.data);
}, false);
if (queries.type == "drive") {
// Google Drive
var dwidth = window.outerWidth - 320;
var dheight = window.outerHeight - 240;
var dleft = (window.innerWidth - dwidth) / 2 + window.screenLeft;
var dtop = (window.innerHeight - dheight) / 2 + window.screenTop;
window.open("drive.html?exts=" + fileTypes.join(","), "Choose a File", "left=" + dleft + ",top=" + dtop + ",width=" + dwidth + ",height=" + dheight);
} else if (queries.type == "dropbox") {
// Dropbox
Dropbox.appKey = dropboxAppKey;
Dropbox.choose({
success: function(files) {
var file = files[0];
xhr(file.link, function(data) {
finish("success", file.name, data);
}, function() {
finish("error");
});
},
cancel: function() {
finish("cancelled");
},
linkType: "direct",
multiselect: false,
folderselect: false
});
} else if (queries.type == "onedrive") {
// OneDrive
OneDrive.open({
clientId: onedriveClientId,
action: "download",
multiSelect: false,
advanced: {
filter: fileTypes.join(",")
},
success: function(response) {
var name = response.value[0].name;
var link = response.value[0]["@microsoft.graph.downloadUrl"];
xhr(link, function(data) {
finish("success", name, data);
}, function() {
finish("error");
});
},
cancel: function() {
finish("cancelled");
},
error: function(error) {
finish("error");
}
});
}
</script>
</body>
</html>