From 2a6259a4779a686ccbd2a0e725e8cc369eb067f2 Mon Sep 17 00:00:00 2001 From: Steffen Vogel Date: Tue, 2 May 2023 15:45:37 +0200 Subject: [PATCH 1/4] allow setting arbitrary custom CSS properties for branding themes Signed-off-by: Steffen Vogel --- src/branding/branding.js | 76 ++-------------------- src/branding/slew/slew-values.js | 10 +-- src/branding/template/template-values.js | 12 ++-- src/branding/villasweb/villasweb-values.js | 6 +- src/styles/app.css | 33 +++++----- 5 files changed, 35 insertions(+), 102 deletions(-) diff --git a/src/branding/branding.js b/src/branding/branding.js index bdc5e87..c839439 100644 --- a/src/branding/branding.js +++ b/src/branding/branding.js @@ -172,36 +172,8 @@ class Branding { const rootEl = document.querySelector(':root'); - let background = this.getBackgroundColor(); - if (background) { - rootEl.style.setProperty('--bg', background); - } else { - console.log(document.body.style.backgroundColor) - } - - let maincolor = this.getMainColor(); - if (maincolor) { - rootEl.style.setProperty('--maincolor', maincolor); - } - - let highlight = this.getHighlightColor(); - if (highlight) { - rootEl.style.setProperty('--highlights', highlight); - } - - let secondary = this.getSecondaryTextColor(); - if (secondary) { - rootEl.style.setProperty('--secondarytext', secondary); - } - - let font = this.getFont(); - if (font) { - rootEl.style.setProperty('--mainfont', font); - } - - let borderradius = this.getBorderRadius(); - if (borderradius) { - rootEl.style.setProperty('--borderradius', borderradius); + for (const [key, value] of Object.entries(this.values.style)) { + rootEl.style.setProperty('--' + key, value); } } @@ -213,51 +185,11 @@ class Branding { } catch (err) { console.error("cannot find './" + this.brand + '/img/' + this.values.logo + "'"); } - + return image; } - getBackgroundColor() { - if (this.values.style && this.values.style.background) { - return this.values.style.background; - } - return null; - } - getMainColor() { - if (this.values.style && this.values.style.maincolor) { - return this.values.style.maincolor; - } - return null; - } - - getHighlightColor() { - if (this.values.style && this.values.style.highlights) { - return this.values.style.highlights; - } - return null; - } - - getSecondaryTextColor() { - if (this.values.style && this.values.style.secondarytext) { - return this.values.style.secondarytext; - } - return null; - } - - getFont() { - if (this.values.style && this.values.style.font) { - return this.values.style.secondarytext; - } - return null; - } - - getBorderRadius() { - if (this.values.style && this.values.style.borderradius) { - return this.values.style.borderradius; - } - return null; - } getTitle() { return this.values.title ? this.values.title : "No Title!"; @@ -270,4 +202,4 @@ class Branding { var branding = new Branding(process.env.REACT_APP_BRAND); -export default branding; \ No newline at end of file +export default branding; diff --git a/src/branding/slew/slew-values.js b/src/branding/slew/slew-values.js index 1a7c323..102079b 100644 --- a/src/branding/slew/slew-values.js +++ b/src/branding/slew/slew-values.js @@ -34,11 +34,11 @@ const slew_values = { style: { background: 'rgba(207,209,210, 1)', highlights: 'rgba(0,84,159, 0.75)', - maincolor: 'rgba(80,80,80, 1)', - secondarytext: 'rgba(80,80,80, 0.9)', - font: "16px Roboto, sans-serif", - borderradius: "10px" + main: 'rgba(80,80,80, 1)', + secondaryText: 'rgba(80,80,80, 0.9)', + fontFamily: "Roboto, sans-serif", + borderRadius: "10px" } } -export default slew_values; \ No newline at end of file +export default slew_values; diff --git a/src/branding/template/template-values.js b/src/branding/template/template-values.js index 6eb7215..d74304c 100644 --- a/src/branding/template/template-values.js +++ b/src/branding/template/template-values.js @@ -34,11 +34,11 @@ style: { background: 'rgba(50,30,90, 0.6)', highlights: 'rgba(0,230,5, 0.75)', - maincolor: 'rgba(255,0,0, 1)', - secondarytext: 'rgba(0,0,100, 0.8)', - font: "16px Comic Sans, sans-serif", - borderradius: "60px" + main: 'rgba(255,0,0, 1)', + secondaryText: 'rgba(0,0,100, 0.8)', + fontFamily: "Comic Sans, sans-serif", + borderRadius: "60px" } } - - export default template_values; \ No newline at end of file + + export default template_values; diff --git a/src/branding/villasweb/villasweb-values.js b/src/branding/villasweb/villasweb-values.js index 2b0fdf5..0a73c7f 100644 --- a/src/branding/villasweb/villasweb-values.js +++ b/src/branding/villasweb/villasweb-values.js @@ -29,9 +29,9 @@ const villasweb_values = { style: { background: '#6EA2B0', highlights: '#527984', - maincolor: '#4d4d4d', - secondarytext: '#818181', + main: '#4d4d4d', + secondaryText: '#818181', } } -export default villasweb_values; \ No newline at end of file +export default villasweb_values; diff --git a/src/styles/app.css b/src/styles/app.css index a7cfdaa..ccf111e 100644 --- a/src/styles/app.css +++ b/src/styles/app.css @@ -20,30 +20,31 @@ */ :root { - --bg: #eceded; + --main: #4d4d4d; + --background: #eceded; --highlights: #527984; - --secondarytext: #818181; - --borderradius: 0px; - --mainfont: 16px 'Helvetica Neue', Helvetica, Arial, sans-serif; - --maincolor: #4d4d4d; - --bgtext:#fff; + --secondaryText: #818181; + --borderRadius: 0px; + --fontFamily: 'Helvetica Neue', Helvetica, Arial, sans-serif; + --backgroundText:#fff; } * { - color: var(--maincolor); + color: var(--main); } body { - background-color: var(--bg) !important; + background-color: var(--background) !important; + font-family: var(--fontFamily) !important; } .app { height: 100vh; - color: var(--maincolor); - border-radius: var(--borderradius); + color: var(--main); + border-radius: var(--borderRadius); - font: var(--mainfont); + font: 16px; hyphens: auto; } @@ -91,13 +92,13 @@ a:active { margin-top: 2em; padding-bottom: 2em; - color: var(--bgtext); + color: var(--backgroundText); text-align: center; } .app-footer a { text-decoration: underline; - color: var(--bgtext); + color: var(--backgroundText); } .app-body-spacing { @@ -110,7 +111,7 @@ a:active { .app-content { padding: 15px 20px 20px 20px; - border-radius: var(--borderradius); + border-radius: var(--borderRadius); width: auto; @@ -145,7 +146,7 @@ a:active { padding: 20px; margin-bottom: 20px; width: 160px; - border-radius: var(--borderradius); + border-radius: var(--borderRadius); background-color: #fff; @@ -159,7 +160,7 @@ a:active { text-align: center; margin-bottom: 20px; width: 160px; - border-radius: var(--borderradius); + border-radius: var(--borderRadius); background-color: #fff; box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.2), From ed3a2988d0ed353bc9100564cf3f4a09a7aa7532 Mon Sep 17 00:00:00 2001 From: Steffen Vogel Date: Tue, 2 May 2023 15:46:04 +0200 Subject: [PATCH 2/4] add OPAL-RT branding Signed-off-by: Steffen Vogel --- src/branding/branding.js | 12 ++ src/branding/opalrt/img/datamodel.png | Bin 0 -> 196372 bytes src/branding/opalrt/img/eonerc_rwth.svg | 152 +++++++++++++++++ .../opalrt/img/opal-rt-logo-color.svg | 128 ++++++++++++++ src/branding/opalrt/img/villas_web.svg | 158 ++++++++++++++++++ src/branding/opalrt/opalrt-functions.js | 69 ++++++++ src/branding/opalrt/opalrt-values.js | 40 +++++ 7 files changed, 559 insertions(+) create mode 100644 src/branding/opalrt/img/datamodel.png create mode 100644 src/branding/opalrt/img/eonerc_rwth.svg create mode 100644 src/branding/opalrt/img/opal-rt-logo-color.svg create mode 100644 src/branding/opalrt/img/villas_web.svg create mode 100644 src/branding/opalrt/opalrt-functions.js create mode 100644 src/branding/opalrt/opalrt-values.js diff --git a/src/branding/branding.js b/src/branding/branding.js index c839439..0a05483 100644 --- a/src/branding/branding.js +++ b/src/branding/branding.js @@ -21,6 +21,9 @@ import villasweb_values from './villasweb/villasweb-values'; import { slew_home, slew_welcome } from './slew/slew-functions'; import slew_values from './slew/slew-values'; +import { opalrt_home, opalrt_welcome } from './opalrt/opalrt-functions'; +import opalrt_values from './opalrt/opalrt-values'; + import { template_welcome, template_home, template_footer } from './template/template-functions'; import template_values from './template/template-values'; @@ -42,6 +45,9 @@ class Branding { case 'slew': this.values = slew_values; break; + case 'opalrt': + this.values = opalrt_values; + break; case 'template': this.values = template_values; break; @@ -62,6 +68,9 @@ class Branding { case 'slew': homepage = slew_home(); break; + case 'opalrt': + homepage = opalrt_home(); + break; case 'template': homepage = template_home(); break; @@ -94,6 +103,9 @@ class Branding { case 'slew': welcome = slew_welcome(); break; + case 'opalrt': + welcome = opalrt_welcome(); + break; case 'template': welcome = template_welcome(); break; diff --git a/src/branding/opalrt/img/datamodel.png b/src/branding/opalrt/img/datamodel.png new file mode 100644 index 0000000000000000000000000000000000000000..f98745fcbbdf888a9ca6126af1810d15b3bfc31b GIT binary patch literal 196372 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 Y;9s9NZPFjir8leZ(%PB%>u + + +image/svg+xml \ No newline at end of file diff --git a/src/branding/opalrt/img/opal-rt-logo-color.svg b/src/branding/opalrt/img/opal-rt-logo-color.svg new file mode 100644 index 0000000..761d918 --- /dev/null +++ b/src/branding/opalrt/img/opal-rt-logo-color.svg @@ -0,0 +1,128 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/branding/opalrt/img/villas_web.svg b/src/branding/opalrt/img/villas_web.svg new file mode 100644 index 0000000..ccbc714 --- /dev/null +++ b/src/branding/opalrt/img/villas_web.svg @@ -0,0 +1,158 @@ + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + diff --git a/src/branding/opalrt/opalrt-functions.js b/src/branding/opalrt/opalrt-functions.js new file mode 100644 index 0000000..49a21e2 --- /dev/null +++ b/src/branding/opalrt/opalrt-functions.js @@ -0,0 +1,69 @@ +/** + * This file is part of VILLASweb. + * + * VILLASweb is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * VILLASweb is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with VILLASweb. If not, see . + ******************************************************************************/ +import React from 'react'; +import { Button } from 'react-bootstrap'; +import { NavLink } from 'react-router-dom'; + +export function opalrt_welcome() { + let url = 'https://villas.fein-aachen.org/doc/web.html'; + return ( +
+

Welcome!

+

VILLASweb is a tool to configure real-time co-simulations and display simulation real-time data. + It enables the management and monitoring of simulators, models and simulations.

+ + + +
) +} + +export function opalrt_home(title, username, userid, role) { + return ( +
) +} + +export function opalrt_footer() { + return ( + + ); +} diff --git a/src/branding/opalrt/opalrt-values.js b/src/branding/opalrt/opalrt-values.js new file mode 100644 index 0000000..5284aeb --- /dev/null +++ b/src/branding/opalrt/opalrt-values.js @@ -0,0 +1,40 @@ +/** + * This file is part of VILLASweb. + * + * VILLASweb is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * VILLASweb is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with VILLASweb. If not, see . + ******************************************************************************/ + +const villasweb_values = { + title: 'OPAL-RT VILLASweb', + // subtitle: 'OPAL-RT Web Dashboards', + logo: 'villas_web.svg', + pages: { + home: true, + scenarios: true, + infrastructure: true, + account: true, + api: true, + }, + style: { + background: '#f0f4f7', + backgroundText: '#000000', + highlights: '#1158a2', + main: '#092f56', + secondaryText: '#c4c4c4', + fontFamily: 'Open Sans', + // borderRadius: '' + } +} + +export default villasweb_values; From a70debc43f0777232c9e55a6c49dcf62c8466f7f Mon Sep 17 00:00:00 2001 From: Steffen Vogel Date: Tue, 2 May 2023 15:48:33 +0200 Subject: [PATCH 3/4] format branding code Signed-off-by: Steffen Vogel --- src/branding/branding.js | 353 +++++++++--------- src/branding/slew/slew-functions.js | 70 ++-- src/branding/slew/slew-values.js | 46 +-- src/branding/slew/slew.css | 2 +- src/branding/template/template-functions.js | 68 ++-- src/branding/template/template-values.js | 52 +-- src/branding/villasweb/villasweb-functions.js | 16 +- src/branding/villasweb/villasweb-values.js | 32 +- 8 files changed, 319 insertions(+), 320 deletions(-) diff --git a/src/branding/branding.js b/src/branding/branding.js index 0a05483..cf7f16b 100644 --- a/src/branding/branding.js +++ b/src/branding/branding.js @@ -28,188 +28,187 @@ import { template_welcome, template_home, template_footer } from './template/tem import template_values from './template/template-values'; class Branding { - constructor(chosenbrand) { - this.brand = chosenbrand; - this.setValues(); - this.checkValues(); - this.applyStyle(); + constructor(brand) { + this.brand = brand; - Branding.branding = this; + this.setValues(); + this.checkValues(); + this.applyStyle(); + + Branding.branding = this; + } + + setValues() { + switch (this.brand) { + case 'villasweb': + this.values = villasweb_values; + break; + case 'slew': + this.values = slew_values; + break; + case 'opalrt': + this.values = opalrt_values; + break; + case 'template': + this.values = template_values; + break; + default: + console.error("Branding '" + this.brand + "' not available, will use 'villasweb' branding"); + this.brand = 'villasweb'; + this.values = villasweb_values; + break; + } + } + + getHome(username = '', userid = '', role = '') { + var homepage = ''; + switch (this.brand) { + case 'villasweb': + homepage = villasweb_home(this.getTitle(), username, userid, role); + break; + case 'slew': + homepage = slew_home(); + break; + case 'opalrt': + homepage = opalrt_home(); + break; + case 'template': + homepage = template_home(); + break; + default: + homepage = villasweb_home(this.getTitle(), username, userid, role); + break; + } + return homepage; + } + + getFooter() { + var footer = ''; + switch (this.brand) { + case 'template': + footer = template_footer(); + break; + default: + footer = villasweb_footer(); + break; + } + return footer; + } + + getWelcome() { + var welcome = ''; + switch (this.brand) { + case 'villasweb': + welcome = villasweb_welcome(); + break; + case 'slew': + welcome = slew_welcome(); + break; + case 'opalrt': + welcome = opalrt_welcome(); + break; + case 'template': + welcome = template_welcome(); + break; + default: + welcome = this.defaultWelcome(); + break; + } + return welcome; + } + + defaultWelcome() { + return (

Welcome!

This is the welcome page and you are very welcome here.

); + } + + // if icon cannot be found, the default favicon will be used + changeHead() { + // set title of document + let title = this.getTitle(); + if (this.getSubtitle()) { + title += " " + this.getSubtitle(); + } + document.title = title; + + // set document icon + if (!this.values.icon) { + return; + } + var oldlink = document.getElementById('dynamic-favicon'); + + var link = document.createElement('link'); + link.id = 'dynamic-favicon'; + link.rel = 'shortcut icon' + link.href = '/' + this.values.icon; + + if (oldlink) { + document.head.removeChild(oldlink); + } + document.head.appendChild(link); + } + + checkValues() { + if (!this.values.hasOwnProperty('pages')) { + let pages = {}; + pages.home = true; + pages.scenarios = true; + pages.infrastructure = true; + pages.users = true; + pages.account = true; + pages.api = true; + + this.values.pages = pages; + } else { + if (!this.values.pages.hasOwnProperty('home')) { + this.values.pages['home'] = false; + } + if (!this.values.pages.hasOwnProperty('scenarios')) { + this.values.pages['scenarios'] = false; + } + if (!this.values.pages.hasOwnProperty('infrastructure')) { + this.values.pages['infrastructure'] = false; + } + if (!this.values.pages.hasOwnProperty('users')) { + this.values.pages['users'] = false; + } + if (!this.values.pages.hasOwnProperty('account')) { + this.values.pages['account'] = false; + } + if (!this.values.pages.hasOwnProperty('api')) { + this.values.pages['api'] = false; + } + } + } + + applyStyle() { + this.changeHead(); + + const rootEl = document.querySelector(':root'); + + for (const [key, value] of Object.entries(this.values.style)) { + rootEl.style.setProperty('--' + key, value); + } + } + + getLogo(style) { + let image = null; + + try { + image = {'Logo + } catch (err) { + console.error("cannot find './" + this.brand + '/img/' + this.values.logo + "'"); } - setValues() { - switch (this.brand) { - case 'villasweb': - this.values = villasweb_values; - break; - case 'slew': - this.values = slew_values; - break; - case 'opalrt': - this.values = opalrt_values; - break; - case 'template': - this.values = template_values; - break; - default: - console.error("Branding '" + this.brand + "' not available, will use 'villasweb' branding"); - this.brand = 'villasweb'; - this.values = villasweb_values; - break; - } - } + return image; + } - getHome(username = '', userid = '', role = '') { - var homepage = ''; - switch (this.brand) { - case 'villasweb': - homepage = villasweb_home(this.getTitle(), username, userid, role); - break; - case 'slew': - homepage = slew_home(); - break; - case 'opalrt': - homepage = opalrt_home(); - break; - case 'template': - homepage = template_home(); - break; - default: - homepage = villasweb_home(this.getTitle(), username, userid, role); - break; - } - return homepage; - } + getTitle() { + return this.values.title ? this.values.title : "No Title!"; + } - getFooter() { - var footer = ''; - switch(this.brand) { - case 'template': - footer = template_footer(); - break; - default: - footer = villasweb_footer(); - break; - } - return footer; - } - - getWelcome() { - var welcome = ''; - switch (this.brand) { - case 'villasweb': - welcome = villasweb_welcome(); - break; - case 'slew': - welcome = slew_welcome(); - break; - case 'opalrt': - welcome = opalrt_welcome(); - break; - case 'template': - welcome = template_welcome(); - break; - default: - welcome = this.defaultWelcome(); - break; - } - return welcome; - } - - defaultWelcome() { - return (

