fixed extension icon in aliases

This commit is contained in:
Myzel394 2023-01-17 22:00:41 +01:00
parent 786500d233
commit 10e18b17ec
2 changed files with 13 additions and 10 deletions

View File

@ -1,3 +1,5 @@
import {Alias} from "~/server-types"
export interface ExtensionKleckMessagePasswordStatus { export interface ExtensionKleckMessagePasswordStatus {
type: "password-status" type: "password-status"
} }
@ -21,7 +23,7 @@ export interface ExtensionKleckMessageRefetchAliases {
export interface ExtensionKleckMessageLatestAlias { export interface ExtensionKleckMessageLatestAlias {
type: "latest-alias" type: "latest-alias"
data: { data: {
latestAliasId: string latestAlias: Alias
} }
} }

View File

@ -1,8 +1,8 @@
import {ReactElement, useCallback, useEffect, useState, useTransition} from "react" import {ReactElement, useCallback, useState, useTransition} from "react"
import {AxiosError} from "axios" import {AxiosError} from "axios"
import {MdSearch} from "react-icons/md" import {MdSearch} from "react-icons/md"
import {useTranslation} from "react-i18next" import {useTranslation} from "react-i18next"
import {useCopyToClipboard, useKeyPress, useUpdateEffect} from "react-use" import {useCopyToClipboard, useEffectOnce, useKeyPress, useUpdateEffect} from "react-use"
import {useQuery} from "@tanstack/react-query" import {useQuery} from "@tanstack/react-query"
import {Alert, Chip, Grid, InputAdornment, List, Snackbar, TextField} from "@mui/material" import {Alert, Chip, Grid, InputAdornment, List, Snackbar, TextField} from "@mui/material"
@ -16,7 +16,7 @@ import {
SimplePage, SimplePage,
SuccessSnack, SuccessSnack,
} from "~/components" } from "~/components"
import {useExtensionHandler, useIsAnyInputFocused, useWindowVisible} from "~/hooks" import {useExtensionHandler, useIsAnyInputFocused} from "~/hooks"
import {CreateAliasButton} from "~/route-widgets/AliasesRoute/CreateAliasButton" import {CreateAliasButton} from "~/route-widgets/AliasesRoute/CreateAliasButton"
import {ExtensionKleckMessageLatestAlias} from "~/extension-types" import {ExtensionKleckMessageLatestAlias} from "~/extension-types"
import AliasesListItem from "~/route-widgets/AliasesRoute/AliasesListItem" import AliasesListItem from "~/route-widgets/AliasesRoute/AliasesListItem"
@ -50,8 +50,8 @@ export default function AliasesRoute(): ReactElement {
const isAnyInputFocused = useIsAnyInputFocused() const isAnyInputFocused = useIsAnyInputFocused()
const [lockDisabledCopyMode, setLockDisabledCopyMode] = useState<boolean>(false) const [lockDisabledCopyMode, setLockDisabledCopyMode] = useState<boolean>(false)
const isInCopyAddressMode = !isAnyInputFocused && !lockDisabledCopyMode && isPressingControl const isInCopyAddressMode = !isAnyInputFocused && !lockDisabledCopyMode && isPressingControl
const [latestAliasId, setLatestAliasId] = useState<string | null>(null) const [latestAliasId, setLatestAliasId] = useState<string | null>()
const isVisible = useWindowVisible() console.log(latestAliasId)
const query = useQuery<PaginationResult<AliasList>, AxiosError>( const query = useQuery<PaginationResult<AliasList>, AxiosError>(
["get_aliases", {queryValue, searchFilter, typeFilter}], ["get_aliases", {queryValue, searchFilter, typeFilter}],
@ -91,8 +91,8 @@ export default function AliasesRoute(): ReactElement {
) )
const updateLatestAliasId = useCallback( const updateLatestAliasId = useCallback(
({latestAliasId}: ExtensionKleckMessageLatestAlias["data"]) => { async ({latestAlias}: ExtensionKleckMessageLatestAlias["data"]) => {
setLatestAliasId(latestAliasId) setLatestAliasId(latestAlias.id)
}, },
[], [],
) )
@ -119,7 +119,8 @@ export default function AliasesRoute(): ReactElement {
} }
}, [latestAliasId]) }, [latestAliasId])
useEffect(() => { // Fetch the latest alias
useEffectOnce(() => {
window.dispatchEvent( window.dispatchEvent(
new CustomEvent("kleckrelay-blob", { new CustomEvent("kleckrelay-blob", {
detail: { detail: {
@ -127,7 +128,7 @@ export default function AliasesRoute(): ReactElement {
}, },
}), }),
) )
}, [isVisible]) })
return ( return (
<SimplePage <SimplePage