mirror of
https://github.com/appwrite/console.git
synced 2026-06-06 19:27:48 +00:00
addressed a comment
This commit is contained in:
@@ -14,27 +14,32 @@
|
||||
export let databasesScreen = false;
|
||||
export let useCreateLinkForPagination = true;
|
||||
|
||||
const columns: PinkColumn[] = [
|
||||
{
|
||||
id: 'user',
|
||||
...(insideSideSheet ? { width: 140 } : { width: { min: 100 } })
|
||||
},
|
||||
{
|
||||
id: 'event',
|
||||
...(insideSideSheet ? { width: 125 } : { width: { min: 160 } })
|
||||
},
|
||||
{
|
||||
id: 'location',
|
||||
...(insideSideSheet ? { width: 100 } : { width: { min: 120 } })
|
||||
},
|
||||
{
|
||||
id: 'ip',
|
||||
...(insideSideSheet ? { width: { min: 150 } } : { width: { min: 250 } })
|
||||
},
|
||||
{
|
||||
id: 'date',
|
||||
...(insideSideSheet ? { width: { min: 200 } } : { width: { min: 180 } })
|
||||
function getColumnWidth(columnId: string): { width?: number | { min: number } } {
|
||||
const widthConfig: Record<
|
||||
string,
|
||||
{ insideSheet: number | { min: number }; default: number | { min: number } }
|
||||
> = {
|
||||
user: { insideSheet: 140, default: { min: 100 } },
|
||||
event: { insideSheet: 125, default: { min: 160 } },
|
||||
location: { insideSheet: 100, default: { min: 120 } },
|
||||
ip: { insideSheet: { min: 150 }, default: { min: 250 } },
|
||||
date: { insideSheet: { min: 200 }, default: { min: 180 } }
|
||||
};
|
||||
|
||||
const config = widthConfig[columnId];
|
||||
if (!config) {
|
||||
return {};
|
||||
}
|
||||
|
||||
return { width: insideSideSheet ? config.insideSheet : config.default };
|
||||
}
|
||||
|
||||
const columns: PinkColumn[] = [
|
||||
{ id: 'user', ...getColumnWidth('user') },
|
||||
{ id: 'event', ...getColumnWidth('event') },
|
||||
{ id: 'location', ...getColumnWidth('location') },
|
||||
{ id: 'ip', ...getColumnWidth('ip') },
|
||||
{ id: 'date', ...getColumnWidth('date') }
|
||||
];
|
||||
</script>
|
||||
|
||||
@@ -44,55 +49,53 @@
|
||||
expanded={databasesScreen && !insideSideSheet}
|
||||
slotSpacing={databasesScreen && !insideSideSheet}>
|
||||
{#if logs.total}
|
||||
<div>
|
||||
<Table.Root {columns} let:root>
|
||||
<svelte:fragment slot="header" let:root>
|
||||
<Table.Header.Cell column="user" {root}>User</Table.Header.Cell>
|
||||
<Table.Header.Cell column="event" {root}>Event</Table.Header.Cell>
|
||||
<Table.Header.Cell column="location" {root}>Location</Table.Header.Cell>
|
||||
<Table.Header.Cell column="ip" {root}>IP</Table.Header.Cell>
|
||||
<Table.Header.Cell column="date" {root}>Date</Table.Header.Cell>
|
||||
</svelte:fragment>
|
||||
{#each logs.logs as log}
|
||||
<Table.Row.Base {root}>
|
||||
<Table.Cell column="user" {root}>
|
||||
<Layout.Stack direction="row" alignItems="center">
|
||||
{#if log.userEmail}
|
||||
{#if log.userName}
|
||||
<AvatarInitials size="xs" name={log.userName} />
|
||||
<Trim>{log.userName}</Trim>
|
||||
{:else}
|
||||
<AvatarInitials size="xs" name={log.userEmail} />
|
||||
<Trim>{log.userEmail}</Trim>
|
||||
{/if}
|
||||
<Table.Root {columns} let:root>
|
||||
<svelte:fragment slot="header" let:root>
|
||||
<Table.Header.Cell column="user" {root}>User</Table.Header.Cell>
|
||||
<Table.Header.Cell column="event" {root}>Event</Table.Header.Cell>
|
||||
<Table.Header.Cell column="location" {root}>Location</Table.Header.Cell>
|
||||
<Table.Header.Cell column="ip" {root}>IP</Table.Header.Cell>
|
||||
<Table.Header.Cell column="date" {root}>Date</Table.Header.Cell>
|
||||
</svelte:fragment>
|
||||
{#each logs.logs as log}
|
||||
<Table.Row.Base {root}>
|
||||
<Table.Cell column="user" {root}>
|
||||
<Layout.Stack direction="row" alignItems="center">
|
||||
{#if log.userEmail}
|
||||
{#if log.userName}
|
||||
<AvatarInitials size="xs" name={log.userName} />
|
||||
<Trim>{log.userName}</Trim>
|
||||
{:else}
|
||||
<div class="avatar is-size-small">
|
||||
<span class="icon-anonymous" aria-hidden="true"></span>
|
||||
</div>
|
||||
<span class="text u-trim">{log.userName ?? 'Anonymous'}</span>
|
||||
<AvatarInitials size="xs" name={log.userEmail} />
|
||||
<Trim>{log.userEmail}</Trim>
|
||||
{/if}
|
||||
</Layout.Stack>
|
||||
</Table.Cell>
|
||||
<Table.Cell column="event" {root}>
|
||||
{log.event}
|
||||
</Table.Cell>
|
||||
<Table.Cell column="location" {root}>
|
||||
{#if log.countryCode !== '--'}
|
||||
{log.countryName}
|
||||
{:else}
|
||||
Unknown
|
||||
<div class="avatar is-size-small">
|
||||
<span class="icon-anonymous" aria-hidden="true"></span>
|
||||
</div>
|
||||
<span class="text u-trim">{log.userName ?? 'Anonymous'}</span>
|
||||
{/if}
|
||||
</Table.Cell>
|
||||
<Table.Cell column="ip" {root}>
|
||||
<InteractiveText variant="copy" text={log.ip} isVisible />
|
||||
</Table.Cell>
|
||||
<Table.Cell column="date" {root}>
|
||||
{toLocaleDateTime(log.time)}
|
||||
</Table.Cell>
|
||||
</Table.Row.Base>
|
||||
{/each}
|
||||
</Table.Root>
|
||||
</div>
|
||||
</Layout.Stack>
|
||||
</Table.Cell>
|
||||
<Table.Cell column="event" {root}>
|
||||
{log.event}
|
||||
</Table.Cell>
|
||||
<Table.Cell column="location" {root}>
|
||||
{#if log.countryCode !== '--'}
|
||||
{log.countryName}
|
||||
{:else}
|
||||
Unknown
|
||||
{/if}
|
||||
</Table.Cell>
|
||||
<Table.Cell column="ip" {root}>
|
||||
<InteractiveText variant="copy" text={log.ip} isVisible />
|
||||
</Table.Cell>
|
||||
<Table.Cell column="date" {root}>
|
||||
{toLocaleDateTime(log.time)}
|
||||
</Table.Cell>
|
||||
</Table.Row.Base>
|
||||
{/each}
|
||||
</Table.Root>
|
||||
|
||||
<PaginationWithLimit
|
||||
{limit}
|
||||
|
||||
Reference in New Issue
Block a user