Skip to content

Commit

Permalink
Merge pull request #291 from Concordium/frontend-typecheck
Browse files Browse the repository at this point in the history
Fix frontend type warnings
  • Loading branch information
limemloh authored Nov 5, 2024
2 parents cbefa26 + 61e9b9f commit 93eda76
Show file tree
Hide file tree
Showing 73 changed files with 354 additions and 312 deletions.
12 changes: 6 additions & 6 deletions frontend/nuxt.config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -59,10 +59,10 @@ export default defineNuxtConfig({
// Lock default values for Nuxt to what they were at this date.
compatibilityDate: '2024-11-01',
// TypeScript configurations.
// typescript: {
// // Enable strict checks.
// strict: true,
// // Enable type-checking at build time.
// typeCheck: true,
// },
typescript: {
// Enable strict checks.
strict: true,
// Enable type-checking at build time.
typeCheck: true,
},
})
Original file line number Diff line number Diff line change
Expand Up @@ -133,7 +133,7 @@
<div class="col-span-1 flex justify-end">
<a
class="bg-theme-button-primary px-8 py-3 hover:bg-theme-button-primary-hover rounded"
:href="exportUrl(accountAddress, chosenMonth)"
:href="exportUrl(accountAddress, chosenMonth!)"
>
<span class="hidden md:inline">Export</span>
<DownloadIcon class="h-4 inline align-text-top" />
Expand All @@ -149,7 +149,7 @@
:max-date="currentMonth"
:default-month="currentMonth.getMonth() + 1"
@change="
update => {
(update: any) => {
chosenMonth = buildMonthInput(update.year, update.monthIndex)
}
"
Expand All @@ -159,6 +159,7 @@
</template>

<script lang="ts" setup>
// @ts-expect-error No tyoe definitions for 'vue-month-picker' library.
import { MonthPickerInput } from 'vue-month-picker'
import { DownloadIcon } from '@heroicons/vue/solid/index.js'
import Amount from '~/components/atoms/Amount.vue'
Expand Down Expand Up @@ -196,7 +197,6 @@ function buildMonthInput(year: number, month: number) {
/// if no date is given, undefined is returned.
function toMonthInput(date?: Date): string | undefined {
if (date) {
const year = date.getFullYear()
return buildMonthInput(date.getFullYear(), date.getMonth() + 1)
}
return undefined
Expand Down
2 changes: 1 addition & 1 deletion frontend/src/components/Accounts/AccountDetailsRewards.vue
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@ import { useDateNow } from '~/composables/useDateNow'
import {
type PageInfo,
type AccountReward,
Account,
type Account,
MetricsPeriod,
} from '~/types/generated'
import { useAccountRewardMetricsQuery } from '~/queries/useAccountRewardMetricsQuery'
Expand Down
2 changes: 1 addition & 1 deletion frontend/src/components/Accounts/AccountDetailsToken.vue
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@
import TokenLink from '../molecules/TokenLink.vue'
import ContractLink from '../molecules/ContractLink.vue'
import TokenId from '../molecules/TokenId.vue'
import { Account, AccountToken, PageInfo } from '~~/src/types/generated.js'
import type { Account, AccountToken, PageInfo } from '~~/src/types/generated.js'
import { useBreakpoint, Breakpoint } from '~/composables/useBreakpoint'
import type { PaginationTarget } from '~/composables/usePagination'
import TokenAmount from '~/components/atoms/TokenAmount.vue'
Expand Down
6 changes: 3 additions & 3 deletions frontend/src/components/Contracts/ContractDetailsContent.vue
Original file line number Diff line number Diff line change
Expand Up @@ -108,14 +108,14 @@ import ContractDetailsEvents from './ContractDetailsEvents.vue'
import ContractDetailsTokens from './ContractDetailsTokens.vue'
import DrawerContent from '~/components/Drawer/DrawerContent.vue'
import DetailsCard from '~/components/DetailsCard.vue'
import { Contract } from '~~/src/types/generated'
import type { Contract } from '~~/src/types/generated'
import {
convertTimestampToRelative,
formatTimestamp,
} from '~~/src/utils/format'
import ContractDetailsRejectEvents from '~/components/Contracts/ContractDetailsRejectEvents.vue'
import { PaginationOffsetInfo } from '~~/src/composables/usePaginationOffset'
import { PageDropdownInfo } from '~~/src/composables/usePageDropdown'
import type { PaginationOffsetInfo } from '~~/src/composables/usePaginationOffset'
import type { PageDropdownInfo } from '~~/src/composables/usePageDropdown'
import { Breakpoint } from '~~/src/composables/useBreakpoint'
const { NOW } = useDateNow()
Expand Down
11 changes: 7 additions & 4 deletions frontend/src/components/Contracts/ContractDetailsEvents.vue
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,10 @@
</TableRow>
</TableHead>
<TableBody>
<TableRow v-for="(contractEvent, i) in contractEvents" :key="contractEvent">
<TableRow
v-for="(contractEvent, i) in contractEvents"
:key="contractEvent.transactionHash + contractEvent.event.__typename"
>
<TableTd class="numerical">
<TransactionLink :hash="contractEvent.transactionHash" />
</TableTd>
Expand Down Expand Up @@ -50,14 +53,14 @@
<div>From Module</div>
<div>
<!-- Uses alias from query -->
<ModuleLink :module-reference="contractEvent.event.fromModule" />
<ModuleLink :module-reference="contractEvent.event.from" />
</div>
</div>
<div>
<div>To Module</div>
<div>
<!-- Uses alias from query -->
<ModuleLink :module-reference="contractEvent.event.toModule" />
<ModuleLink :module-reference="contractEvent.event.to" />
</div>
</div>
</DetailsView>
Expand Down Expand Up @@ -104,7 +107,7 @@ import ContractTransfer from './Events/ContractTransfer.vue'
import ModuleLink from '~/components/molecules/ModuleLink.vue'
import ContractUpdated from '~/components/Contracts/Events/ContractUpdated.vue'
import Tooltip from '~~/src/components/atoms/Tooltip.vue'
import { ContractEvent } from '~~/src/types/generated'
import type { ContractEvent } from '~~/src/types/generated'
import TransactionLink from '~~/src/components/molecules/TransactionLink.vue'
import { convertTimestampToRelative } from '~~/src/utils/format'
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
<TableBody>
<TableRow
v-for="(contractRejectEvent, i) in contractRejectEvents"
:key="contractRejectEvent"
:key="contractRejectEvent.transactionHash"
>
<TableTd class="numerical">
<TransactionLink :hash="contractRejectEvent.transactionHash" />
Expand Down Expand Up @@ -92,13 +92,13 @@ import DateTimeWithLineBreak from '../Details/DateTimeWithLineBreak.vue'
import MessageHEX from '../Details/MessageHEX.vue'
import Message from '../Details/Message.vue'
import DetailsView from '../Details/DetailsView.vue'
import InfoTooltip from '../atoms/InfoTooltip.vue'
import { getEntrypoint } from './Events/contractEvents'
import { ContractRejectEvent } from '~~/src/types/generated'
import TransactionLink from '~~/src/components/molecules/TransactionLink.vue'
import Tooltip from '~~/src/components/atoms/Tooltip.vue'
import { formatTimestamp } from '~~/src/utils/format'
import { RECEIVE_NAME } from '~~/src/utils/infoTooltips'
import InfoTooltip from '~/components/atoms/InfoTooltip.vue'
import type { ContractRejectEvent } from '~/types/generated'
import TransactionLink from '~/components/molecules/TransactionLink.vue'
import Tooltip from '~/components/atoms/Tooltip.vue'
import { formatTimestamp } from '~/utils/format'
import { RECEIVE_NAME } from '~/utils/infoTooltips'
type Props = {
contractRejectEvents: ContractRejectEvent[]
Expand Down
11 changes: 7 additions & 4 deletions frontend/src/components/Contracts/ContractDetailsTokens.vue
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,10 @@
</TableRow>
</TableHead>
<TableBody>
<TableRow v-for="contractToken in tokensWithMetadata" :key="contractToken">
<TableRow
v-for="contractToken in tokensWithMetadata"
:key="contractToken.tokenAddress"
>
<TableTd>
<TokenLink
:token-address="contractToken.tokenAddress"
Expand All @@ -31,12 +34,12 @@
</TableBody>
</template>
<script lang="ts" setup>
import { ComputedRef } from 'vue'
import type { ComputedRef } from 'vue'
import TokenLink from '../molecules/TokenLink.vue'
import TokenId from '../molecules/TokenId.vue'
import TokenAmount from '../atoms/TokenAmount.vue'
import { Token } from '~~/src/types/generated'
import { TokenWithMetadata, fetchMetadata } from '~~/src/types/tokens'
import type { Token } from '~~/src/types/generated'
import { type TokenWithMetadata, fetchMetadata } from '~~/src/types/tokens'
type Props = {
contractTokens: Token[]
Expand Down
4 changes: 2 additions & 2 deletions frontend/src/components/Contracts/Events/ContractCall.vue
Original file line number Diff line number Diff line change
Expand Up @@ -56,9 +56,9 @@ import MessageHEX from '../../Details/MessageHEX.vue'
import Message from '../../Details/Message.vue'
import LogsHEX from '../../Details/LogsHEX.vue'
import Logs from '../../Details/Logs.vue'
import { ContractCall } from '../../../../src/types/generated'
import InfoTooltip from '../../atoms/InfoTooltip.vue'
import { getEntrypoint } from './contractEvents'
import type { ContractCall } from '~~/src/types/generated'
import InfoTooltip from '~/components/atoms/InfoTooltip.vue'
import Amount from '~/components/atoms/Amount.vue'
import ContractLink from '~/components/molecules/ContractLink.vue'
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,9 +34,9 @@
<script lang="ts" setup>
import LogsHEX from '../../Details/LogsHEX.vue'
import Logs from '../../Details/Logs.vue'
import { ContractInitialized } from '../../../../src/types/generated'
import InfoTooltip from '../../atoms/InfoTooltip.vue'
import ModuleLink from '../../molecules/ModuleLink.vue'
import type { ContractInitialized } from '~~/src/types/generated'
import Amount from '~/components/atoms/Amount.vue'
import { MODULE } from '~~/src/utils/infoTooltips'
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,8 @@
</div>
</template>
<script lang="ts" setup>
import { Transferred } from '../../../../src/types/generated'
import AddressLink from '../../molecules/AddressLink.vue'
import type { Transferred } from '~~/src/types/generated'
import Amount from '~/components/atoms/Amount.vue'
type Props = {
Expand Down
6 changes: 3 additions & 3 deletions frontend/src/components/Contracts/Events/ContractUpdated.vue
Original file line number Diff line number Diff line change
Expand Up @@ -58,17 +58,17 @@
/>
</template>
<script lang="ts" setup>
import { ContractUpdated } from '../../../../src/types/generated'
import MessageHEX from '../../Details/MessageHEX.vue'
import Message from '../../Details/Message.vue'
import LogsHEX from '../../Details/LogsHEX.vue'
import Logs from '../../Details/Logs.vue'
import InfoTooltip from '../../atoms/InfoTooltip.vue'
import { getEntrypoint } from './contractEvents'
import InfoTooltip from '~/components/atoms/InfoTooltip.vue'
import type { ContractUpdated } from '~~/src/types/generated'
import AccountLink from '~/components/molecules/AccountLink.vue'
import ContractLink from '~/components/molecules/ContractLink.vue'
import Amount from '~/components/atoms/Amount.vue'
import { RECEIVE_NAME } from '~~/src/utils/infoTooltips'
import { RECEIVE_NAME } from '~/utils/infoTooltips'
type Props = {
contractEvent: ContractUpdated
Expand Down
29 changes: 15 additions & 14 deletions frontend/src/components/Details/DetailsTable.vue
Original file line number Diff line number Diff line change
@@ -1,29 +1,32 @@
<template>
<div>
<PageDropdown
<PageDropdown
v-if="MIN_PAGE_SIZE < totalCount"
:page-dropdown-info="props.pageDropdownInfo"/>
<Table
:page-dropdown-info="props.pageDropdownInfo"
/>
<Table
:class="[
'contract-detail',
{
{
'no-last': totalCount <= props.pageOffsetInfo.take.value,
'fetching': fetching
}]">
fetching: fetching,
},
]"
>
<slot />
</Table>
<PaginationOffset
:total-count="props.totalCount"
:info="pageOffsetInfo"
/>
<PaginationOffset :total-count="props.totalCount" :info="pageOffsetInfo" />
</div>
</template>

<script lang="ts" setup>
import PaginationOffset from '../PaginationOffset.vue'
import PageDropdown from '../PageDropdown.vue'
import { MIN_PAGE_SIZE, PageDropdownInfo } from '~~/src/composables/usePageDropdown'
import { PaginationOffsetInfo } from '~~/src/composables/usePaginationOffset'
import {
MIN_PAGE_SIZE,
type PageDropdownInfo,
} from '~~/src/composables/usePageDropdown'
import type { PaginationOffsetInfo } from '~~/src/composables/usePaginationOffset'
type Props = {
totalCount: number
Expand All @@ -33,7 +36,6 @@ type Props = {
}
const props = defineProps<Props>()
</script>
<style>
.contract-detail table td {
Expand All @@ -58,5 +60,4 @@ const props = defineProps<Props>()
.no-last table tr:last-child {
border-bottom: none;
}
</style>
6 changes: 3 additions & 3 deletions frontend/src/components/Details/Logs.vue
Original file line number Diff line number Diff line change
Expand Up @@ -25,10 +25,10 @@
</div>
</template>
<script lang="ts" setup>
import { Maybe, StringConnection } from '../../types/generated'
import TextCopy from '../../components/atoms/TextCopy.vue'
import InfoTooltip from '../atoms/InfoTooltip.vue'
import Modal from './Modal.vue'
import type { Maybe, StringConnection } from '~/types/generated'
import TextCopy from '~/components/atoms/TextCopy.vue'
import InfoTooltip from '~/components/atoms/InfoTooltip.vue'
type Props = {
events?: Maybe<StringConnection>
Expand Down
9 changes: 5 additions & 4 deletions frontend/src/components/Details/LogsHEX.vue
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
<template>
<div class="w-full">
<div>Logs (hexadecimal):
<InfoTooltip text="Logs produced by contract execution."/>
<div>
Logs (hexadecimal):
<InfoTooltip text="Logs produced by contract execution." />
</div>
<template v-if="eventsAsHex?.nodes?.length">
<div v-for="(event, i) in eventsAsHex.nodes" :key="i" class="flex">
Expand All @@ -17,9 +18,9 @@
</div>
</template>
<script lang="ts" setup>
import { Maybe, StringConnection } from '../../types/generated'
import TextCopy from '../../components/atoms/TextCopy.vue'
import InfoTooltip from '../atoms/InfoTooltip.vue'
import type { Maybe, StringConnection } from '~/types/generated'
import TextCopy from '~/components/atoms/TextCopy.vue'
type Props = {
eventsAsHex?: Maybe<StringConnection>
Expand Down
Loading

0 comments on commit 93eda76

Please sign in to comment.