mirror of
https://github.com/neosubhamoy/neosubhamoy-portfolio.git
synced 2025-12-20 04:39:34 +05:30
56 lines
1.6 KiB
JavaScript
56 lines
1.6 KiB
JavaScript
//---controls basic keyboard shotcuts
|
|
//basePath const is defined in floatingbar-config
|
|
|
|
let pressedKeys = {};
|
|
|
|
function getJsonDataset(element) {
|
|
return new Promise((resolve, reject) => {
|
|
$.getJSON('assets/dataset.json', function(datasetData) {
|
|
resolve(datasetData[element]);
|
|
}).fail(function(jqxhr, textStatus, error) {
|
|
reject(error);
|
|
});
|
|
});
|
|
}
|
|
|
|
async function redirectToURL(item) {
|
|
try {
|
|
const url = await getJsonDataset(item);
|
|
window.open(url, '_blank');
|
|
if (!/Firefox/.test(navigator.userAgent)) {
|
|
location.reload();
|
|
}
|
|
} catch (error) {
|
|
console.error('Error:', error);
|
|
}
|
|
}
|
|
|
|
document.addEventListener('keydown', function(event) {
|
|
pressedKeys[event.key] = true;
|
|
|
|
if (pressedKeys['n'] && pressedKeys['h']) {
|
|
window.location.href = basePath;
|
|
}
|
|
else if (pressedKeys['n'] && pressedKeys['p']) {
|
|
window.location.href = basePath + "/projects";
|
|
}
|
|
else if (pressedKeys['n'] && pressedKeys['b']) {
|
|
window.location.href = basePath + "/blog";
|
|
}
|
|
else if (pressedKeys['n'] && pressedKeys['c']) {
|
|
window.location.href = basePath + "/contact";
|
|
}
|
|
else if (pressedKeys['q'] && pressedKeys['e']) {
|
|
redirectToURL('email');
|
|
}
|
|
else if (pressedKeys['q'] && pressedKeys['m']) {
|
|
redirectToURL('chat');
|
|
}
|
|
else if (pressedKeys['q'] && pressedKeys['s']) {
|
|
redirectToURL('sources');
|
|
}
|
|
});
|
|
|
|
document.addEventListener('keyup', function(event) {
|
|
pressedKeys[event.key] = false;
|
|
}); |