From b8105550bf8b16233e7a805c01943dd6290f111f Mon Sep 17 00:00:00 2001 From: ransome1 Date: Mon, 20 Jan 2025 13:46:59 +0100 Subject: [PATCH] Fixed issue in recurrence component, fixed cosmetic issue in drawer regarding the filter reset --- ...e-scan.yml => code-scan-update-mirror.yml} | 13 ++++- .github/workflows/prepare-release.yml | 11 ---- package.json | 4 +- src/renderer/Dialog/RecurrencePicker.tsx | 56 +++++++------------ src/renderer/Drawer/Attributes.scss | 1 + src/renderer/Drawer/Drawer.scss | 5 +- yarn.lock | 8 +-- 7 files changed, 44 insertions(+), 54 deletions(-) rename .github/workflows/{code-scan.yml => code-scan-update-mirror.yml} (83%) diff --git a/.github/workflows/code-scan.yml b/.github/workflows/code-scan-update-mirror.yml similarity index 83% rename from .github/workflows/code-scan.yml rename to .github/workflows/code-scan-update-mirror.yml index e45aaceb..8150d8b3 100644 --- a/.github/workflows/code-scan.yml +++ b/.github/workflows/code-scan-update-mirror.yml @@ -1,9 +1,20 @@ -name: Code scan and mirror to opencode.net +name: Code scan, update Flathub and mirror to opencode.net on: push: branches: - '*' jobs: + trigger-flathub_build: + name: Trigger Flathub build bot + runs-on: ubuntu-latest + steps: + - name: Trigger Flathub build + uses: peter-evans/repository-dispatch@v3 + with: + token: ${{ secrets.TRIGGER_FLATHUB_BUILD }} + repository: ransome1/com.github.ransome1.sleek + event-type: trigger-flathub-build + client-payload: '{"commit_id": "${{ github.sha }}"}' snyk: runs-on: ubuntu-latest steps: diff --git a/.github/workflows/prepare-release.yml b/.github/workflows/prepare-release.yml index 7d9021f1..565d1d0e 100755 --- a/.github/workflows/prepare-release.yml +++ b/.github/workflows/prepare-release.yml @@ -4,17 +4,6 @@ on: tags: - '*' jobs: - trigger-flathub_build: - name: Trigger Flathub build bot - runs-on: ubuntu-latest - steps: - - name: Trigger Flathub build - uses: peter-evans/repository-dispatch@v3 - with: - token: ${{ secrets.TRIGGER_FLATHUB_BUILD }} - repository: ransome1/com.github.ransome1.sleek - event-type: trigger-flathub-build - client-payload: '{"commit_id": "${{ github.sha }}"}' macos: name: MacOS (Prepare release) runs-on: ${{ matrix.os }} diff --git a/package.json b/package.json index a3c4c03a..e8367ff6 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "sleek", "productName": "sleek", - "version": "2.0.16", + "version": "2.0.17-rc.1", "description": "todo.txt manager for Linux, Windows and MacOS, free and open-source (FOSS)", "synopsis": "todo.txt manager for Linux, Windows and MacOS, free and open-source (FOSS)", "keywords": [ @@ -53,7 +53,7 @@ "dayjs": "^1.11.13", "electron-store": "^10.0.0", "i18next": "^24.2.0", - "jstodotxt": "^1.0.0-alpha.0", + "jstodotxt": "1.0.0-alpha.3", "react": "^19.0.0", "react-autosuggest": "^10.1.0", "react-dom": "^19.0.0", diff --git a/src/renderer/Dialog/RecurrencePicker.tsx b/src/renderer/Dialog/RecurrencePicker.tsx index b655c18b..1405976a 100644 --- a/src/renderer/Dialog/RecurrencePicker.tsx +++ b/src/renderer/Dialog/RecurrencePicker.tsx @@ -11,6 +11,10 @@ import { withTranslation, WithTranslation } from 'react-i18next' import { i18n } from '../Settings/LanguageSelector' import './RecurrencePicker.scss' +const getInterval = (recurrence: string | null): void => recurrence ? recurrence.match(/[a-zA-Z]+/) : null +const getAmount = (recurrence: string | null): void => recurrence ? recurrence.match(/\d+/) : 0 +const getStrictIndicator = (recurrence: string | null): void => !!recurrence?.startsWith('+') + interface RecurrencePickerComponentProps extends WithTranslation { recurrence: string | null handleChange: (key: string, value: string) => void @@ -22,43 +26,16 @@ const RecurrencePickerComponent: React.FC = ({ handleChange, t }) => { + const recurrenceFieldRef = useRef(null) const [strictRecurrence, setStrictRecurrence] = useState(false) const [interval, setInterval] = useState(null) const [amount, setAmount] = useState(null) - const handleIntervalChange = (event: React.ChangeEvent): void => { - if (!amount) setAmount('1') - setInterval(event.target.value) - } - - const handleAmountChange = (event: React.ChangeEvent): void => { - if (!interval) setInterval('d') - setAmount(event.target.value) - } - - const handleStrictRecurrenceChange = (event: React.ChangeEvent): void => { - if (!recurrence) return - setStrictRecurrence(event.target.checked) - } - useEffect(() => { - if (amount && interval) { - const updatedValue = strictRecurrence ? '+' + amount + interval : amount + interval - handleChange('rec', updatedValue) - } - }, [interval, amount, strictRecurrence, handleChange]) - - useEffect(() => { - const getInterval = (recurrence: string | null): void => - recurrence ? recurrence.match(/[a-zA-Z]+/) : null - const getAmount = (recurrence: string | null): void => - recurrence ? recurrence.match(/\d+/) : null - const getStrictIndicator = (recurrence: string | null): void => !!recurrence?.startsWith('+') - setStrictRecurrence(getStrictIndicator(recurrence)) - setInterval(getInterval(recurrence)) setAmount(getAmount(recurrence)) + setInterval(getInterval(recurrence)) }, [recurrence]) useEffect(() => { @@ -94,7 +71,7 @@ const RecurrencePickerComponent: React.FC = ({ handleChange('rec', recurrence ?? '')} + onChange={(event) => handleChange('rec', event.target.value ?? '')} value={recurrence || '-'} inputRef={recurrenceFieldRef} data-testid="dialog-picker-recurrence" @@ -120,8 +97,11 @@ const RecurrencePickerComponent: React.FC = ({ autoFocus={true} label={t('todoDialog.recurrencePicker.every')} type="number" - onChange={handleAmountChange} - defaultValue={amount || '1'} + onChange={(event) => { + const updatedRecurrence = getStrictIndicator(recurrence) ? '+' + event.target.value + getInterval(recurrence) : event.target.value + getInterval(recurrence) + handleChange('rec', updatedRecurrence) + }} + value={amount} className="recurrencePickerPopupInput" inputProps={{ min: 0 @@ -134,8 +114,11 @@ const RecurrencePickerComponent: React.FC = ({ { + const updatedRecurrence = getStrictIndicator(recurrence) ? '+' + getAmount(recurrence) + event.target.defaultValue : getAmount(recurrence) + event.target.defaultValue + handleChange('rec', updatedRecurrence) + }} > = ({ control={ { + const updatedRecurrence = event.target.checked ? '+' + getAmount(recurrence) + getInterval(recurrence) : getAmount(recurrence) + getInterval(recurrence) + handleChange('rec', updatedRecurrence) + }} name="strictRecurrenceCheckbox" /> } diff --git a/src/renderer/Drawer/Attributes.scss b/src/renderer/Drawer/Attributes.scss index 0b761c93..ac78b1e3 100644 --- a/src/renderer/Drawer/Attributes.scss +++ b/src/renderer/Drawer/Attributes.scss @@ -1,6 +1,7 @@ @use '../Variables.scss'; #Attributes { + display: block; padding: 0.75em 1em; margin: 0; overflow-y: scroll; diff --git a/src/renderer/Drawer/Drawer.scss b/src/renderer/Drawer/Drawer.scss index 4d8c9bf5..83a20fa4 100644 --- a/src/renderer/Drawer/Drawer.scss +++ b/src/renderer/Drawer/Drawer.scss @@ -7,8 +7,11 @@ .MuiPaper-root { position: relative; z-index: 5; + // .MuiTabs-root { + // min-height: 6em; + // } .MuiTabs-root { - min-height: 5em; + overflow:visible; } .MuiTabs-flexContainer { button { diff --git a/yarn.lock b/yarn.lock index 682823f4..7680c747 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3896,10 +3896,10 @@ jsonfile@^6.0.1: optionalDependencies: graceful-fs "^4.1.6" -jstodotxt@^1.0.0-alpha.0: - version "1.0.0-alpha.0" - resolved "https://registry.yarnpkg.com/jstodotxt/-/jstodotxt-1.0.0-alpha.0.tgz#49f4c4eafd754f7848d026f648d55a40e86ca9d1" - integrity sha512-D7Dxn6DSJbgnjNABQriBuj16NAz4s0+NhEWIGvMoMqDFHm4X3G9N+c/hCVWIqoy7IN2neSpCcI6IMIS4fmla8Q== +jstodotxt@1.0.0-alpha.3: + version "1.0.0-alpha.3" + resolved "https://registry.yarnpkg.com/jstodotxt/-/jstodotxt-1.0.0-alpha.3.tgz#ee4313bbfea94fb48503d7c530fbf2b130ecafb2" + integrity sha512-XGe6QfxnklhDKpSCgn2hNq2F9IXZZZf9sGzkEtLC6sVA7InVeaYXNiPcX1mKZ5Q2VpPY2siV1UlLfo5x6beP4Q== "jsx-ast-utils@^2.4.1 || ^3.0.0": version "3.3.5"