Files
lucent-laravel/front/js/svelte/home/RecordRow.svelte
T

51 lines
1.3 KiB
Svelte
Raw Normal View History

2023-10-02 23:10:49 +03:00
<script>
import {formatDistanceToNow, parseJSON} from "date-fns";
import Avatar from "../account/Avatar.svelte";
import {previewTitle} from "../records/Preview";
import Preview from "../files/Preview.svelte";
import {usernameById} from "../account/users";
import {getContext} from "svelte";
const channel = getContext("channel");
export let users;
export let graph;
export let record;
2023-10-04 13:32:30 +03:00
let schema = channel.schemas.find((s) => s.name === record.schema);
2023-10-02 23:10:49 +03:00
let frieldlyUpdatedAt = formatDistanceToNow(
parseJSON(record._sys.updatedAt),
{addSuffix: true}
);
</script>
<td>
2024-08-15 14:44:53 +03:00
<div class="row-name">
{#if record.status === "draft"}
<span class="status">DRAFT</span>
{/if}
2023-10-02 23:10:49 +03:00
{#if schema.type === "files"}
2024-08-15 14:44:53 +03:00
<Preview {record} size="tiny" showFilename={true}/>
2023-10-02 23:10:49 +03:00
{:else}
<a
2024-08-15 14:44:53 +03:00
href="{channel.lucentUrl}/records/{record.id}"
2023-10-02 23:10:49 +03:00
>
{previewTitle(channel.schemas, record, graph)}
</a>
{/if}
2024-08-15 14:44:53 +03:00
</div>
2023-10-02 23:10:49 +03:00
</td>
<td><a
2024-08-15 14:44:53 +03:00
href="{channel.lucentUrl}/content/{schema.name}">{schema.label}</a
2023-10-02 23:10:49 +03:00
>
</td>
2024-08-15 14:44:53 +03:00
2023-10-02 23:10:49 +03:00
<td>
2024-08-15 14:44:53 +03:00
<div style="display: flex;gap: 14px">
2023-10-02 23:10:49 +03:00
<Avatar name={usernameById(users, record._sys.updatedBy)} side={24}/>
<div class="ms-2">
{frieldlyUpdatedAt}
</div>
</div>
</td>