Skip to content

Commit

Permalink
v3.0
Browse files Browse the repository at this point in the history
add switch user function
add user input label
  • Loading branch information
adlsdztony committed Dec 7, 2023
1 parent 0b78e2b commit ee1c3a2
Show file tree
Hide file tree
Showing 4 changed files with 97 additions and 49 deletions.
2 changes: 1 addition & 1 deletion manifest.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"manifest_version": 3,
"name": "FastHKU",
"version": "2.2",
"version": "3.0",
"description": "One step to access HKU services",
"content_scripts": [
{
Expand Down
2 changes: 1 addition & 1 deletion popup/options.html
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@

<body>
<div>
<h1>Setting</h1>
<h1>Add User</h1>
<input type="text" id="username" placeholder="Name" />
<input type="password" id="password" placeholder="Password" />
<input type="button" id="save" value="Save" />
Expand Down
94 changes: 55 additions & 39 deletions scripts/main.js
Original file line number Diff line number Diff line change
@@ -1,44 +1,60 @@

// get data list from storage
let data_list = [];

let list = document.getElementById('linkList');

let links = [
{
name: 'HKU Portal',
url: 'https://hkuportal.hku.hk/login.html',
},
{
name: 'HKU Moodle (Dashboard)',
url: 'https://moodle.hku.hk/my/',
},
{
name: 'HKU Library Booking System',
url: 'https://lib.hku.hk/hkulauth/legacy/authMain?uri=https://booking.lib.hku.hk/getpatron.aspx',
},
{
name: 'HKU Exam Base',
url: 'https://exambase-lib-hku-hk.eproxy.lib.hku.hk/exhibits/show/exam/home',
chrome.storage.sync.get(['list', 'username', 'password'], function (items) {
if (items.list !== undefined) {
data_list = items.list;
} else {
if (items.username === undefined) {
// go to options.html
location.href = chrome.runtime.getURL('popup/options.html');
} else {
data_list = [{
username: items.username,
password: items.password
}]
}
}

let list = document.getElementById('linkList');


for (let i = 0; i < data_list.length; i++) {
let div = document.createElement('div');
div.classList.add('linkWithImage');
let img = document.createElement('img');
img.src = 'https://sis-eportal.hku.hk/favicon.ico';
img.alt = data_list[i].username;
img.width = 20;
img.height = 20;
img.style.marginRight = '10px';
div.appendChild(img);
let text = document.createTextNode(data_list[i].username);
div.appendChild(text);
list.appendChild(div);
}
];

let linkWithImage = document.getElementsByClassName('linkWithImage');
for (let i = 0; i < linkWithImage.length; i++) {
linkWithImage[i].addEventListener('click', function () {
// save data to storage
chrome.storage.sync.set({
username: data_list[i].username,
password: data_list[i].password
});

for (let i = 0; i < links.length; i++) {
let div = document.createElement('div');
div.classList.add('linkWithImage');
let img = document.createElement('img');
img.src = 'https://sis-eportal.hku.hk/favicon.ico';
img.alt = links[i].name;
img.width = 20;
img.height = 20;
img.style.marginRight = '10px';
div.appendChild(img);
let text = document.createTextNode(links[i].name);
div.appendChild(text);
list.appendChild(div);
}
// show notification
// clear body
document.body.innerHTML = '';
let div = document.createElement('h1');
div.innerHTML = 'Switch user to ' + data_list[i].username + '.';
document.body.appendChild(div);

let linkWithImage = document.getElementsByClassName('linkWithImage');
for (let i = 0; i < linkWithImage.length; i++) {
linkWithImage[i].addEventListener('click', function () {
chrome.tabs.create({ url: links[i].url });
});
}
// close
setTimeout(function () {
window.close();
}, 1000);
});
}
});
48 changes: 40 additions & 8 deletions scripts/set_user.js
Original file line number Diff line number Diff line change
@@ -1,20 +1,52 @@
var save = document.getElementById('save');

save.addEventListener('click', function() {
// get data list from storage


// get data from input
var username = document.getElementById('username').value;
var password = document.getElementById('password').value;
var data = {
username: username,
password: password
};
chrome.storage.sync.set(data, function() {
console.log('Data is saved');

chrome.storage.sync.get(['list'], function(items) {
var data_list = items.list;
if (data_list === undefined) {
data_list = [];
}
// check if data is in list
for (var i = 0; i < data_list.length; i++) {
if (data_list[i].username === username) {
data_list.splice(i, 1);
break;
}
}
// add data to list
data_list.push(data);
// save list to storage
chrome.storage.sync.set({list: data_list}, function() {
});

if (data_list.length === 1) {
// save data to storage
chrome.storage.sync.set({
username: username,
password: password
});
}

// show notification
// clear body
document.body.innerHTML = '';
var div = document.createElement('h1');
div.innerHTML = 'Saved user ' + username + '.';
document.body.appendChild(div);
});
// show notification
// clear body
document.body.innerHTML = '';
var div = document.createElement('h1');
div.innerHTML = 'Data is saved';
document.body.appendChild(div);


// close
setTimeout(function() {
window.close();
Expand Down

0 comments on commit ee1c3a2

Please sign in to comment.