From 3fab933f8c85ae77d730fcc1e3947628c247638e Mon Sep 17 00:00:00 2001 From: lukas Date: Tue, 24 Aug 2021 21:58:29 +0200 Subject: [PATCH] add api react library --- apiGo/api/API.go | 10 +++--- apiGo/go.mod | 2 +- apiGo/go.sum | 4 +-- package.json | 5 +-- src/elements/APIComponent.tsx | 48 ----------------------------- src/pages/HomePage/HomePage.tsx | 6 ++-- src/pages/RandomPage/RandomPage.tsx | 4 +-- yarn.lock | 5 +++ 8 files changed, 21 insertions(+), 63 deletions(-) delete mode 100644 src/elements/APIComponent.tsx diff --git a/apiGo/api/API.go b/apiGo/api/API.go index 8cbc83e..4df098e 100644 --- a/apiGo/api/API.go +++ b/apiGo/api/API.go @@ -21,11 +21,11 @@ func Init() { AddActorsHandlers() AddTvshowHandlers() - gws.AddAPINode("video", VideoNode) - gws.AddAPINode("tags", TagNode) - gws.AddAPINode("settings", SettingsNode) - gws.AddAPINode("actor", ActorNode) - gws.AddAPINode("tvshow", TVShowNode) + gws.AddAPINode("video", VideoNode, true) + gws.AddAPINode("tags", TagNode, true) + gws.AddAPINode("settings", SettingsNode, true) + gws.AddAPINode("actor", ActorNode, true) + gws.AddAPINode("tvshow", TVShowNode, true) // serverinit is blocking gws.ServerInit(func(id string) (oauth.CustomClientInfo, error) { diff --git a/apiGo/go.mod b/apiGo/go.mod index c6d126f..47bebd1 100644 --- a/apiGo/go.mod +++ b/apiGo/go.mod @@ -4,6 +4,6 @@ go 1.16 require ( github.com/go-sql-driver/mysql v1.5.0 - github.com/gowebsecure/goWebSecure-go v0.1.0-beta.0 + github.com/gowebsecure/goWebSecure-go v0.1.0-beta.1 nhooyr.io/websocket v1.8.7 ) diff --git a/apiGo/go.sum b/apiGo/go.sum index e751971..679cad3 100644 --- a/apiGo/go.sum +++ b/apiGo/go.sum @@ -45,8 +45,8 @@ github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1 h1:EGx4pi6eqNxGa github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= github.com/gorilla/websocket v1.4.1 h1:q7AeDBpnBk8AogcD4DSag/Ukw/KV+YhzLj2bP5HvKCM= github.com/gorilla/websocket v1.4.1/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= -github.com/gowebsecure/goWebSecure-go v0.1.0-beta.0 h1:sRtAUayLicrau6qYD6gBpnXpmpz5pkbOJsHk3vy18LU= -github.com/gowebsecure/goWebSecure-go v0.1.0-beta.0/go.mod h1:uEM+/1LS6hSBby7VKx2cHZ9btvQ/LC4K3HWKgqDRPs0= +github.com/gowebsecure/goWebSecure-go v0.1.0-beta.1 h1:lMaNWyk5udtOAc8U+mUo2FTgNqRwT+Aj5mxDfP5qtx0= +github.com/gowebsecure/goWebSecure-go v0.1.0-beta.1/go.mod h1:uEM+/1LS6hSBby7VKx2cHZ9btvQ/LC4K3HWKgqDRPs0= github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= github.com/imkira/go-interpol v1.1.0 h1:KIiKr0VSG2CUW1hl1jpiyuzuJeKUUpC8iM1AIE7N1Vk= github.com/imkira/go-interpol v1.1.0/go.mod h1:z0h2/2T3XF8kyEPpRgJ3kmNv+C43p+I/CoI+jC3w2iA= diff --git a/package.json b/package.json index b948d3c..a921a7e 100644 --- a/package.json +++ b/package.json @@ -20,7 +20,8 @@ "react-router": "^5.2.0", "react-router-dom": "^5.2.0", "typescript": "^4.3.5", - "gowebsecure": "0.1.1-beta.2" + "gowebsecure": "0.1.1-beta.2", + "gowebsecure-react": "0.1.0-beta.3" }, "scripts": { "start": "react-scripts start", @@ -39,7 +40,7 @@ "text-summary" ] }, - "proxy": "http://127.0.0.1:8081", + "proxy": "http://127.0.0.1:8080", "homepage": "/", "browserslist": { "production": [ diff --git a/src/elements/APIComponent.tsx b/src/elements/APIComponent.tsx deleted file mode 100644 index 20a8b3a..0000000 --- a/src/elements/APIComponent.tsx +++ /dev/null @@ -1,48 +0,0 @@ -import React from 'react'; -import {callAPI} from 'gowebsecure'; - -interface Props { - onLoad?: JSX.Element; - render: (data: T, actions: {refresh: () => void}) => JSX.Element; - node: string; - action: string; - params?: {[_: string]: string | number | boolean | object}; -} - -interface State { - loaded: boolean; -} - -export default class APIComponent extends React.Component, State> { - state = { - loaded: false - }; - - data: T | undefined; - - render(): JSX.Element { - if (this.state.loaded && this.data !== undefined) { - return this.props.render(this.data, {refresh: () => this.loadData()}); - } else { - return this.props.onLoad ? this.props.onLoad : <>; - } - } - - componentDidMount(): void { - this.loadData(); - } - - componentDidUpdate(prevProps: Readonly>): void { - if (prevProps.params !== this.props.params) { - this.loadData(); - } - } - - private loadData(): void { - this.setState({loaded: false}); - callAPI(this.props.node, {action: this.props.action, ...this.props.params}, (result: T) => { - this.data = result; - this.setState({loaded: true}); - }); - } -} diff --git a/src/pages/HomePage/HomePage.tsx b/src/pages/HomePage/HomePage.tsx index 07084f0..8218bf2 100644 --- a/src/pages/HomePage/HomePage.tsx +++ b/src/pages/HomePage/HomePage.tsx @@ -12,8 +12,8 @@ import {APINode, VideoTypes} from '../../types/ApiTypes'; import {DefaultTags} from '../../types/GeneralTypes'; import {FontAwesomeIcon} from '@fortawesome/react-fontawesome'; import {faSortDown} from '@fortawesome/free-solid-svg-icons'; -import APIComponent from '../../elements/APIComponent'; import {TagType} from '../../types/VideoTypes'; +import {APILoader} from 'gowebsecure-react'; // eslint-disable-next-line no-shadow export enum SortBy { @@ -54,7 +54,7 @@ export class HomePage extends React.Component { - ( <> @@ -79,7 +79,7 @@ export class HomePage extends React.Component { - ( <> Infos: diff --git a/src/pages/RandomPage/RandomPage.tsx b/src/pages/RandomPage/RandomPage.tsx index 3a05c1e..696eae3 100644 --- a/src/pages/RandomPage/RandomPage.tsx +++ b/src/pages/RandomPage/RandomPage.tsx @@ -6,8 +6,8 @@ import PageTitle from '../../elements/PageTitle/PageTitle'; import VideoContainer from '../../elements/VideoContainer/VideoContainer'; import {TagType} from '../../types/VideoTypes'; import {APINode, VideoTypes} from '../../types/ApiTypes'; -import APIComponent from '../../elements/APIComponent'; import KeyComponent from '../../elements/KeyComponent'; +import {APILoader} from 'gowebsecure-react'; interface GetRandomMoviesType { Videos: VideoTypes.VideoUnloadedType[]; @@ -24,7 +24,7 @@ class RandomPage extends React.Component { return (
- ( diff --git a/yarn.lock b/yarn.lock index 71e45bf..dd2bddd 100644 --- a/yarn.lock +++ b/yarn.lock @@ -6049,6 +6049,11 @@ got@^9.6.0: to-readable-stream "^1.0.0" url-parse-lax "^3.0.0" +gowebsecure-react@0.1.0-beta.3: + version "0.1.0-beta.3" + resolved "https://registry.yarnpkg.com/gowebsecure-react/-/gowebsecure-react-0.1.0-beta.3.tgz#f614761c6d31550718d5455b219065f7dafd7664" + integrity sha512-8Vefh/VGuJIjcD0LbMcbmAv33DhyVALxgz2j8N5Q2Hjpvm6R20CIt2xRtJeHFDqbXcmfn2Z6rda0yQJ/6OFi6g== + gowebsecure@0.1.1-beta.2: version "0.1.1-beta.2" resolved "https://registry.yarnpkg.com/gowebsecure/-/gowebsecure-0.1.1-beta.2.tgz#3b9aaa1f83af9a7c2423da8e0ee605dc018d463b"