| 147 | 147 | |
| 148 | 148 | const profileForDisplay = makeFancyProfile(profile); |
| 149 | 149 | const template = await renderExtensionTemplateAsync(MODULE_NAME, 'profile', { profile: profileForDisplay }); |
| 150 | 150 | const checkNameisNameTaken = (n) => extension_settings.connectionManager.profiles.some(p => p.name === n); |
| 151 | 151 | const suggestedName = getUniqueName(collapseSpaces(`${profile.api ?? ''} ${profile.model ?? ''} - ${profile.preset ?? ''}`), checkNameisNameTaken); |
| 152 | 152 | const name = forceName ?? await callGenericPopup(template, POPUP_TYPE.INPUT, suggestedName, { rows: 2 }); |
| 153 | 153 | |
| 154 | 154 | if (!name) { |
| 155 | 155 | return null; |
| 156 | 156 | } |
| 157 | 157 | |
| 158 | + if (isNameTaken(name)) { |
| 159 | + toastr.error('A profile with the same name already exists.'); |
| 160 | + return null; |
| 161 | + } |
| 162 | + |
| 158 | 163 | profile.name = name; |
| 159 | 164 | return profile; |
| 160 | 165 | } |