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}
+
+ editName = !editName}>{editName ? "Done" : "Edit"}
+
+
+
{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}
+
+
+
+ View
+ Copy Url
+
+
\ 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 @@
+
+
+
+ Password
+ Markdown
+
+
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)}
-
-
-
-
-
-
-
-
-
- {/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