@@ -54,18 +43,14 @@
@@ -150,7 +89,7 @@ export default defineComponent({
display: flex;
flex-direction: column;
gap: 16px;
- max-width: 320px;
+ max-width: 400px;
}
.circle-config {
diff --git a/src/components/JoinInvitation.vue b/src/components/JoinInvitation.vue
new file mode 100644
index 000000000..f2ee199bc
--- /dev/null
+++ b/src/components/JoinInvitation.vue
@@ -0,0 +1,144 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ t('contacts', 'Go to circle page') }}
+
+
+
+
+
+
+
+
+
+
+ {{ t('contacts', 'Go back') }}
+
+
+
+
+
+
+
+
+
+
+ {{ t('contacts', 'Join') }}
+
+
+ {{ t('contacts', 'Go back') }}
+
+
+
+
+
+
+ {{ t('contacts', 'This invitation link is not valid or has expired.') }}
+
+
+
+ {{ t('contacts', 'Go back') }}
+
+
+
+
+
+
+
+
+
diff --git a/src/env.d.ts b/src/env.d.ts
new file mode 100644
index 000000000..d6e7c1362
--- /dev/null
+++ b/src/env.d.ts
@@ -0,0 +1,10 @@
+/**
+ * SPDX-FileCopyrightText: 2026 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-License-Identifier: AGPL-3.0-or-later
+ */
+
+declare module '*.vue' {
+ import type { DefineComponent } from 'vue'
+ const component: DefineComponent