Skip to content
Snippets Groups Projects
Commit c2e5092f authored by Andreas Rystad's avatar Andreas Rystad
Browse files

merge with master

parents 334278d5 dda9eb18
No related branches found
No related tags found
No related merge requests found
import {Redirect, Route, Switch} from 'react-router'; import {Redirect, Route, Switch} from 'react-router';
import LandingPage from "./pages/landingPage/landingPage"; import LandingPage from "./pages/landingPage/landingPage";
import OverviewPage from "./pages/overviewPage/Overview"; import OverviewPage from "./pages/overviewPage/overview";
import { GlobalCommitContext } from './context/commitPageContext'; import { GlobalCommitContext } from './context/commitPageContext';
import { useState } from 'react'; import { useState } from 'react';
import IssuePage from './pages/issuePage'; import IssuePage from './pages/issueListPage/issuePage';
import { CommitPage } from './pages/commitGraphPage/CommitPage'; import { CommitPage } from './pages/commitGraphPage/CommitPage';
import { IssueGraphPage } from './pages/issueGraphPage/issueGraphPage'; import { IssueGraphPage } from './pages/issueGraphPage/issueGraphPage';
import CommitPageWrapper from "./pages/commitListPage/commitPageWrapper" import CommitPageWrapper from "./pages/commitListPage/commitPageWrapper"
import GobackButton from './components/goBack/goBackButton';
function App() { function App() {
const [testContext, setTestContext] = useState<string>('Admin'); const [testContext, setTestContext] = useState<string>('Admin');
......
.button {
padding: 10px;
border-radius: 16px;
background-color: #F5CA7B;
font-size: 16px;
position: absolute;
left: 30px;
top: 30px;
cursor: pointer;
}
.button:hover{
background-color: #f3d295;
}
\ No newline at end of file
import React from 'react';
import { useHistory } from 'react-router';
import style from "./goBackButton.module.css"
const GobackButton = () => {
const history = useHistory();
return(
<button className={style.button} onClick={()=> history.goBack()}>Go back</button>
);
};
export default GobackButton;
\ No newline at end of file
...@@ -6,6 +6,7 @@ import styles from './CommitPage.module.scss'; ...@@ -6,6 +6,7 @@ import styles from './CommitPage.module.scss';
import { queryTypes, Commit } from '../../utils/queryType' import { queryTypes, Commit } from '../../utils/queryType'
import "react-loader-spinner/dist/loader/css/react-spinner-loader.css"; import "react-loader-spinner/dist/loader/css/react-spinner-loader.css";
import Loader from "react-loader-spinner"; import Loader from "react-loader-spinner";
import GobackButton from '../../components/goBack/goBackButton';
export const CommitPage = () => { export const CommitPage = () => {
const commitData = useGitlabApi(queryTypes.AllCommits); const commitData = useGitlabApi(queryTypes.AllCommits);
...@@ -24,6 +25,7 @@ export const CommitPage = () => { ...@@ -24,6 +25,7 @@ export const CommitPage = () => {
return ( return (
<div className={styles.pageContainer}> <div className={styles.pageContainer}>
<GobackButton/>
<h1>Charts for issues</h1> <h1>Charts for issues</h1>
<BarChart data={commitData.data as Commit[]} title="Commits per day"/> <BarChart data={commitData.data as Commit[]} title="Commits per day"/>
<PieChart data={commitData.data as Commit[]} title={"Commits per member"}/> <PieChart data={commitData.data as Commit[]} title={"Commits per member"}/>
......
...@@ -41,6 +41,8 @@ interface commitProps { ...@@ -41,6 +41,8 @@ interface commitProps {
const CommitComponent = (props: commitProps) => { const CommitComponent = (props: commitProps) => {
let commit: Commit[] = props.commits let commit: Commit[] = props.commits
const map={
}
const commitList = commit?.map(c => <li><SingleCommit const commitList = commit?.map(c => <li><SingleCommit
author_name={c.author_name} author_name={c.author_name}
......
...@@ -4,6 +4,7 @@ import {useGitlabApi} from "../../utils/gitlab_api_service"; ...@@ -4,6 +4,7 @@ import {useGitlabApi} from "../../utils/gitlab_api_service";
import {queryTypes, Commit} from "../../utils/queryType"; import {queryTypes, Commit} from "../../utils/queryType";
import style from "./commitListPage.module.css" import style from "./commitListPage.module.css"
import Loader from "react-loader-spinner"; import Loader from "react-loader-spinner";
import GobackButton from '../../components/goBack/goBackButton';
const CommitPageWrapper = () => { const CommitPageWrapper = () => {
...@@ -32,6 +33,7 @@ const CommitPageWrapper = () => { ...@@ -32,6 +33,7 @@ const CommitPageWrapper = () => {
//circles, grid, Oval - standard, //circles, grid, Oval - standard,
return ( return (
<div> <div>
<GobackButton/>
<h1>Commits</h1> <h1>Commits</h1>
<div className={style.ArrowDiv}> <div className={style.ArrowDiv}>
<button className={style.Button} disabled={disablePrev} onClick={decrease}> <button className={style.Button} disabled={disablePrev} onClick={decrease}>
......
import { useEffect } from 'react'; import { useEffect } from 'react';
import Loader from 'react-loader-spinner'; import Loader from 'react-loader-spinner';
import GobackButton from '../../components/goBack/goBackButton';
import { BarChart } from '../../components/graphs/barChart/barChart'; import { BarChart } from '../../components/graphs/barChart/barChart';
import { PieChart } from '../../components/graphs/pieChart/pieChart'; import { PieChart } from '../../components/graphs/pieChart/pieChart';
import { useGitlabApi } from '../../utils/gitlab_api_service'; import { useGitlabApi } from '../../utils/gitlab_api_service';
...@@ -25,6 +26,7 @@ export const IssueGraphPage = () => { ...@@ -25,6 +26,7 @@ export const IssueGraphPage = () => {
return ( return (
<div className={styles.pageContainer}> <div className={styles.pageContainer}>
<GobackButton/>
<h1>Charts for issues</h1> <h1>Charts for issues</h1>
<BarChart data={commitData.data as Issue[]} title="Issues authored per day"/> <BarChart data={commitData.data as Issue[]} title="Issues authored per day"/>
<PieChart data={commitData.data as Issue[]} title={"Issues authored per member"}/> <PieChart data={commitData.data as Issue[]} title={"Issues authored per member"}/>
......
import React from 'react'; import React from 'react';
import IssuesListComponent from "../components/issuesListComponent/issuesListComponent"; import IssuesListComponent from "../../components/issuesListComponent/issuesListComponent";
import styles from "./issuePage.module.css"; import styles from "./issuePage.module.css";
import {useGitlabApi} from "../utils/gitlab_api_service"; import {useGitlabApi} from "../../utils/gitlab_api_service";
import {queryTypes, Issue} from "../utils/queryType"; import {queryTypes, Issue} from "../../utils/queryType";
import ClipLoader from "react-spinners/ClipLoader"; import ClipLoader from "react-spinners/ClipLoader";
import GobackButton from '../../components/goBack/goBackButton';
const IssuePage = () => { const IssuePage = () => {
const {isLoading, error, data} = useGitlabApi(queryTypes.AllIssues) const {isLoading, error, data} = useGitlabApi(queryTypes.AllIssues)
return ( return (
<div className={styles.container}> <div className={styles.container}>
<GobackButton/>
<h1 className={styles.headline}> Issues </h1> <h1 className={styles.headline}> Issues </h1>
{isLoading ? <ClipLoader loading={isLoading}/> : <IssuesListComponent issues={data! as Issue[]} />} {isLoading ? <ClipLoader loading={isLoading}/> : <IssuesListComponent issues={data! as Issue[]} />}
</div> </div>
......
...@@ -33,18 +33,29 @@ form { ...@@ -33,18 +33,29 @@ form {
} }
button{ button{
width: 130px; width: 140px;
height: 35px;
} }
.defaultButton { .submitButton,.defaultButton {
margin: auto;
padding: 5px; padding: 5px;
margin: auto;
cursor: pointer; cursor: pointer;
color: #DD904C;
border: solid #DD904C 2px;
background-color: #1C1644;
} }
.submitButton { .submitButton:hover,.defaultButton:hover{
background-color: lightgreen; color: white;
padding: 5px; background-color: #DD904C;
margin: auto; }
cursor: pointer;
.submitButton:disabled {
background-color: lightgrey;
border: solid grey 2px;
color: black;
cursor: not-allowed;
} }
...@@ -6,7 +6,6 @@ import { ToastContainer, toast } from 'react-toastify'; ...@@ -6,7 +6,6 @@ import { ToastContainer, toast } from 'react-toastify';
import 'react-toastify/dist/ReactToastify.css'; import 'react-toastify/dist/ReactToastify.css';
import { ConnectionTest, queryTypes } from "../../utils/queryType"; import { ConnectionTest, queryTypes } from "../../utils/queryType";
import { useGitlabApi } from "../../utils/gitlab_api_service"; import { useGitlabApi } from "../../utils/gitlab_api_service";
//import visualization from "../../assets/gitlab.jpeg";
import visualization from "../../assets/data_visualization.jpeg"; import visualization from "../../assets/data_visualization.jpeg";
...@@ -77,7 +76,7 @@ const LandingPage = () => { ...@@ -77,7 +76,7 @@ const LandingPage = () => {
<input className={style.inputField} value = {key} type="Text" onChange={e => setKey(e.target.value)} id="KeyInput" <input className={style.inputField} value = {key} type="Text" onChange={e => setKey(e.target.value)} id="KeyInput"
placeholder="Key" required/> placeholder="Key" required/>
<div className={style.buttonDiv}> <div className={style.buttonDiv}>
<button className={style.defaultButton} onClick={()=> setDefaultValues()}>Set default values</button> <button className={style.defaultButton} onClick={()=> setDefaultValues()}>Use default values</button>
<button className={style.submitButton} type="submit" disabled={disableButton}>Use current values</button> <button className={style.submitButton} type="submit" disabled={disableButton}>Use current values</button>
</div> </div>
</form> </form>
......
...@@ -4,6 +4,7 @@ import { useGitlabApi } from '../../utils/gitlab_api_service'; ...@@ -4,6 +4,7 @@ import { useGitlabApi } from '../../utils/gitlab_api_service';
import { Languages, queryTypes } from '../../utils/queryType'; import { Languages, queryTypes } from '../../utils/queryType';
import StatsBox from '../../components/stats/statsBox'; import StatsBox from '../../components/stats/statsBox';
import { ClipLoader } from 'react-spinners'; import { ClipLoader } from 'react-spinners';
import GobackButton from '../../components/goBack/goBackButton';
const OverviewPage = () => { const OverviewPage = () => {
const slug = window.location.pathname; const slug = window.location.pathname;
...@@ -13,11 +14,12 @@ const OverviewPage = () => { ...@@ -13,11 +14,12 @@ const OverviewPage = () => {
return ( return (
<div className={style.wrapper}> <div className={style.wrapper}>
<GobackButton/>
{slug==="/overview" ?<h1>Stats:</h1>: null} {slug==="/overview" ?<h1>Stats:</h1>: null}
{isLoading ? <ClipLoader loading={isLoading}/> : {isLoading ? <ClipLoader loading={isLoading}/> :
slug==="/overview" ?<StatsBox content={data as Languages ? Object.entries(data as Languages).map(element => `${element[0]}: ${element[1]} %`): ["Loading ..."] } /> slug==="/overview" ?<StatsBox content={data as Languages ? Object.entries(data as Languages).map(element => `${element[0]}: ${element[1]} %`): ["Loading ..."] } />
:null} :null}
<h2 style={{marginTop: "30px"}}>{slug=== "/overview" ?"More info:": "Choose display form"}</h2> <h2 style={{marginTop: "30px"}}>{slug=== "/overview" ?"More info:": "Choose display form:"}</h2>
<div className={style.buttonWrapper}> <div className={style.buttonWrapper}>
<button className={style.button} onClick= {() => history.push(slug=== "/overview" ? "/issue" : `${slug}graph`)}> <button className={style.button} onClick= {() => history.push(slug=== "/overview" ? "/issue" : `${slug}graph`)}>
{slug=== "/overview" ? "Issues" : "Graph"} {slug=== "/overview" ? "Issues" : "Graph"}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment