mirror of
https://github.com/Myzel394/kleckrelay-website.git
synced 2025-06-19 07:55:25 +02:00
removed leaking files
This commit is contained in:
parent
db83a8727e
commit
91cd655d5d
@ -1,67 +0,0 @@
|
|||||||
import {useParams} from "react-router"
|
|
||||||
import {ReactElement, useContext} from "react"
|
|
||||||
import {useTranslation} from "react-i18next"
|
|
||||||
import {useSnackbar} from "notistack"
|
|
||||||
|
|
||||||
import {Grid} from "@mui/material"
|
|
||||||
|
|
||||||
import {AliasTypeIndicator, DecryptionPasswordMissingAlert, SimplePageBuilder} from "~/components"
|
|
||||||
import {Alias, DecryptedAlias} from "~/server-types"
|
|
||||||
import {useUIState} from "~/hooks"
|
|
||||||
import AliasAddress from "~/route-widgets/AliasDetailRoute/AliasAddress"
|
|
||||||
import AliasNotesForm from "~/route-widgets/AliasDetailRoute/AliasNotesForm"
|
|
||||||
import AliasPreferencesForm from "~/route-widgets/AliasDetailRoute/AliasPreferencesForm"
|
|
||||||
import AuthContext, {EncryptionStatus} from "~/AuthContext/AuthContext"
|
|
||||||
import ChangeAliasActivationStatusSwitch from "~/route-widgets/AliasDetailRoute/ChangeAliasActivationStatusSwitch"
|
|
||||||
|
|
||||||
export interface AliasDetailsProps {
|
|
||||||
alias: Alias | DecryptedAlias
|
|
||||||
}
|
|
||||||
|
|
||||||
export default function AliasDetails({alias: aliasValue}: AliasDetailsProps): ReactElement {
|
|
||||||
const {t} = useTranslation()
|
|
||||||
const params = useParams()
|
|
||||||
const {encryptionStatus} = useContext(AuthContext)
|
|
||||||
const address = atob(params.addressInBase64 as string)
|
|
||||||
|
|
||||||
const [aliasUIState, setAliasUIState] = useUIState<Alias | DecryptedAlias>(aliasValue)
|
|
||||||
|
|
||||||
return (
|
|
||||||
<SimplePageBuilder.MultipleSections>
|
|
||||||
{[
|
|
||||||
<Grid key="basic" container spacing={1} direction="row" alignItems="center">
|
|
||||||
<Grid item>
|
|
||||||
<AliasTypeIndicator type={aliasUIState.type} />
|
|
||||||
</Grid>
|
|
||||||
<Grid item>
|
|
||||||
<AliasAddress address={address} />
|
|
||||||
</Grid>
|
|
||||||
<Grid item>
|
|
||||||
<ChangeAliasActivationStatusSwitch
|
|
||||||
id={aliasUIState.id}
|
|
||||||
isActive={aliasUIState.isActive}
|
|
||||||
onChanged={setAliasUIState}
|
|
||||||
/>
|
|
||||||
</Grid>
|
|
||||||
</Grid>,
|
|
||||||
<div key="notes">
|
|
||||||
{encryptionStatus === EncryptionStatus.Available ? (
|
|
||||||
<AliasNotesForm
|
|
||||||
id={aliasUIState.id}
|
|
||||||
notes={(aliasUIState as DecryptedAlias).notes}
|
|
||||||
onChanged={setAliasUIState}
|
|
||||||
/>
|
|
||||||
) : (
|
|
||||||
<DecryptionPasswordMissingAlert />
|
|
||||||
)}
|
|
||||||
</div>,
|
|
||||||
<SimplePageBuilder.Section
|
|
||||||
label={t("routes.AliasDetailRoute.sections.settings.title")}
|
|
||||||
key="settings"
|
|
||||||
>
|
|
||||||
<AliasPreferencesForm alias={aliasUIState} onChanged={setAliasUIState} />
|
|
||||||
</SimplePageBuilder.Section>,
|
|
||||||
]}
|
|
||||||
</SimplePageBuilder.MultipleSections>
|
|
||||||
)
|
|
||||||
}
|
|
@ -1,90 +0,0 @@
|
|||||||
import {ReactElement, useState} from "react"
|
|
||||||
import {useTranslation} from "react-i18next"
|
|
||||||
import {useCopyToClipboard, useKeyPress, useUpdateEffect} from "react-use"
|
|
||||||
|
|
||||||
import {Alert, Grid, List, Snackbar} from "@mui/material"
|
|
||||||
|
|
||||||
import {AliasList} from "~/server-types"
|
|
||||||
import {useIsAnyInputFocused, useUIState} from "~/hooks"
|
|
||||||
import {ErrorSnack, NoSearchResults, SuccessSnack} from "~/components"
|
|
||||||
import AliasesListItem from "~/route-widgets/AliasesRoute/AliasesListItem"
|
|
||||||
import CreateAliasButton from "~/route-widgets/AliasesRoute/CreateAliasButton"
|
|
||||||
import EmptyStateScreen from "~/route-widgets/AliasesRoute/EmptyStateScreen"
|
|
||||||
|
|
||||||
export interface AliasesDetailsProps {
|
|
||||||
aliases: AliasList[]
|
|
||||||
isSearching: boolean
|
|
||||||
}
|
|
||||||
|
|
||||||
export default function AliasesDetails({aliases, isSearching}: AliasesDetailsProps): ReactElement {
|
|
||||||
const {t} = useTranslation()
|
|
||||||
const [{value, error}, copyToClipboard] = useCopyToClipboard()
|
|
||||||
const [isPressingControl] = useKeyPress("Shift")
|
|
||||||
const isAnyInputFocused = useIsAnyInputFocused()
|
|
||||||
|
|
||||||
const [aliasesUIState, setAliasesUIState] = useUIState<AliasList[]>(aliases)
|
|
||||||
|
|
||||||
const [lockDisabledCopyMode, setLockDisabledCopyMode] = useState<boolean>(false)
|
|
||||||
|
|
||||||
const isInCopyAddressMode = !isAnyInputFocused && !lockDisabledCopyMode && isPressingControl
|
|
||||||
|
|
||||||
useUpdateEffect(() => {
|
|
||||||
if (!isPressingControl) {
|
|
||||||
setLockDisabledCopyMode(false)
|
|
||||||
}
|
|
||||||
}, [isPressingControl])
|
|
||||||
|
|
||||||
return (
|
|
||||||
<>
|
|
||||||
<Grid container spacing={4} direction="column">
|
|
||||||
<Grid item>
|
|
||||||
{(() => {
|
|
||||||
if (aliasesUIState.length === 0) {
|
|
||||||
if (isSearching) {
|
|
||||||
return <NoSearchResults />
|
|
||||||
} else {
|
|
||||||
return <EmptyStateScreen />
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return (
|
|
||||||
<List>
|
|
||||||
{aliasesUIState.map(alias => (
|
|
||||||
<AliasesListItem
|
|
||||||
alias={alias}
|
|
||||||
key={alias.id}
|
|
||||||
onCopy={
|
|
||||||
isInCopyAddressMode
|
|
||||||
? alias => {
|
|
||||||
copyToClipboard(alias)
|
|
||||||
setLockDisabledCopyMode(true)
|
|
||||||
}
|
|
||||||
: undefined
|
|
||||||
}
|
|
||||||
/>
|
|
||||||
))}
|
|
||||||
</List>
|
|
||||||
)
|
|
||||||
})()}
|
|
||||||
</Grid>
|
|
||||||
<Grid item>
|
|
||||||
<CreateAliasButton
|
|
||||||
onCreated={alias =>
|
|
||||||
setAliasesUIState(currentAliases => [alias, ...currentAliases])
|
|
||||||
}
|
|
||||||
/>
|
|
||||||
</Grid>
|
|
||||||
</Grid>
|
|
||||||
<SuccessSnack
|
|
||||||
key={value}
|
|
||||||
message={value && t("relations.alias.mutations.success.addressCopiedToClipboard")}
|
|
||||||
/>
|
|
||||||
<ErrorSnack message={error && t("general.copyError")} />
|
|
||||||
<Snackbar open={isInCopyAddressMode} autoHideDuration={null}>
|
|
||||||
<Alert variant="standard" severity="info">
|
|
||||||
{t("routes.AliasesRoute.isInCopyMode")}
|
|
||||||
</Alert>
|
|
||||||
</Snackbar>
|
|
||||||
</>
|
|
||||||
)
|
|
||||||
}
|
|
@ -16,7 +16,6 @@ import {
|
|||||||
SimplePageBuilder,
|
SimplePageBuilder,
|
||||||
} from "~/components"
|
} from "~/components"
|
||||||
import AliasAddress from "~/route-widgets/AliasDetailRoute/AliasAddress"
|
import AliasAddress from "~/route-widgets/AliasDetailRoute/AliasAddress"
|
||||||
import AliasDetails from "~/route-widgets/AliasDetailRoute/AliasDetails"
|
|
||||||
import AliasNotesForm from "~/route-widgets/AliasDetailRoute/AliasNotesForm"
|
import AliasNotesForm from "~/route-widgets/AliasDetailRoute/AliasNotesForm"
|
||||||
import AliasPreferencesForm from "~/route-widgets/AliasDetailRoute/AliasPreferencesForm"
|
import AliasPreferencesForm from "~/route-widgets/AliasDetailRoute/AliasPreferencesForm"
|
||||||
import AuthContext, {EncryptionStatus} from "~/AuthContext/AuthContext"
|
import AuthContext, {EncryptionStatus} from "~/AuthContext/AuthContext"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user