From d3a93fe8f8dde512e130bba345a1945ca58606d6 Mon Sep 17 00:00:00 2001 From: Laurent Fasani Date: Fri, 22 Nov 2024 12:11:00 +0100 Subject: [PATCH] #1 Customize the front end Bug: https://github.com/ObeoNetwork/pepper/issues/1 Signed-off-by: Laurent Fasani --- frontend/deeplab-web/index.html | 2 +- frontend/deeplab-web/public/favicon.ico | Bin 623 -> 11281 bytes frontend/deeplab-web/public/favicon.ico.old | Bin 0 -> 623 bytes frontend/deeplab-web/public/manifest.json | 4 +- frontend/deeplab-web/src/core/Help.tsx | 41 ++++++++++++++++++ frontend/deeplab-web/src/core/PepperIcon.tsx | 17 ++++++++ frontend/deeplab-web/src/footer/Footer.tsx | 39 +++++++++++++++++ .../deeplab-web/src/icons/pepper-icon.png | Bin 0 -> 11281 bytes .../deeplab-web/src/icons/pepper-icon.svg | 1 + frontend/deeplab-web/src/index.tsx | 28 +++++++++++- 10 files changed, 127 insertions(+), 5 deletions(-) create mode 100644 frontend/deeplab-web/public/favicon.ico.old create mode 100644 frontend/deeplab-web/src/core/Help.tsx create mode 100644 frontend/deeplab-web/src/core/PepperIcon.tsx create mode 100644 frontend/deeplab-web/src/footer/Footer.tsx create mode 100644 frontend/deeplab-web/src/icons/pepper-icon.png create mode 100644 frontend/deeplab-web/src/icons/pepper-icon.svg diff --git a/frontend/deeplab-web/index.html b/frontend/deeplab-web/index.html index 169d232..2aba1f6 100644 --- a/frontend/deeplab-web/index.html +++ b/frontend/deeplab-web/index.html @@ -21,7 +21,7 @@ work correctly both with client-side routing and a non-root public URL. Learn how to configure a non-root public URL by running `npm run build`. --> - Sirius Web + Pepper diff --git a/frontend/deeplab-web/public/favicon.ico b/frontend/deeplab-web/public/favicon.ico index d0c367bc2b748ba83f993c4d57d14e7984553a99..32023bb00920fce154b4704de88becf14fdf5f47 100644 GIT binary patch literal 11281 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%0DRqtlE#MMyY!_ZYppg z>D0^`Y$||kmVMDKZBXO|@`mK@ftubDZpIk_k0NH#US2_gq6M?I|7@;uDFxA&i_N3& zpB|N0MQnYPo^vf458xDreV81`cRDii`d6Y~}^3J->8xEaSDlj8^~% z+4~eu>^I)OD=QN&xB2Le|I2od?IL*!HM7@?CkAgh5;>YXM0I{BoP67)FM^HsRb&%u z7kR3gdC*?~zN0sSVo5_#gr2}$0u!W*OSKoX2$w(iu~YPhj-DO`1L=bHg^msJ_92$p zCBBOSir-0aCG5wujmXcbMV=k~Qo(W(cPCM|sd|wla&NLw-c#**muKE(Rf-l+ikaw` z&zM#?fiq?$-0xpTA0sOOm>lohEOzt~15C@c9&ddVGZ8vhkaPG+?lZbfa9r%Av+j<3 zfhpC(^CteyQ4|%!GCFX&KPNxK@JXJWnJnnmsK7=?M~D2i|9cs!lCmbLCphO%MQ-ZkIW2Xpd;?IVTk_o{EwYXsjaON-7V>o3{{rr! zW=!QX;dmObq6phkk?Pfd-(Yi?96V>g&@y>uN+a8A`G|vxKAXZv^t3OVd^+@Q>`-R9 zGncx?vOa9g$+Pi$&+463LS1xXmIi?5_~(duj|D=ON5m0t0u1|m68SRxn4!2Txvk+A zW!Z{0#Ff1Ps)kiIb+DD1EttkF4i?B$?M(uW<9(-M&W2p{mo=G$wEBNJ;+328Vfj-gJj?vUDxZ z@=6jxFZ?N{^MdG<6e{5_)UR-(&qUs#sL`!fxN4Fqa2uEo>F zrB|lYWqnPvg=OoHQ>JTCuf-e3A&d)C5%%_a@BDFy>1=ovz{5oYCj;+5F-4x5L2cvG z^NuDauUx*5&>wt`-BXVlW%jS#CEtv#5e!6XJsU7SQkHmfZ;mB>+QRZ8aq*jg&i))s zkwX;^QWXy%n=sGoFpC*t&+ib{xg836%XVd}SSZ8XvtI?nr{K7%(JGXA)8hn(lT!#> zU6>TgK;P}(vm&REyppr#kX7t)8nGhRD>v`V&75eD(R&_A^~JNhmIe8MRO;%pf8lc( z#VY*pCoyq+{uC>pSVxRZUq7dOw@;LfIeQ!A-t!$3HWK28b>Q*dgiPe!jjXW>6iRc8 ZJ{TfM!8A76^Xr&fRZ&CXt(5r00004b3#c}2nYxW zd*+~Gg&8XJjriMVRDSO|jLF^D!sEDl2a)7e;Qu@;df9%5y5n<2|G#%+3P_WAVGY<)Z5xS42ZH@g+JoCh8{!oBVY*XAEEvMd{2o&gs8 zz^ef`!o3Gv0oH*4cm(vrNUk};EdqytnockQtO2L|z*};JYXWt^2X+G)U;;zHQ1&?| zP$XY~Pk!JXADubE-2q$%jsiBY2RH((0EhqT0kBhL%V8#V*#I+5tgB%p&jDrSnh7Hr z7qsjaFafOU1gW)o28?;b92Okmegvw(voMmY00k}fAdmt-TNh>3Ow;pm@_k`__~U8W z+O@f5m3nr%(F3-C8>34)!A-TlZKUai3@%m7((8VIaT$25`cYDie4m%7jsYb<@QP{@Rp73Yd>^<25Jqwdcn8#S z1^Po8N4wdzm4Z3ogdccs9N|{NNDlI#|M_vPMyK9tbY5)d`wi$d_VG02F0lXr002ov JPDHLkV1n!_1jhgX diff --git a/frontend/deeplab-web/public/favicon.ico.old b/frontend/deeplab-web/public/favicon.ico.old new file mode 100644 index 0000000000000000000000000000000000000000..d0c367bc2b748ba83f993c4d57d14e7984553a99 GIT binary patch literal 623 zcmV-#0+9WQP)5r00004b3#c}2nYxW zd*+~Gg&8XJjriMVRDSO|jLF^D!sEDl2a)7e;Qu@;df9%5y5n<2|G#%+3P_WAVGY<)Z5xS42ZH@g+JoCh8{!oBVY*XAEEvMd{2o&gs8 zz^ef`!o3Gv0oH*4cm(vrNUk};EdqytnockQtO2L|z*};JYXWt^2X+G)U;;zHQ1&?| zP$XY~Pk!JXADubE-2q$%jsiBY2RH((0EhqT0kBhL%V8#V*#I+5tgB%p&jDrSnh7Hr z7qsjaFafOU1gW)o28?;b92Okmegvw(voMmY00k}fAdmt-TNh>3Ow;pm@_k`__~U8W z+O@f5m3nr%(F3-C8>34)!A-TlZKUai3@%m7((8VIaT$25`cYDie4m%7jsYb<@QP{@Rp73Yd>^<25Jqwdcn8#S z1^Po8N4wdzm4Z3ogdccs9N|{NNDlI#|M_vPMyK9tbY5)d`wi$d_VG02F0lXr002ov JPDHLkV1n!_1jhgX literal 0 HcmV?d00001 diff --git a/frontend/deeplab-web/public/manifest.json b/frontend/deeplab-web/public/manifest.json index e781df3..33bf899 100644 --- a/frontend/deeplab-web/public/manifest.json +++ b/frontend/deeplab-web/public/manifest.json @@ -1,6 +1,6 @@ { - "short_name": "Sirius Web", - "name": "Sirius Web Frontend", + "short_name": "Pepper", + "name": "Pepper Frontend", "icons": [ { "src": "favicon.ico", diff --git a/frontend/deeplab-web/src/core/Help.tsx b/frontend/deeplab-web/src/core/Help.tsx new file mode 100644 index 0000000..3d62f54 --- /dev/null +++ b/frontend/deeplab-web/src/core/Help.tsx @@ -0,0 +1,41 @@ +/******************************************************************************* + * Copyright (c) 2024 CEA LIST. + * This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v2.0 + * which accompanies this distribution, and is available at + * https://www.eclipse.org/legal/epl-2.0/ + * + * SPDX-License-Identifier: EPL-2.0 + * + * Contributors: + * Obeo - initial API and implementation + *******************************************************************************/ +import IconButton from '@mui/material/IconButton'; +import Link from '@mui/material/Link'; +import { emphasize } from '@mui/material/styles'; +import { makeStyles } from 'tss-react/mui'; +import HelpIcon from '@mui/icons-material/Help'; + +const useHelpStyle = makeStyles()((theme) => ({ + onDarkBackground: { + '&:hover': { + backgroundColor: emphasize(theme.palette.secondary.main, 0.08), + }, + }, +})); + +export const Help = () => { + const { classes } = useHelpStyle(); + return ( + + + + + + ); +}; diff --git a/frontend/deeplab-web/src/core/PepperIcon.tsx b/frontend/deeplab-web/src/core/PepperIcon.tsx new file mode 100644 index 0000000..bd1a752 --- /dev/null +++ b/frontend/deeplab-web/src/core/PepperIcon.tsx @@ -0,0 +1,17 @@ +/******************************************************************************* + * Copyright (c) 2024 CEA LIST. + * This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v2.0 + * which accompanies this distribution, and is available at + * https://www.eclipse.org/legal/epl-2.0/ + * + * SPDX-License-Identifier: EPL-2.0 + * + * Contributors: + * Obeo - initial API and implementation + *******************************************************************************/ +import pepperImage from '../icons/pepper-icon.png'; + +export const PepperIcon = () => { + return Back to the homepage; +}; diff --git a/frontend/deeplab-web/src/footer/Footer.tsx b/frontend/deeplab-web/src/footer/Footer.tsx new file mode 100644 index 0000000..3a84afd --- /dev/null +++ b/frontend/deeplab-web/src/footer/Footer.tsx @@ -0,0 +1,39 @@ +/******************************************************************************* + * Copyright (c) 2024 CEA LIST. + * This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v2.0 + * which accompanies this distribution, and is available at + * https://www.eclipse.org/legal/epl-2.0/ + * + * SPDX-License-Identifier: EPL-2.0 + * + * Contributors: + * Obeo - initial API and implementation + *******************************************************************************/ +import Link from '@mui/material/Link'; +import { makeStyles } from 'tss-react/mui'; +import Typography from '@mui/material/Typography'; + +const useFooterStyles = makeStyles()((theme) => ({ + footer: { + display: 'flex', + justifyContent: 'center', + margin: theme.spacing(2), + '& > *': { + marginLeft: theme.spacing(0.5), + marginRight: theme.spacing(0.5), + }, + }, +})); + +export const Footer = () => { + const { classes } = useFooterStyles(); + return ( +
+ © {new Date().getFullYear()} CEA LIST. Powered by  + + ObeoNetwork/Pepper + +
+ ); +}; diff --git a/frontend/deeplab-web/src/icons/pepper-icon.png b/frontend/deeplab-web/src/icons/pepper-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..32023bb00920fce154b4704de88becf14fdf5f47 GIT binary patch literal 11281 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%0DRqtlE#MMyY!_ZYppg z>D0^`Y$||kmVMDKZBXO|@`mK@ftubDZpIk_k0NH#US2_gq6M?I|7@;uDFxA&i_N3& zpB|N0MQnYPo^vf458xDreV81`cRDii`d6Y~}^3J->8xEaSDlj8^~% z+4~eu>^I)OD=QN&xB2Le|I2od?IL*!HM7@?CkAgh5;>YXM0I{BoP67)FM^HsRb&%u z7kR3gdC*?~zN0sSVo5_#gr2}$0u!W*OSKoX2$w(iu~YPhj-DO`1L=bHg^msJ_92$p zCBBOSir-0aCG5wujmXcbMV=k~Qo(W(cPCM|sd|wla&NLw-c#**muKE(Rf-l+ikaw` z&zM#?fiq?$-0xpTA0sOOm>lohEOzt~15C@c9&ddVGZ8vhkaPG+?lZbfa9r%Av+j<3 zfhpC(^CteyQ4|%!GCFX&KPNxK@JXJWnJnnmsK7=?M~D2i|9cs!lCmbLCphO%MQ-ZkIW2Xpd;?IVTk_o{EwYXsjaON-7V>o3{{rr! zW=!QX;dmObq6phkk?Pfd-(Yi?96V>g&@y>uN+a8A`G|vxKAXZv^t3OVd^+@Q>`-R9 zGncx?vOa9g$+Pi$&+463LS1xXmIi?5_~(duj|D=ON5m0t0u1|m68SRxn4!2Txvk+A zW!Z{0#Ff1Ps)kiIb+DD1EttkF4i?B$?M(uW<9(-M&W2p{mo=G$wEBNJ;+328Vfj-gJj?vUDxZ z@=6jxFZ?N{^MdG<6e{5_)UR-(&qUs#sL`!fxN4Fqa2uEo>F zrB|lYWqnPvg=OoHQ>JTCuf-e3A&d)C5%%_a@BDFy>1=ovz{5oYCj;+5F-4x5L2cvG z^NuDauUx*5&>wt`-BXVlW%jS#CEtv#5e!6XJsU7SQkHmfZ;mB>+QRZ8aq*jg&i))s zkwX;^QWXy%n=sGoFpC*t&+ib{xg836%XVd}SSZ8XvtI?nr{K7%(JGXA)8hn(lT!#> zU6>TgK;P}(vm&REyppr#kX7t)8nGhRD>v`V&75eD(R&_A^~JNhmIe8MRO;%pf8lc( z#VY*pCoyq+{uC>pSVxRZUq7dOw@;LfIeQ!A-t!$3HWK28b>Q*dgiPe!jjXW>6iRc8 ZJ{TfM!8A76^Xr&fRZ&CXt( diff --git a/frontend/deeplab-web/src/index.tsx b/frontend/deeplab-web/src/index.tsx index 11df786..c0f4d43 100644 --- a/frontend/deeplab-web/src/index.tsx +++ b/frontend/deeplab-web/src/index.tsx @@ -17,6 +17,9 @@ import { DiagramRepresentationConfiguration, NodeTypeRegistry, SiriusWebApplication, + navigationBarIconExtensionPoint, + footerExtensionPoint, + navigationBarMenuIconExtensionPoint, } from '@eclipse-sirius/sirius-web-application'; import { createRoot } from 'react-dom/client'; import { httpOrigin, wsOrigin } from './core/URL'; @@ -29,13 +32,16 @@ import './fonts.css'; import './portals.css'; import './reset.css'; import './variables.css'; +import { Footer } from './footer/Footer'; +import { Help } from './core/Help'; +import { PepperIcon } from './core/PepperIcon'; if (process.env.NODE_ENV !== 'production') { loadDevMessages(); loadErrorMessages(); } -const registry = new ExtensionRegistry(); +const extensionRegistry: ExtensionRegistry = new ExtensionRegistry(); const nodeTypeRegistry: NodeTypeRegistry = { nodeLayoutHandlers: [new EllipseNodeLayoutHandler()], @@ -43,10 +49,28 @@ const nodeTypeRegistry: NodeTypeRegistry = { nodeTypeContributions: [], }; +// Help component contribution +extensionRegistry.addComponent(navigationBarMenuIconExtensionPoint, { + identifier: 'pepper-help', + Component: () => , +}); + +// Footer contribution +extensionRegistry.addComponent(footerExtensionPoint, { + identifier: 'pepper-footer', + Component: Footer, +}); + +// Main icon contribution +extensionRegistry.addComponent(navigationBarIconExtensionPoint, { + identifier: 'pepper_navigationbar#icon', + Component: PepperIcon, +}); + const container = document.getElementById('root'); const root = createRoot(container!); root.render( - + );