Skip to content

Commit

Permalink
New Instance and Self Invite
Browse files Browse the repository at this point in the history
  • Loading branch information
Natsumi-sama committed Nov 15, 2024
1 parent de750c0 commit 320104a
Show file tree
Hide file tree
Showing 4 changed files with 51 additions and 52 deletions.
97 changes: 47 additions & 50 deletions html/src/app.js
Original file line number Diff line number Diff line change
Expand Up @@ -11284,6 +11284,19 @@ speechSynthesis.getVoices();
case 'New Instance':
this.showNewInstanceDialog(D.$location.tag);
break;
case 'New Instance and Self Invite':
this.newInstanceDialog.worldId = D.id;
this.createNewInstance().then((args) => {
if (!args?.json?.location) {
this.$message({
message: 'Failed to create instance',
type: 'error'
});
return;
}
this.selfInvite(args.json.location);
});
break;
case 'Add Favorite':
this.showFavoriteDialog('world', D.id);
break;
Expand Down Expand Up @@ -12266,16 +12279,28 @@ speechSynthesis.getVoices();
loading: false,
selectedTab: '0',
instanceCreated: false,
queueEnabled: false,
queueEnabled: await configRepository.getBool(
'instanceDialogQueueEnabled',
true
),
worldId: '',
instanceId: '',
instanceName: '',
userId: '',
accessType: '',
region: '',
instanceName: await configRepository.getString(
'instanceDialogInstanceName',
''
),
userId: await configRepository.getString('instanceDialogUserId', ''),
accessType: await configRepository.getString(
'instanceDialogAccessType',
'public'
),
region: await configRepository.getString('instanceRegion', ''),
groupRegion: '',
groupId: '',
groupAccessType: '',
groupId: await configRepository.getString('instanceDialogGroupId', ''),
groupAccessType: await configRepository.getString(
'instanceDialogGroupAccessType',
'plus'
),
strict: false,
location: '',
shortName: '',
Expand Down Expand Up @@ -12397,7 +12422,7 @@ speechSynthesis.getVoices();
this.saveNewInstanceDialog();
};

$app.methods.createNewInstance = function () {
$app.methods.createNewInstance = async function () {
var D = this.newInstanceDialog;
if (D.loading) {
return;
Expand Down Expand Up @@ -12449,19 +12474,20 @@ speechSynthesis.getVoices();
params.canRequestInvite = true;
}
}
API.createInstance(params)
.then((args) => {
D.location = args.json.location;
D.instanceId = args.json.instanceId;
D.secureOrShortName =
args.json.shortName || args.json.secureName;
D.instanceCreated = true;
this.updateNewInstanceDialog();
return args;
})
.finally(() => {
D.loading = false;
});
try {
var args = await API.createInstance(params);
D.location = args.json.location;
D.instanceId = args.json.instanceId;
D.secureOrShortName = args.json.shortName || args.json.secureName;
D.instanceCreated = true;
this.updateNewInstanceDialog();
D.loading = false;
return args;
} catch (err) {
D.loading = false;
console.error(err);
return null;
}
};

$app.methods.selfInvite = function (location, shortName) {
Expand Down Expand Up @@ -12527,10 +12553,6 @@ speechSynthesis.getVoices();
'instanceDialogGroupAccessType',
this.newInstanceDialog.groupAccessType
);
await configRepository.setBool(
'instanceDialogStrict',
this.newInstanceDialog.strict
);
await configRepository.setBool(
'instanceDialogQueueEnabled',
this.newInstanceDialog.queueEnabled
Expand All @@ -12552,31 +12574,6 @@ speechSynthesis.getVoices();
return;
}
D.worldId = L.worldId;
D.accessType = await configRepository.getString(
'instanceDialogAccessType',
'public'
);
D.region = await configRepository.getString(
'instanceRegion',
'US West'
);
D.instanceName = await configRepository.getString(
'instanceDialogInstanceName',
''
);
D.userId = await configRepository.getString('instanceDialogUserId', '');
D.groupId = await configRepository.getString(
'instanceDialogGroupId',
''
);
D.groupAccessType = await configRepository.getString(
'instanceDialogGroupAccessType',
'plus'
);
D.queueEnabled = await configRepository.getBool(
'instanceDialogQueueEnabled',
true
);
D.instanceCreated = false;
D.lastSelectedGroupId = '';
D.selectedGroupRoles = [];
Expand Down
1 change: 1 addition & 0 deletions html/src/localization/en/en.json
Original file line number Diff line number Diff line change
Expand Up @@ -712,6 +712,7 @@
"favorites_tooltip": "Favorites",
"refresh": "Refresh",
"new_instance": "New Instance",
"new_instance_and_self_invite": "New Instance and Self Invite",
"make_home": "Make Home",
"reset_home": "Reset Home",
"show_previous_instances": "Show Previous Instances",
Expand Down
1 change: 1 addition & 0 deletions html/src/mixins/dialogs/worldDialog.pug
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,7 @@ mixin worldDialog()
el-dropdown-menu(#default="dropdown")
el-dropdown-item(icon="el-icon-refresh" command="Refresh") {{ $t('dialog.world.actions.refresh') }}
el-dropdown-item(icon="el-icon-s-flag" command="New Instance" divided) {{ $t('dialog.world.actions.new_instance') }}
el-dropdown-item(icon="el-icon-message" command="New Instance and Self Invite") {{ $t('dialog.world.actions.new_instance_and_self_invite') }}
el-dropdown-item(v-if="API.currentUser.$homeLocation && API.currentUser.$homeLocation.worldId === worldDialog.id" icon="el-icon-magic-stick" command="Reset Home" divided) {{ $t('dialog.world.actions.reset_home') }}
el-dropdown-item(v-else icon="el-icon-s-home" command="Make Home" divided) {{ $t('dialog.world.actions.make_home') }}
el-dropdown-item(icon="el-icon-tickets" command="Previous Instances") {{ $t('dialog.world.actions.show_previous_instances') }}
Expand Down
4 changes: 2 additions & 2 deletions html/src/mixins/tabs/notifications.pug
Original file line number Diff line number Diff line change
Expand Up @@ -50,8 +50,8 @@ mixin notificationsTab()
img.x-link(v-lazy="scope.row.imageUrl" style="width:500px" @click="showFullscreenImageDialog(scope.row.imageUrl)")
el-table-column(:label="$t('table.notification.message')" prop="message")
template(v-once #default="scope")
span.x-link(v-if="scope.row.type === 'invite'" @click="showWorldDialog(scope.row.details.worldId)")
location(v-if="scope.row.details" :location="scope.row.details.worldId" :hint="scope.row.details.worldName" :grouphint="scope.row.details.groupName" :link="false")
span.x-link(v-if="scope.row.type === 'invite'")
location(v-if="scope.row.details" :location="scope.row.details.worldId" :hint="scope.row.details.worldName" :grouphint="scope.row.details.groupName" :link="true")
br
span(v-if="scope.row.message && scope.row.message !== `This is a generated invite to ${scope.row.details?.worldName}`" v-text="scope.row.message")
span(v-else-if='scope.row.details && scope.row.details.inviteMessage' v-text="scope.row.details.inviteMessage")
Expand Down

0 comments on commit 320104a

Please sign in to comment.