Finetuning Plugin behavior when not logged in
This commit is contained in:
+17
-1
@@ -10,6 +10,8 @@ const openSettingsButton = document.getElementById('open-settings');
|
||||
const existingTags = document.getElementById('existing-tags');
|
||||
const newTagsInput = document.getElementById('new-tags');
|
||||
const feedLink = document.getElementById('feed-link');
|
||||
const authWarning = document.getElementById('auth-warning');
|
||||
const warningSettingsButton = document.getElementById('warning-settings');
|
||||
|
||||
const t = window.linklogI18n;
|
||||
|
||||
@@ -29,6 +31,16 @@ async function getSettings() {
|
||||
return result;
|
||||
}
|
||||
|
||||
function showSignedOutState() {
|
||||
form.classList.add('hidden');
|
||||
authWarning.classList.remove('hidden');
|
||||
}
|
||||
|
||||
function showSignedInState() {
|
||||
authWarning.classList.add('hidden');
|
||||
form.classList.remove('hidden');
|
||||
}
|
||||
|
||||
async function updateFeedLink() {
|
||||
const settings = await browser.storage.local.get(['backendUrl', 'username', 'accessToken']);
|
||||
if (!settings.backendUrl || !settings.username || !settings.accessToken) return;
|
||||
@@ -44,13 +56,15 @@ async function updateFeedLink() {
|
||||
async function loadExistingTags() {
|
||||
const settings = await getSettings();
|
||||
if (!settings.backendUrl || !settings.accessToken) {
|
||||
existingTags.textContent = t('signInToSelectTags');
|
||||
showSignedOutState();
|
||||
return;
|
||||
}
|
||||
showSignedInState();
|
||||
const response = await fetch(`${settings.backendUrl}/api/tags`, {
|
||||
headers: {'Authorization': `Bearer ${settings.accessToken}`},
|
||||
});
|
||||
if (!response.ok) {
|
||||
if (response.status === 401) showSignedOutState();
|
||||
existingTags.textContent = t('loadTagsFailed');
|
||||
return;
|
||||
}
|
||||
@@ -127,6 +141,7 @@ async function handleSubmit(event) {
|
||||
});
|
||||
|
||||
if (response.status === 401) {
|
||||
showSignedOutState();
|
||||
setStatus(t('sessionExpired'), true);
|
||||
browser.runtime.openOptionsPage();
|
||||
return;
|
||||
@@ -143,6 +158,7 @@ async function handleSubmit(event) {
|
||||
}
|
||||
|
||||
openSettingsButton.addEventListener('click', () => browser.runtime.openOptionsPage());
|
||||
warningSettingsButton.addEventListener('click', () => browser.runtime.openOptionsPage());
|
||||
form.addEventListener('submit', handleSubmit);
|
||||
populateCurrentTab();
|
||||
loadExistingTags();
|
||||
|
||||
Reference in New Issue
Block a user