diff --git a/src/lib/components/RecordDetail.svelte b/src/lib/components/RecordDetail.svelte new file mode 100644 index 0000000..28eb895 --- /dev/null +++ b/src/lib/components/RecordDetail.svelte @@ -0,0 +1,63 @@ + + +
+ {#if loading} +
+ +
+ {:else} +
+
+

+ {record.name} +

+ +
+
+

{record.id}

+

{record.type}

+ +

{record.expand.category.cat_name}

+ {#if isExpired(record.expiry)} +

Expired

+ {:else} +

Expires: {getDate(record.expiry)}

+ {/if} +
+
+ {/if} +
\ No newline at end of file diff --git a/src/lib/components/RecordItem.svelte b/src/lib/components/RecordItem.svelte new file mode 100644 index 0000000..871e7de --- /dev/null +++ b/src/lib/components/RecordItem.svelte @@ -0,0 +1,50 @@ + + +
+
+

{name}

+
+

{type}

+

{categoryName}

+ {#if isExpired(expiry)} +

Expired

+ {:else} +

Expires: {getDate(expiry)}

+ {/if} +
+
+
+ + +
+
\ No newline at end of file diff --git a/src/lib/components/TypeSelector.svelte b/src/lib/components/TypeSelector.svelte new file mode 100644 index 0000000..07cdc64 --- /dev/null +++ b/src/lib/components/TypeSelector.svelte @@ -0,0 +1,17 @@ + + + + diff --git a/src/lib/stores/recordStore.ts b/src/lib/stores/recordStore.ts new file mode 100644 index 0000000..beac53c --- /dev/null +++ b/src/lib/stores/recordStore.ts @@ -0,0 +1,4 @@ +import { type Writable, writable } from "svelte/store"; + +export const selectedRecord: Writable = writable(''); + diff --git a/src/lib/utils.ts b/src/lib/utils.ts index ce3c79b..419a1f5 100644 --- a/src/lib/utils.ts +++ b/src/lib/utils.ts @@ -1,3 +1,20 @@ + + +export const isExpired = (expiry: string): boolean => { + const dateObj = new Date(expiry); + const today = new Date(); + return dateObj < today; +} + +export const getDate = (datetime: string): string => { + const dateObj = new Date(datetime); + const year = dateObj.getUTCFullYear(); + const month = (dateObj.getUTCMonth() + 1).toString().padStart(2, "0"); + const day = dateObj.getUTCDate().toString().padStart(2, "0"); + + return `${day}/${month}/${year}`; +} + export const generatePassword = async (length: number, upper: boolean, lower: boolean, numerical: boolean, special: boolean): Promise => { if (!length) { length = 10; diff --git a/src/routes/(authed)/secrets/+page.svelte b/src/routes/(authed)/secrets/+page.svelte index 3a993dc..bfbe249 100644 --- a/src/routes/(authed)/secrets/+page.svelte +++ b/src/routes/(authed)/secrets/+page.svelte @@ -1,23 +1,12 @@ -
-
- -
- -
- {#if data.records.length > 0} -
- {#each searchView as item, i} -
- -
-
-
-
-
-

- {item['expand']['category']['cat_name'][0]} -

-
-
-
-
-

{item.name}

-

{getDate(item.created)}

-
-
-
-
-

Edit

-
-
-
-
-
-
{ - return async ({ update }) => { - await update({ reset: false }); - }; - }}> - -
- - - - -
-
- -
- - - {#if isExpired(item['expiry'])} - - {:else} - - {/if} - - -
-
- {/each} +
+
+
+ +
+
- {:else } -

No data

- {/if} + {#if data.records.length > 0} +
+ {#each searchView as record} + + {/each} +
+ {:else } +

No data

+ {/if} +
+
+ {#if $selectedRecord} + + {:else } +
+

Welcome, {$currentUser?.name}

+

You have {data.records.length} records

+

Select a record or create a new one to see it here

+
+ {/if} +
\ No newline at end of file