From 3da2b564260aa83b8681f5ceed8847df4d37707c Mon Sep 17 00:00:00 2001 From: Alejandro Celaya Date: Sat, 27 May 2023 09:40:10 +0200 Subject: [PATCH 1/3] Update actions dependencies and node --- .github/workflows/ci.yml | 2 +- .github/workflows/deploy-preview.yml | 6 +++--- .github/workflows/publish-release.yml | 6 +++--- Dockerfile | 2 +- docker-compose.yml | 2 +- 5 files changed, 9 insertions(+), 9 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 5f23a750..1023daa8 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -11,6 +11,6 @@ jobs: ci: uses: shlinkio/github-actions/.github/workflows/web-app-ci.yml@main with: - node-version: 18.12 + node-version: 20.2 publish-coverage: true force-install: true diff --git a/.github/workflows/deploy-preview.yml b/.github/workflows/deploy-preview.yml index 43cc780a..02d402ae 100644 --- a/.github/workflows/deploy-preview.yml +++ b/.github/workflows/deploy-preview.yml @@ -9,14 +9,14 @@ jobs: continue-on-error: true steps: - name: Checkout code - uses: actions/checkout@v2 + uses: actions/checkout@v3 with: repository: ${{ github.event.pull_request.head.repo.full_name }} ref: ${{ github.event.pull_request.head.ref }} - name: Use node.js - uses: actions/setup-node@v1 + uses: actions/setup-node@v3 with: - node-version: 18.12 + node-version: 20.2 - name: Build run: | npm ci --force && \ diff --git a/.github/workflows/publish-release.yml b/.github/workflows/publish-release.yml index 554783a1..6241ec6c 100644 --- a/.github/workflows/publish-release.yml +++ b/.github/workflows/publish-release.yml @@ -10,11 +10,11 @@ jobs: runs-on: ubuntu-20.04 steps: - name: Checkout code - uses: actions/checkout@v2 + uses: actions/checkout@v3 - name: Use node.js - uses: actions/setup-node@v1 + uses: actions/setup-node@v3 with: - node-version: 18.12 + node-version: 20.2 - name: Generate release assets run: npm ci --force && VERSION=${GITHUB_REF#refs/tags/v} npm run build:dist - name: Publish release with assets diff --git a/Dockerfile b/Dockerfile index 61f29c6a..214c2292 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM node:18.12-alpine as node +FROM node:20.2-alpine as node COPY . /shlink-web-client ARG VERSION="latest" ENV VERSION ${VERSION} diff --git a/docker-compose.yml b/docker-compose.yml index dbe6884c..b9bbf511 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -3,7 +3,7 @@ version: '3' services: shlink_web_client_node: container_name: shlink_web_client_node - image: node:18.12-alpine + image: node:20.2-alpine command: /bin/sh -c "cd /home/shlink/www && npm install --force && npm run start" volumes: - ./:/home/shlink/www From afc574aceb6c8848bd676c410f4a562a817ca876 Mon Sep 17 00:00:00 2001 From: Alejandro Celaya Date: Sat, 27 May 2023 09:40:49 +0200 Subject: [PATCH 2/3] Fixed block and inline dropdown buttons --- src/short-urls/helpers/ShortUrlsFilterDropdown.tsx | 2 +- src/utils/DropdownBtn.scss | 6 +++++- src/utils/DropdownBtn.tsx | 6 ++++-- src/utils/ExportBtn.tsx | 4 ++-- src/visits/helpers/VisitsFilterDropdown.tsx | 2 +- 5 files changed, 13 insertions(+), 7 deletions(-) diff --git a/src/short-urls/helpers/ShortUrlsFilterDropdown.tsx b/src/short-urls/helpers/ShortUrlsFilterDropdown.tsx index 3e1366a6..dd8b53e4 100644 --- a/src/short-urls/helpers/ShortUrlsFilterDropdown.tsx +++ b/src/short-urls/helpers/ShortUrlsFilterDropdown.tsx @@ -17,7 +17,7 @@ export const ShortUrlsFilterDropdown = ( const onFilterClick = (key: keyof ShortUrlsFilter) => () => onChange({ ...selected, [key]: !selected?.[key] }); return ( - + Visits: Ignore visits from bots diff --git a/src/utils/DropdownBtn.scss b/src/utils/DropdownBtn.scss index f5c40c27..451a2346 100644 --- a/src/utils/DropdownBtn.scss +++ b/src/utils/DropdownBtn.scss @@ -2,13 +2,17 @@ @import '../utils/mixins/vertical-align'; +.dropdown-btn__toggle.dropdown-btn__toggle { + text-align: left; + padding-right: 1.75rem; +} + .dropdown-btn__toggle.dropdown-btn__toggle, .dropdown-btn__toggle.dropdown-btn__toggle:not(:disabled):not(.disabled).active, .dropdown-btn__toggle.dropdown-btn__toggle:not(:disabled):not(.disabled):active, .dropdown-btn__toggle.dropdown-btn__toggle:not(:disabled):not(.disabled):focus, .dropdown-btn__toggle.dropdown-btn__toggle:not(:disabled):not(.disabled):hover, .show > .dropdown-btn__toggle.dropdown-btn__toggle.dropdown-toggle { - text-align: left; color: var(--input-text-color); background-color: var(--primary-color); border-color: var(--input-border-color); diff --git a/src/utils/DropdownBtn.tsx b/src/utils/DropdownBtn.tsx index 08e0ef4d..46e69421 100644 --- a/src/utils/DropdownBtn.tsx +++ b/src/utils/DropdownBtn.tsx @@ -1,3 +1,4 @@ +import classNames from 'classnames'; import type { FC, PropsWithChildren } from 'react'; import { Dropdown, DropdownMenu, DropdownToggle } from 'reactstrap'; import { useToggle } from './helpers/hooks'; @@ -9,14 +10,15 @@ export type DropdownBtnProps = PropsWithChildren<{ className?: string; dropdownClassName?: string; right?: boolean; + inline?: boolean; minWidth?: number; }>; export const DropdownBtn: FC = ( - { text, disabled = false, className = '', children, dropdownClassName, right = false, minWidth }, + { text, disabled = false, className, children, dropdownClassName, right = false, minWidth, inline }, ) => { const [isOpen, toggle] = useToggle(); - const toggleClasses = `dropdown-btn__toggle btn-block ${className}`; + const toggleClasses = classNames('dropdown-btn__toggle', className, { 'btn-block': !inline }); const style = { minWidth: minWidth && `${minWidth}px` }; return ( diff --git a/src/utils/ExportBtn.tsx b/src/utils/ExportBtn.tsx index 351083c1..feee65d9 100644 --- a/src/utils/ExportBtn.tsx +++ b/src/utils/ExportBtn.tsx @@ -5,10 +5,10 @@ import type { ButtonProps } from 'reactstrap'; import { Button } from 'reactstrap'; import { prettify } from './helpers/numbers'; -interface ExportBtnProps extends Omit { +type ExportBtnProps = Omit & { amount?: number; loading?: boolean; -} +}; export const ExportBtn: FC = ({ amount = 0, loading = false, ...rest }) => (