From a2b69a08e2968822c466efd3dd470dc439fccce6 Mon Sep 17 00:00:00 2001
From: Juan Picado <juanpicado19@gmail.com>
Date: Sat, 12 Mar 2022 22:42:05 +0100
Subject: [PATCH] add banner support ukraine (#3060)

* add banner support ukraine

* fix test

* add blood link

* Update packages/plugins/ui-theme/src/App/Header/Support/Support.tsx

Co-authored-by: Daniel Ruf <827205+DanielRuf@users.noreply.github.com>

Co-authored-by: Daniel Ruf <827205+DanielRuf@users.noreply.github.com>
---
 .changeset/brown-pandas-wink.md               |   5 +
 packages/plugins/ui-theme/jest/jest.config.js |   1 +
 .../ui-theme/src/App/Header/HeaderRight.tsx   |   2 +
 .../src/App/Header/HeaderToolTipIcon.tsx      |   2 -
 .../src/App/Header/Support/Support.tsx        | 139 ++++++++++++++++++
 .../ui-theme/src/App/Header/Support/index.ts  |   3 +
 .../ui-theme/src/App/Header/Support/uk.jpg    | Bin 0 -> 9466 bytes
 .../ui-theme/src/components/Logo/Logo.tsx     |   4 +-
 .../src/components/Logo/img/logo-uk.svg       |  38 +++++
 .../plugins/ui-theme/src/template/favicon.ico | Bin 15086 -> 7406 bytes
 .../ui-theme/src/template/favicon_green.ico   | Bin 0 -> 15086 bytes
 .../tools/webpack.dev.config.babel.js         |   1 +
 website/static/img/favicon/favicon.ico        | Bin 15086 -> 7406 bytes
 website/static/img/favicon/favicon_green.ico  | Bin 0 -> 15086 bytes
 14 files changed, 191 insertions(+), 4 deletions(-)
 create mode 100644 .changeset/brown-pandas-wink.md
 create mode 100644 packages/plugins/ui-theme/src/App/Header/Support/Support.tsx
 create mode 100644 packages/plugins/ui-theme/src/App/Header/Support/index.ts
 create mode 100644 packages/plugins/ui-theme/src/App/Header/Support/uk.jpg
 create mode 100644 packages/plugins/ui-theme/src/components/Logo/img/logo-uk.svg
 create mode 100644 packages/plugins/ui-theme/src/template/favicon_green.ico
 create mode 100644 website/static/img/favicon/favicon_green.ico

diff --git a/.changeset/brown-pandas-wink.md b/.changeset/brown-pandas-wink.md
new file mode 100644
index 000000000..0399892d1
--- /dev/null
+++ b/.changeset/brown-pandas-wink.md
@@ -0,0 +1,5 @@
+---
+'@verdaccio/ui-theme': patch
+---
+
+add banner support ukraine
diff --git a/packages/plugins/ui-theme/jest/jest.config.js b/packages/plugins/ui-theme/jest/jest.config.js
index 776160773..266e64124 100644
--- a/packages/plugins/ui-theme/jest/jest.config.js
+++ b/packages/plugins/ui-theme/jest/jest.config.js
@@ -29,6 +29,7 @@ module.exports = Object.assign({}, config, {
     '\\.(s?css)$': '<rootDir>/jest/identity.js',
     '\\.(png)$': '<rootDir>/jest/identity.js',
     '\\.(svg)$': '<rootDir>/jest/unit/empty.ts',
+    '\\.(jpg)$': '<rootDir>/jest/unit/empty.ts',
     'github-markdown-css': '<rootDir>/jest/identity.js',
     // note: this section has to be on sync with webpack configuration
     'verdaccio-ui/components/(.*)': '<rootDir>/src/components/$1',
diff --git a/packages/plugins/ui-theme/src/App/Header/HeaderRight.tsx b/packages/plugins/ui-theme/src/App/Header/HeaderRight.tsx
index e47cfa134..936429dd8 100644
--- a/packages/plugins/ui-theme/src/App/Header/HeaderRight.tsx
+++ b/packages/plugins/ui-theme/src/App/Header/HeaderRight.tsx
@@ -5,6 +5,7 @@ import ThemeContext from 'verdaccio-ui/design-tokens/ThemeContext';
 
 import HeaderMenu from './HeaderMenu';
 import HeaderToolTip from './HeaderToolTip';
+import { Support } from './Support';
 import { RightSide } from './styles';
 
 interface Props {
@@ -78,6 +79,7 @@ const HeaderRight: React.FC<Props> = ({
           tooltipIconType={'search'}
         />
       )}
+      <Support />
       <HeaderToolTip title={t('header.documentation')} tooltipIconType={'help'} />
       <HeaderToolTip
         onClick={onOpenRegistryInfoDialog}
diff --git a/packages/plugins/ui-theme/src/App/Header/HeaderToolTipIcon.tsx b/packages/plugins/ui-theme/src/App/Header/HeaderToolTipIcon.tsx
index b3d57b6ed..796ed21cd 100644
--- a/packages/plugins/ui-theme/src/App/Header/HeaderToolTipIcon.tsx
+++ b/packages/plugins/ui-theme/src/App/Header/HeaderToolTipIcon.tsx
@@ -55,7 +55,6 @@ const HeaderToolTipIcon = forwardRef<HeaderToolTipIconRef, Props>(function Heade
         </IconSearchButton>
       );
     case 'dark-mode':
-      // todo(Priscila): Add Zoom transition effect
       return (
         <IconButton color="inherit" onClick={onClick} ref={ref} size="large">
           <NightsStay />
@@ -63,7 +62,6 @@ const HeaderToolTipIcon = forwardRef<HeaderToolTipIconRef, Props>(function Heade
       );
 
     case 'light-mode':
-      // todo(Priscila): Add Zoom transition effect
       return (
         <IconButton color="inherit" onClick={onClick} ref={ref} size="large">
           <WbSunny />
diff --git a/packages/plugins/ui-theme/src/App/Header/Support/Support.tsx b/packages/plugins/ui-theme/src/App/Header/Support/Support.tsx
new file mode 100644
index 000000000..ab3641659
--- /dev/null
+++ b/packages/plugins/ui-theme/src/App/Header/Support/Support.tsx
@@ -0,0 +1,139 @@
+/* eslint-disable verdaccio/jsx-no-style */
+
+/* eslint-disable react/jsx-max-depth */
+
+/* eslint-disable react/jsx-pascal-case */
+import styled from '@emotion/styled';
+import { Theme } from '@mui/material';
+import Box from '@mui/material/Box';
+import Divider from '@mui/material/Divider';
+import Grid from '@mui/material/Grid';
+import IconButton from '@mui/material/IconButton';
+import Modal from '@mui/material/Modal';
+import Tooltip from '@mui/material/Tooltip';
+import Typography from '@mui/material/Typography';
+import FlagsIcon from 'country-flag-icons/react/3x2';
+import React from 'react';
+
+import flag from './uk.jpg';
+
+const style = {
+  position: 'absolute',
+  top: '50%',
+  left: '50%',
+  transform: 'translate(-50%, -50%)',
+  bgcolor: 'background.paper',
+  border: '2px solid #000',
+  boxShadow: 24,
+  p: 4,
+};
+
+const Flags = styled('span')<{ theme?: Theme }>(() => ({
+  width: '25px',
+}));
+
+const title = 'Support people affected by the war in Ukraine';
+const Support = () => {
+  const [open, setOpen] = React.useState(false);
+  const handleOpen = () => setOpen(true);
+  const handleClose = () => setOpen(false);
+  return (
+    <>
+      <Tooltip title={title}>
+        <IconButton color="inherit" onClick={handleOpen} size="large">
+          <Flags>
+            <FlagsIcon.UA />
+          </Flags>
+        </IconButton>
+      </Tooltip>
+      <Modal
+        aria-describedby="modal-modal-description"
+        aria-labelledby="modal-modal-title"
+        onClose={handleClose}
+        open={open}
+      >
+        <Box sx={style}>
+          <Grid container={true} spacing={2}>
+            <Grid item={true} xs={12}>
+              <Typography component="h2" variant="h6">
+                {title}
+              </Typography>
+              <Divider />
+            </Grid>
+            <Grid item={true} lg={4} xs={12}>
+              <img alt={title} height="150" src={flag} />
+            </Grid>
+            <Grid item={true} lg={8} xs={12}>
+              <span style={{ fontStyle: 'italic', fontSize: '0.75rem' }}>
+                <Typography>
+                  {`Hi, this is a message that I've composed to call your attention to ask 
+                for humanitarian support for more than 44 million Ukrainians that are having 
+                a  hard time suffering for a horrible and unjustified war. It would be great if you
+                decide today to make a difference and help others. You could help by donating 
+                to very well-known humanitarian organizations, helping in your local 
+                area with food, clothes, donate blood, toys for kids, or your own time. Any help is very welcome.`}
+                </Typography>
+              </span>
+              <ul style={{ padding: '10px 0' }}>
+                <li>
+                  <a
+                    href="https://twitter.com/denysdovhan/status/1501486563842211843"
+                    rel="noreferrer"
+                    target="_blank"
+                  >
+                    {'Listen at Twitter OSS developers about the war'}
+                  </a>
+                </li>
+                <li>
+                  <a
+                    href="https://snyk.io/blog/celebrating-amazing-open-source-innovation-ukraine/"
+                    rel="noreferrer"
+                    target="_blank"
+                  >
+                    {'Learn more about Open Source developers in Ukraine'}
+                  </a>
+                </li>
+                <li>
+                  <a
+                    href="https://www.savethechildren.org/us/where-we-work/ukraine/"
+                    rel="noreferrer"
+                    target="_blank"
+                  >
+                    {'Donate to Save the Children'}
+                  </a>
+                </li>
+                <li>
+                  <a href="https://www.ifrc.org/" rel="noreferrer" target="_blank">
+                    {'Donate to the International Red Cross'}
+                  </a>
+                </li>
+                <li>
+                  <a
+                    href="https://www.hrw.org/news/2022/03/10/ukraine-russian-air-dropped-bombs-hit-residential-area/"
+                    rel="noreferrer"
+                    target="_blank"
+                  >
+                    {'Read Reports from Human Rights Watch'}
+                  </a>
+                </li>
+                <li>
+                  <a href="https://europeanbloodalliance.eu/" rel="noreferrer" target="_blank">
+                    {'Donate blood in Europe'}
+                  </a>
+                </li>
+              </ul>
+              <div>
+                <Typography variant="div">{`Spread the voice, make the difference today.`}</Typography>
+              </div>
+              <div style={{ padding: '10px 0', fontWeight: 600 }}>
+                <Typography variant="div">{`Att: Verdaccio Lead Mantainer, Juan P.`}</Typography>
+              </div>
+            </Grid>
+          </Grid>
+        </Box>
+      </Modal>
+    </>
+  );
+};
+
+export { Support };
diff --git a/packages/plugins/ui-theme/src/App/Header/Support/index.ts b/packages/plugins/ui-theme/src/App/Header/Support/index.ts
new file mode 100644
index 000000000..66e8e2cd1
--- /dev/null
+++ b/packages/plugins/ui-theme/src/App/Header/Support/index.ts
@@ -0,0 +1,3 @@
+import { Support } from './Support';
+
+export { Support };
diff --git a/packages/plugins/ui-theme/src/App/Header/Support/uk.jpg b/packages/plugins/ui-theme/src/App/Header/Support/uk.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..3246921e97769c58f122a85194856c5bc65de939
GIT binary patch
literal 9466
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
RP0EZw59kHe3e)4#{{#878RP%}

literal 0
HcmV?d00001

diff --git a/packages/plugins/ui-theme/src/components/Logo/Logo.tsx b/packages/plugins/ui-theme/src/components/Logo/Logo.tsx
index 08e1b74e2..fe0491a94 100644
--- a/packages/plugins/ui-theme/src/components/Logo/Logo.tsx
+++ b/packages/plugins/ui-theme/src/components/Logo/Logo.tsx
@@ -3,8 +3,8 @@ import React from 'react';
 import { Theme } from 'verdaccio-ui/design-tokens/theme';
 import { useConfig } from 'verdaccio-ui/providers/config';
 
-import blackAndWithLogo from './img/logo-black-and-white.svg';
-import defaultLogo from './img/logo.svg';
+import blackAndWithLogo from './img/logo-uk.svg';
+import defaultLogo from './img/logo-uk.svg';
 
 const sizes = {
   'x-small': '30px',
diff --git a/packages/plugins/ui-theme/src/components/Logo/img/logo-uk.svg b/packages/plugins/ui-theme/src/components/Logo/img/logo-uk.svg
new file mode 100644
index 000000000..52c1d2aea
--- /dev/null
+++ b/packages/plugins/ui-theme/src/components/Logo/img/logo-uk.svg
@@ -0,0 +1,38 @@
+<svg width="100" height="100" viewBox="0 0 100 100" fill="none" xmlns="http://www.w3.org/2000/svg">
+<rect width="100" height="100" rx="37" fill="#F7F8F6"/>
+<g filter="url(#filter0_d_0_18)">
+<mask id="path-2-inside-1_0_18" fill="white">
+<path fill-rule="evenodd" clip-rule="evenodd" d="M70 46.6L54.8 77H46L22.4 29.8L37.6 29.8L50.4 55.4L54.8 46.6H70Z"/>
+</mask>
+<path fill-rule="evenodd" clip-rule="evenodd" d="M70 46.6L54.8 77H46L22.4 29.8L37.6 29.8L50.4 55.4L54.8 46.6H70Z" fill="#005EB8"/>
+<path d="M70 46.6L72.1466 47.6733L73.8833 44.2H70V46.6ZM54.8 77V79.4H56.2833L56.9466 78.0733L54.8 77ZM46 77L43.8534 78.0733L44.5167 79.4H46V77ZM22.4 29.8V27.4H18.5167L20.2534 30.8733L22.4 29.8ZM37.6 29.8L39.7466 28.7267L39.0833 27.4H37.6V29.8ZM50.4 55.4L48.2534 56.4733L50.4 60.7666L52.5466 56.4733L50.4 55.4ZM54.8 46.6V44.2H53.3167L52.6534 45.5267L54.8 46.6ZM67.8534 45.5267L52.6534 75.9267L56.9466 78.0733L72.1466 47.6733L67.8534 45.5267ZM54.8 74.6H46V79.4H54.8V74.6ZM48.1466 75.9267L24.5466 28.7267L20.2534 30.8733L43.8534 78.0733L48.1466 75.9267ZM22.4 32.2L37.6 32.2V27.4L22.4 27.4V32.2ZM35.4534 30.8733L48.2534 56.4733L52.5466 54.3267L39.7466 28.7267L35.4534 30.8733ZM52.5466 56.4733L56.9466 47.6733L52.6534 45.5267L48.2534 54.3267L52.5466 56.4733ZM54.8 49H70V44.2H54.8V49Z" fill="#005EB8" mask="url(#path-2-inside-1_0_18)"/>
+</g>
+<g filter="url(#filter1_d_0_18)">
+<path fill-rule="evenodd" clip-rule="evenodd" d="M72.8 41H57.6L63.2 29.8L78.4 29.8L72.8 41Z" fill="#005EB8"/>
+<path d="M76.4584 31L72.0584 39.8H59.5416L63.9416 31H76.4584Z" stroke="#005EB8" stroke-width="2.4"/>
+</g>
+<path d="M56.6351 70.688L54.0607 75.8H46.7416L24.3416 31H36.8573L56.6351 70.688Z" fill="#FFD101" stroke="#FFD101" stroke-width="2.4"/>
+<path d="M59.6 31H74.821" stroke="#005EB8" stroke-width="2.4" stroke-linecap="square"/>
+<path d="M55.6 35H70.821" stroke="#005EB8" stroke-width="2.4" stroke-linecap="square"/>
+<path d="M51.6 39.8H66.821" stroke="#005EB8" stroke-width="2.4" stroke-linecap="square"/>
+<defs>
+<filter id="filter0_d_0_18" x="17.4" y="28.8" width="57.6" height="57.2" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
+<feFlood flood-opacity="0" result="BackgroundImageFix"/>
+<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
+<feOffset dy="4"/>
+<feGaussianBlur stdDeviation="2.5"/>
+<feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.0906646 0"/>
+<feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_0_18"/>
+<feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_0_18" result="shape"/>
+</filter>
+<filter id="filter1_d_0_18" x="52.6" y="28.8" width="30.8" height="21.2" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
+<feFlood flood-opacity="0" result="BackgroundImageFix"/>
+<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
+<feOffset dy="4"/>
+<feGaussianBlur stdDeviation="2.5"/>
+<feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.0906646 0"/>
+<feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_0_18"/>
+<feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_0_18" result="shape"/>
+</filter>
+</defs>
+</svg>
diff --git a/packages/plugins/ui-theme/src/template/favicon.ico b/packages/plugins/ui-theme/src/template/favicon.ico
index 1a4beb4b677465975cb41cf7dc28ea1b3a745038..0e2b88f46a17f9ddbef14032b249d30fc0cb1141 100644
GIT binary patch
literal 7406
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

literal 15086
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
MoAY1EhcYPpKk8q&4gdfE

diff --git a/packages/plugins/ui-theme/src/template/favicon_green.ico b/packages/plugins/ui-theme/src/template/favicon_green.ico
new file mode 100644
index 0000000000000000000000000000000000000000..1a4beb4b677465975cb41cf7dc28ea1b3a745038
GIT binary patch
literal 15086
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
MoAY1EhcYPpKk8q&4gdfE

literal 0
HcmV?d00001

diff --git a/packages/plugins/ui-theme/tools/webpack.dev.config.babel.js b/packages/plugins/ui-theme/tools/webpack.dev.config.babel.js
index 6267101d8..079cc3e6b 100644
--- a/packages/plugins/ui-theme/tools/webpack.dev.config.babel.js
+++ b/packages/plugins/ui-theme/tools/webpack.dev.config.babel.js
@@ -38,6 +38,7 @@ export default {
     new HTMLWebpackPlugin({
       __UI_OPTIONS: JSON.stringify({
         ...configJsonFormat.web,
+        version: '1.0.0',
         filename: 'index.html',
         base: new URL('/', 'http://localhost:4873'),
       }),
diff --git a/website/static/img/favicon/favicon.ico b/website/static/img/favicon/favicon.ico
index 655000507dae00f99691821d9a48a7a63e59bbf2..0e2b88f46a17f9ddbef14032b249d30fc0cb1141 100644
GIT binary patch
literal 7406
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

literal 15086
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

diff --git a/website/static/img/favicon/favicon_green.ico b/website/static/img/favicon/favicon_green.ico
new file mode 100644
index 0000000000000000000000000000000000000000..655000507dae00f99691821d9a48a7a63e59bbf2
GIT binary patch
literal 15086
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

literal 0
HcmV?d00001