Skip to content
Snippets Groups Projects
Commit 6cfcf15f authored by Per 29 mei 2024 gedeeld account, daarvoor marten's avatar Per 29 mei 2024 gedeeld account, daarvoor marten
Browse files

Add setup page

parent dc447c04
Branches
No related tags found
No related merge requests found
......@@ -3,6 +3,7 @@
"version": "0.1.0",
"private": true,
"dependencies": {
"@gitbeaker/browser": "^19.7.1",
"@testing-library/jest-dom": "^4.2.4",
"@testing-library/react": "^9.3.2",
"@testing-library/user-event": "^7.1.2",
......
......@@ -3,7 +3,7 @@ import { BrowserRouter as Router, Switch, Route, Link } from "react-router-dom";
import { Button } from "antd";
import logo from "./logo.svg";
import "./App.css";
import { getToken, setToken } from "./gitlab";
import * as gitlab from "./gitlab";
function App() {
return (
......@@ -18,7 +18,7 @@ function App() {
<Link to="/Setup">Setup</Link>
</li>
<li>
<Link to="/users">Users</Link>
<Link to="/issues">Issues</Link>
</li>
</ul>
</nav>
......@@ -29,8 +29,8 @@ function App() {
<Route path="/setup">
<Setup />
</Route>
<Route path="/users">
<Users />
<Route path="/issues">
<GitlabIssues />
</Route>
<Route path="/">
<Home />
......@@ -50,19 +50,25 @@ function Home() {
}
const Setup: React.FunctionComponent = () => {
const [token, setToken] = React.useState(() => gitlab.getToken());
const updateToken = (token: string) => {
setToken(token);
gitlab.setToken(token);
};
return (
<div>
<h2>Setup</h2>
<input
value={getToken() || ""}
onChange={(e) => setToken(e.target.value)}
value={token || ""}
onChange={(e) => updateToken(e.target.value)}
/>
</div>
);
};
function Users() {
return <h2>Users</h2>;
function GitlabIssues() {
return <h2>Issues</h2>;
}
export default App;
import { Gitlab } from "@gitbeaker/browser"; // All Resources
const GITLAB_TOKEN_LOCATION = "GITLAB_TOKEN";
export let client = getClient();
function getClient() {
return new Gitlab({ host: "https://gitlab.roqua.nl", token: getToken() });
}
export function getToken() {
return localStorage.getItem(GITLAB_TOKEN_LOCATION);
}
export function setToken(token: string) {
localStorage.setItem(GITLAB_TOKEN_LOCATION, token);
client = getClient();
}
......@@ -1135,6 +1135,34 @@
resolved "https://registry.yarnpkg.com/@csstools/normalize.css/-/normalize.css-10.1.0.tgz#f0950bba18819512d42f7197e56c518aa491cf18"
integrity sha512-ij4wRiunFfaJxjB0BdrYHIH8FxBJpOwNPhhAcunlmPdXudL1WQV1qoP9un6JsEBAgQH+7UXyyjh0g7jTxXK6tg==
"@gitbeaker/browser@^19.7.1":
version "19.7.1"
resolved "https://registry.yarnpkg.com/@gitbeaker/browser/-/browser-19.7.1.tgz#62d0a2de51ac11f26f69b7591e87df0b32091c10"
integrity sha512-uNkM+SSF5u+a3RAO+zxvqstPPNKycpLD7VjzKmMx4kCJhDvUt9xFVTqqVL6IpNWDpq5/gjyVLBVvQhRyouKwBA==
dependencies:
"@gitbeaker/core" "^19.7.1"
"@gitbeaker/requester-utils" "^19.7.1"
ky "^0.20.0"
"@gitbeaker/core@^19.7.1":
version "19.7.1"
resolved "https://registry.yarnpkg.com/@gitbeaker/core/-/core-19.7.1.tgz#e6b0ac7c5d4d10795581e803809bae8f3de0cc02"
integrity sha512-laqA+LW5IjU5RwNfemjF6ha3QuIapUu1WtZstZ+pa0cYPxxD/iVyFtqNOk2vr9Q0vPDD6V2xv9SxAG9hqp6rPA==
dependencies:
"@gitbeaker/requester-utils" "^19.7.1"
form-data "^3.0.0"
li "^1.3.0"
xcase "^2.0.1"
"@gitbeaker/requester-utils@^19.7.1":
version "19.7.1"
resolved "https://registry.yarnpkg.com/@gitbeaker/requester-utils/-/requester-utils-19.7.1.tgz#20f7969c5d6eac5631de75b384b25d51553419cd"
integrity sha512-bntF3UDqEStGB0v5Mo9P4kN57QKrwCBoBK0yi7kkYsaTSS66I9C+shKLp3Se8l7HSIX1bXlnOw+9Ujf5HVJ0lA==
dependencies:
form-data "^3.0.0"
query-string "^6.12.1"
xcase "^2.0.1"
"@hapi/address@2.x.x":
version "2.1.4"
resolved "https://registry.yarnpkg.com/@hapi/address/-/address-2.1.4.tgz#5d67ed43f3fd41a69d4b9ff7b56e7c0d1d0a81e5"
......@@ -3121,7 +3149,7 @@ color@^3.0.0:
color-convert "^1.9.1"
color-string "^1.5.2"
combined-stream@^1.0.6, combined-stream@~1.0.6:
combined-stream@^1.0.6, combined-stream@^1.0.8, combined-stream@~1.0.6:
version "1.0.8"
resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f"
integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==
......@@ -4762,6 +4790,15 @@ fork-ts-checker-webpack-plugin@3.1.1:
tapable "^1.0.0"
worker-rpc "^0.1.0"
form-data@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/form-data/-/form-data-3.0.0.tgz#31b7e39c85f1355b7139ee0c647cf0de7f83c682"
integrity sha512-CKMFDglpbMi6PyN+brwB9Q/GOw0eAnsrEZDgcsH5Krhz5Od/haKHAX0NmQfha2zPPz0JpWzA7GJHGSnvCRLWsg==
dependencies:
asynckit "^0.4.0"
combined-stream "^1.0.8"
mime-types "^2.1.12"
form-data@~2.3.2:
version "2.3.3"
resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6"
......@@ -6520,6 +6557,11 @@ kleur@^3.0.3:
resolved "https://registry.yarnpkg.com/kleur/-/kleur-3.0.3.tgz#a79c9ecc86ee1ce3fa6206d1216c501f147fc07e"
integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==
ky@^0.20.0:
version "0.20.0"
resolved "https://registry.yarnpkg.com/ky/-/ky-0.20.0.tgz#4cebcd208f2d0d0b5970a63523afecfd79bd9e46"
integrity sha512-JAfwtwj+t7WqRus88PfBj25aAjRQUgMhk7aB2ufjQ6v8faoNwMy02mfSQ0iNXWCbJGcSl2JZ5ckaiywRjbq0Uw==
last-call-webpack-plugin@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/last-call-webpack-plugin/-/last-call-webpack-plugin-3.0.0.tgz#9742df0e10e3cf46e5c0381c2de90d3a7a2d7555"
......@@ -6570,6 +6612,11 @@ levn@^0.3.0, levn@~0.3.0:
prelude-ls "~1.1.2"
type-check "~0.3.2"
li@^1.3.0:
version "1.3.0"
resolved "https://registry.yarnpkg.com/li/-/li-1.3.0.tgz#22c59bcaefaa9a8ef359cf759784e4bf106aea1b"
integrity sha1-IsWbyu+qmo7zWc91l4TkvxBq6hs=
lines-and-columns@^1.1.6:
version "1.1.6"
resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.1.6.tgz#1c00c743b433cd0a4e80758f7b64a57440d9ff00"
......@@ -8698,6 +8745,15 @@ query-string@^4.1.0:
object-assign "^4.1.0"
strict-uri-encode "^1.0.0"
query-string@^6.12.1:
version "6.12.1"
resolved "https://registry.yarnpkg.com/query-string/-/query-string-6.12.1.tgz#2ae4d272db4fba267141665374e49a1de09e8a7c"
integrity sha512-OHj+zzfRMyj3rmo/6G8a5Ifvw3AleL/EbcHMD27YA31Q+cO5lfmQxECkImuNVjcskLcvBRVHNAB3w6udMs1eAA==
dependencies:
decode-uri-component "^0.2.0"
split-on-first "^1.0.0"
strict-uri-encode "^2.0.0"
querystring-es3@^0.2.0:
version "0.2.1"
resolved "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73"
......@@ -10105,6 +10161,11 @@ spdy@^4.0.1:
select-hose "^2.0.0"
spdy-transport "^3.0.0"
split-on-first@^1.0.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/split-on-first/-/split-on-first-1.1.0.tgz#f610afeee3b12bce1d0c30425e76398b78249a5f"
integrity sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw==
split-string@^3.0.1, split-string@^3.0.2:
version "3.1.0"
resolved "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2"
......@@ -10212,6 +10273,11 @@ strict-uri-encode@^1.0.0:
resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz#279b225df1d582b1f54e65addd4352e18faa0713"
integrity sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=
strict-uri-encode@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz#b9c7330c7042862f6b142dc274bbcc5866ce3546"
integrity sha1-ucczDHBChi9rFC3CdLvMWGbONUY=
string-convert@^0.2.0:
version "0.2.1"
resolved "https://registry.yarnpkg.com/string-convert/-/string-convert-0.2.1.tgz#6982cc3049fbb4cd85f8b24568b9d9bf39eeff97"
......@@ -11382,6 +11448,11 @@ ws@^6.1.2, ws@^6.2.1:
dependencies:
async-limiter "~1.0.0"
xcase@^2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/xcase/-/xcase-2.0.1.tgz#c7fa72caa0f440db78fd5673432038ac984450b9"
integrity sha1-x/pyyqD0QNt4/VZzQyA4rJhEULk=
xml-name-validator@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-3.0.0.tgz#6ae73e06de4d8c6e47f9fb181f78d648ad457c6a"
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment