Skip to content

Commit 2a533ea

Browse files
authored
Add files via upload
1 parent be2cf1c commit 2a533ea

3 files changed

Lines changed: 25 additions & 7 deletions

File tree

app.js

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2060,7 +2060,7 @@ function sortedTemplatePatterns() {
20602060
const mode = normalizePatternSortMode(state.settings.patternSort);
20612061
return templatePatterns().slice().sort((a, b) => {
20622062
if (mode === "pinned-desc") return Number(b.pinned) - Number(a.pinned) || compareDate(a.updatedAt, b.updatedAt) || compareText(a.name, b.name);
2063-
if (mode === "pinned-asc") return Number(a.pinned) - Number(b.pinned) || compareDate(a.updatedAt, b.updatedAt) || compareText(a.name, b.name);
2063+
if (mode === "pinned-asc") return Number(b.pinned) - Number(a.pinned) || compareDate(a.updatedAt, b.updatedAt, "asc") || compareText(a.name, b.name);
20642064
const pinOrder = Number(b.pinned) - Number(a.pinned);
20652065
if (pinOrder) return pinOrder;
20662066
if (mode === "updated-desc") return compareDate(a.updatedAt, b.updatedAt) || compareText(a.name, b.name);
@@ -2086,6 +2086,15 @@ function templatePatterns() {
20862086
return state.patterns.filter((pattern) => !pattern.isProjectCopy);
20872087
}
20882088

2089+
function insertTemplatePattern(pattern) {
2090+
const pinnedIndexes = state.patterns
2091+
.map((item, index) => ({ item, index }))
2092+
.filter(({ item }) => !item.isProjectCopy && item.pinned)
2093+
.map(({ index }) => index);
2094+
const insertAt = pinnedIndexes.length ? Math.max(...pinnedIndexes) + 1 : 0;
2095+
state.patterns.splice(insertAt, 0, pattern);
2096+
}
2097+
20892098
function selectedProjectsForAction() {
20902099
const ids = selectedProjectIds.size ? selectedProjectIds : new Set([actionProjectId].filter(Boolean));
20912100
return state.projects.filter((project) => ids.has(project.id));
@@ -2315,7 +2324,7 @@ function importPatternPackage(payload) {
23152324
normalized.importKey = importKey;
23162325
delete normalized.isProjectCopy;
23172326
delete normalized.sourcePatternId;
2318-
state.patterns.unshift(normalized);
2327+
insertTemplatePattern(normalized);
23192328
selectedPatternId = normalized.id;
23202329
saveState();
23212330
return normalized;
@@ -4588,7 +4597,7 @@ els.newPatternBtn.addEventListener("click", () => {
45884597
parts: [{ id: crypto.randomUUID(), name: "部分 1", notes: "", segments: [{ id: crypto.randomUUID(), repeat: 1, note: "", items: [] }] }],
45894598
groups: []
45904599
};
4591-
state.patterns.unshift(pattern);
4600+
insertTemplatePattern(pattern);
45924601
selectedPatternId = pattern.id;
45934602
switchView("patternEdit");
45944603
});
@@ -4717,7 +4726,7 @@ els.convertTextPatternBtn.addEventListener("click", () => {
47174726
parts: result.parts,
47184727
groups: []
47194728
};
4720-
state.patterns.unshift(pattern);
4729+
insertTemplatePattern(pattern);
47214730
selectedPatternId = pattern.id;
47224731
if (result.unparsed.length) {
47234732
els.textPatternUnparsed.classList.remove("hidden");

service-worker.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
const VERSION = "123";
1+
const VERSION = "125";
22
const CACHE_NAME = `free-knit-workbench-v${VERSION}`;
33
const ASSETS = [
44
"./",

styles.css

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -310,6 +310,7 @@ textarea {
310310
height: 84px;
311311
border-radius: 20px;
312312
object-fit: cover;
313+
object-position: center center;
313314
}
314315
.folder-collage {
315316
display: grid;
@@ -326,6 +327,7 @@ textarea {
326327
width: 100%;
327328
height: 100%;
328329
object-fit: cover;
330+
object-position: center center;
329331
}
330332
.folder-collage img:first-child:last-child {
331333
grid-column: 1 / -1;
@@ -416,7 +418,7 @@ textarea {
416418
font-weight: var(--weight-bold);
417419
}
418420
.photo-picker.large { width: 118px; height: 118px; border-radius: 26px; }
419-
.photo-picker img { display: none; width: 100%; height: 100%; object-fit: cover; }
421+
.photo-picker img { display: none; width: 100%; height: 100%; object-fit: cover; object-position: center center; }
420422
.photo-picker.has-photo img { display: block; }
421423
.photo-picker.has-photo span { display: none; }
422424
.detail-head h2 { margin: 8px 0 14px; font-size: 34px; }
@@ -669,7 +671,7 @@ textarea {
669671
border-radius: 18px;
670672
padding: 0;
671673
}
672-
.image-thumb img { width: 100%; height: 100%; object-fit: cover; }
674+
.image-thumb img { width: 100%; height: 100%; object-fit: cover; object-position: center center; }
673675
.image-thumb span {
674676
position: absolute;
675677
top: 4px;
@@ -980,6 +982,13 @@ textarea {
980982
height: 68px;
981983
border-radius: 16px;
982984
object-fit: cover;
985+
object-position: center center;
986+
}
987+
988+
.brand-card-image-cell img,
989+
.color-card-choice img,
990+
.brand-card-color-row img {
991+
object-position: center center;
983992
}
984993

985994
.stitch-edit-card {

0 commit comments

Comments
 (0)