diff --git a/components/account/AccountInfo.vue b/components/account/AccountInfo.vue
index 46ab87a2..703f42ce 100644
--- a/components/account/AccountInfo.vue
+++ b/components/account/AccountInfo.vue
@@ -17,7 +17,7 @@ defineProps<{
{{ account.displayName }}
-
+
@{{ account.acct }}
diff --git a/components/account/AccountMe.client.vue b/components/account/AccountMe.client.vue
index dafd8733..68cb7640 100644
--- a/components/account/AccountMe.client.vue
+++ b/components/account/AccountMe.client.vue
@@ -9,7 +9,7 @@ const account = $computed(() => currentUser?.account)
-
+
Login
diff --git a/components/publish/PublishWidget.client.vue b/components/publish/PublishWidget.client.vue
new file mode 100644
index 00000000..d3410787
--- /dev/null
+++ b/components/publish/PublishWidget.client.vue
@@ -0,0 +1,68 @@
+
+
+
+
+
diff --git a/components/publish/PublishWidget.vue b/components/publish/PublishWidget.vue
deleted file mode 100644
index e3105332..00000000
--- a/components/publish/PublishWidget.vue
+++ /dev/null
@@ -1,33 +0,0 @@
-
-
-
-
-
diff --git a/composables/content.ts b/composables/content.ts
index f40c1946..efe7d07b 100644
--- a/composables/content.ts
+++ b/composables/content.ts
@@ -59,7 +59,7 @@ export function treeToVNode(
return h(
RouterLink as any,
attrs,
- node.childNodes.map(n => treeToVNode(n, handle)),
+ () => node.childNodes.map(n => treeToVNode(n, handle)),
)
}
return h(
diff --git a/composables/useCacheStorage.ts b/composables/useCacheStorage.ts
new file mode 100644
index 00000000..2ec46bf0
--- /dev/null
+++ b/composables/useCacheStorage.ts
@@ -0,0 +1,28 @@
+export function useCacheStorage(
+ key: string,
+ getter: () => T | Promise,
+ TTL = 1000 * 60 * 60 * 12, // 12 hours
+) {
+ const storage = useLocalStorage(key, {
+ time: 0,
+ value: null as T | null,
+ })
+
+ if (storage.value.time + TTL < Date.now()) {
+ Promise.resolve(getter()).then((v) => {
+ storage.value = {
+ time: Date.now(),
+ value: v,
+ }
+ })
+ }
+
+ return computed({
+ get() {
+ return storage.value.value
+ },
+ set(v) {
+ storage.value.value = v
+ },
+ })
+}
diff --git a/pages/@[user]/[post].vue b/pages/@[user]/[post].vue
index cdd7b556..debf39e9 100644
--- a/pages/@[user]/[post].vue
+++ b/pages/@[user]/[post].vue
@@ -1,8 +1,4 @@