diff --git a/app/components.d.ts b/app/components.d.ts
index 571e7aa..925bf71 100644
--- a/app/components.d.ts
+++ b/app/components.d.ts
@@ -48,6 +48,7 @@ declare module 'vue' {
NMessageProvider: typeof import('naive-ui')['NMessageProvider']
NModal: typeof import('naive-ui')['NModal']
NNotificationProvider: typeof import('naive-ui')['NNotificationProvider']
+ NPopover: typeof import('naive-ui')['NPopover']
NProgress: typeof import('naive-ui')['NProgress']
NRadio: typeof import('naive-ui')['NRadio']
NRadioGroup: typeof import('naive-ui')['NRadioGroup']
@@ -105,6 +106,7 @@ declare global {
const NMessageProvider: typeof import('naive-ui')['NMessageProvider']
const NModal: typeof import('naive-ui')['NModal']
const NNotificationProvider: typeof import('naive-ui')['NNotificationProvider']
+ const NPopover: typeof import('naive-ui')['NPopover']
const NProgress: typeof import('naive-ui')['NProgress']
const NRadio: typeof import('naive-ui')['NRadio']
const NRadioGroup: typeof import('naive-ui')['NRadioGroup']
diff --git a/app/components/VerificationMark.vue b/app/components/VerificationMark.vue
new file mode 100644
index 0000000..05ede20
--- /dev/null
+++ b/app/components/VerificationMark.vue
@@ -0,0 +1,80 @@
+
+
+
+
+
+
+
+
+
{{ mark.title || "No title" }}
+
{{ mark.description || "No description" }}
+
+
+
+
+
diff --git a/app/components/VerificationStatusCard.vue b/app/components/VerificationStatusCard.vue
new file mode 100644
index 0000000..8122217
--- /dev/null
+++ b/app/components/VerificationStatusCard.vue
@@ -0,0 +1,83 @@
+
+
+
+
+
+
+
{{ mark.title || "No title" }}
+
{{ mark.description || "No description" }}
+
+ Verified by
{{ mark.verifiedBy || "No one verified it" }}
+
+
+
+
+
+
+
+
diff --git a/app/pages/accounts/[name].vue b/app/pages/accounts/[name].vue
index a35b71e..dba275e 100644
--- a/app/pages/accounts/[name].vue
+++ b/app/pages/accounts/[name].vue
@@ -166,6 +166,16 @@
:show-indicator="false"
/>
+
+
+
+
diff --git a/app/pages/realms/[slug].vue b/app/pages/realms/[slug].vue
new file mode 100644
index 0000000..757f94f
--- /dev/null
+++ b/app/pages/realms/[slug].vue
@@ -0,0 +1,532 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
{{ realm.name }}
+
+
+
+ {{ realm.description }}
+
+
+
+
+ {{ realm.isCommunity ? "Community" : "Organization" }}
+
+
+ {{ realm.isPublic ? "Public" : "Private" }}
+
+
+
+
+
+
+
+
+
+
+
+ Join Realm
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
![]()
+
+
+
+
+
+
+
+
+ All
+ Posts
+ Articles
+
+
+
+
+
+
+
+ Include replies
+
+
+
+
+
+ Media only
+
+
+
+
+
+ Descending order
+
+
+
+
+
+
+ Advanced filters
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/types/api/index.ts b/app/types/api/index.ts
index 026d0a7..fad373f 100644
--- a/app/types/api/index.ts
+++ b/app/types/api/index.ts
@@ -1,8 +1,9 @@
// Re-export all types from separate files for easy importing
-export type { SnFileMeta, SnCloudFile as SnAttachment, SnPost } from './post'
-export type { SnVerification, SnPublisher } from './publisher'
-export type { SnActivity } from './activity'
-export type { SnWalletOrder, OrderStatus } from './order'
-export type { SnVersion } from './version'
-export type { SnAccountLink, SnAccountBadge, SnAccountPerkSubscription, SnAccountProfile, SnAccount } from './user'
-export type { GeoIpLocation, SnAuthChallenge, SnAuthSession, SnAuthFactor, SnAccountConnection } from './geo'
+export * from "./post"
+export * from "./publisher"
+export * from "./activity"
+export * from "./order"
+export * from "./version"
+export * from "./user"
+export * from "./geo"
+export * from "./realm"
diff --git a/app/types/api/realm.ts b/app/types/api/realm.ts
new file mode 100644
index 0000000..a46fe76
--- /dev/null
+++ b/app/types/api/realm.ts
@@ -0,0 +1,19 @@
+import type { SnCloudFile } from "./post"
+import type { SnVerification as SnVerificationMark } from "./publisher"
+
+export interface SnRealm {
+ id: string
+ slug: string
+ name: string
+ description?: string
+ isCommunity: boolean
+ isPublic: boolean
+ picture?: SnCloudFile
+ background?: SnCloudFile
+ verification?: SnVerificationMark
+ accountId: string
+ resourceIdentifier: string
+ createdAt: Date
+ updatedAt: Date
+ deletedAt?: Date
+}