mirror of
https://github.com/Memo-2023/mana-monorepo.git
synced 2026-05-14 20:01:09 +02:00
fix(mobile): disable text selection on list rows to unblock long-press context menu
On mobile, long-press was selecting the row text instead of firing `contextmenu`. Adds `user-select: none` + `-webkit-touch-callout: none` on collapsed rows across 12 ListViews (notes, todo, dreams, journal, firsts, contacts, places, mail, moodlit, chat, calendar) and re-enables `user-select: text` on the inline-editor variants so the textarea stays selectable while editing. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
49f315f6be
commit
e60965ee19
12 changed files with 44 additions and 2 deletions
|
|
@ -309,6 +309,9 @@
|
|||
cursor: pointer;
|
||||
border-radius: 0.25rem;
|
||||
transition: background 0.15s;
|
||||
user-select: none;
|
||||
-webkit-user-select: none;
|
||||
-webkit-touch-callout: none;
|
||||
}
|
||||
.event-row:hover {
|
||||
background: hsl(var(--color-surface-hover));
|
||||
|
|
|
|||
|
|
@ -179,6 +179,9 @@
|
|||
cursor: pointer;
|
||||
transition: background 0.15s;
|
||||
min-height: 44px;
|
||||
user-select: none;
|
||||
-webkit-user-select: none;
|
||||
-webkit-touch-callout: none;
|
||||
}
|
||||
.conv-item:hover {
|
||||
background: hsl(var(--color-surface-hover));
|
||||
|
|
|
|||
|
|
@ -237,6 +237,9 @@
|
|||
cursor: pointer;
|
||||
text-align: left;
|
||||
transition: background 0.15s;
|
||||
user-select: none;
|
||||
-webkit-user-select: none;
|
||||
-webkit-touch-callout: none;
|
||||
}
|
||||
.contact-item:hover {
|
||||
background: hsl(var(--color-surface-hover));
|
||||
|
|
|
|||
|
|
@ -634,6 +634,9 @@
|
|||
border-radius: 0.25rem;
|
||||
cursor: pointer;
|
||||
transition: background 0.15s;
|
||||
user-select: none;
|
||||
-webkit-user-select: none;
|
||||
-webkit-touch-callout: none;
|
||||
}
|
||||
.dream-item:hover {
|
||||
background: hsl(var(--color-surface-hover));
|
||||
|
|
@ -764,6 +767,9 @@
|
|||
border: 1px solid hsl(var(--color-primary) / 0.3);
|
||||
border-radius: 0.375rem;
|
||||
background: hsl(var(--color-primary) / 0.03);
|
||||
user-select: text;
|
||||
-webkit-user-select: text;
|
||||
-webkit-touch-callout: default;
|
||||
}
|
||||
.dream-item.editing:hover {
|
||||
background: hsl(var(--color-primary) / 0.03);
|
||||
|
|
|
|||
|
|
@ -915,6 +915,9 @@
|
|||
background: transparent;
|
||||
cursor: pointer;
|
||||
transition: all 0.15s;
|
||||
user-select: none;
|
||||
-webkit-user-select: none;
|
||||
-webkit-touch-callout: none;
|
||||
}
|
||||
.entry-card:hover {
|
||||
background: hsl(var(--color-surface-hover));
|
||||
|
|
@ -1088,6 +1091,9 @@
|
|||
cursor: default;
|
||||
border-color: hsl(var(--color-primary) / 0.3);
|
||||
background: hsl(var(--color-primary) / 0.03);
|
||||
user-select: text;
|
||||
-webkit-user-select: text;
|
||||
-webkit-touch-callout: default;
|
||||
}
|
||||
.entry-card.editing:hover,
|
||||
.entry-card.converting:hover {
|
||||
|
|
|
|||
|
|
@ -586,6 +586,9 @@
|
|||
border-radius: 0.25rem;
|
||||
cursor: pointer;
|
||||
transition: background 0.15s;
|
||||
user-select: none;
|
||||
-webkit-user-select: none;
|
||||
-webkit-touch-callout: none;
|
||||
}
|
||||
.entry-item:hover {
|
||||
background: hsl(var(--color-surface-hover));
|
||||
|
|
@ -689,6 +692,9 @@
|
|||
border: 1px solid hsl(var(--color-primary) / 0.3);
|
||||
border-radius: 0.375rem;
|
||||
background: hsl(var(--color-primary) / 0.03);
|
||||
user-select: text;
|
||||
-webkit-user-select: text;
|
||||
-webkit-touch-callout: default;
|
||||
}
|
||||
.entry-item.editing:hover {
|
||||
background: hsl(var(--color-primary) / 0.03);
|
||||
|
|
|
|||
|
|
@ -337,6 +337,9 @@
|
|||
cursor: pointer;
|
||||
transition: background 0.15s;
|
||||
color: hsl(var(--color-muted-foreground));
|
||||
user-select: none;
|
||||
-webkit-user-select: none;
|
||||
-webkit-touch-callout: none;
|
||||
}
|
||||
.thread-row:hover {
|
||||
background: hsl(var(--color-muted));
|
||||
|
|
|
|||
|
|
@ -220,7 +220,7 @@
|
|||
<button
|
||||
onclick={() => (fullscreenMood = mood)}
|
||||
oncontextmenu={(e) => ctxMenu.open(e, mood)}
|
||||
class="mood-card group relative aspect-[4/3] w-full overflow-hidden rounded-xl border-2 border-transparent transition-all duration-200 hover:border-white/40 focus:outline-none"
|
||||
class="mood-card group relative aspect-[4/3] w-full select-none overflow-hidden rounded-xl border-2 border-transparent transition-all duration-200 [-webkit-touch-callout:none] hover:border-white/40 focus:outline-none"
|
||||
style="--mood-color: {mood.colors[0]}"
|
||||
>
|
||||
<div
|
||||
|
|
|
|||
|
|
@ -276,6 +276,9 @@
|
|||
border-radius: 0.25rem;
|
||||
cursor: pointer;
|
||||
transition: background 0.15s;
|
||||
user-select: none;
|
||||
-webkit-user-select: none;
|
||||
-webkit-touch-callout: none;
|
||||
}
|
||||
.note-item:hover {
|
||||
background: hsl(var(--color-surface-hover));
|
||||
|
|
@ -343,6 +346,9 @@
|
|||
border: 1px solid hsl(var(--color-primary) / 0.3);
|
||||
border-radius: 0.375rem;
|
||||
background: hsl(var(--color-primary) / 0.04);
|
||||
user-select: text;
|
||||
-webkit-user-select: text;
|
||||
-webkit-touch-callout: default;
|
||||
}
|
||||
.note-item.editing:hover {
|
||||
background: hsl(var(--color-primary) / 0.04);
|
||||
|
|
|
|||
|
|
@ -900,6 +900,9 @@
|
|||
text-align: left;
|
||||
transition: background 0.15s;
|
||||
width: 100%;
|
||||
user-select: none;
|
||||
-webkit-user-select: none;
|
||||
-webkit-touch-callout: none;
|
||||
}
|
||||
|
||||
.place-item:hover {
|
||||
|
|
|
|||
|
|
@ -245,6 +245,9 @@
|
|||
cursor: pointer;
|
||||
transition: background 0.15s;
|
||||
border-radius: 0.25rem;
|
||||
user-select: none;
|
||||
-webkit-user-select: none;
|
||||
-webkit-touch-callout: none;
|
||||
}
|
||||
.task-item:hover {
|
||||
background: hsl(var(--color-surface-hover));
|
||||
|
|
|
|||
|
|
@ -52,7 +52,7 @@
|
|||
</script>
|
||||
|
||||
<div
|
||||
class="group flex items-start gap-3 rounded-lg border border-transparent px-3 transition-colors hover:border-border hover:bg-card {compact
|
||||
class="group flex select-none items-start gap-3 rounded-lg border border-transparent px-3 transition-colors [-webkit-touch-callout:none] hover:border-border hover:bg-card {compact
|
||||
? 'py-1.5'
|
||||
: 'py-2.5'}"
|
||||
role="button"
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue