diff --git a/.github/workflows/test.yml-template b/.github/workflows/test.yml-template new file mode 100644 index 0000000000..8b5743ecb4 --- /dev/null +++ b/.github/workflows/test.yml-template @@ -0,0 +1,29 @@ +name: Test + +on: + pull_request: + branches: [ master ] + +jobs: + build: + + runs-on: ubuntu-latest + + strategy: + matrix: + node-version: [20.x] + + steps: + - uses: actions/checkout@v2 + - name: Use Node.js ${{ matrix.node-version }} + uses: actions/setup-node@v1 + with: + node-version: ${{ matrix.node-version }} + - run: npm install + - run: npm test + - name: Upload HTML report(backstop data) + if: ${{ always() }} + uses: actions/upload-artifact@v2 + with: + name: report + path: backstop_data diff --git a/package-lock.json b/package-lock.json index 7eef7e5ecc..2955f9b680 100644 --- a/package-lock.json +++ b/package-lock.json @@ -14,7 +14,7 @@ "@mate-academy/backstop-config": "latest", "@mate-academy/bemlint": "latest", "@mate-academy/linthtml-config": "latest", - "@mate-academy/scripts": "^1.8.6", + "@mate-academy/scripts": "^1.9.12", "@mate-academy/stylelint-config": "latest", "backstopjs": "6.3.23", "jest": "^29.7.0", @@ -1211,10 +1211,11 @@ "dev": true }, "node_modules/@mate-academy/scripts": { - "version": "1.8.6", - "resolved": "https://registry.npmjs.org/@mate-academy/scripts/-/scripts-1.8.6.tgz", - "integrity": "sha512-b4om/whj4G9emyi84ORE3FRZzCRwRIesr8tJHXa8EvJdOaAPDpzcJ8A0sFfMsWH9NUOVmOwkBtOXDu5eZZ00Ig==", + "version": "1.9.12", + "resolved": "https://registry.npmjs.org/@mate-academy/scripts/-/scripts-1.9.12.tgz", + "integrity": "sha512-/OcmxMa34lYLFlGx7Ig926W1U1qjrnXbjFJ2TzUcDaLmED+A5se652NcWwGOidXRuMAOYLPU2jNYBEkKyXrFJA==", "dev": true, + "license": "MIT", "dependencies": { "@octokit/rest": "^17.11.2", "@types/get-port": "^4.2.0", @@ -8631,10 +8632,11 @@ } }, "node_modules/micromatch": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.7.tgz", - "integrity": "sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q==", + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", "dev": true, + "license": "MIT", "dependencies": { "braces": "^3.0.3", "picomatch": "^2.3.1" diff --git a/package.json b/package.json index 45fd6b0d41..1e6fb7a675 100644 --- a/package.json +++ b/package.json @@ -23,7 +23,7 @@ "@mate-academy/backstop-config": "latest", "@mate-academy/bemlint": "latest", "@mate-academy/linthtml-config": "latest", - "@mate-academy/scripts": "^1.8.6", + "@mate-academy/scripts": "^1.9.12", "@mate-academy/stylelint-config": "latest", "backstopjs": "6.3.23", "jest": "^29.7.0", diff --git a/src/index.html b/src/index.html index b39fe97123..38b986bb00 100644 --- a/src/index.html +++ b/src/index.html @@ -4,19 +4,112 @@ Moyo header + + -

Moyo header

+
+ + + + + +
diff --git a/src/style.css b/src/style.css index 293d3b1f13..2574f52691 100644 --- a/src/style.css +++ b/src/style.css @@ -1,3 +1,101 @@ body { margin: 0; } + +:root { + --color-hover: #00acdc; + --color-default: #000; +} + +.header { + display: flex; + justify-content: space-between; + align-items: center; + font-size: 12px; + font-family: Roboto, serif; + font-weight: 500; + padding: 0 50px; +} + +.logo__link { + width: 40px; + height: 40px; + line-height: 60px; +} + +.nav { + display: inline-block; + text-transform: uppercase; +} + +.nav__list { + display: flex; + gap: 20px; + margin: 0; + padding: 0; + list-style: none; +} + +.nav__item { + position: relative; +} + +.nav__link { + display: flex; + text-decoration: none; + height: 60px; + line-height: 60px; + padding: auto 0; +} + +.nav__link.is-active { + text-decoration: none; + height: 60px; + line-height: 60px; +} + +.nav__link.is-active:link { + color: var(--color-hover); +} + +.nav__link.is-active::after { + position: absolute; + left: 0; + bottom: 0; + width: 100%; + height: 4px; + content: ''; + background-color: var(--color-hover); + border-radius: 2px; +} + +.nav__link.is-active:active { + color: var(--color-hover); +} + +.nav__link:link { + color: var(--color-default); +} + +.nav__link:visited { + color: var(--color-default); +} + +.nav__link:hover { + color: var(--color-hover); +} + +.nav__link:active { + color: var(--color-hover); +} + +.nav__link:active::after { + position: absolute; + left: 0; + bottom: 0; + width: 100%; + height: 4px; + content: ''; + background-color: var(--color-hover); + border-radius: 2px; +}