From cd635d478bbdbb20640bcfdeb975e398617ee9b5 Mon Sep 17 00:00:00 2001 From: pkupczyk <piotr.kupczyk@id.ethz.ch> Date: Thu, 25 May 2023 12:14:51 +0200 Subject: [PATCH] SSDM-13504 : unify logos and icons : admin ui part using webpack bundling + regular urls for webmanifest related files --- ui-admin/index.html | 8 +++--- ui-admin/package.json | 1 + ui-admin/src/js/components/login/Login.jsx | 2 +- ui-admin/src/js/webmanifest.js | 25 ------------------ .../img/android-chrome-192x192.png | Bin .../img/android-chrome-512x512.png | Bin .../{ => resources}/img/apple-touch-icon.png | Bin .../src/{ => resources}/img/favicon-16x16.png | Bin .../src/{ => resources}/img/favicon-32x32.png | Bin ui-admin/src/{ => resources}/img/favicon.ico | Bin .../img/openbis-favicon-transparent.png | Bin .../img/openbis-logo-transparent.png | Bin .../src/resources/manifest/site.webmanifest | 19 +++++++++++++ ui-admin/webpack.config.dev.js | 16 +++++------ ui-admin/webpack.config.js | 10 +++---- 15 files changed, 36 insertions(+), 45 deletions(-) delete mode 100644 ui-admin/src/js/webmanifest.js rename ui-admin/src/{ => resources}/img/android-chrome-192x192.png (100%) rename ui-admin/src/{ => resources}/img/android-chrome-512x512.png (100%) rename ui-admin/src/{ => resources}/img/apple-touch-icon.png (100%) rename ui-admin/src/{ => resources}/img/favicon-16x16.png (100%) rename ui-admin/src/{ => resources}/img/favicon-32x32.png (100%) rename ui-admin/src/{ => resources}/img/favicon.ico (100%) rename ui-admin/src/{ => resources}/img/openbis-favicon-transparent.png (100%) rename ui-admin/src/{ => resources}/img/openbis-logo-transparent.png (100%) create mode 100644 ui-admin/src/resources/manifest/site.webmanifest diff --git a/ui-admin/index.html b/ui-admin/index.html index 0aa3e2a03bb..5250d61c8af 100644 --- a/ui-admin/index.html +++ b/ui-admin/index.html @@ -3,10 +3,10 @@ <head> <title>openBIS Admin</title> <meta charset="utf-8" /> - <link rel="apple-touch-icon" sizes="180x180" href="<%= require('@src/img/apple-touch-icon.png') %>"> - <link rel="icon" type="image/png" sizes="32x32" href="<%= require('@src/img/favicon-32x32.png?url') %>"> - <link rel="icon" type="image/png" sizes="16x16" href="<%= require('@src/img/favicon-16x16.png?url') %>"> - <link rel="manifest" href="<%= require('@src/js/webmanifest.js').default %>"> + <link rel="apple-touch-icon" sizes="180x180" href="<%= require('@src/resources/img/apple-touch-icon.png') %>"> + <link rel="icon" type="image/png" sizes="32x32" href="<%= require('@src/resources/img/favicon-32x32.png') %>"> + <link rel="icon" type="image/png" sizes="16x16" href="<%= require('@src/resources/img/favicon-16x16.png') %>"> + <link rel="manifest" href="manifest/site.webmanifest"> <style> html { diff --git a/ui-admin/package.json b/ui-admin/package.json index caed5e74b6a..134257eaabd 100644 --- a/ui-admin/package.json +++ b/ui-admin/package.json @@ -41,6 +41,7 @@ "babel-jest": "^29.3.1", "babel-loader": "^9.1.0", "babel-plugin-transform-amd-to-commonjs": "^1.6.0", + "copy-webpack-plugin": "^11.0.0", "css-loader": "^6.7.3", "enzyme": "^3.11.0", "enzyme-adapter-react-16": "^1.15.7", diff --git a/ui-admin/src/js/components/login/Login.jsx b/ui-admin/src/js/components/login/Login.jsx index d9c0b6a8ffa..46592d7ba87 100644 --- a/ui-admin/src/js/components/login/Login.jsx +++ b/ui-admin/src/js/components/login/Login.jsx @@ -18,7 +18,7 @@ import openbis from '@src/js/services/openbis.js' import messages from '@src/js/common/messages.js' import logger from '@src/js/common/logger.js' -import Logo from '@src/img/openbis-logo-transparent.png' +import Logo from '@src/resources/img/openbis-logo-transparent.png' const styles = theme => ({ card: { diff --git a/ui-admin/src/js/webmanifest.js b/ui-admin/src/js/webmanifest.js deleted file mode 100644 index debc48bd7da..00000000000 --- a/ui-admin/src/js/webmanifest.js +++ /dev/null @@ -1,25 +0,0 @@ -import AndroidChrome192 from '@src/img/android-chrome-192x192.png?url' -import AndroidChrome512 from '@src/img/android-chrome-512x512.png?url' - -const config = { - name: 'openBIS Admin UI', - short_name: 'Admin UI', - icons: [ - { - src: AndroidChrome192, - sizes: '192x192', - type: 'image/png' - }, - { - src: AndroidChrome512, - sizes: '512x512', - type: 'image/png' - } - ], - theme_color: '#ffffff', - background_color: '#ffffff', - display: 'standalone' -} - -export default 'data:application/manifest+json;base64,' + - Buffer.from(JSON.stringify(config)).toString('base64') diff --git a/ui-admin/src/img/android-chrome-192x192.png b/ui-admin/src/resources/img/android-chrome-192x192.png similarity index 100% rename from ui-admin/src/img/android-chrome-192x192.png rename to ui-admin/src/resources/img/android-chrome-192x192.png diff --git a/ui-admin/src/img/android-chrome-512x512.png b/ui-admin/src/resources/img/android-chrome-512x512.png similarity index 100% rename from ui-admin/src/img/android-chrome-512x512.png rename to ui-admin/src/resources/img/android-chrome-512x512.png diff --git a/ui-admin/src/img/apple-touch-icon.png b/ui-admin/src/resources/img/apple-touch-icon.png similarity index 100% rename from ui-admin/src/img/apple-touch-icon.png rename to ui-admin/src/resources/img/apple-touch-icon.png diff --git a/ui-admin/src/img/favicon-16x16.png b/ui-admin/src/resources/img/favicon-16x16.png similarity index 100% rename from ui-admin/src/img/favicon-16x16.png rename to ui-admin/src/resources/img/favicon-16x16.png diff --git a/ui-admin/src/img/favicon-32x32.png b/ui-admin/src/resources/img/favicon-32x32.png similarity index 100% rename from ui-admin/src/img/favicon-32x32.png rename to ui-admin/src/resources/img/favicon-32x32.png diff --git a/ui-admin/src/img/favicon.ico b/ui-admin/src/resources/img/favicon.ico similarity index 100% rename from ui-admin/src/img/favicon.ico rename to ui-admin/src/resources/img/favicon.ico diff --git a/ui-admin/src/img/openbis-favicon-transparent.png b/ui-admin/src/resources/img/openbis-favicon-transparent.png similarity index 100% rename from ui-admin/src/img/openbis-favicon-transparent.png rename to ui-admin/src/resources/img/openbis-favicon-transparent.png diff --git a/ui-admin/src/img/openbis-logo-transparent.png b/ui-admin/src/resources/img/openbis-logo-transparent.png similarity index 100% rename from ui-admin/src/img/openbis-logo-transparent.png rename to ui-admin/src/resources/img/openbis-logo-transparent.png diff --git a/ui-admin/src/resources/manifest/site.webmanifest b/ui-admin/src/resources/manifest/site.webmanifest new file mode 100644 index 00000000000..9641ebbd5ea --- /dev/null +++ b/ui-admin/src/resources/manifest/site.webmanifest @@ -0,0 +1,19 @@ +{ + "name": "openBIS Admin UI", + "short_name": "Admin UI", + "icons": [ + { + "src": "img/android-chrome-192x192.png", + "sizes": "192x192", + "type": "image/png" + }, + { + "src": "img/android-chrome-512x512.png", + "sizes": "512x512", + "type": "image/png" + } + ], + "theme_color": "#ffffff", + "background_color": "#ffffff", + "display": "standalone" +} diff --git a/ui-admin/webpack.config.dev.js b/ui-admin/webpack.config.dev.js index 48b3422098f..ee809179fc3 100644 --- a/ui-admin/webpack.config.dev.js +++ b/ui-admin/webpack.config.dev.js @@ -1,6 +1,7 @@ /* eslint-disable */ const Webpack = require('webpack') const HtmlWebpackPlugin = require('html-webpack-plugin') +const CopyWebpackPlugin = require('copy-webpack-plugin') const path = require('path') module.exports = { @@ -25,9 +26,12 @@ module.exports = { devMiddleware: { publicPath: '/admin/' }, - static: { - directory: './src/js' - } + static: [ + { + directory: './src/resources', + publicPath: '/admin' + } + ] }, devtool: 'source-map', @@ -47,14 +51,8 @@ module.exports = { }, { test: /\.(png|svg|jpg|jpeg|gif|ico)$/i, - resourceQuery: { not: [/url/] }, type: 'asset' }, - { - test: /\.(png|svg|jpg|jpeg|gif|ico)$/i, - resourceQuery: /url/, - type: 'asset/resource' - }, { test: /\.(woff2?|eot|ttf|otf)(\?.*)?$/, loader: 'url-loader', diff --git a/ui-admin/webpack.config.js b/ui-admin/webpack.config.js index 249ba677fcf..9dfc3316f8e 100644 --- a/ui-admin/webpack.config.js +++ b/ui-admin/webpack.config.js @@ -1,6 +1,7 @@ /* eslint-disable */ const Webpack = require('webpack') const HtmlWebpackPlugin = require('html-webpack-plugin') +const CopyWebpackPlugin = require('copy-webpack-plugin') const path = require('path') module.exports = { @@ -26,14 +27,8 @@ module.exports = { }, { test: /\.(png|svg|jpg|jpeg|gif|ico)$/i, - resourceQuery: { not: [/url/] }, type: 'asset' }, - { - test: /\.(png|svg|jpg|jpeg|gif|ico)$/i, - resourceQuery: /url/, - type: 'asset/resource' - }, { test: /\.(woff2?|eot|ttf|otf)(\?.*)?$/, loader: 'url-loader', @@ -67,6 +62,9 @@ module.exports = { }), new Webpack.ProvidePlugin({ process: 'process/browser' + }), + new CopyWebpackPlugin({ + patterns: [{ from: 'src/resources' }] }) ] } -- GitLab