Skip to content

Commit b1c9957

Browse files
authored
Merge pull request #733 from friendsofagape/Resource-Fix1
Updating resource loading code with lint fix
2 parents 23b695c + 5879076 commit b1c9957

24 files changed

+17761
-16796
lines changed

package-lock.json

Lines changed: 61 additions & 89 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

renderer/src/components/EditorPage/Scribex/Buttons.jsx

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -47,22 +47,22 @@ export default function Buttons(props) {
4747
return (
4848
<>
4949
<RectangleStackIcon
50-
aria-label='Collection-Icon'
50+
aria-label="Collection-Icon"
5151
className={classNames(
5252
sectionable ? 'fill-current' : '',
5353
'h-5 mr-2 w-5 text-white cursor-pointer',
5454
)}
55-
aria-hidden='true'
55+
aria-hidden="true"
5656
onClick={onSectionable}
5757
/>
5858

5959
<PencilIcon
60-
aria-label='Collection-Icon'
60+
aria-label="Collection-Icon"
6161
className={classNames(
6262
editable ? 'fill-current' : '',
6363
'h-5 mr-2 w-5 text-white cursor-pointer',
6464
)}
65-
aria-hidden='true'
65+
aria-hidden="true"
6666
onClick={onEditable}
6767
/>
6868

renderer/src/components/Resources/ImportResource.js

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import React, {
2-
useRef, Fragment, useContext, useState,
2+
Fragment, useContext, useState,
33
} from 'react';
44
import PropTypes from 'prop-types';
55

@@ -13,9 +13,8 @@ import * as logger from '../../logger';
1313
import { viewBurrito } from '../../core/burrito/importBurrito';
1414

1515
export default function ImportResource({
16-
open, closePopUp, setOpenResourcePopUp, setLoading,
16+
closePopUp, setOpenResourcePopUp, setLoading,
1717
}) {
18-
const cancelButtonRef = useRef(null);
1918
const [valid, setValid] = useState(false);
2019
const [snackBar, setOpenSnackBar] = useState(false);
2120
const [snackText, setSnackText] = useState('');
@@ -66,7 +65,7 @@ export default function ImportResource({
6665
logger.debug('ImportResource.js', 'error in uploading resource to specified location');
6766
setNotify(err);
6867
});
69-
setFolderPath('')
68+
setFolderPath('');
7069
};
7170
const uploadRefBible = async () => {
7271
const fs = window.require('fs');
@@ -127,7 +126,7 @@ export default function ImportResource({
127126
name="location"
128127
id=""
129128
value={folderPath}
130-
onChange={(e) => c(e.target.value)}
129+
onChange={(e) => setFolderPath(e.target.value)}
131130
className="bg-white w-52 lg:w-80 block rounded shadow-sm sm:text-sm focus:border-primary border-gray-300"
132131
/>
133132
<button
@@ -172,7 +171,6 @@ export default function ImportResource({
172171
}
173172

174173
ImportResource.propTypes = {
175-
open: PropTypes.bool,
176174
closePopUp: PropTypes.func,
177175
setOpenResourcePopUp: PropTypes.func,
178176
setLoading: PropTypes.func,

renderer/src/components/Resources/ListResources.js

Lines changed: 13 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
/* eslint-disable react-hooks/exhaustive-deps */
2+
/* eslint-disable jsx-a11y/control-has-associated-label */
13
import {
24
useEffect, useState, useContext,
35
} from 'react';
@@ -6,7 +8,6 @@ import CheckHelpsUpdatePopUp from '@/components/Resources/ResourceUtils/CheckHel
68
import RemoveResource from '@/components/Resources/ResourceUtils/RemoveResource';
79
import { ArrowDownTrayIcon } from '@heroicons/react/24/solid';
810
import { ProjectContext } from '@/components/context/ProjectContext';
9-
import { readResourceMetadata } from '@/components/Resources/ResourceUtils/readResourceMetadata';
1011
import * as logger from '../../logger';
1112
import LoadingScreen from '../Loading/LoadingScreen';
1213

@@ -52,18 +53,16 @@ export const ListResources = ({
5253
createData('Spanish', 'es-419', 'es-419_gl'),
5354
];
5455

55-
5656
const { t } = useTranslation();
57-
const [offlineResources, setOfflineResources] = useState([]);
58-
const [onlineResources, setOnlineResources] = useState();
57+
// eslint-disable-next-line no-unused-vars
5958
const [translationWordList, settranslationWordList] = useState(translationWordLists);
6059
const [translationNote, setTranslationNote] = useState([]);
6160
const [translationQuestion, setTranslationQuestion] = useState([]);
6261
const [translationWord, settranslationWord] = useState([]);
6362
const [translationAcademy, setTranslationAcademy] = useState([]);
6463
const [obsTranslationNote, setObsTranslationNote] = useState([]);
6564
const [obsTranslationQuestion, setObsTranslationQuestion] = useState([]);
66-
65+
const [renderApp, setRenderApp] = useState(false);
6766
const handleDownloadHelpsResources = async (event, reference, offlineResource) => {
6867
if (!downloading) {
6968
try {
@@ -73,6 +72,7 @@ export const ListResources = ({
7372
setCurrentDownloading(null);
7473
setOpenSnackBar(true);
7574
setError('success');
75+
setRenderApp(true);
7676
setSnackText('Resource Download Finished');
7777
} catch (err) {
7878
logger.debug('ResourcesPopUp.js', 'Error Downlaod ', err);
@@ -89,7 +89,7 @@ export const ListResources = ({
8989

9090
useEffect(() => {
9191
(async () => {
92-
setLoading(true)
92+
setLoading(true);
9393
logger.debug('ResourcesPopUp.js', `get available selected resources ${selectResource}`);
9494
switch (selectResource) {
9595
case 'tn':
@@ -113,7 +113,7 @@ export const ListResources = ({
113113
default:
114114
break;
115115
}
116-
setLoading(false)
116+
setLoading(false);
117117
})();
118118
// eslint-disable-next-line react-hooks/exhaustive-deps
119119
}, [selectResource, selectedPreProd]);
@@ -139,8 +139,10 @@ export const ListResources = ({
139139

140140
useEffect(() => { // LOADS locally available
141141
readLocalResources(username, setSubMenuItems);
142-
}, []);
143-
console.log(">>>>>>>>>>>>>>>>>>>>>",filteredResources?.onlineResource)
142+
if (renderApp === true) {
143+
setRenderApp(false);
144+
}
145+
}, [renderApp]);
144146

145147
return (
146148
<div className="h-full">
@@ -231,6 +233,7 @@ export const ListResources = ({
231233
<RemoveResource
232234
resource={resource}
233235
selectResource={selectResource}
236+
setRenderApp={setRenderApp}
234237
/>
235238
</div>
236239
</div>
@@ -323,4 +326,4 @@ export const ListResources = ({
323326
)}
324327
</div>
325328
);
326-
};
329+
};

renderer/src/components/Resources/ObsBibleAudioTab.js

Lines changed: 18 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,25 @@
1-
import React, { useContext, useEffect,useReducer } from 'react';
1+
/* eslint-disable react-hooks/exhaustive-deps */
2+
/* eslint-disable no-nested-ternary */
3+
/* eslint-disable jsx-a11y/control-has-associated-label */
4+
import React, { useContext, useEffect, useState } from 'react';
25
import { useTranslation } from 'react-i18next';
36
import RemoveResource from '@/components/Resources/ResourceUtils/RemoveResource';
47
import CheckHelpsUpdatePopUp from '@/components/Resources/ResourceUtils/CheckHelpsUpdatePopUp';
58
import { ProjectContext } from '@/components/context/ProjectContext';
69
import readLocalResources from './useReadLocalResources';
10+
import LoadingScreen from '../Loading/LoadingScreen';
711

812
export default function ObsBibleAudioTab({
913
selectResource,
1014
filteredBibleObsAudio,
11-
removeSection,
1215
handleRowSelect,
1316
setfilteredBibleObsAudio,
1417
loading,
1518
setSubMenuItems,
1619
subMenuItems,
1720
}) {
1821
const { t } = useTranslation();
22+
const [renderApp, setRenderApp] = useState(false);
1923
const {
2024
states: {
2125
username,
@@ -26,11 +30,14 @@ export default function ObsBibleAudioTab({
2630
{ resourceType: 'obs', flavorName: 'textStories' },
2731
{ resourceType: 'audio', flavorName: 'audioTranslation' },
2832
];
29-
const currentResourceType = resourceMap.find((resourceItem) => resourceItem.resourceType == selectResource);
33+
const currentResourceType = resourceMap.find((resourceItem) => resourceItem.resourceType === selectResource);
3034

3135
useEffect(() => { // LOADS locally available
3236
readLocalResources(username, setSubMenuItems);
33-
}, []);
37+
if (renderApp === true) {
38+
setRenderApp(false);
39+
}
40+
}, [renderApp]);
3441

3542
useEffect(() => {
3643
const resourceName = (selectResource === 'bible')
@@ -151,10 +158,14 @@ export default function ObsBibleAudioTab({
151158
&& (
152159
<CheckHelpsUpdatePopUp resource={ref} selectResource={selectResource} />
153160
)}
154-
{selectResource !== 'audio' &&
155-
<RemoveResource resource={ref}
161+
{selectResource !== 'audio'
162+
&& (
163+
<RemoveResource
164+
resource={ref}
156165
selectResource={selectResource}
157-
/>}
166+
setRenderApp={setRenderApp}
167+
/>
168+
)}
158169
</div>
159170
</div>
160171
</td>

renderer/src/components/Resources/ResourceTabPane.js

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@ export default function ResourceTabPane({
2424
}) {
2525
const [isOpenDonwloadPopUp, setIsOpenDonwloadPopUp] = useState(false);
2626
const [resourceIconClick, setResourceIconClick] = useState(false);
27-
console.log({ selectResource });
2827
const openResourceDialogBox = () => {
2928
if (selectResource === 'bible' || selectResource === 'obs') {
3029
logger.debug('DownloadResourcePopUp.js', 'Calling bible resource pop up');
@@ -46,7 +45,7 @@ export default function ResourceTabPane({
4645
>
4746
{selectResource}
4847
</Tab>
49-
{selectResource != 'audio'
48+
{selectResource !== 'audio'
5049
&& (
5150
<Tab as={Fragment}>
5251
{({ selected }) => (

renderer/src/components/Resources/ResourceUtils/CustomMultiComboBox.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ function CustomMultiComboBox({
77
}) {
88
let filteredData = [];
99
const [query, setQuery] = useState('');
10+
// eslint-disable-next-line no-unused-vars
1011
const [isActive, setIsActive] = useState(false);
1112
if (customData.length === 1) {
1213
setSelectedList(customData);
@@ -23,7 +24,7 @@ function CustomMultiComboBox({
2324
customData.length > 1 ? (
2425
<Combobox value={selectedList} onChange={setSelectedList} multiple>
2526
{({ open }) => (
26-
<div className="relative">
27+
<div className="relative">
2728
<div className="relative w-full border border-gray-200 cursor-default overflow-hidden rounded-lg bg-white text-left shadow-sm focus:outline-none focus-visible:ring-2 focus-visible:ring-primary focus-visible:ring-opacity-75 focus-visible:ring-offset-2 focus-visible:ring-offset-teal-300 sm:text-sm">
2829

2930
<Combobox.Input

renderer/src/components/Resources/ResourceUtils/DownloadResourcePopUp.js

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
/* eslint-disable react/no-array-index-key */
2+
/* eslint-disable jsx-a11y/control-has-associated-label */
3+
/* eslint-disable no-unused-vars */
14
/* eslint-disable react/jsx-key */
25
/* eslint-disable no-nested-ternary */
36
import React, { useEffect, useState } from 'react';
@@ -11,10 +14,10 @@ import { makeStyles } from '@material-ui/core/styles';
1114
import LoadingScreen from '@/components/Loading/LoadingScreen';
1215
import { XMarkIcon, ArrowDownTrayIcon } from '@heroicons/react/24/solid';
1316
import { AutographaContext } from '@/components/context/AutographaContext';
17+
import { TrashIcon } from '@heroicons/react/24/outline';
1418
import CustomMultiComboBox from './CustomMultiComboBox';
1519
import langJson from '../../../lib/lang/langNames.json';
1620
import { handleDownloadResources } from './createDownloadedResourceSB';
17-
import { TrashIcon } from '@heroicons/react/24/outline';
1821
import * as logger from '../../../logger';
1922

2023
const subjectTypeArray = {

renderer/src/components/Resources/ResourceUtils/RemoveResource.js

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@ const ResourceResetAfterCheckSameOnRefResourceAgSettings = async (setResetResour
9090
};
9191

9292
function RemoveResource({
93-
resource, selectResource,
93+
resource, selectResource, setRenderApp,
9494
}) {
9595
logger.warn('removeResource.js', 'inside remove resource');
9696
const { t } = useTranslation();
@@ -148,6 +148,7 @@ function RemoveResource({
148148
// read ag-settings of the project
149149
await ResourceResetAfterCheckSameOnRefResourceAgSettings(setResetResourceOnDeleteOffline, resource);
150150
// handleRowSelect(null, null, null, null, '');
151+
setRenderApp(true);
151152
setOpenSnackBar(true);
152153
setNotify('success');
153154
setSnackText('Removed Resource Successfully');
@@ -193,7 +194,7 @@ function RemoveResource({
193194
RemoveResource.propTypes = {
194195
resource: PropTypes.object,
195196
selectResource: PropTypes.string,
196-
closeResourceWindow: PropTypes.func,
197+
setRenderApp: PropTypes.func,
197198
};
198199

199200
export default RemoveResource;

renderer/src/components/Resources/ResourceUtils/readResourceMetadata.js

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,14 @@
11
import { readRefMeta } from '@/core/reference/readRefMeta';
22
import { readRefBurrito } from '@/core/reference/readRefBurrito';
33
import * as localforage from 'localforage';
4+
45
const path = require('path');
56

67
export async function readResourceMetadata(projectsDir, resourcePath, setSubMenuItems, parseData) {
78
const refs = await readRefMeta({ projectsDir });
89
refs.forEach(async (ref) => {
9-
const metaPath = path.join(`${resourcePath}` , ref, 'metadata.json')
10-
const data = await readRefBurrito({ metaPath })
10+
const metaPath = path.join(`${resourcePath}`, ref, 'metadata.json');
11+
const data = await readRefBurrito({ metaPath });
1112
if (data) {
1213
const burrito = {};
1314
burrito.projectDir = ref;

0 commit comments

Comments
 (0)