mirror of
https://github.com/Ark0N/Codeman.git
synced 2026-11-14 10:39:32 +01:00
fix(clone): keep the preview and the wording on the parent folder
The "Will clone into" line named a folder the request would not use: the preflight replaces the page's guessed case name with the server's (for a URL such as .../repo?tab=readme the guess is repo-tab-readme and the server says repo) and nothing refreshed the preview, so it stayed on the old name while the field and the request moved on. It is now refreshed there too. The Browse picker's title and the empty-field toast still said "Choose the folder to clone into", the old exact-target meaning. Both now ask for the parent folder, matching the field's label. CLAUDE.md and the invariants paragraph split the two meanings: path on the API is the exact folder, the Clone Repo tab's field is a parent and the page sends <folder>/<case name>. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
d2c75784d3
commit
7594c7fc0b
4 files changed
+91
-8
No files matched your search
@@ -4291,7 +4291,7 @@ Object.assign(CodemanApp.prototype, {
|
||||
openCloneCasePathPicker() {
|
||||
const input = document.getElementById('cloneCasePath');
|
||||
PathPicker.open({
|
||||
title: 'Choose the folder to clone into',
|
||||
title: 'Choose the parent folder for the clone',
|
||||
initialPath: input.value.trim(),
|
||||
directoriesOnly: true,
|
||||
onSelect: (path) => {
|
||||
@@ -4400,7 +4400,10 @@ Object.assign(CodemanApp.prototype, {
|
||||
// The server's suggestion wins over the local guess (it is the same function
|
||||
// the case name is validated against), but never over a name the user typed.
|
||||
const nameInput = document.getElementById('cloneCaseName');
|
||||
if (nameInput && !this._cloneNameEdited && parse.suggestedName) nameInput.value = parse.suggestedName;
|
||||
if (nameInput && !this._cloneNameEdited && parse.suggestedName) {
|
||||
nameInput.value = parse.suggestedName;
|
||||
this.updateCloneCasePathPreview();
|
||||
}
|
||||
|
||||
const where = parse.owner ? `${parse.provider} ${parse.owner}/${parse.repo}` : `${parse.provider} ${parse.repo}`;
|
||||
if (data.gitAvailable === false) {
|
||||
@@ -4455,7 +4458,7 @@ Object.assign(CodemanApp.prototype, {
|
||||
|
||||
const customFolder = !!document.getElementById('cloneCustomPathToggle')?.checked;
|
||||
if (customFolder && !(document.getElementById('cloneCasePath')?.value || '').trim()) {
|
||||
this.showToast('Choose the folder to clone into', 'error');
|
||||
this.showToast('Choose the parent folder for the clone', 'error');
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
Reference in new issue
Block a user