Merge branch 'main' into feat-SER-166-Block-For-Email-Verification

This commit is contained in:
Darshan
2025-10-05 13:50:18 +05:30
15 changed files with 56 additions and 34 deletions
@@ -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}
<Table.Row.Base {root}>
<Table.Cell column="dueDate" {root}
>{toLocaleDate(invoice.dueAt)}</Table.Cell>
<Table.Cell column="dueDate" {root}>
<DualTimeView time={invoice.dueAt} />
</Table.Cell>
<Table.Cell column="status" {root}>
{@const isDanger =
status === 'overdue' ||
@@ -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}
<DualTimeView time={domain.expire} />
{:else}-{/if}
{:else if column.id === 'renewal'}
{domain?.renewal ? toLocaleDateTime(domain.renewal) : '-'}
{#if domain?.renewal}
<DualTimeView time={domain.renewal} />
{:else}-{/if}
{:else if column.id === 'auto_renewal'}
{domain?.autoRenewal ? 'On' : 'Off'}
{/if}
@@ -15,7 +15,7 @@
SearchQuery
} from '$lib/components';
import { Button } from '$lib/elements/forms';
import { toLocaleDate, toLocaleDateTime } 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 +196,13 @@
{user.labels.join(', ')}
</Typography.Text>
{:else if id === 'joined'}
{toLocaleDateTime(user.registration)}
<DualTimeView time={user.registration} />
{:else if id === 'lastActivity'}
{user.accessedAt ? toLocaleDate(user.accessedAt) : 'never'}
{#if user.accessedAt}
<DualTimeView time={user.accessedAt} />
{:else}
never
{/if}
{:else}
{user[id]}
{/if}
@@ -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}
</Table.Cell>
<Table.Cell column="joined" {root}>
{toLocaleDateTime(membership.joined)}
<DualTimeView time={membership.joined} />
</Table.Cell>
<Table.Cell column="actions" {root}>
<button
@@ -2,7 +2,7 @@
import { Id } from '$lib/components';
import { Button } from '$lib/elements/forms';
import type { PageData } from './$types';
import { toLocaleDateTime } from '$lib/helpers/date';
import DualTimeView from '$lib/components/dualTimeView.svelte';
import { sdk } from '$lib/stores/sdk';
import { Submit, trackError, trackEvent } from '$lib/actions/analytics';
import { Dependencies } from '$lib/constants';
@@ -87,7 +87,7 @@
{#if !identity[column.id]}
-
{:else}
{toLocaleDateTime(identity[column.id])}
<DualTimeView time={identity[column.id]} />
{/if}
{:else}
{identity[column.id]}
@@ -7,7 +7,7 @@
import DeleteMembership from '../deleteMembership.svelte';
import type { Models } from '@appwrite.io/console';
import { trackEvent, Submit, trackError } from '$lib/actions/analytics';
import { toLocaleDateTime } from '$lib/helpers/date';
import DualTimeView from '$lib/components/dualTimeView.svelte';
import {
Table,
Layout,
@@ -108,7 +108,7 @@
{membership.roles}
</Table.Cell>
<Table.Cell column="joined" {root}>
{toLocaleDateTime(membership.joined)}
<DualTimeView time={membership.joined} />
</Table.Cell>
<Table.Cell column="actions" {root}>
<button
@@ -3,7 +3,7 @@
import { Button } from '$lib/elements/forms';
import type { PageData } from './$types';
import { columns } from './store';
import { toLocaleDateTime } from '$lib/helpers/date';
import DualTimeView from '$lib/components/dualTimeView.svelte';
import ProviderType from '$routes/(console)/project-[region]-[project]/messaging/providerType.svelte';
import Provider from '$routes/(console)/project-[region]-[project]/messaging/provider.svelte';
import { sdk } from '$lib/stores/sdk';
@@ -83,7 +83,7 @@
<Provider provider={provider.provider} />
{/if}
{:else if column.id === '$createdAt'}
{toLocaleDateTime(target[column.id])}
<DualTimeView time={target[column.id]} />
{:else}
{target[column.id]}
{/if}
@@ -8,7 +8,7 @@
import { addNotification } from '$lib/stores/notifications';
import { sdk } from '$lib/stores/sdk';
import { database } from './store';
import { toLocaleDate } from '$lib/helpers/date';
import DualTimeView from '$lib/components/dualTimeView.svelte';
import { type Models, Query } from '@appwrite.io/console';
import { Spinner, Table } from '@appwrite.io/pink-svelte';
@@ -126,7 +126,9 @@
{#each tableItems as table}
<Table.Row.Base {root}>
<Table.Cell {root}>{table.name}</Table.Cell>
<Table.Cell {root}>{toLocaleDate(table.updatedAt)}</Table.Cell>
<Table.Cell {root}>
<DualTimeView time={table.updatedAt} />
</Table.Cell>
</Table.Row.Base>
{/each}
</Table.Root>
@@ -85,14 +85,14 @@
label="Min"
placeholder="Enter size"
bind:value={data.min}
step="any"
step={0.1}
required={editing} />
<InputNumber
id="max"
label="Max"
placeholder="Enter size"
bind:value={data.max}
step="any"
step={0.1}
required={editing} />
</Layout.Stack>
<InputNumber
@@ -104,7 +104,7 @@
bind:value={data.default}
disabled={data.required || data.array}
nullable={!data.required && !data.array}
step="any" />
step={0.1} />
<Selector.Checkbox
size="s"
id="required"
@@ -58,7 +58,7 @@
},
{} as Record<string, unknown>
),
permissions: existingData.$permissions ?? [],
permissions: existingData?.$permissions ?? [],
columns: availableColumns
};
}
@@ -6,7 +6,7 @@
import { Id } from '$lib/components';
import { Dependencies } from '$lib/constants';
import { Button } from '$lib/elements/forms';
import { toLocaleDateTime } from '$lib/helpers/date';
import DualTimeView from '$lib/components/dualTimeView.svelte';
import { addNotification } from '$lib/stores/notifications';
import { canWriteTables } from '$lib/stores/roles';
import { sdk } from '$lib/stores/sdk';
@@ -78,7 +78,7 @@
{:else if column.id === 'name'}
{table.name}
{:else}
{toLocaleDateTime(table[column.id])}
<DualTimeView time={table[column.id]} />
{/if}
</Table.Cell>
{/each}
@@ -4,7 +4,7 @@
import { Empty, EmptyFilter, EmptySearch, Id, PaginationWithLimit } from '$lib/components';
import { hasPageQueries } from '$lib/components/filters';
import { Button } from '$lib/elements/forms';
import { toLocaleDateTime } from '$lib/helpers/date';
import DualTimeView from '$lib/components/dualTimeView.svelte';
import { Container, ResponsiveContainerHeader } from '$lib/layout';
import { MessagingProviderType } from '@appwrite.io/console';
import CreateMessageDropdown from './createMessageDropdown.svelte';
@@ -208,7 +208,7 @@
{#if !message[column.id]}
-
{:else}
{toLocaleDateTime(message[column.id])}
<DualTimeView time={message[column.id]} />
{/if}
{:else}
{message[column.id]}
@@ -8,7 +8,7 @@
import { invalidate } from '$app/navigation';
import { Dependencies } from '$lib/constants';
import { sdk } from '$lib/stores/sdk';
import { toLocaleDateTime } from '$lib/helpers/date';
import DualTimeView from '$lib/components/dualTimeView.svelte';
import type { Column } from '$lib/helpers/types';
import { page } from '$app/state';
import { canWriteTopics } from '$lib/stores/roles';
@@ -72,7 +72,9 @@
<Id value={topic.$id}>{topic.$id}</Id>
{/key}
{:else if column.type === 'datetime'}
{topic[column.id] ? toLocaleDateTime(topic[column.id]) : '-'}
{#if topic[column.id]}
<DualTimeView time={topic[column.id]} />
{:else}-{/if}
{:else if column.id === 'total'}
{topic.emailTotal + topic.smsTotal + topic.pushTotal}
{:else}
@@ -8,7 +8,7 @@
import { addNotification } from '$lib/stores/notifications';
import type { PageData } from './$types';
import ProviderType from '../../providerType.svelte';
import { toLocaleDateTime } from '$lib/helpers/date';
import DualTimeView from '$lib/components/dualTimeView.svelte';
import { project } from '$routes/(console)/project-[region]-[project]/store';
import { sdk } from '$lib/stores/sdk';
import { page } from '$app/state';
@@ -109,7 +109,7 @@
{:else if column.id === 'type'}
<ProviderType type={subscriber.target.providerType} size="xs" />
{:else if column.id === '$createdAt'}
{toLocaleDateTime(subscriber[column.id])}
<DualTimeView time={subscriber[column.id]} />
{:else}
{subscriber[column.id]}
{/if}
@@ -6,7 +6,8 @@
import { Button } from '$lib/elements/forms';
import { canWriteKeys } from '$lib/stores/roles';
import type { Models } from '@appwrite.io/console';
import { diffDays, toLocaleDate, toLocaleDateTime } from '$lib/helpers/date';
import { diffDays } from '$lib/helpers/date';
import DualTimeView from '$lib/components/dualTimeView.svelte';
import { devKeyColumns, keyColumns, showDevKeysCreateModal } from '../store';
import { Badge, FloatingActionBar, Layout, Table } from '@appwrite.io/pink-svelte';
import DeleteBatch from './deleteBatch.svelte';
@@ -69,12 +70,20 @@
{key.name}
</Table.Cell>
<Table.Cell {root}>
{key.accessedAt ? toLocaleDate(key.accessedAt) : 'never'}
{#if key.accessedAt}
<DualTimeView time={key.accessedAt} />
{:else}
never
{/if}
</Table.Cell>
<Table.Cell {root}>
{@const expiration = getExpiryDetails(key)}
<Layout.Stack gap="s" direction="row">
{key.expire ? toLocaleDateTime(key.expire) : 'never'}
{#if key.expire}
<DualTimeView time={key.expire} />
{:else}
never
{/if}
{#if expiration.status}
<Badge