Merge pull request #260 from wakatime/fix-202

Close options window on save #202
This commit is contained in:
Alan Hamlett
2024-08-17 20:12:58 +02:00
committed by GitHub

View File

@@ -1,7 +1,6 @@
import { Toast } from 'bootstrap';
import classNames from 'classnames';
import React, { useEffect, useRef, useState } from 'react'; import React, { useEffect, useRef, useState } from 'react';
import config, { SuccessOrFailType } from '../config/config'; import config, { SuccessOrFailType } from '../config/config';
import { IS_CHROME } from '../utils';
import apiKeyInvalid from '../utils/apiKey'; import apiKeyInvalid from '../utils/apiKey';
import { logUserIn } from '../utils/user'; import { logUserIn } from '../utils/user';
import SitesList from './SitesList'; import SitesList from './SitesList';
@@ -38,8 +37,6 @@ export default function Options(): JSX.Element {
whitelist: '', whitelist: '',
}); });
const liveToastRef = useRef(null);
const loggingStyleRef = useRef(null); const loggingStyleRef = useRef(null);
const restoreSettings = async (): Promise<void> => { const restoreSettings = async (): Promise<void> => {
@@ -131,9 +128,10 @@ export default function Options(): JSX.Element {
trackSocialMedia, trackSocialMedia,
whitelist, whitelist,
}); });
// eslint-disable-next-line
Toast.getOrCreateInstance(liveToastRef?.current ?? '')?.show();
await logUserIn(state.apiKey); await logUserIn(state.apiKey);
if (IS_CHROME) {
window.close();
}
}; };
const updateBlacklistState = (sites: string) => { const updateBlacklistState = (sites: string) => {
@@ -180,15 +178,7 @@ export default function Options(): JSX.Element {
const isApiKeyValid = apiKeyInvalid(state.apiKey) === ''; const isApiKeyValid = apiKeyInvalid(state.apiKey) === '';
return ( return (
<div <div className="container">
className="container"
style={{
height: 590,
marginTop: 0,
overflow: 'hidden',
overflowY: 'scroll',
}}
>
<div className="row"> <div className="row">
<div className="col-md-12"> <div className="col-md-12">
<form className="form-horizontal"> <form className="form-horizontal">
@@ -363,30 +353,6 @@ export default function Options(): JSX.Element {
</button> </button>
</div> </div>
</div> </div>
<div className="toast-container position-fixed bottom-0 end-0 p-3">
<div
className={classNames(
'toast align-items-center justify-content-between alert',
`alert-${state.alertType}`,
)}
role="alert"
aria-live="assertive"
aria-atomic="true"
id="liveToast"
ref={liveToastRef}
data-bs-delay="3000"
>
<div className="fs-5">{state.alertText}</div>
<div data-bs-theme="dark">
<button
type="button"
className="btn-close m-0"
data-bs-dismiss="toast"
aria-label="Close"
></button>
</div>
</div>
</div>
</form> </form>
</div> </div>
</div> </div>