Welcome!

This is the welcome page and you are very welcome here.

); - } - - // if icon cannot be found, the default favicon will be used - changeHead() { - // set title of document - let title = this.getTitle(); - if (this.getSubtitle()) { - title += " " + this.getSubtitle(); - } - document.title = title; - - // set document icon - if (!this.values.icon) { - return; - } - var oldlink = document.getElementById('dynamic-favicon'); - - var link = document.createElement('link'); - link.id = 'dynamic-favicon'; - link.rel = 'shortcut icon' - link.href = '/' + this.values.icon; - - if (oldlink) { - document.head.removeChild(oldlink); - } - document.head.appendChild(link); - } - - checkValues() { - if (!this.values.hasOwnProperty('pages')) { - let pages = {}; - pages.home = true; - pages.scenarios = true; - pages.infrastructure = true; - pages.users = true; - pages.account = true; - pages.api = true; - - this.values.pages = pages; - } else { - if (!this.values.pages.hasOwnProperty('home')) { - this.values.pages['home'] = false; - } - if (!this.values.pages.hasOwnProperty('scenarios')) { - this.values.pages['scenarios'] = false; - } - if (!this.values.pages.hasOwnProperty('infrastructure')) { - this.values.pages['infrastructure'] = false; - } - if (!this.values.pages.hasOwnProperty('users')) { - this.values.pages['users'] = false; - } - if (!this.values.pages.hasOwnProperty('account')) { - this.values.pages['account'] = false; - } - if (!this.values.pages.hasOwnProperty('api')) { - this.values.pages['api'] = false; - } - } - } - - applyStyle() { - this.changeHead(); - - const rootEl = document.querySelector(':root'); - - for (const [key, value] of Object.entries(this.values.style)) { - rootEl.style.setProperty('--' + key, value); - } - } - - getLogo(style) { - let image = null; - - try { - image = {'Logo - } catch (err) { - console.error("cannot find './" + this.brand + '/img/' + this.values.logo + "'"); - } - - return image; - } - - - - getTitle() { - return this.values.title ? this.values.title : "No Title!"; - } - - getSubtitle() { - return this.values.subtitle ? this.values.subtitle : null; - } + getSubtitle() { + return this.values.subtitle ? this.values.subtitle : null; + } }; var branding = new Branding(process.env.REACT_APP_BRAND); diff --git a/src/branding/slew/slew-functions.js b/src/branding/slew/slew-functions.js index 05bd8d2..b584a36 100644 --- a/src/branding/slew/slew-functions.js +++ b/src/branding/slew/slew-functions.js @@ -19,48 +19,48 @@ import './slew.css' export function slew_home() { - return ( -
-

