Merge pull request #9543 from RoadieHQ/gcp-projects-use-react-hookz

Gcp projects use react hookz
This commit is contained in:
Patrik Oldsberg
2022-02-16 17:23:29 +01:00
committed by GitHub
5 changed files with 31 additions and 17 deletions
+1 -1
View File
@@ -38,7 +38,7 @@
"@material-ui/icons": "^4.9.1",
"@material-ui/lab": "4.0.0-alpha.57",
"react-router-dom": "6.0.0-beta.0",
"react-use": "^17.2.4"
"@react-hookz/web": "^12.3.0"
},
"peerDependencies": {
"react": "^16.13.1 || ^17.0.0"
@@ -27,7 +27,7 @@ import {
Typography,
} from '@material-ui/core';
import React from 'react';
import useAsync from 'react-use/lib/useAsync';
import { useAsync, useMountEffect } from '@react-hookz/web';
import { gcpApiRef } from '../../api';
import {
@@ -60,19 +60,13 @@ const DetailsPage = () => {
const api = useApi(gcpApiRef);
const classes = useStyles();
const {
loading,
error,
value: details,
} = useAsync(
async () =>
api.getProject(
decodeURIComponent(location.search.split('projectId=')[1]),
),
[location.search],
const [{ status, result: details, error }, { execute }] = useAsync(async () =>
api.getProject(decodeURIComponent(location.search.split('projectId=')[1])),
);
if (loading) {
useMountEffect(execute);
if (status === 'loading') {
return <LinearProgress />;
} else if (error) {
return (
@@ -18,7 +18,7 @@
import { Button, LinearProgress, Tooltip, Typography } from '@material-ui/core';
import React from 'react';
import useAsync from 'react-use/lib/useAsync';
import { useAsync, useMountEffect } from '@react-hookz/web';
import { gcpApiRef, Project } from '../../api';
import {
@@ -58,9 +58,12 @@ const labels = (
const PageContents = () => {
const api = useApi(gcpApiRef);
const { loading, error, value } = useAsync(() => api.listProjects());
const [{ status, result, error }, { execute }] = useAsync(() =>
api.listProjects(),
);
useMountEffect(execute);
if (loading) {
if (status === 'loading') {
return <LinearProgress />;
} else if (error) {
return (
@@ -108,7 +111,7 @@ const PageContents = () => {
},
]}
data={
value?.map((project: Project) => ({
result?.map((project: Project) => ({
id: project.projectId,
name: project.name,
projectNumber: project?.projectNumber || 'Error',