Feature/streamline backend requests (#297)

* Introduce "RequestManager"

* Use "RequestManager" - Simple replacements

 - Get rid of all "util/client" imports
 - replace old requests with new "RequestManager"
 - remove "fetcher" from global SWR config
     instead of using the SWR hooks by themselves, the "requestManager" is supposed to be used

* Use "RequestManager" - Do requests via SWR hooks

Use SWR hooks at places where it's easily usable

* Prevent trailing slashes in the "baseUrl"
This commit is contained in:
schroda
2023-05-18 13:25:19 +02:00
committed by GitHub
parent f86c7ea08a
commit a457d80c44
34 changed files with 950 additions and 333 deletions

View File

@@ -16,9 +16,9 @@ import { Box, styled } from '@mui/system';
import React from 'react';
import { useTranslation } from 'react-i18next';
import { Link, useHistory } from 'react-router-dom';
import useLocalStorage from 'util/useLocalStorage';
import { ISource } from 'typings';
import { translateExtensionLanguage } from 'screens/util/Extensions';
import requestManager from 'lib/RequestManager';
const MobileWidthButtons = styled('div')(({ theme }) => ({
display: 'flex',
@@ -51,9 +51,6 @@ const SourceCard: React.FC<IProps> = (props: IProps) => {
const history = useHistory();
const [serverAddress] = useLocalStorage<String>('serverBaseURL', '');
const [useCache] = useLocalStorage<boolean>('useCache', true);
const redirectTo = (e: any, to: string) => {
history.push(to);
@@ -86,7 +83,7 @@ const SourceCard: React.FC<IProps> = (props: IProps) => {
flex: '0 0 auto',
mr: 2,
}}
src={`${serverAddress}${iconUrl}?useCache=${useCache}`}
src={requestManager.getValidImgUrlFor(iconUrl)}
/>
<Box
sx={{