Home

-

- Welcome to SLEW! -

-

SLEW is a learning platform for running experiments in a virtual power engineering world. - The platform enables interaction with the experiments in real time and performing analysis on the experimental results.

+ return ( +
+

Home

+

+ Welcome to SLEW! +

+

SLEW is a learning platform for running experiments in a virtual power engineering world. + The platform enables interaction with the experiments in real time and performing analysis on the experimental results.

-

The motivation behind SLEW is the ongoing transformation of the energy system, which is making the system more and more complex. - Hence, understanding new phenomena and underlying interactions is getting more challenging, also because real experimental - activities for obtaining a better understanding are not possible for obvious reasons of security and safety.

+

The motivation behind SLEW is the ongoing transformation of the energy system, which is making the system more and more complex. + Hence, understanding new phenomena and underlying interactions is getting more challenging, also because real experimental + activities for obtaining a better understanding are not possible for obvious reasons of security and safety.

-

The SLEW platform gives the possibility to perform experiments in a virtual infrastructure and to learn from the execution - of complex models. It provides a virtual power engineering world where complex phenomena take place while users can interact - with the system in real time.

+

The SLEW platform gives the possibility to perform experiments in a virtual infrastructure and to learn from the execution + of complex models. It provides a virtual power engineering world where complex phenomena take place while users can interact + with the system in real time.

-

The platform is based on the real-time simulation tool DPsim developed in RWTH, - which is available as open-source software project to the power engineering community. Besides, it integrates the interactive - computing environment Jupyter for further analysis of experimental results.

+

The platform is based on the real-time simulation tool DPsim developed in RWTH, + which is available as open-source software project to the power engineering community. Besides, it integrates the interactive + computing environment Jupyter for further analysis of experimental results.

-

Contacts

- +

Contacts

+ -

Credits

-
- Logo EONERC - Logo Erigrid - Logo EU -
-
) +

