diff --git a/Tokenization/webapp/app/app.css b/Tokenization/webapp/app/app.css
index 3fd4a94f5..f74734019 100644
--- a/Tokenization/webapp/app/app.css
+++ b/Tokenization/webapp/app/app.css
@@ -12,15 +12,73 @@
* or submit itself to any jurisdiction.
*/
+:root {
+ --color-transparent: rgba(0,0,0,0)
+}
+
+.wrap {
+ flex-wrap: wrap;
+}
+
+.bg-transparent {
+ background-color: var(--color-transparent);
+}
+
.justify-end {
justify-content: flex-end;
}
+.self-center {
+ align-self: center;
+}
+
.ml1 { margin-left: var(--space-xs); }
.ml2 { margin-left: var(--space-s); }
.ml3 { margin-left: var(--space-m); }
.ml4 { margin-left: var(--space-l); }
+.ml5 { margin-left: var(--space-xl)}
+.mb2 { margin-bottom: var(--space-s)}
+
+
+.no-border {
+ border: 0;
+}
+
+.bra2 {
+ border: 2px solid black;
+}
+
+.brb2 {
+ border-bottom: 2px solid black;
+}
+
+.scale12 {
+ transform: scale(1.2);
+}
+
+.scale15 {
+ transform: scale(1.5);
+}
.scale25 {
transform: scale(2.5);
}
+
+.menu-item-static {
+ /* This class is the same as menu-item from aliceo2 css framework but can be used wihouth hover and active actions*/
+ text-decoration: none;
+ height: 2em;
+ line-height: 2em;
+ padding-left: 1em;
+ padding-right: 1em;
+ color: var(--color-gray-darker);
+ font-weight: 100;
+ margin: 0.25em;
+ border-radius: 0.25em;
+ display: block;
+ user-select: none;
+}
+
+.static {
+ position: static;
+}
\ No newline at end of file
diff --git a/Tokenization/webapp/app/assets/4_Color_Logo_CB.png b/Tokenization/webapp/app/assets/4_Color_Logo_CB.png
new file mode 100644
index 000000000..7949e4c56
Binary files /dev/null and b/Tokenization/webapp/app/assets/4_Color_Logo_CB.png differ
diff --git a/Tokenization/webapp/app/components/box.tsx b/Tokenization/webapp/app/components/box.tsx
new file mode 100644
index 000000000..203c0a9be
--- /dev/null
+++ b/Tokenization/webapp/app/components/box.tsx
@@ -0,0 +1,104 @@
+/**
+ * @license
+ * Copyright 2019-2020 CERN and copyright holders of ALICE O2.
+ * See http://alice-o2.web.cern.ch/copyright for details of the copyright holders.
+ * All rights not expressly granted are reserved.
+ *
+ * This software is distributed under the terms of the GNU General Public
+ * License v3 (GPL Version 3), copied verbatim in the file "COPYING".
+ *
+ * In applying this license CERN does not waive the privileges and immunities
+ * granted to it by virtue of its status as an Intergovernmental Organization
+ * or submit itself to any jurisdiction.
+ */
+
+import React from 'react';
+import { Link } from 'react-router';
+import { IconContainer, IconExpandRight } from '~/ui/icon';
+
+interface BoxInterface {
+ children: React.ReactNode;
+ link: string | null;
+}
+
+interface PrimaryBoxInterface extends BoxInterface {
+ className_div1: string;
+ className_div2: string;
+}
+/**
+ * Box component - container which renders a content inside.
+ *
+ * TODO: On PC it will stand in grid layout on mobile will lay basing on display flex with wrap
+ * For now it uses grid only.
+ *
+ * @param {object} props - Component props.
+ * @param {React.ReactNode} props.children - Content rendered inside the box.
+ * @param {string|null} props.link - Passing this prop to the component enables rendering of the top bar
+ * with an icon that navigates the user to the corresponding details page.
+ * @param {string} props.className_div1 - Additional classes applied to the outer container.
+ * @param {string} props.className_div2 - Additional classes applied to the top link row container.
+ */
+export function Box({ children, link, className_div1, className_div2 }: PrimaryBoxInterface) {
+ return (
+
+ {link &&
+
+
+
+
+
+
+
+
+ }
+ {children}
+
+ );
+}
+
+/**
+ * Box 1_2 component - renders box with padding suited for grid with 1 row and 2 columns.
+ *
+ * @param {object} props - Component props.
+ * @param {React.ReactNode} props.children - Content rendered inside the box.
+ * @param {string|null} props.link - Passing this prop to the component enables rendering of the top bar
+ * with an icon that navigates the user to the corresponding details page.
+ */
+export function Box1_2 ({ children, link }: BoxInterface) {
+ return (
+
+
+
+ {children}
+
+
+
+ );
+}
+
+/**
+ * Box 1_2 component - renders box with padding suited for grid with 1 row and 1 column.
+ *
+ * @param {object} props - Component props.
+ * @param {React.ReactNode} props.children - Content rendered inside the box.
+ * @param {string|null} props.link - Passing this prop to the component enables rendering of the top bar
+ * with an icon that navigates the user to the corresponding details page.
+ */
+export function Box1_1 ({ children, link }: BoxInterface) {
+ return (
+
+
+
+ {children}
+
+
+ );
+}
diff --git a/Tokenization/webapp/app/components/form/form-buttons.tsx b/Tokenization/webapp/app/components/form/form-buttons.tsx
new file mode 100644
index 000000000..358e0b364
--- /dev/null
+++ b/Tokenization/webapp/app/components/form/form-buttons.tsx
@@ -0,0 +1,86 @@
+/**
+ * @license
+ * Copyright 2019-2020 CERN and copyright holders of ALICE O2.
+ * See http://alice-o2.web.cern.ch/copyright for details of the copyright holders.
+ * All rights not expressly granted are reserved.
+ *
+ * This software is distributed under the terms of the GNU General Public
+ * License v3 (GPL Version 3), copied verbatim in the file "COPYING".
+ *
+ * In applying this license CERN does not waive the privileges and immunities
+ * granted to it by virtue of its status as an Intergovernmental Organization
+ * or submit itself to any jurisdiction.
+ */
+
+import type { ButtonInterface } from '../window/window';
+
+/**
+ * Generic form button wrapper.
+ *
+ * Renders a