summaryrefslogtreecommitdiff
path: root/packages/frontend/src/ui/_common_/common.ts
diff options
context:
space:
mode:
Diffstat (limited to 'packages/frontend/src/ui/_common_/common.ts')
-rw-r--r--packages/frontend/src/ui/_common_/common.ts19
1 files changed, 18 insertions, 1 deletions
diff --git a/packages/frontend/src/ui/_common_/common.ts b/packages/frontend/src/ui/_common_/common.ts
index c63e962a8d..079b31489e 100644
--- a/packages/frontend/src/ui/_common_/common.ts
+++ b/packages/frontend/src/ui/_common_/common.ts
@@ -2,6 +2,7 @@ import * as os from '@/os';
import { instance } from '@/instance';
import { host } from '@/config';
import { i18n } from '@/i18n';
+import { $i } from '@/account';
export function openInstanceMenu(ev: MouseEvent) {
os.popupMenu([{
@@ -46,7 +47,23 @@ export function openInstanceMenu(ev: MouseEvent) {
to: '/clicker',
text: '🍪👈',
icon: 'ti ti-cookie',
- }],
+ }, ($i && ($i.isRoot || $i.role.canInvite) && instance.disableRegistration) ? {
+ text: i18n.ts.invite,
+ icon: 'ti ti-user-plus',
+ action: () => {
+ os.api('invite').then(x => {
+ os.alert({
+ type: 'info',
+ text: x.code,
+ });
+ }).catch(err => {
+ os.alert({
+ type: 'error',
+ text: err,
+ });
+ });
+ },
+ } : undefined],
}, null, {
text: i18n.ts.help,
icon: 'ti ti-question-circle',