Code cleaning

This commit is contained in:
Ruidy Nemausat 2020-02-20 14:51:03 +01:00
parent 0990e59d64
commit 14e47378dd
16 changed files with 73 additions and 99 deletions

View file

@ -1,42 +0,0 @@
.panel {
padding-left: 0px;
padding-top: 10px;
}
.field {
padding-left: 10px;
padding-right: 10px;
}
.city {
display: flex;
background: linear-gradient(
90deg,
rgba(2, 0, 36, 1) 0%,
rgba(25, 112, 245, 0.6399510487788865) 0%,
rgba(0, 212, 255, 1) 100%
);
flex-direction: column;
height: 40vh;
justify-content: center;
align-items: center;
padding: 0px 20px 20px 20px;
margin: 0px 0px 50px 0px;
border: 1px solid;
border-radius: 5px;
box-shadow: 2px 2px #888888;
font-family: "Merriweather", serif;
}
.city h1 {
line-height: 1.2;
}
.city span {
padding-left: 20px;
}
.city .row {
padding-top: 20px;
}
.weatherError {
color: #f16051;
font-size: 20px;
letter-spacing: 1px;
font-weight: 200;
}

View file

@ -1,6 +1,4 @@
import React, { FC } from "react"; import React, { FC } from "react";
import { AppRouter } from "./utils/router";
import "./App.css";
import Layout from "./pages/Layout"; import Layout from "./pages/Layout";
const App: FC = () => { const App: FC = () => {

View file

@ -9,8 +9,10 @@ export const ActivityCollection: FC<IProps> = ({ activities }) => {
return ( return (
<> <>
<ul className="collection"> <ul className="collection">
{activities.map((f: Activity) => ( {activities.map((activity: Activity) => (
<ActivityEntry activity={f} /> <li key={activity.id} className="collection-item avatar">
<ActivityEntry activity={activity} />
</li>
))} ))}
</ul> </ul>
</> </>
@ -23,13 +25,13 @@ type IFProps = {
export const ActivityEntry: FC<IFProps> = ({ activity }) => { export const ActivityEntry: FC<IFProps> = ({ activity }) => {
return ( return (
<li key={activity.id} className="collection-item avatar"> <>
<img src={activity.user.picture} alt="" className="circle" /> <img src={activity.user.picture} alt="" className="circle" />
{/* <i className="material-icons circle">folder</i> */} {/* <i className="material-icons circle">folder</i> */}
<span className="title"> <span className="title">
{activity.user.firstName} {activity.description} {activity.ticket.title} {activity.user.firstName} {activity.description} {activity.ticket.title}
</span> </span>
<p>{activity.date.toDateString()}</p> <p>{activity.date.toDateString()}</p>
</li> </>
); );
}; };

View file

@ -1,15 +1,22 @@
import React, { FC } from "react"; import React, { FC } from "react";
import { FloatingButton } from "./FloatingButton"; import { User } from "../types/User";
interface AvatarListProps { interface AvatarListProps {
avatars: string[]; users: User[];
} }
export const AvatarList: FC<AvatarListProps> = ({ avatars }) => { export const AvatarList: FC<AvatarListProps> = ({ users }) => {
return ( return (
<> <>
{avatars.map((avatar: string) => ( {users.map((user: User, i: number) => (
<img className="circle" src={avatar} width="32vh" height="32vh" /> <img
key={i}
className="circle"
src={user.picture}
width="32vh"
height="32vh"
alt={user.fullName}
/>
))} ))}
</> </>
); );

View file

@ -1,4 +1,4 @@
import React, { FC, Children } from "react"; import React, { FC } from "react";
interface IProps { interface IProps {
icon?: string; icon?: string;

View file

@ -9,8 +9,8 @@ export const FileCollection: FC<IProps> = ({ files }) => {
return ( return (
<> <>
<ul className="collection"> <ul className="collection">
{files.map((f: AppFile) => ( {files.map((file: AppFile) => (
<FileEntry file={f} /> <FileEntry file={file} key={file.id} />
))} ))}
</ul> </ul>
</> </>
@ -23,7 +23,7 @@ type IFProps = {
export const FileEntry: FC<IFProps> = ({ file }) => { export const FileEntry: FC<IFProps> = ({ file }) => {
return ( return (
<li key={file.id} className="collection-item avatar"> <li className="collection-item avatar">
{/* <img src={require("../images/user_1.jpg")} alt="" className="circle" /> */} {/* <img src={require("../images/user_1.jpg")} alt="" className="circle" /> */}
<i className="material-icons circle">folder</i> <i className="material-icons circle">folder</i>
<span className="title">{file.name}</span> <span className="title">{file.name}</span>

View file

@ -1,5 +1,4 @@
import React, { FC, MouseEvent } from "react"; import React, { FC, MouseEvent } from "react";
import { AvatarList } from "./AvatarList";
import { Link } from "react-router-dom"; import { Link } from "react-router-dom";
interface IProps { interface IProps {
@ -29,16 +28,16 @@ export const HorizontalCard: FC<IProps> = ({
</div> </div>
<span>Due {remainingDays} days</span> <span>Due {remainingDays} days</span>
<div className="right"> <div className="right">
<a> <Link to="#">
<i className="material-icons" onClick={validateTicket}> <i className="material-icons" onClick={validateTicket}>
check check
</i> </i>
</a> </Link>
<a> <Link to="#">
<i className="material-icons" onClick={archiveTicket}> <i className="material-icons" onClick={archiveTicket}>
archive archive
</i> </i>
</a> </Link>
</div> </div>
</div> </div>
</div> </div>

View file

@ -1,4 +1,4 @@
import React, { FC, HTMLAttributes, CSSProperties } from "react"; import React, { FC, CSSProperties } from "react";
type ProgressBarProps = { type ProgressBarProps = {
value: number; value: number;

View file

@ -4,7 +4,7 @@ import { TicketList } from "./TicketList";
import { FileList } from "./AppFileList"; import { FileList } from "./AppFileList";
import { Ticket } from "../types/Ticket"; import { Ticket } from "../types/Ticket";
import { AppFile } from "../types/AppFile"; import { AppFile } from "../types/AppFile";
import { Switch, Route, useRouteMatch, Redirect } from "react-router-dom"; import { Route, useRouteMatch, Redirect } from "react-router-dom";
import { ActivityList } from "./ActivityList"; import { ActivityList } from "./ActivityList";
import { Activity } from "../types/Activity"; import { Activity } from "../types/Activity";
@ -26,25 +26,23 @@ export const TabRouter: FC<IProps> = ({
const { url } = useRouteMatch(); const { url } = useRouteMatch();
return ( return (
<> <>
<Switch> <div className="row">
<div className="row"> <TabRouterHeader tabNames={tabNames} />
<TabRouterHeader nTabs={tabNames.length} tabNames={tabNames} />
<Redirect from={url} to={`${url}/tickets`} /> <Redirect from={url} to={`${url}/tickets`} />
<Route path={`${url}/tickets`}> <Route path={`${url}/tickets`}>
<TicketList tickets={tickets} remainingDays={remainingDays} /> <TicketList tickets={tickets} remainingDays={remainingDays} />
</Route> </Route>
<Route path={`${url}/files`}> <Route path={`${url}/files`}>
<FileList files={files} /> <FileList files={files} />
</Route> </Route>
<Route path={`${url}/activity`}> <Route path={`${url}/activity`}>
<ActivityList activities={activities} /> <ActivityList activities={activities} />
</Route> </Route>
</div> </div>
</Switch>
</> </>
); );
}; };

View file

@ -3,22 +3,21 @@ import { Link, useRouteMatch } from "react-router-dom";
interface IProps { interface IProps {
tabClass?: string; tabClass?: string;
nTabs: number;
tabNames: string[]; tabNames: string[];
} }
export const TabRouterHeader: FC<IProps> = ({ export const TabRouterHeader: FC<IProps> = ({
tabClass = "tab col s4", tabClass = "tab col s4",
nTabs,
tabNames tabNames
}) => { }) => {
const [isActive, setIsActive] = useState<number>(0); const [isActive, setIsActive] = useState(0);
const nTabs = tabNames.length;
return ( return (
<> <>
<ul className="tabs z-depth-1"> <ul className="tabs z-depth-1">
{tabNames.map((name, i) => ( {tabNames.map((name, i) => (
<TabUnit <TabUnit
key={i}
text={name} text={name}
value={i.toString()} value={i.toString()}
tabClass={tabClass} tabClass={tabClass}

View file

@ -1,8 +1,12 @@
import React, { FC, useState, useEffect } from "react"; import React, {
import { useParams } from "react-router-dom"; FC,
useState
// useEffect
} from "react";
// import { useParams } from "react-router-dom";
import { ProjectPage } from "../pages/ProjectPage"; import { ProjectPage } from "../pages/ProjectPage";
import ProjectVM from "../viewModels/ProjectVM"; import ProjectVM from "../viewModels/ProjectVM";
import { Constants } from "../utils/Constants"; // import { Constants } from "../utils/Constants";
import { Project } from "../types/Project"; import { Project } from "../types/Project";
import { Ticket } from "../types/Ticket"; import { Ticket } from "../types/Ticket";
import { User } from "../types/User"; import { User } from "../types/User";
@ -96,7 +100,7 @@ export const ProjectController: FC = () => {
ticket: tickets[0] ticket: tickets[0]
}, },
{ {
id: 3, id: 2,
description: " added the task ", description: " added the task ",
date: new Date(), date: new Date(),
user: users[1], user: users[1],

View file

@ -13,7 +13,7 @@ export const ProjectPage: FC<IProps> = ({ viewModel }) => {
const { const {
title, title,
description, description,
avatars, users,
value, value,
tickets, tickets,
ticketsDone, ticketsDone,
@ -28,7 +28,7 @@ export const ProjectPage: FC<IProps> = ({ viewModel }) => {
<div className="container"> <div className="container">
<Header title={title} description={description} /> <Header title={title} description={description} />
<div className="row valign-wrapper"> <div className="row valign-wrapper">
<AvatarList avatars={avatars} /> <AvatarList users={users} />
<FloatingButton icon="add" color="grey" size="small" /> <FloatingButton icon="add" color="grey" size="small" />
</div> </div>
<ProgressBar <ProgressBar

View file

@ -10,7 +10,7 @@ export const TicketPage: FC = () => {
description="Research, ideate and present brand concepts for client consideration" description="Research, ideate and present brand concepts for client consideration"
title="Brand Concept and Design" title="Brand Concept and Design"
/> />
<AvatarList avatars={["../images/user_1.jpg", "../images/user_2.jpg"]} /> {/* <AvatarList users={["../images/user_1.jpg", "../images/user_2.jpg"]} /> */}
<ProgressBar value={60} /> <ProgressBar value={60} />
{/* // <TabView> {/* // <TabView>
// <ChildTicket/> // <ChildTicket/>

View file

@ -2,4 +2,5 @@ export interface User {
id: string; id: string;
picture: string; picture: string;
firstName: string; firstName: string;
fullName?: string;
} }

View file

@ -1,11 +1,16 @@
import React from "react"; import React from "react";
import { Router, Route, Switch, Link, NavLink } from "react-router-dom"; import {
Router,
Route,
Switch
//Link, NavLink
} from "react-router-dom";
import * as creacteHistory from "history"; import * as creacteHistory from "history";
import { TicketPage } from "../pages/TicketPage"; // import { TicketPage } from "../pages/TicketPage";
import { HomeController } from "../controllers/HomeController"; // import { HomeController } from "../controllers/HomeController";
import { ProjectController } from "../controllers/ProjectController"; import { ProjectController } from "../controllers/ProjectController";
import { UserController } from "../controllers/UserController"; // import { UserController } from "../controllers/UserController";
import { TicketController } from "../controllers/TicketController"; // import { TicketController } from "../controllers/TicketController";
export const history = creacteHistory.createBrowserHistory(); export const history = creacteHistory.createBrowserHistory();

View file

@ -1,9 +1,10 @@
import { Ticket } from "../types/Ticket"; import { Ticket } from "../types/Ticket";
import { Project } from "../types/Project"; import { Project } from "../types/Project";
import { Constants } from "../utils/Constants"; // import { Constants } from "../utils/Constants";
import { User } from "../types/User"; // import { User } from "../types/User";
import { AppFile } from "../types/AppFile"; import { AppFile } from "../types/AppFile";
import { Activity } from "../types/Activity"; import { Activity } from "../types/Activity";
import { User } from "../types/User";
export default class ProjectVM { export default class ProjectVM {
public id: number; public id: number;
@ -11,7 +12,8 @@ export default class ProjectVM {
public description: string; public description: string;
public value: number; public value: number;
public tickets: Ticket[]; public tickets: Ticket[];
public avatars: string[]; // public avatars: string[];
public users: User[];
public ticketsTotalCount: number; public ticketsTotalCount: number;
public ticketsDone: number; public ticketsDone: number;
public remainingDays: number; public remainingDays: number;
@ -33,7 +35,8 @@ export default class ProjectVM {
this.id = project.id; this.id = project.id;
this.title = project.title; this.title = project.title;
this.description = project.description; this.description = project.description;
this.avatars = project.users.map(u => u.picture); // this.avatars = project.users.map(u => u.picture);
this.users = project.users;
this.value = project.progression; this.value = project.progression;
this.tickets = project.tickets; this.tickets = project.tickets;
this.ticketsTotalCount = this.tickets.length; this.ticketsTotalCount = this.tickets.length;