Merge branch 'feature/ora-mt-262-create-folder' into dev
This commit is contained in:
commit
d5496b9ce3
BIN
src/front/Assets/images/create-folder/right-image.png
Normal file
BIN
src/front/Assets/images/create-folder/right-image.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 191 KiB |
@ -15,11 +15,11 @@ type IProps = {
|
|||||||
variant?: EButtonVariant;
|
variant?: EButtonVariant;
|
||||||
fullwidth?: "true" | "false";
|
fullwidth?: "true" | "false";
|
||||||
icon?: string;
|
icon?: string;
|
||||||
iconStyle?: CSSProperties;
|
iconstyle?: CSSProperties;
|
||||||
disabled?: boolean;
|
disabled?: boolean;
|
||||||
type?: "button" | "submit";
|
type?: "button" | "submit";
|
||||||
isloading?: string;
|
isloading?: string;
|
||||||
iconPosition?: "left" | "right";
|
iconposition?: "left" | "right";
|
||||||
};
|
};
|
||||||
|
|
||||||
export default function Button(props: IProps) {
|
export default function Button(props: IProps) {
|
||||||
@ -29,11 +29,11 @@ export default function Button(props: IProps) {
|
|||||||
type = "button",
|
type = "button",
|
||||||
isloading = "false",
|
isloading = "false",
|
||||||
fullwidth = "false",
|
fullwidth = "false",
|
||||||
iconPosition = "right",
|
iconposition = "right",
|
||||||
onClick,
|
onClick,
|
||||||
children,
|
children,
|
||||||
icon,
|
icon,
|
||||||
iconStyle,
|
iconstyle,
|
||||||
} = props;
|
} = props;
|
||||||
|
|
||||||
const attributes = { ...props, variant, disabled, type, isloading, fullwidth };
|
const attributes = { ...props, variant, disabled, type, isloading, fullwidth };
|
||||||
@ -42,9 +42,9 @@ export default function Button(props: IProps) {
|
|||||||
delete attributes.iconPosition;
|
delete attributes.iconPosition;
|
||||||
return (
|
return (
|
||||||
<button {...attributes} onClick={onClick} className={classes["root"]} type={type}>
|
<button {...attributes} onClick={onClick} className={classes["root"]} type={type}>
|
||||||
{icon && iconPosition === "left" && <Image src={icon} style={iconStyle} alt={"button icon"} />}
|
{icon && iconposition === "left" && <Image src={icon} style={iconstyle} alt={"button icon"} />}
|
||||||
{children}
|
{children}
|
||||||
{icon && iconPosition === "right" && <Image src={icon} style={iconStyle} alt={"button icon"} />}
|
{icon && iconposition === "right" && <Image src={icon} style={iconstyle} alt={"button icon"} />}
|
||||||
</button>
|
</button>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
@import "@Themes/constants.scss";
|
@import "@Themes/constants.scss";
|
||||||
|
|
||||||
.root {
|
.root {
|
||||||
background-color: $grey-soft;
|
background-color: var(--grey-soft);
|
||||||
padding: 24px;
|
padding: 24px;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
display: flex;
|
display: flex;
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
padding: 24px;
|
padding: 24px;
|
||||||
background-color: $grey-soft;
|
background-color: var(--grey-soft);
|
||||||
width: 100%;
|
width: 100%;
|
||||||
|
|
||||||
.content {
|
.content {
|
||||||
|
28
src/front/Components/Elements/BackArrow/index.tsx
Normal file
28
src/front/Components/Elements/BackArrow/index.tsx
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
import Link from "next/link";
|
||||||
|
import React from "react";
|
||||||
|
import Button, { EButtonVariant } from "@Front/Components/DesignSystem/Button";
|
||||||
|
import ChevronIcon from "@Assets/icons/chevron.svg";
|
||||||
|
type IProps = {
|
||||||
|
url: string;
|
||||||
|
};
|
||||||
|
|
||||||
|
type IState = {};
|
||||||
|
export default class BackArrow extends React.Component<IProps, IState> {
|
||||||
|
public constructor(props: IProps) {
|
||||||
|
super(props);
|
||||||
|
}
|
||||||
|
|
||||||
|
public override render(): JSX.Element {
|
||||||
|
return (
|
||||||
|
<Link href={this.props.url}>
|
||||||
|
<Button
|
||||||
|
icon={ChevronIcon}
|
||||||
|
iconposition={"left"}
|
||||||
|
iconstyle={{ transform: "rotate(180deg)", width: "22px", height: "22px" }}
|
||||||
|
variant={EButtonVariant.LINE}>
|
||||||
|
Retour
|
||||||
|
</Button>
|
||||||
|
</Link>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
@ -7,28 +7,31 @@
|
|||||||
|
|
||||||
.content {
|
.content {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
|
||||||
height: calc(100vh - 83px);
|
height: calc(100vh - 83px);
|
||||||
width: 100%;
|
|
||||||
|
|
||||||
.sides {
|
.sides {
|
||||||
width: 100%;
|
width: 50%;
|
||||||
|
|
||||||
|
&.image-container {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
@media (max-width: $screen-m) {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
background: var(--grey-soft);
|
||||||
|
.image {
|
||||||
height: 100%;
|
height: 100%;
|
||||||
|
object-fit: contain;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
&.background-image-container {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
|
|
||||||
&.image-container {
|
.background-image {
|
||||||
@media (max-width: $screen-m) {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.side-content {
|
|
||||||
max-width: 530px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.image {
|
|
||||||
height: 100%;
|
height: 100%;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
object-fit: cover;
|
object-fit: cover;
|
||||||
@ -36,3 +39,4 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
@ -13,12 +13,15 @@ type IProps = {
|
|||||||
*/
|
*/
|
||||||
scrollTop: number | null;
|
scrollTop: number | null;
|
||||||
image: StaticImageData;
|
image: StaticImageData;
|
||||||
|
type: "background" | "image";
|
||||||
};
|
};
|
||||||
|
|
||||||
type IState = {};
|
type IState = {};
|
||||||
|
|
||||||
export default class DefaultDoubleSidePage extends React.Component<IProps, IState> {
|
export default class DefaultDoubleSidePage extends React.Component<IProps, IState> {
|
||||||
public static defaultProps = {
|
public static defaultProps = {
|
||||||
scrollTop: 0,
|
scrollTop: 0,
|
||||||
|
type: "background",
|
||||||
};
|
};
|
||||||
|
|
||||||
public override render(): JSX.Element {
|
public override render(): JSX.Element {
|
||||||
@ -26,12 +29,17 @@ export default class DefaultDoubleSidePage extends React.Component<IProps, IStat
|
|||||||
<div className={classes["root"]}>
|
<div className={classes["root"]}>
|
||||||
<Header isUserConnected={false} />
|
<Header isUserConnected={false} />
|
||||||
<div className={classes["content"]}>
|
<div className={classes["content"]}>
|
||||||
<div className={classes["sides"]}>
|
<div className={classes["sides"]}>{this.props.children}</div>
|
||||||
<div className={classes["side-content"]}>{this.props.children}</div>
|
{this.props.type === "image" && (
|
||||||
</div>
|
|
||||||
<div className={classNames(classes["sides"], classes["image-container"])}>
|
<div className={classNames(classes["sides"], classes["image-container"])}>
|
||||||
<Image alt={"right side image"} src={this.props.image} className={classes["image"]} />
|
<Image alt={"right side image"} src={this.props.image} className={classes["image"]} />
|
||||||
</div>
|
</div>
|
||||||
|
)}
|
||||||
|
{this.props.type === "background" && (
|
||||||
|
<div className={classNames(classes["sides"], classes["background-image-container"])}>
|
||||||
|
<Image alt={"right side image"} src={this.props.image} className={classes["background-image"]} />
|
||||||
|
</div>
|
||||||
|
)}
|
||||||
</div>
|
</div>
|
||||||
<Version />
|
<Version />
|
||||||
</div>
|
</div>
|
||||||
|
@ -9,9 +9,8 @@ import { ActionMeta, MultiValue } from "react-select";
|
|||||||
import { IOption } from "@Front/Components/DesignSystem/Select";
|
import { IOption } from "@Front/Components/DesignSystem/Select";
|
||||||
import InputField from "@Front/Components/DesignSystem/Form/Elements/InputField";
|
import InputField from "@Front/Components/DesignSystem/Form/Elements/InputField";
|
||||||
import Form from "@Front/Components/DesignSystem/Form";
|
import Form from "@Front/Components/DesignSystem/Form";
|
||||||
import ChevonIcon from "@Assets/icons/chevron.svg";
|
|
||||||
import Link from "next/link";
|
|
||||||
import { useRouter } from "next/router";
|
import { useRouter } from "next/router";
|
||||||
|
import BackArrow from "@Front/Components/Elements/BackArrow";
|
||||||
|
|
||||||
type IProps = {
|
type IProps = {
|
||||||
selectedFolderUid: string;
|
selectedFolderUid: string;
|
||||||
@ -45,15 +44,7 @@ class AddClientToFolderClass extends BasePage<IProps, IState> {
|
|||||||
return (
|
return (
|
||||||
<DefaultNotaryDashboard title={"Ajouter client(s)"} onSelectedFolder={this.onSelectedFolder}>
|
<DefaultNotaryDashboard title={"Ajouter client(s)"} onSelectedFolder={this.onSelectedFolder}>
|
||||||
<div className={classes["root"]}>
|
<div className={classes["root"]}>
|
||||||
<Link href={"/dossier/".concat(this.props.selectedFolderUid)}>
|
<BackArrow url={"/dossier/".concat(this.props.selectedFolderUid)} />
|
||||||
<Button
|
|
||||||
icon={ChevonIcon}
|
|
||||||
iconPosition={"left"}
|
|
||||||
iconStyle={{ transform: "rotate(180deg)", width: "22px", height: "22px" }}
|
|
||||||
variant={EButtonVariant.LINE}>
|
|
||||||
Retour
|
|
||||||
</Button>
|
|
||||||
</Link>
|
|
||||||
<Typography typo={ITypo.H1Bis}>Associer un ou plusieurs client(s)</Typography>
|
<Typography typo={ITypo.H1Bis}>Associer un ou plusieurs client(s)</Typography>
|
||||||
<Form>
|
<Form>
|
||||||
<div className={classes["radiobox-container"]}>
|
<div className={classes["radiobox-container"]}>
|
||||||
|
@ -0,0 +1,3 @@
|
|||||||
|
.root {
|
||||||
|
margin: 64px 0 0 64px;
|
||||||
|
}
|
26
src/front/Components/Layouts/Folder/CreateFolder/index.tsx
Normal file
26
src/front/Components/Layouts/Folder/CreateFolder/index.tsx
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
import BasePage from "../../Base";
|
||||||
|
import Typography, { ITypo, ITypoColor } from "@Front/Components/DesignSystem/Typography";
|
||||||
|
import classes from "./classes.module.scss";
|
||||||
|
import DefaultDoubleSidePage from "@Front/Components/LayoutTemplates/DefaultDoubleSidePage";
|
||||||
|
import RightImage from "@Front/Assets/images/create-folder/right-image.png";
|
||||||
|
import BackArrow from "@Front/Components/Elements/BackArrow";
|
||||||
|
|
||||||
|
type IProps = {};
|
||||||
|
type IState = {};
|
||||||
|
export default class CreateFolder extends BasePage<IProps, IState> {
|
||||||
|
public constructor(props: IProps) {
|
||||||
|
super(props);
|
||||||
|
}
|
||||||
|
|
||||||
|
// TODO: Message if the user has not created any folder yet
|
||||||
|
public override render(): JSX.Element {
|
||||||
|
return (
|
||||||
|
<DefaultDoubleSidePage title={"Dossier"} image={RightImage} type="image">
|
||||||
|
<div className={classes["root"]}>
|
||||||
|
<BackArrow url="/" />
|
||||||
|
</div>
|
||||||
|
</DefaultDoubleSidePage>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
public override async componentDidMount() {}
|
||||||
|
}
|
@ -9,26 +9,26 @@
|
|||||||
|
|
||||||
--colormerdum: blue;
|
--colormerdum: blue;
|
||||||
|
|
||||||
--green-flash: $green-flash;
|
--green-flash: #{$green-flash};
|
||||||
--blue-flash: $blue-flash;
|
--blue-flash: #{$blue-flash};
|
||||||
--turquoise-flash: $turquoise-flash;
|
--turquoise-flash: #{$turquoise-flash};
|
||||||
--purple-flash: $purple-flash;
|
--purple-flash: #{$purple-flash};
|
||||||
--purple-hover: $purple-hover;
|
--purple-hover: #{$purple-hover};
|
||||||
--orange-flash: $orange-flash;
|
--orange-flash: #{$orange-flash};
|
||||||
--red-flash: $red-flash;
|
--red-flash: #{$red-flash};
|
||||||
--re-hover: $re-hover;
|
--re-hover: #{$re-hover};
|
||||||
--pink-flash: $pink-flash;
|
--pink-flash: #{$pink-flash};
|
||||||
--pink-hover: $pink-hover;
|
--pink-hover: #{$pink-hover};
|
||||||
|
|
||||||
--green-soft: $green-soft;
|
--green-soft: #{$green-soft};
|
||||||
--blue-soft: $blue-soft;
|
--blue-soft: #{$blue-soft};
|
||||||
--turquoise-soft: $turquoise-soft;
|
--turquoise-soft: #{$turquoise-soft};
|
||||||
--purple-soft: $purple-soft;
|
--purple-soft: #{$purple-soft};
|
||||||
--orange-soft: $orange-soft;
|
--orange-soft: #{$orange-soft};
|
||||||
--red-soft: $red-soft;
|
--red-soft: #{$red-soft};
|
||||||
--pink-soft: $pink-soft;
|
--pink-soft: #{$pink-soft};
|
||||||
|
|
||||||
--grey: $grey;
|
--grey: #{$grey};
|
||||||
--grey-medium: $grey-medium;
|
--grey-medium: #{$grey-medium};
|
||||||
--grey-soft: $grey-soft;
|
--grey-soft: #{$grey-soft};
|
||||||
}
|
}
|
||||||
|
5
src/pages/dossier/creer-dossier.tsx
Normal file
5
src/pages/dossier/creer-dossier.tsx
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
import CreateFolder from "@Front/Components/Layouts/Folder/CreateFolder";
|
||||||
|
|
||||||
|
export default function Route() {
|
||||||
|
return <CreateFolder />;
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user