From 73f03e6ea67eb1ae1647714bbe25df75a1c29063 Mon Sep 17 00:00:00 2001 From: Gorjan Petrovski Date: Thu, 23 Sep 2021 17:25:39 +0200 Subject: [PATCH] feat: passcode lock in preferences (#644) * feat: implement existing passcode lock in prefs * chore: cleanup commented code and unused imports * feat: improve design for passcode lock * fix: propert folder naming * feat: passcode lock form buttons margin --- app/assets/javascripts/components/Button.tsx | 8 +- .../preferences/PreferencesView.tsx | 1 + .../preferences/panes/Security.tsx | 5 +- .../preferences/panes/account/LogOutView.tsx | 2 +- .../{ => security-segments}/Encryption.tsx | 2 +- .../panes/security-segments/PasscodeLock.tsx | 274 ++++++++++++++++++ .../panes/security-segments/index.ts | 2 + app/assets/stylesheets/_sn.scss | 4 + 8 files changed, 293 insertions(+), 5 deletions(-) rename app/assets/javascripts/preferences/panes/{ => security-segments}/Encryption.tsx (99%) create mode 100644 app/assets/javascripts/preferences/panes/security-segments/PasscodeLock.tsx create mode 100644 app/assets/javascripts/preferences/panes/security-segments/index.ts diff --git a/app/assets/javascripts/components/Button.tsx b/app/assets/javascripts/components/Button.tsx index a1176f6ba..484983dde 100644 --- a/app/assets/javascripts/components/Button.tsx +++ b/app/assets/javascripts/components/Button.tsx @@ -1,3 +1,7 @@ +import { JSXInternal } from 'preact/src/jsx'; +import TargetedEvent = JSXInternal.TargetedEvent; +import TargetedMouseEvent = JSXInternal.TargetedMouseEvent; + import { FunctionComponent } from 'preact'; const baseClass = `rounded px-4 py-1.75 font-bold text-sm fit-content`; @@ -14,7 +18,7 @@ export const Button: FunctionComponent<{ className?: string; type: ButtonType; label: string; - onClick: () => void; + onClick: (event: TargetedEvent | TargetedMouseEvent) => void; disabled?: boolean; }> = ({ type, label, className = '', onClick, disabled = false }) => { const buttonClass = buttonClasses[type]; @@ -24,7 +28,7 @@ export const Button: FunctionComponent<{