Credits

+
+ Logo EONERC + Logo Erigrid + Logo EU +
+
) } export function slew_welcome() { return ( -
-

Welcome!

-

SLEW is a learning platform for running experiments in a virtual power engineering world. - The platform enables to interact with the experiments in real time and perform analyses on the experimental results.

-
) +
+

Welcome!

+

SLEW is a learning platform for running experiments in a virtual power engineering world. + The platform enables to interact with the experiments in real time and perform analyses on the experimental results.

+
) } diff --git a/src/branding/slew/slew-values.js b/src/branding/slew/slew-values.js index 102079b..4327656 100644 --- a/src/branding/slew/slew-values.js +++ b/src/branding/slew/slew-values.js @@ -16,29 +16,29 @@ ******************************************************************************/ const slew_values = { - title: 'SLEW', - subtitle: 'Second Life for Energiewende', - icon: "slew_blue.png", - logo: "slew_logo.png", - pages: { - home: true, - scenarios: true, - infrastructure: false, - account: false, - api: false - }, - links: { - "DPsim Simulator": "https://dpsim.fein-aachen.org", - "VILLASframework": "https://villas.fein-aachen.org/doc" - }, - style: { - background: 'rgba(207,209,210, 1)', - highlights: 'rgba(0,84,159, 0.75)', - main: 'rgba(80,80,80, 1)', - secondaryText: 'rgba(80,80,80, 0.9)', - fontFamily: "Roboto, sans-serif", - borderRadius: "10px" - } + title: 'SLEW', + subtitle: 'Second Life for Energiewende', + icon: "slew_blue.png", + logo: "slew_logo.png", + pages: { + home: true, + scenarios: true, + infrastructure: false, + account: false, + api: false + }, + links: { + "DPsim Simulator": "https://dpsim.fein-aachen.org", + "VILLASframework": "https://villas.fein-aachen.org/doc" + }, + style: { + background: 'rgba(207,209,210, 1)', + highlights: 'rgba(0,84,159, 0.75)', + main: 'rgba(80,80,80, 1)', + secondaryText: 'rgba(80,80,80, 0.9)', + fontFamily: "Roboto, sans-serif", + borderRadius: "10px" + } } export default slew_values; diff --git a/src/branding/slew/slew.css b/src/branding/slew/slew.css index c8f2ddf..a91c54b 100644 --- a/src/branding/slew/slew.css +++ b/src/branding/slew/slew.css @@ -1,4 +1,4 @@ #images { margin-left: 2em; margin-right: 2em -} \ No newline at end of file +} diff --git a/src/branding/template/template-functions.js b/src/branding/template/template-functions.js index d6b8d58..7ddf98d 100644 --- a/src/branding/template/template-functions.js +++ b/src/branding/template/template-functions.js @@ -14,39 +14,39 @@ * You should have received a copy of the GNU General Public License * along with VILLASweb. If not, see . ******************************************************************************/ - import React from 'react'; +import React from 'react'; - - export function template_home() { - return ( -
- Template Logo -

