Compare commits

...

6 Commits

Author SHA1 Message Date
Juan Picado @jotadeveloper
2a6ad969cc chore(release): 1.5.0 2020-04-08 22:34:41 +02:00
dependabot-preview[bot]
e0377991fa build(deps-dev): bump @types/jest from 24.0.24 to 25.1.4 (#451) 2020-04-05 20:27:09 +02:00
Priscila Oliveira
07620e5d4b feat(flag): Added Germany flag (#454) 2020-04-05 20:25:38 +02:00
Priscila Oliveira
d29aa05cc6 fix(styles): Updated dark colors (#455)
* ref(styles): updated dark colors

* updated snaps
2020-04-05 19:34:42 +02:00
dependabot-preview[bot]
1e1c088ac3 build(deps-dev): bump in-publish from 2.0.0 to 2.0.1 (#450)
Bumps [in-publish](https://github.com/iarna/in-publish) from 2.0.0 to 2.0.1.
- [Release notes](https://github.com/iarna/in-publish/releases)
- [Commits](https://github.com/iarna/in-publish/compare/v2.0.0...v2.0.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
Co-authored-by: Juan Picado @jotadeveloper <juanpicado19@gmail.com>
2020-04-04 22:32:39 +02:00
Juan Picado @jotadeveloper
7c45ac9f8d chore: publish release as non-draft 2020-04-02 21:38:21 +02:00
22 changed files with 264 additions and 154 deletions

View File

@@ -2,6 +2,18 @@
All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
## [1.5.0](https://github.com/verdaccio/ui/compare/v1.4.0...v1.5.0) (2020-04-08)
### Features
* **flag:** Added Germany flag ([#454](https://github.com/verdaccio/ui/issues/454)) ([07620e5](https://github.com/verdaccio/ui/commit/07620e5d4b1ed54bae2266d936af5306bfbe2d8b))
### Bug Fixes
* **styles:** Updated dark colors ([#455](https://github.com/verdaccio/ui/issues/455)) ([d29aa05](https://github.com/verdaccio/ui/commit/d29aa05cc6ef31cb871e79de10c1b1ddd74f023e))
## [1.4.0](https://github.com/verdaccio/ui/compare/v1.3.0...v1.4.0) (2020-04-02)

View File

@@ -1,6 +1,6 @@
{
"name": "@verdaccio/ui-theme",
"version": "1.4.0",
"version": "1.5.0",
"description": "Verdaccio User Interface",
"author": {
"name": "Verdaccio Core Team",
@@ -26,7 +26,7 @@
"@testing-library/react": "9.4.0",
"@types/autosuggest-highlight": "3.1.0",
"@types/enzyme": "3.10.4",
"@types/jest": "24.0.24",
"@types/jest": "25.1.4",
"@types/js-base64": "2.3.1",
"@types/lodash": "4.14.149",
"@types/node": "13.1.6",
@@ -73,7 +73,7 @@
"husky": "3.1.0",
"i18next": "19.1.0",
"identity-obj-proxy": "3.0.0",
"in-publish": "2.0.0",
"in-publish": "2.0.1",
"jest": "24.9.0",
"jest-emotion": "10.0.27",
"jest-environment-jsdom": "24.9.0",

View File

@@ -17,7 +17,7 @@ getStdin()
repo: repoName,
tag_name: tag,
body: changelog,
draft: true,
draft: false,
})
)
.catch(err => {

View File

@@ -1,12 +1,13 @@
// Jest Snapshot v1, https://goo.gl/fbAQLP
exports[`<App /> should display the Header component 1`] = `
.emotion-78 {
.emotion-81 {
background-color: #fff;
}
.emotion-24 {
background-color: #4b5e40;
color: #fff;
min-height: 60px;
display: -webkit-box;
display: -webkit-flex;
@@ -152,7 +153,7 @@ exports[`<App /> should display the Header component 1`] = `
}
}
.emotion-76 {
.emotion-79 {
background: #f9f9f9;
border-top: 1px solid #e3e3e3;
color: #999999;
@@ -160,7 +161,7 @@ exports[`<App /> should display the Header component 1`] = `
padding: 20px;
}
.emotion-74 {
.emotion-77 {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
@@ -177,7 +178,7 @@ exports[`<App /> should display the Header component 1`] = `
}
@media (min-width:768px) {
.emotion-74 {
.emotion-77 {
min-width: 400px;
max-width: 800px;
margin: auto;
@@ -189,12 +190,12 @@ exports[`<App /> should display the Header component 1`] = `
}
@media (min-width:1024px) {
.emotion-74 {
.emotion-77 {
max-width: 1240px;
}
}
.emotion-65 {
.emotion-68 {
-webkit-align-items: center;
-webkit-box-align: center;
-ms-flex-align: center;
@@ -203,7 +204,7 @@ exports[`<App /> should display the Header component 1`] = `
}
@media (min-width:768px) {
.emotion-65 {
.emotion-68 {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
@@ -216,12 +217,12 @@ exports[`<App /> should display the Header component 1`] = `
padding: 0 5px;
}
.emotion-63 {
.emotion-66 {
position: relative;
height: 18px;
}
.emotion-63:hover .emotion-62 {
.emotion-66:hover .emotion-65 {
visibility: visible;
}
@@ -234,7 +235,7 @@ exports[`<App /> should display the Header component 1`] = `
padding: 0 10px;
}
.emotion-61 {
.emotion-64 {
position: absolute;
background: #d3dddd;
padding: 1px 4px;
@@ -252,7 +253,7 @@ exports[`<App /> should display the Header component 1`] = `
top: -2px;
}
.emotion-61:before {
.emotion-64:before {
content: '';
position: absolute;
top: 29%;
@@ -274,7 +275,7 @@ exports[`<App /> should display the Header component 1`] = `
padding: 0 5px;
}
.emotion-72 {
.emotion-75 {
-webkit-align-items: center;
-webkit-box-align: center;
-ms-flex-align: center;
@@ -287,7 +288,7 @@ exports[`<App /> should display the Header component 1`] = `
}
@media (min-width:768px) {
.emotion-72 {
.emotion-75 {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
@@ -295,7 +296,7 @@ exports[`<App /> should display the Header component 1`] = `
}
}
.emotion-70 {
.emotion-73 {
box-sizing: initial;
display: inline-block;
cursor: pointer;
@@ -304,7 +305,7 @@ exports[`<App /> should display the Header component 1`] = `
padding: 0 5px;
}
.emotion-67 {
.emotion-70 {
width: 100%;
height: auto;
}
@@ -357,7 +358,7 @@ exports[`<App /> should display the Header component 1`] = `
}
<div
class="MuiBox-root MuiBox-root-219 emotion-78 emotion-79"
class="MuiBox-root MuiBox-root-219 emotion-81 emotion-82"
>
<header
class="MuiPaper-root MuiPaper-elevation4 MuiAppBar-root MuiAppBar-positionStatic emotion-24 emotion-25 MuiAppBar-colorPrimary"
@@ -609,13 +610,13 @@ exports[`<App /> should display the Header component 1`] = `
</div>
</div>
<div
class="emotion-76 emotion-77"
class="emotion-79 emotion-80"
>
<div
class="emotion-74 emotion-75"
class="emotion-77 emotion-78"
>
<div
class="emotion-65 emotion-66"
class="emotion-68 emotion-69"
>
Made with
<span
@@ -625,7 +626,7 @@ exports[`<App /> should display the Header component 1`] = `
</span>
on
<span
class="emotion-63 emotion-64"
class="emotion-66 emotion-67"
>
<svg
class="emotion-40 emotion-41 emotion-42"
@@ -638,7 +639,7 @@ exports[`<App /> should display the Header component 1`] = `
/>
</svg>
<span
class="emotion-61 emotion-62"
class="emotion-64 emotion-65"
>
<svg
class="emotion-43 emotion-44 emotion-42"
@@ -700,20 +701,30 @@ exports[`<App /> should display the Header component 1`] = `
xlink:href="[object Object]#austria"
/>
</svg>
<svg
class="emotion-43 emotion-44 emotion-42"
>
<title>
Germany
</title>
<use
xlink:href="[object Object]#germany"
/>
</svg>
</span>
</span>
</div>
<div
class="emotion-72 emotion-73"
class="emotion-75 emotion-76"
>
Powered by
<span
class="emotion-43 emotion-70 emotion-71"
class="emotion-43 emotion-73 emotion-74"
title="Verdaccio"
>
<img
alt="Verdaccio"
class="emotion-67 emotion-68"
class="emotion-70 emotion-71"
src="[object Object]"
/>
</span>
@@ -725,12 +736,13 @@ exports[`<App /> should display the Header component 1`] = `
`;
exports[`<App /> should display the Loading component at the beginning 1`] = `
.emotion-68 {
.emotion-71 {
background-color: #fff;
}
.emotion-24 {
background-color: #4b5e40;
color: #fff;
min-height: 60px;
display: -webkit-box;
display: -webkit-flex;
@@ -876,7 +888,7 @@ exports[`<App /> should display the Loading component at the beginning 1`] = `
}
}
.emotion-66 {
.emotion-69 {
background: #f9f9f9;
border-top: 1px solid #e3e3e3;
color: #999999;
@@ -884,7 +896,7 @@ exports[`<App /> should display the Loading component at the beginning 1`] = `
padding: 20px;
}
.emotion-64 {
.emotion-67 {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
@@ -901,7 +913,7 @@ exports[`<App /> should display the Loading component at the beginning 1`] = `
}
@media (min-width:768px) {
.emotion-64 {
.emotion-67 {
min-width: 400px;
max-width: 800px;
margin: auto;
@@ -913,12 +925,12 @@ exports[`<App /> should display the Loading component at the beginning 1`] = `
}
@media (min-width:1024px) {
.emotion-64 {
.emotion-67 {
max-width: 1240px;
}
}
.emotion-55 {
.emotion-58 {
-webkit-align-items: center;
-webkit-box-align: center;
-ms-flex-align: center;
@@ -927,7 +939,7 @@ exports[`<App /> should display the Loading component at the beginning 1`] = `
}
@media (min-width:768px) {
.emotion-55 {
.emotion-58 {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
@@ -940,12 +952,12 @@ exports[`<App /> should display the Loading component at the beginning 1`] = `
padding: 0 5px;
}
.emotion-53 {
.emotion-56 {
position: relative;
height: 18px;
}
.emotion-53:hover .emotion-52 {
.emotion-56:hover .emotion-55 {
visibility: visible;
}
@@ -958,7 +970,7 @@ exports[`<App /> should display the Loading component at the beginning 1`] = `
padding: 0 10px;
}
.emotion-51 {
.emotion-54 {
position: absolute;
background: #d3dddd;
padding: 1px 4px;
@@ -976,7 +988,7 @@ exports[`<App /> should display the Loading component at the beginning 1`] = `
top: -2px;
}
.emotion-51:before {
.emotion-54:before {
content: '';
position: absolute;
top: 29%;
@@ -998,7 +1010,7 @@ exports[`<App /> should display the Loading component at the beginning 1`] = `
padding: 0 5px;
}
.emotion-62 {
.emotion-65 {
-webkit-align-items: center;
-webkit-box-align: center;
-ms-flex-align: center;
@@ -1011,7 +1023,7 @@ exports[`<App /> should display the Loading component at the beginning 1`] = `
}
@media (min-width:768px) {
.emotion-62 {
.emotion-65 {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
@@ -1019,7 +1031,7 @@ exports[`<App /> should display the Loading component at the beginning 1`] = `
}
}
.emotion-60 {
.emotion-63 {
box-sizing: initial;
display: inline-block;
cursor: pointer;
@@ -1028,13 +1040,13 @@ exports[`<App /> should display the Loading component at the beginning 1`] = `
padding: 0 5px;
}
.emotion-57 {
.emotion-60 {
width: 100%;
height: auto;
}
<div
class="MuiBox-root MuiBox-root-2 emotion-68 emotion-69"
class="MuiBox-root MuiBox-root-2 emotion-71 emotion-72"
style="display: none;"
>
<header
@@ -1246,13 +1258,13 @@ exports[`<App /> should display the Loading component at the beginning 1`] = `
class="MuiBox-root MuiBox-root-195 emotion-26 emotion-27"
/>
<div
class="emotion-66 emotion-67"
class="emotion-69 emotion-70"
>
<div
class="emotion-64 emotion-65"
class="emotion-67 emotion-68"
>
<div
class="emotion-55 emotion-56"
class="emotion-58 emotion-59"
>
Made with
<span
@@ -1262,7 +1274,7 @@ exports[`<App /> should display the Loading component at the beginning 1`] = `
</span>
on
<span
class="emotion-53 emotion-54"
class="emotion-56 emotion-57"
>
<svg
class="emotion-30 emotion-31 emotion-32"
@@ -1275,7 +1287,7 @@ exports[`<App /> should display the Loading component at the beginning 1`] = `
/>
</svg>
<span
class="emotion-51 emotion-52"
class="emotion-54 emotion-55"
>
<svg
class="emotion-33 emotion-34 emotion-32"
@@ -1337,20 +1349,30 @@ exports[`<App /> should display the Loading component at the beginning 1`] = `
xlink:href="[object Object]#austria"
/>
</svg>
<svg
class="emotion-33 emotion-34 emotion-32"
>
<title>
Germany
</title>
<use
xlink:href="[object Object]#germany"
/>
</svg>
</span>
</span>
</div>
<div
class="emotion-62 emotion-63"
class="emotion-65 emotion-66"
>
Powered by
<span
class="emotion-33 emotion-60 emotion-61"
class="emotion-33 emotion-63 emotion-64"
title="Verdaccio"
>
<img
alt="Verdaccio"
class="emotion-57 emotion-58"
class="emotion-60 emotion-61"
src="[object Object]"
/>
</span>

View File

@@ -12,10 +12,14 @@ import { Theme } from '../../design-tokens/theme';
import downloadTarball from './download-tarball';
export const Fab = styled(FloatingActionButton)<{ theme?: Theme }>(props => ({
backgroundColor: props.theme && props.theme.palette.primary.main,
color: props.theme && props.theme.palette.white,
export const Fab = styled(FloatingActionButton)<{ theme?: Theme }>(({ theme }) => ({
backgroundColor: theme?.palette.type === 'light' ? theme?.palette.primary.main : theme?.palette.cyanBlue,
color: theme?.palette.white,
marginRight: 10,
':hover': {
color: theme?.palette.type === 'light' ? theme?.palette.primary.main : theme?.palette.cyanBlue,
background: theme?.palette.white,
},
}));
type ActionType = 'VISIT_HOMEPAGE' | 'OPEN_AN_ISSUE' | 'DOWNLOAD_TARBALL';

View File

@@ -7,6 +7,11 @@ exports[`<ActionBar /> component should render the component in default state 1`
margin-right: 10px;
}
.emotion-0:hover {
color: #4b5e40;
background: #fff;
}
<div
class="MuiBox-root MuiBox-root-2"
>

View File

@@ -9,21 +9,6 @@ import { isURL } from '../../utils/url';
import { Theme } from '../../design-tokens/theme';
import { DetailContext } from '../../pages/Version';
const StyledLink = styled(Link)<{ theme?: Theme }>(({ theme }) => ({
marginTop: theme && theme.spacing(1),
marginBottom: theme && theme.spacing(1),
textDecoration: 'none',
display: 'block',
}));
const StyledFavoriteIcon = styled(Favorite)<{ theme?: Theme }>(({ theme }) => ({
color: theme && theme.palette.orange,
}));
const StyledFundStrong = styled('strong')({
marginRight: 3,
});
/* eslint-disable react/jsx-no-bind */
const DetailSidebarFundButton: React.FC = () => {
const detailContext = useContext(DetailContext);
@@ -46,3 +31,18 @@ const DetailSidebarFundButton: React.FC = () => {
};
export default DetailSidebarFundButton;
const StyledLink = styled(Link)<{ theme?: Theme }>(({ theme }) => ({
marginTop: theme?.spacing(1),
marginBottom: theme?.spacing(1),
textDecoration: 'none',
display: 'block',
}));
const StyledFavoriteIcon = styled(Favorite)<{ theme?: Theme }>(({ theme }) => ({
color: theme?.palette.orange,
}));
const StyledFundStrong = styled('strong')({
marginRight: 3,
});

View File

@@ -22,6 +22,7 @@ const Footer: React.FC = () => {
<Flag name="brazil" size="md" />
<Flag name="china" size="md" />
<Flag name="austria" size="md" />
<Flag name="germany" size="md" />
</Flags>
</ToolTip>
</Left>

View File

@@ -1,7 +1,7 @@
// Jest Snapshot v1, https://goo.gl/fbAQLP
exports[`<Footer /> component should load the initial state of Footer component 1`] = `
.emotion-38 {
.emotion-41 {
background: #f9f9f9;
border-top: 1px solid #e3e3e3;
color: #999999;
@@ -9,7 +9,7 @@ exports[`<Footer /> component should load the initial state of Footer component
padding: 20px;
}
.emotion-36 {
.emotion-39 {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
@@ -26,7 +26,7 @@ exports[`<Footer /> component should load the initial state of Footer component
}
@media (min-width:768px) {
.emotion-36 {
.emotion-39 {
min-width: 400px;
max-width: 800px;
margin: auto;
@@ -38,12 +38,12 @@ exports[`<Footer /> component should load the initial state of Footer component
}
@media (min-width:1024px) {
.emotion-36 {
.emotion-39 {
max-width: 1240px;
}
}
.emotion-27 {
.emotion-30 {
-webkit-align-items: center;
-webkit-box-align: center;
-ms-flex-align: center;
@@ -52,7 +52,7 @@ exports[`<Footer /> component should load the initial state of Footer component
}
@media (min-width:768px) {
.emotion-27 {
.emotion-30 {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
@@ -65,12 +65,12 @@ exports[`<Footer /> component should load the initial state of Footer component
padding: 0 5px;
}
.emotion-25 {
.emotion-28 {
position: relative;
height: 18px;
}
.emotion-25:hover .emotion-24 {
.emotion-28:hover .emotion-27 {
visibility: visible;
}
@@ -83,7 +83,7 @@ exports[`<Footer /> component should load the initial state of Footer component
padding: 0 10px;
}
.emotion-23 {
.emotion-26 {
position: absolute;
background: #d3dddd;
padding: 1px 4px;
@@ -101,7 +101,7 @@ exports[`<Footer /> component should load the initial state of Footer component
top: -2px;
}
.emotion-23:before {
.emotion-26:before {
content: '';
position: absolute;
top: 29%;
@@ -123,7 +123,7 @@ exports[`<Footer /> component should load the initial state of Footer component
padding: 0 5px;
}
.emotion-34 {
.emotion-37 {
-webkit-align-items: center;
-webkit-box-align: center;
-ms-flex-align: center;
@@ -136,7 +136,7 @@ exports[`<Footer /> component should load the initial state of Footer component
}
@media (min-width:768px) {
.emotion-34 {
.emotion-37 {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
@@ -144,7 +144,7 @@ exports[`<Footer /> component should load the initial state of Footer component
}
}
.emotion-32 {
.emotion-35 {
box-sizing: initial;
display: inline-block;
cursor: pointer;
@@ -153,19 +153,19 @@ exports[`<Footer /> component should load the initial state of Footer component
padding: 0 5px;
}
.emotion-29 {
.emotion-32 {
width: 100%;
height: auto;
}
<div
class="emotion-38 emotion-39"
class="emotion-41 emotion-42"
>
<div
class="emotion-36 emotion-37"
class="emotion-39 emotion-40"
>
<div
class="emotion-27 emotion-28"
class="emotion-30 emotion-31"
>
Made with
<span
@@ -175,7 +175,7 @@ exports[`<Footer /> component should load the initial state of Footer component
</span>
on
<span
class="emotion-25 emotion-26"
class="emotion-28 emotion-29"
>
<svg
class="emotion-2 emotion-3 emotion-4"
@@ -188,7 +188,7 @@ exports[`<Footer /> component should load the initial state of Footer component
/>
</svg>
<span
class="emotion-23 emotion-24"
class="emotion-26 emotion-27"
>
<svg
class="emotion-5 emotion-6 emotion-4"
@@ -250,20 +250,30 @@ exports[`<Footer /> component should load the initial state of Footer component
xlink:href="[object Object]#austria"
/>
</svg>
<svg
class="emotion-5 emotion-6 emotion-4"
>
<title>
Germany
</title>
<use
xlink:href="[object Object]#germany"
/>
</svg>
</span>
</span>
</div>
<div
class="emotion-34 emotion-35"
class="emotion-37 emotion-38"
>
Powered by
<span
class="emotion-5 emotion-32 emotion-33"
class="emotion-5 emotion-35 emotion-36"
title="Verdaccio"
>
<img
alt="Verdaccio"
class="emotion-29 emotion-30"
class="emotion-32 emotion-33"
src="[object Object]"
/>
</span>

View File

@@ -4,7 +4,7 @@ import Icon from '../Icon/Icon';
import { Theme } from '../../design-tokens/theme';
export const Wrapper = styled('div')<{ theme?: Theme }>(({ theme }) => ({
background: theme?.palette.type === 'dark' ? theme?.palette.primary.main : theme?.palette.snow,
background: theme?.palette.type === 'light' ? theme?.palette.snow : theme?.palette.cyanBlue,
borderTop: `1px solid ${theme?.palette.greyGainsboro}`,
color: theme?.palette.type === 'dark' ? theme?.palette.white : theme?.palette.nobel01,
fontSize: '14px',
@@ -16,13 +16,13 @@ export const Inner = styled('div')<{ theme?: Theme }>(({ theme }) => ({
alignItems: 'center',
justifyContent: 'flex-end',
width: '100%',
[`@media (min-width: ${theme && theme.breakPoints.medium}px)`]: {
[`@media (min-width: ${theme?.breakPoints.medium}px)`]: {
minWidth: 400,
maxWidth: 800,
margin: 'auto',
justifyContent: 'space-between',
},
[`@media (min-width: ${theme && theme.breakPoints.large}px)`]: {
[`@media (min-width: ${theme?.breakPoints.large}px)`]: {
maxWidth: 1240,
},
}));
@@ -30,7 +30,7 @@ export const Inner = styled('div')<{ theme?: Theme }>(({ theme }) => ({
export const Left = styled('div')<{ theme?: Theme }>(({ theme }) => ({
alignItems: 'center',
display: 'none',
[`@media (min-width: ${theme && theme.breakPoints.medium}px)`]: {
[`@media (min-width: ${theme?.breakPoints.medium}px)`]: {
display: 'flex',
},
}));
@@ -43,9 +43,9 @@ export const Earth = styled(Icon)({
padding: '0 10px',
});
export const Flags = styled('span')<{ theme?: Theme }>(props => ({
export const Flags = styled('span')<{ theme?: Theme }>(({ theme }) => ({
position: 'absolute',
background: props.theme && props.theme.palette.greyAthens,
background: theme?.palette.greyAthens,
padding: '1px 4px',
borderRadius: 3,
height: 20,
@@ -60,7 +60,7 @@ export const Flags = styled('span')<{ theme?: Theme }>(props => ({
left: -4,
marginLeft: -5,
border: '5px solid',
borderColor: `${props.theme && props.theme.palette.greyAthens} transparent transparent transparent`,
borderColor: `${theme?.palette.greyAthens} transparent transparent transparent`,
transform: 'rotate(90deg)',
},
}));
@@ -75,8 +75,8 @@ export const ToolTip = styled('span')({
},
});
export const Love = styled('span')<{ theme?: Theme }>(props => ({
color: props.theme && props.theme.palette.love,
export const Love = styled('span')<{ theme?: Theme }>(({ theme }) => ({
color: theme?.palette.love,
padding: '0 5px',
}));

View File

@@ -47,7 +47,7 @@ const HeaderMenu: React.FC<Props> = ({
vertical: 'top',
horizontal: 'right',
}}>
<MenuItem disabled={true}>
<MenuItem>
<HeaderGreetings username={username} />
</MenuItem>
<MenuItem button={true} data-testid="header--button-logout" id="header--button-logout" onClick={onLogout}>

View File

@@ -3,6 +3,7 @@
exports[`<Header /> component with logged in state should load the component in logged in state 1`] = `
.emotion-24 {
background-color: #4b5e40;
color: #fff;
min-height: 60px;
display: -webkit-box;
display: -webkit-flex;
@@ -360,6 +361,7 @@ exports[`<Header /> component with logged in state should load the component in
exports[`<Header /> component with logged in state should load the component in logged out state 1`] = `
.emotion-24 {
background-color: #4b5e40;
color: #fff;
min-height: 60px;
display: -webkit-box;
display: -webkit-flex;

View File

@@ -54,11 +54,12 @@ export const SearchWrapper = styled('div')({
});
export const NavBar = styled(AppBar)<{ theme?: Theme }>(({ theme }) => ({
backgroundColor: theme && theme.palette.primary.main,
backgroundColor: theme?.palette.type === 'light' ? theme?.palette.primary.main : theme?.palette.cyanBlue,
color: theme?.palette.white,
minHeight: 60,
display: 'flex',
justifyContent: 'center',
[`@media (min-width: ${theme && theme.breakPoints.medium}px)`]: css`
[`@media (min-width: ${theme?.breakPoints.medium}px)`]: css`
${SearchWrapper} {
display: flex;
}
@@ -69,12 +70,12 @@ export const NavBar = styled(AppBar)<{ theme?: Theme }>(({ theme }) => ({
display: none;
}
`,
[`@media (min-width: ${theme && theme.breakPoints.large}px)`]: css`
[`@media (min-width: ${theme?.breakPoints.large}px)`]: css`
${InnerNavBar} {
padding: 0 20px;
}
`,
[`@media (min-width: ${theme && theme.breakPoints.xlarge}px)`]: css`
[`@media (min-width: ${theme?.breakPoints.xlarge}px)`]: css`
${InnerNavBar} {
max-width: 1240px;
width: 100%;
@@ -83,6 +84,6 @@ export const NavBar = styled(AppBar)<{ theme?: Theme }>(({ theme }) => ({
`,
}));
export const StyledLink = styled(Link)<{ theme?: Theme }>(props => ({
color: props.theme && props.theme.palette.white,
export const StyledLink = styled(Link)<{ theme?: Theme }>(({ theme }) => ({
color: theme?.palette.white,
}));

View File

@@ -6,6 +6,7 @@ import { Svg, Img, ImgWrapper } from './styles';
import brazil from './img/brazil.svg';
import china from './img/china.svg';
import india from './img/india.svg';
import germany from './img/germany.svg';
import nicaragua from './img/nicaragua.svg';
import pakistan from './img/pakistan.svg';
import austria from './img/austria.svg';
@@ -25,6 +26,7 @@ export interface IconsMap {
nicaragua: string;
pakistan: string;
austria: string;
germany: string;
india: string;
earth: string;
verdaccio: string;
@@ -51,6 +53,7 @@ export const Icons: IconsMap = {
license,
time,
version,
germany,
};
export interface Props {

View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" id="germany"><path d="M473.655 88.276H38.345C17.167 88.276 0 105.443 0 126.621v73.471h512v-73.471c0-21.178-17.167-38.345-38.345-38.345z" fill="#464655"/><path d="M0 385.379c0 21.177 17.167 38.345 38.345 38.345h435.31c21.177 0 38.345-17.167 38.345-38.345v-73.471H0v73.471z" fill="#ffe15a"/><path fill="#ff4b55" d="M0 200.09h512V311.9H0z"/></svg>

After

Width:  |  Height:  |  Size: 407 B

View File

@@ -20,6 +20,7 @@ interface CommonStyleProps {
size: Breakpoint;
pointer?: boolean;
}
const commonStyle = ({ size = 'sm', pointer }: CommonStyleProps): object => ({
display: 'inline-block',
cursor: pointer ? 'pointer' : 'default',

View File

@@ -9,20 +9,6 @@ import Avatar from '../../muiComponents/Avatar';
import Box from '../../muiComponents/Box';
import IconButton from '../../muiComponents/IconButton';
import { Theme } from '../../design-tokens/theme';
const StyledAvatar = styled(Avatar)<{ theme?: Theme }>(({ theme }) => ({
margin: theme.spacing(1),
backgroundColor: theme.palette.primary.main,
color: theme.palette.white,
}));
const StyledIconButton = styled(IconButton)<{ theme?: Theme }>(({ theme }) => ({
position: 'absolute',
right: theme.spacing() / 2,
top: theme.spacing() / 2,
color: theme.palette.grey[500],
}));
interface Props {
onClose?: () => void;
}
@@ -46,3 +32,16 @@ const LoginDialogHeader: React.FC<Props> = ({ onClose }) => {
};
export default LoginDialogHeader;
const StyledAvatar = styled(Avatar)<{ theme?: Theme }>(({ theme }) => ({
margin: theme?.spacing(1),
backgroundColor: theme?.palette.type === 'light' ? theme?.palette.primary.main : theme?.palette.cyanBlue,
color: theme?.palette.white,
}));
const StyledIconButton = styled(IconButton)<{ theme?: Theme }>(({ theme }) => ({
position: 'absolute',
right: theme?.spacing() / 2,
top: theme?.spacing() / 2,
color: theme?.palette.grey[500],
}));

View File

@@ -10,16 +10,6 @@ import { Theme } from '../../design-tokens/theme';
import PackageImg from './img/package.svg';
const EmptyPackage = styled('img')({
width: '150px',
margin: '0 auto',
});
const StyledHeading = styled(Heading)<{ theme?: Theme }>(props => ({
color: props.theme && props.theme.palette.primary.main,
marginBottom: 16,
}));
const NotFound: React.FC = () => {
const history = useHistory();
const { t } = useTranslation();
@@ -49,3 +39,13 @@ const NotFound: React.FC = () => {
};
export default NotFound;
const EmptyPackage = styled('img')({
width: '150px',
margin: '0 auto',
});
const StyledHeading = styled(Heading)<{ theme?: Theme }>(({ theme }) => ({
color: theme?.palette.type === 'light' ? theme?.palette.primary.main : theme?.palette.white,
marginBottom: 16,
}));

View File

@@ -15,7 +15,7 @@ export const OverviewItem = styled('span')<{ theme?: Theme }>(({ theme }) => ({
display: 'flex',
alignItems: 'center',
margin: '0 0 0 16px',
color: theme?.palette.type === 'light' ? theme?.palette.greyLight2 : theme?.palette.dodgerBlue,
color: theme?.palette.type === 'light' ? theme?.palette.greyLight2 : theme?.palette.white,
fontSize: 12,
[`@media (max-width: ${theme && theme.breakPoints.medium}px)`]: {
':nth-of-type(3)': {
@@ -31,18 +31,18 @@ export const OverviewItem = styled('span')<{ theme?: Theme }>(({ theme }) => ({
export const Icon = styled(Ico)<{ theme?: Theme }>(({ theme }) => ({
margin: '2px 10px 0 0',
fill: theme?.palette.type === 'light' ? theme?.palette.greyLight2 : theme?.palette.dodgerBlue,
fill: theme?.palette.type === 'light' ? theme?.palette.greyLight2 : theme?.palette.white,
}));
export const Published = styled('span')<{ theme?: Theme }>(({ theme }) => ({
color: theme?.palette.type === 'light' ? theme?.palette.greyLight2 : theme?.palette.dodgerBlue,
color: theme?.palette.type === 'light' ? theme?.palette.greyLight2 : theme?.palette.white,
margin: '0 5px 0 0',
}));
export const Text = styled(Label)<{ theme?: Theme }>(({ theme }) => ({
fontSize: '12px',
fontWeight: theme?.fontWeight.semiBold,
color: theme?.palette.type === 'light' ? theme?.palette.greyLight2 : theme?.palette.dodgerBlue,
color: theme?.palette.type === 'light' ? theme?.palette.greyLight2 : theme?.palette.white,
}));
export const Details = styled('span')({
@@ -71,7 +71,7 @@ export const PackageTitle = styled('span')<{ theme?: Theme }>(({ theme }) => ({
fontSize: 20,
display: 'block',
marginBottom: 12,
color: theme?.palette.type == 'dark' ? theme?.palette.white : theme?.palette.eclipse,
color: theme?.palette.type == 'dark' ? theme?.palette.dodgerBlue : theme?.palette.eclipse,
cursor: 'pointer',
[`@media (max-width: ${theme && theme.breakPoints.small}px)`]: {
fontSize: 14,
@@ -86,7 +86,7 @@ export const GridRightAligned = styled(Grid)({
export const PackageList = styled(List)<{ theme?: Theme }>(({ theme }) => ({
padding: '12px 0 12px 0',
':hover': {
backgroundColor: theme?.palette?.type == 'dark' ? theme?.palette?.primary.main : theme?.palette?.greyLight3,
backgroundColor: theme?.palette?.type == 'dark' ? theme?.palette?.secondary.main : theme?.palette?.greyLight3,
},
'> :last-child': {
paddingTop: 0,
@@ -104,7 +104,8 @@ export const IconButton = styled(MuiIconButton)({
export const TagContainer = styled('span')<{ theme?: Theme }>(({ theme }) => ({
marginTop: 8,
marginBottom: 12,
display: 'block',
display: 'flex',
flexWrap: 'wrap',
[`@media (max-width: ${theme && theme.breakPoints.medium}px)`]: {
display: 'none',
},
@@ -114,8 +115,8 @@ export const PackageListItemText = styled(ListItemText)({
paddingRight: 0,
});
export const Description = styled(Typography)<{ theme?: Theme }>(props => ({
color: props.theme && props.theme.palette.greyDark2,
export const Description = styled(Typography)<{ theme?: Theme }>(({ theme }) => ({
color: theme?.palette.type === 'light' ? theme?.palette.greyDark2 : theme?.palette.white,
fontSize: '14px',
paddingRight: 0,
}));

View File

@@ -25,6 +25,7 @@ const colors = {
secondary: '#20232a',
background: '#fff',
dodgerBlue: '#1ba1f2',
cyanBlue: '#253341',
};
const themeModes = {
@@ -33,8 +34,8 @@ const themeModes = {
},
dark: {
...colors,
primary: '#253341',
secondary: '#20232a',
primary: '#fff',
secondary: '#424242',
background: '#1A202C',
},
};
@@ -132,6 +133,7 @@ declare module '@material-ui/core/styles/createPalette' {
nobel02: string;
background: string;
dodgerBlue: string;
cyanBlue: string;
}
/* eslint-disable-next-line @typescript-eslint/no-empty-interface */

View File

@@ -1,4 +1,5 @@
import React, { forwardRef } from 'react';
import styled from '@emotion/styled';
import { default as MaterialUIMenuItem, MenuItemProps } from '@material-ui/core/MenuItem';
type HTMLElementTagName = keyof HTMLElementTagNameMap;
@@ -11,7 +12,7 @@ interface Props extends Omit<MenuItemProps, 'component'> {
const MenuItem = forwardRef<MenuItemRef, Props>(function MenuItem({ button, ...props }, ref) {
// it seems typescript has some discrimination type limitions. Please see: https://github.com/mui-org/material-ui/issues/14971
// eslint-disable-next-line @typescript-eslint/no-explicit-any
return <MaterialUIMenuItem {...props} button={button as any} innerRef={ref} />;
return <StyledMaterialUIMenuItem {...props} button={button as any} innerRef={ref} />;
});
MenuItem.defaultProps = {
@@ -19,3 +20,7 @@ MenuItem.defaultProps = {
};
export default MenuItem;
const StyledMaterialUIMenuItem = styled(MaterialUIMenuItem)({
outline: 'none',
});

View File

@@ -1976,6 +1976,16 @@
"@types/yargs" "^15.0.0"
chalk "^3.0.0"
"@jest/types@^25.2.3":
version "25.2.3"
resolved "https://registry.verdaccio.org/@jest%2ftypes/-/types-25.2.3.tgz#035c4fb94e2da472f359ff9a211915d59987f6b6"
integrity sha512-6oLQwO9mKif3Uph3RX5J1i3S7X7xtDHWBaaaoeKw8hOzV6YUd0qDcYcHZ6QXMHDIzSr7zzrEa51o2Ovlj6AtKQ==
dependencies:
"@types/istanbul-lib-coverage" "^2.0.0"
"@types/istanbul-reports" "^1.1.1"
"@types/yargs" "^15.0.0"
chalk "^3.0.0"
"@marionebl/sander@^0.6.0":
version "0.6.1"
resolved "https://registry.verdaccio.org/@marionebl%2fsander/-/sander-0.6.1.tgz#1958965874f24bc51be48875feb50d642fc41f7b"
@@ -2321,12 +2331,13 @@
"@types/istanbul-lib-coverage" "*"
"@types/istanbul-lib-report" "*"
"@types/jest@24.0.24":
version "24.0.24"
resolved "https://registry.verdaccio.org/@types%2fjest/-/jest-24.0.24.tgz#0f2f523dc77cc1bc6bef34eaf287ede887a73f05"
integrity sha512-vgaG968EDPSJPMunEDdZvZgvxYSmeH8wKqBlHSkBt1pV2XlLEVDzsj1ZhLuI4iG4Pv841tES61txSBF0obh4CQ==
"@types/jest@25.1.4":
version "25.1.4"
resolved "https://registry.verdaccio.org/@types%2fjest/-/jest-25.1.4.tgz#9e9f1e59dda86d3fd56afce71d1ea1b331f6f760"
integrity sha512-QDDY2uNAhCV7TMCITrxz+MRk1EizcsevzfeS6LykIlq2V1E5oO4wXG8V2ZEd9w7Snxeeagk46YbMgZ8ESHx3sw==
dependencies:
jest-diff "^24.3.0"
jest-diff "^25.1.0"
pretty-format "^25.1.0"
"@types/jest@^23.0.2":
version "23.3.14"
@@ -5699,6 +5710,11 @@ diff-sequences@^24.9.0:
resolved "https://registry.verdaccio.org/diff-sequences/-/diff-sequences-24.9.0.tgz#5715d6244e2aa65f48bba0bc972db0b0b11e95b5"
integrity sha512-Dj6Wk3tWyTE+Fo1rW8v0Xhwk80um6yFYKbuAxc9c3EZxIHFDYwbi34Uk42u1CdnIiVorvt4RmlSDjIPyzGC2ew==
diff-sequences@^25.2.1:
version "25.2.1"
resolved "https://registry.verdaccio.org/diff-sequences/-/diff-sequences-25.2.1.tgz#fcfe8aa07dd9b0c648396a478dabca8e76c6ab27"
integrity sha512-foe7dXnGlSh3jR1ovJmdv+77VQj98eKCHHwJPbZ2eEf0fHwKbkZicpPxEch9smZ+n2dnF6QFwkOQdLq9hpeJUg==
diff@3.5.0:
version "3.5.0"
resolved "https://registry.verdaccio.org/diff/-/diff-3.5.0.tgz#800c0dd1e0a8bfbc95835c202ad220fe317e5a12"
@@ -8078,10 +8094,10 @@ imurmurhash@^0.1.4:
resolved "https://registry.verdaccio.org/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea"
integrity sha1-khi5srkoojixPcT7a21XbyMUU+o=
in-publish@2.0.0:
version "2.0.0"
resolved "https://registry.verdaccio.org/in-publish/-/in-publish-2.0.0.tgz#e20ff5e3a2afc2690320b6dc552682a9c7fadf51"
integrity sha1-4g/146KvwmkDILbcVSaCqcf631E=
in-publish@2.0.1:
version "2.0.1"
resolved "https://registry.verdaccio.org/in-publish/-/in-publish-2.0.1.tgz#948b1a535c8030561cea522f73f78f4be357e00c"
integrity sha512-oDM0kUSNFC31ShNxHKUyfZKy8ZeXZBWMjMdZHKLOk13uvT27VTL/QzRGfRUcevJhpkZAvlhPYuXkF7eNWrtyxQ==
indent-string@^2.1.0:
version "2.1.0"
@@ -8779,7 +8795,7 @@ jest-config@^24.9.0:
pretty-format "^24.9.0"
realpath-native "^1.1.0"
jest-diff@^24.0.0, jest-diff@^24.3.0, jest-diff@^24.9.0:
jest-diff@^24.0.0, jest-diff@^24.9.0:
version "24.9.0"
resolved "https://registry.verdaccio.org/jest-diff/-/jest-diff-24.9.0.tgz#931b7d0d5778a1baf7452cb816e325e3724055da"
integrity sha512-qMfrTs8AdJE2iqrTp0hzh7kTd2PQWrsFyj9tORoKmu32xjPjeE4NyjVRDz8ybYwqS2ik8N4hsIpiVTyFeo2lBQ==
@@ -8789,6 +8805,16 @@ jest-diff@^24.0.0, jest-diff@^24.3.0, jest-diff@^24.9.0:
jest-get-type "^24.9.0"
pretty-format "^24.9.0"
jest-diff@^25.1.0:
version "25.2.3"
resolved "https://registry.verdaccio.org/jest-diff/-/jest-diff-25.2.3.tgz#54d601a0a754ef26e808a8c8dbadd278c215aa3f"
integrity sha512-VtZ6LAQtaQpFsmEzps15dQc5ELbJxy4L2DOSo2Ev411TUEtnJPkAMD7JneVypeMJQ1y3hgxN9Ao13n15FAnavg==
dependencies:
chalk "^3.0.0"
diff-sequences "^25.2.1"
jest-get-type "^25.2.1"
pretty-format "^25.2.3"
jest-docblock@^24.3.0:
version "24.9.0"
resolved "https://registry.verdaccio.org/jest-docblock/-/jest-docblock-24.9.0.tgz#7970201802ba560e1c4092cc25cbedf5af5a8ce2"
@@ -8869,6 +8895,11 @@ jest-get-type@^24.9.0:
resolved "https://registry.verdaccio.org/jest-get-type/-/jest-get-type-24.9.0.tgz#1684a0c8a50f2e4901b6644ae861f579eed2ef0e"
integrity sha512-lUseMzAley4LhIcpSP9Jf+fTrQ4a1yHQwLNeeVa2cEmbCGeoZAtYPOIv8JaxLD/sUpKxetKGP+gsHl8f8TSj8Q==
jest-get-type@^25.2.1:
version "25.2.1"
resolved "https://registry.verdaccio.org/jest-get-type/-/jest-get-type-25.2.1.tgz#6c83de603c41b1627e6964da2f5454e6aa3c13a6"
integrity sha512-EYjTiqcDTCRJDcSNKbLTwn/LcDPEE7ITk8yRMNAOjEsN6yp+Uu+V1gx4djwnuj/DvWg0YGmqaBqPVGsPxlvE7w==
jest-haste-map@^24.9.0:
version "24.9.0"
resolved "https://registry.verdaccio.org/jest-haste-map/-/jest-haste-map-24.9.0.tgz#b38a5d64274934e21fa417ae9a9fbeb77ceaac7d"
@@ -12219,6 +12250,16 @@ pretty-format@^24.0.0, pretty-format@^24.3.0, pretty-format@^24.9.0:
ansi-styles "^3.2.0"
react-is "^16.8.4"
pretty-format@^25.1.0, pretty-format@^25.2.3:
version "25.2.3"
resolved "https://registry.verdaccio.org/pretty-format/-/pretty-format-25.2.3.tgz#ba6e9603a0d80fa2e470b1fed55de1f9bfd81421"
integrity sha512-IP4+5UOAVGoyqC/DiomOeHBUKN6q00gfyT2qpAsRH64tgOKB2yF7FHJXC18OCiU0/YFierACup/zdCOWw0F/0w==
dependencies:
"@jest/types" "^25.2.3"
ansi-regex "^5.0.0"
ansi-styles "^4.0.0"
react-is "^16.12.0"
prettycli@^1.4.3:
version "1.4.3"
resolved "https://registry.verdaccio.org/prettycli/-/prettycli-1.4.3.tgz#b28ec2aad9de07ae1fd75ef294fb54cbdee07ed5"