Age gate limits

This commit is contained in:
Natsumi
2024-12-20 10:14:54 +13:00
parent b861d47f87
commit 3153a40cde
4 changed files with 23 additions and 4 deletions

View File

@@ -12620,6 +12620,9 @@ speechSynthesis.getVoices();
tags.push('~canRequestInvite');
}
}
if (D.accessType === 'group' && D.ageGate) {
tags.push('~ageGate');
}
if (D.region === 'US West') {
tags.push(`~region(us)`);
} else if (D.region === 'US East') {
@@ -12746,7 +12749,14 @@ speechSynthesis.getVoices();
params.canRequestInvite = true;
}
}
if (D.ageGate) {
if (
D.ageGate &&
type === 'group' &&
this.hasGroupPermission(
D.groupRef,
'group-instance-age-gated-create'
)
) {
params.ageGate = true;
}
try {

View File

@@ -440,6 +440,10 @@ export default class extends baseClass {
);
}
this.isAgeGated = this.instance.ageGate === true;
if (this.location && this.location.includes('~ageGate')) {
// dumb workaround for API not returning `ageGate`
this.isAgeGated = true;
}
},
showUserDialog(userId) {
API.$emit('SHOW_USER_DIALOG', userId);

View File

@@ -105,7 +105,8 @@ export default {
groupId: null,
groupAccessType: null,
canRequestInvite: false,
strict: false
strict: false,
ageGate: false
};
if (_tag === 'offline' || _tag === 'offline:offline') {
ctx.isOffline = true;
@@ -149,6 +150,8 @@ export default {
ctx.groupAccessType = value;
} else if (key === 'strict') {
ctx.strict = true;
} else if (key === 'ageGate') {
ctx.ageGate = true;
}
} else {
ctx.instanceName = s;

View File

@@ -24,8 +24,8 @@ mixin newInstance()
el-radio-button(label="Japan") {{ $t('dialog.new_instance.region_jp') }}
el-form-item(:label="$t('dialog.new_instance.queueEnabled')" v-if="newInstanceDialog.accessType === 'group'")
el-checkbox(v-model="newInstanceDialog.queueEnabled" @change="buildInstance")
el-form-item(:label="$t('dialog.new_instance.ageGate')")
el-checkbox(v-model="newInstanceDialog.ageGate" @change="buildInstance")
el-form-item(:label="$t('dialog.new_instance.ageGate')" v-if="newInstanceDialog.accessType === 'group'")
el-checkbox(v-model="newInstanceDialog.ageGate" @change="buildInstance" :disabled="!hasGroupPermission(newInstanceDialog.groupRef, 'group-instance-age-gated-create')")
el-form-item(:label="$t('dialog.new_instance.world_id')")
el-input(v-model="newInstanceDialog.worldId" size="mini" @click.native="$event.target.tagName === 'INPUT' && $event.target.select()" @change="buildInstance")
el-form-item(:label="$t('dialog.new_instance.group_id')" v-if="newInstanceDialog.accessType === 'group'")
@@ -70,6 +70,8 @@ mixin newInstance()
el-radio-button(label="US East") {{ $t('dialog.new_instance.region_use') }}
el-radio-button(label="Europe") {{ $t('dialog.new_instance.region_eu') }}
el-radio-button(label="Japan") {{ $t('dialog.new_instance.region_jp') }}
el-form-item(:label="$t('dialog.new_instance.ageGate')" v-if="newInstanceDialog.accessType === 'group'")
el-checkbox(v-model="newInstanceDialog.ageGate" @change="buildInstance")
el-form-item(:label="$t('dialog.new_instance.world_id')")
el-input(v-model="newInstanceDialog.worldId" size="mini" @click.native="$event.target.tagName === 'INPUT' && $event.target.select()" @change="buildLegacyInstance")
el-form-item(:label="$t('dialog.new_instance.instance_id')")