From cf86064efd2b10b24a2405fca1e84be47a6e8d03 Mon Sep 17 00:00:00 2001 From: Harsh Mahajan <127186841+HarshMN2345@users.noreply.github.com> Date: Mon, 29 Sep 2025 16:52:35 +0530 Subject: [PATCH 1/4] feat: Add relative time tooltips in tables; fix Messaging Topics empty state --- .../billing/paymentHistory.svelte | 7 +++-- .../domains/+page.svelte | 10 +++++-- .../auth/+page.svelte | 11 +++++-- .../teams/team-[team]/members/+page.svelte | 4 +-- .../auth/user-[user]/identities/table.svelte | 4 +-- .../auth/user-[user]/memberships/+page.svelte | 4 +-- .../auth/user-[user]/targets/table.svelte | 4 +-- .../database-[database]/delete.svelte | 6 ++-- .../database-[database]/table.svelte | 4 +-- .../messaging/+page.svelte | 4 +-- .../message-[message]/updateTopics.svelte | 29 +++++++++++-------- .../messaging/topics/table.svelte | 6 ++-- .../topics/topic-[topic]/table.svelte | 4 +-- .../overview/(components)/table.svelte | 15 ++++++++-- 14 files changed, 70 insertions(+), 42 deletions(-) diff --git a/src/routes/(console)/organization-[organization]/billing/paymentHistory.svelte b/src/routes/(console)/organization-[organization]/billing/paymentHistory.svelte index e6c787b0d..d8085642a 100644 --- a/src/routes/(console)/organization-[organization]/billing/paymentHistory.svelte +++ b/src/routes/(console)/organization-[organization]/billing/paymentHistory.svelte @@ -3,7 +3,7 @@ import { onMount } from 'svelte'; import { CardGrid, PaginationInline } from '$lib/components'; import { Button } from '$lib/elements/forms'; - import { toLocaleDate } from '$lib/helpers/date'; + import DualTimeView from '$lib/components/dualTimeView.svelte'; import { formatCurrency } from '$lib/helpers/numbers'; import type { Invoice, InvoiceList } from '$lib/sdk/billing'; import { getApiEndpoint, sdk } from '$lib/stores/sdk'; @@ -112,8 +112,9 @@ {#each invoiceList?.invoices as invoice (invoice.$id)} {@const status = invoice.status} - {toLocaleDate(invoice.dueAt)} + + + {@const isDanger = status === 'overdue' || diff --git a/src/routes/(console)/organization-[organization]/domains/+page.svelte b/src/routes/(console)/organization-[organization]/domains/+page.svelte index 4e98e3d80..ec6c271e0 100644 --- a/src/routes/(console)/organization-[organization]/domains/+page.svelte +++ b/src/routes/(console)/organization-[organization]/domains/+page.svelte @@ -4,7 +4,7 @@ import { EmptySearch, PaginationWithLimit, ViewSelector } from '$lib/components/index.js'; import { Button } from '$lib/elements/forms'; import Link from '$lib/elements/link.svelte'; - import { toLocaleDateTime } from '$lib/helpers/date'; + import DualTimeView from '$lib/components/dualTimeView.svelte'; import Container from '$lib/layout/container.svelte'; import { protocol } from '$routes/(console)/store.js'; import { @@ -103,9 +103,13 @@ {:else if column.id === 'nameservers'} {domain.nameservers || '-'} {:else if column.id === 'expiry_date'} - {domain?.expire ? toLocaleDateTime(domain.expire) : '-'} + {#if domain?.expire} + + {:else}-{/if} {:else if column.id === 'renewal'} - {domain?.renewal ? toLocaleDateTime(domain.renewal) : '-'} + {#if domain?.renewal} + + {:else}-{/if} {:else if column.id === 'auto_renewal'} {domain?.autoRenewal ? 'On' : 'Off'} {/if} diff --git a/src/routes/(console)/project-[region]-[project]/auth/+page.svelte b/src/routes/(console)/project-[region]-[project]/auth/+page.svelte index 2bc7fb4fa..24b959222 100644 --- a/src/routes/(console)/project-[region]-[project]/auth/+page.svelte +++ b/src/routes/(console)/project-[region]-[project]/auth/+page.svelte @@ -15,7 +15,8 @@ SearchQuery } from '$lib/components'; import { Button } from '$lib/elements/forms'; - import { toLocaleDate, toLocaleDateTime } from '$lib/helpers/date'; + import { toLocaleDate } from '$lib/helpers/date'; + import DualTimeView from '$lib/components/dualTimeView.svelte'; import { Container } from '$lib/layout'; import type { Models } from '@appwrite.io/console'; import { writable } from 'svelte/store'; @@ -196,9 +197,13 @@ {user.labels.join(', ')} {:else if id === 'joined'} - {toLocaleDateTime(user.registration)} + {:else if id === 'lastActivity'} - {user.accessedAt ? toLocaleDate(user.accessedAt) : 'never'} + {#if user.accessedAt} + + {:else} + never + {/if} {:else} {user[id]} {/if} diff --git a/src/routes/(console)/project-[region]-[project]/auth/teams/team-[team]/members/+page.svelte b/src/routes/(console)/project-[region]-[project]/auth/teams/team-[team]/members/+page.svelte index 00d33151b..629c5bdda 100644 --- a/src/routes/(console)/project-[region]-[project]/auth/teams/team-[team]/members/+page.svelte +++ b/src/routes/(console)/project-[region]-[project]/auth/teams/team-[team]/members/+page.svelte @@ -6,7 +6,7 @@ import type { Models } from '@appwrite.io/console'; import { invalidate } from '$app/navigation'; import { base } from '$app/paths'; - import { toLocaleDateTime } from '$lib/helpers/date'; + import DualTimeView from '$lib/components/dualTimeView.svelte'; import type { PageData } from './$types'; import CreateMember from '../createMembership.svelte'; import DeleteMembership from '../deleteMembership.svelte'; @@ -117,7 +117,7 @@ {membership.roles} - {toLocaleDateTime(membership.joined)} +