Home

-

- Welcome to BRAND! -

-

Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut - labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. - Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.

- -

Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore - et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. - Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.

-
) - } - - export function template_welcome() { - return ( -
-

Welcome!

-

Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut - labore et dolore magna aliquyam erat, sed diam voluptua.

-
) - } - export function template_footer() { - return ( -
-

HELLO WORLD, THIS IS MY FOOTER!

-
) - } \ No newline at end of file +export function template_home() { + return ( +
+ Template Logo +

Home

+

+ Welcome to BRAND! +

+

Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut + labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. + Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.

+ +

Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore + et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. + Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.

+
) +} + +export function template_welcome() { + return ( +
+

Welcome!

+

Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut + labore et dolore magna aliquyam erat, sed diam voluptua.

+
) +} + +export function template_footer() { + return ( +
+

HELLO WORLD, THIS IS MY FOOTER!

+
) +} diff --git a/src/branding/template/template-values.js b/src/branding/template/template-values.js index d74304c..4b1bb0c 100644 --- a/src/branding/template/template-values.js +++ b/src/branding/template/template-values.js @@ -15,30 +15,30 @@ * along with VILLASweb. If not, see . ******************************************************************************/ - const template_values = { - title: 'Template', - subtitle: 'change me!', - icon: "template_logo.svg", - pages: { - home: true, - scenarios: true, - infrastructure: true, - users: true, - account: true, - api: true - }, - links: { - "Google": "https://www.google.com/", - "StackOverFlow": "https://stackoverflow.com/" - }, - style: { - background: 'rgba(50,30,90, 0.6)', - highlights: 'rgba(0,230,5, 0.75)', - main: 'rgba(255,0,0, 1)', - secondaryText: 'rgba(0,0,100, 0.8)', - fontFamily: "Comic Sans, sans-serif", - borderRadius: "60px" - } - } +const template_values = { + title: 'Template', + subtitle: 'change me!', + icon: "template_logo.svg", + pages: { + home: true, + scenarios: true, + infrastructure: true, + users: true, + account: true, + api: true + }, + links: { + "Google": "https://www.google.com/", + "StackOverFlow": "https://stackoverflow.com/" + }, + style: { + background: 'rgba(50,30,90, 0.6)', + highlights: 'rgba(0,230,5, 0.75)', + main: 'rgba(255,0,0, 1)', + secondaryText: 'rgba(0,0,100, 0.8)', + fontFamily: "Comic Sans, sans-serif", + borderRadius: "60px" + } +} - export default template_values; +export default template_values; diff --git a/src/branding/villasweb/villasweb-functions.js b/src/branding/villasweb/villasweb-functions.js index 21f52f3..035da0b 100644 --- a/src/branding/villasweb/villasweb-functions.js +++ b/src/branding/villasweb/villasweb-functions.js @@ -22,14 +22,14 @@ import { NavLink } from 'react-router-dom'; export function villasweb_welcome() { let url = 'https://villas.fein-aachen.org/doc/web.html'; return ( -
-

Welcome!

-

VILLASweb is a tool to configure real-time co-simulations and display simulation real-time data. - It enables the management and monitoring of simulators, models and simulations.

- - - -
) +
+

Welcome!

+

VILLASweb is a tool to configure real-time co-simulations and display simulation real-time data. + It enables the management and monitoring of simulators, models and simulations.

+ + + +
) } export function villasweb_home(title, username, userid, role) { diff --git a/src/branding/villasweb/villasweb-values.js b/src/branding/villasweb/villasweb-values.js index 0a73c7f..3d23530 100644 --- a/src/branding/villasweb/villasweb-values.js +++ b/src/branding/villasweb/villasweb-values.js @@ -16,22 +16,22 @@ ******************************************************************************/ const villasweb_values = { - title: 'VILLASweb', - subtitle: 'ACS', - logo: 'villas_web.svg', - pages: { - home: true, - scenarios: true, - infrastructure: true, - account: true, - api: true, - }, - style: { - background: '#6EA2B0', - highlights: '#527984', - main: '#4d4d4d', - secondaryText: '#818181', - } + title: 'VILLASweb', + subtitle: 'ACS', + logo: 'villas_web.svg', + pages: { + home: true, + scenarios: true, + infrastructure: true, + account: true, + api: true, + }, + style: { + background: '#6EA2B0', + highlights: '#527984', + main: '#4d4d4d', + secondaryText: '#818181', + } } export default villasweb_values; From af9c10b86c86725aedcc8a430cc1c7650569f732 Mon Sep 17 00:00:00 2001 From: Steffen Vogel Date: Tue, 2 May 2023 15:54:34 +0200 Subject: [PATCH 4/4] build opalrt branding in CI Signed-off-by: Steffen Vogel --- .gitlab-ci.yml | 44 +++++++++++++++++++++++++++----------------- 1 file changed, 27 insertions(+), 17 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 9a32b08..d619f5c 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -24,26 +24,16 @@ build.slew: DOCKER_TAG: ${CI_COMMIT_BRANCH}-${BRANDING} extends: build -deploy.latest: - stage: deploy +build.opalrt: variables: - DOCKER_TAG: latest - before_script: - - docker login -u ${CI_REGISTRY_USER} -p ${CI_REGISTRY_PASSWORD} ${CI_REGISTRY} - script: - - docker push ${DOCKER_IMAGE}:${DOCKER_TAG} - only: - refs: - - master - tags: - - docker - dependencies: - - build + BRANDING: opalrt + DOCKER_TAG: ${CI_COMMIT_BRANCH}-${BRANDING} + extends: build -deploy.slew: +deploy: stage: deploy variables: - BRANDING: slew + BRANDING: villasweb DOCKER_TAG: ${CI_COMMIT_BRANCH}-${BRANDING} before_script: - docker login -u ${CI_REGISTRY_USER} -p ${CI_REGISTRY_PASSWORD} ${CI_REGISTRY} @@ -52,4 +42,24 @@ deploy.slew: tags: - docker dependencies: - - build.slew + - build + +deploy.slew: + extends: deploy + variables: + BRANDING: slew + DOCKER_TAG: ${CI_COMMIT_BRANCH}-${BRANDING} + +deploy.opalrt: + extends: deploy + variables: + BRANDING: opalrt + DOCKER_TAG: ${CI_COMMIT_BRANCH}-${BRANDING} + +deploy.latest: + extends: deploy + variables: + DOCKER_TAG: latest + only: + refs: + - master