Fix the My Data delete dialog layout
The "Select Content to Delete" dialog was broken on mobile:
- Filter pills had no flex-shrink-0, so they squashed and their labels overlapped
("All (504Spots (Shops…"). Added shrink-0 + min-h-0 so the row scrolls cleanly.
- The global mobile `button { min-height:44px }` rule inflated the checkboxes
into giant squares. Added min-h-0/min-w-0 (and an explicit h-4 w-4).
- The per-row delete on Recent Activity was hover-only (invisible on touch);
it's now always visible on mobile and compact.
This commit is contained in:
parent
b91224699a
commit
49111e9e12
1 changed files with 6 additions and 5 deletions
|
|
@ -169,7 +169,8 @@ function EventRow({
|
||||||
variant="ghost"
|
variant="ghost"
|
||||||
size="sm"
|
size="sm"
|
||||||
onClick={() => onDelete(event)}
|
onClick={() => onDelete(event)}
|
||||||
className="opacity-0 group-hover:opacity-100 transition-opacity text-red-400 hover:text-red-300 hover:bg-red-500/10"
|
aria-label={t('settingsUi.myData.requestDeletion')}
|
||||||
|
className="min-h-0 min-w-0 opacity-100 transition-opacity text-red-400 hover:text-red-300 hover:bg-red-500/10 sm:opacity-0 sm:group-hover:opacity-100"
|
||||||
>
|
>
|
||||||
<Trash2 className="h-4 w-4" />
|
<Trash2 className="h-4 w-4" />
|
||||||
</Button>
|
</Button>
|
||||||
|
|
@ -336,7 +337,7 @@ function SelectiveDeletionDialog({
|
||||||
<button
|
<button
|
||||||
key={String(tab.kind)}
|
key={String(tab.kind)}
|
||||||
onClick={() => setFilterKind(tab.kind)}
|
onClick={() => setFilterKind(tab.kind)}
|
||||||
className={`flex items-center gap-1.5 px-3 py-1.5 rounded-full text-xs font-medium whitespace-nowrap transition-colors ${
|
className={`flex shrink-0 min-h-0 items-center gap-1.5 px-3 py-1.5 rounded-full text-xs font-medium whitespace-nowrap transition-colors ${
|
||||||
isActive
|
isActive
|
||||||
? 'bg-gray-700 text-white'
|
? 'bg-gray-700 text-white'
|
||||||
: 'bg-gray-800/50 text-gray-400 hover:bg-gray-800'
|
: 'bg-gray-800/50 text-gray-400 hover:bg-gray-800'
|
||||||
|
|
@ -353,11 +354,11 @@ function SelectiveDeletionDialog({
|
||||||
{/* Quick actions */}
|
{/* Quick actions */}
|
||||||
<div className="flex items-center justify-between flex-shrink-0">
|
<div className="flex items-center justify-between flex-shrink-0">
|
||||||
<div className="flex gap-2 text-xs">
|
<div className="flex gap-2 text-xs">
|
||||||
<button onClick={selectAllVisible} className="text-[#ccff00] hover:underline">
|
<button onClick={selectAllVisible} className="min-h-0 text-[#ccff00] hover:underline">
|
||||||
{filterKind !== 'all' ? t('settingsUi.myData.selectAllVisible') : t('settingsUi.myData.selectAll')}
|
{filterKind !== 'all' ? t('settingsUi.myData.selectAllVisible') : t('settingsUi.myData.selectAll')}
|
||||||
</button>
|
</button>
|
||||||
<span className="text-gray-600">|</span>
|
<span className="text-gray-600">|</span>
|
||||||
<button onClick={selectNone} className="text-gray-400 hover:underline">{t('common.clear')}</button>
|
<button onClick={selectNone} className="min-h-0 text-gray-400 hover:underline">{t('common.clear')}</button>
|
||||||
</div>
|
</div>
|
||||||
<span className="text-xs text-gray-500">
|
<span className="text-xs text-gray-500">
|
||||||
{t('settingsUi.myData.selectedCount', { count: selectedCount })}
|
{t('settingsUi.myData.selectedCount', { count: selectedCount })}
|
||||||
|
|
@ -388,7 +389,7 @@ function SelectiveDeletionDialog({
|
||||||
<Checkbox
|
<Checkbox
|
||||||
checked={isChecked}
|
checked={isChecked}
|
||||||
onCheckedChange={() => toggleEvent(event.id)}
|
onCheckedChange={() => toggleEvent(event.id)}
|
||||||
className="border-gray-600 data-[state=checked]:bg-red-500 data-[state=checked]:border-red-500 flex-shrink-0"
|
className="h-4 w-4 min-h-0 min-w-0 border-gray-600 data-[state=checked]:bg-red-500 data-[state=checked]:border-red-500 flex-shrink-0"
|
||||||
/>
|
/>
|
||||||
<div className={`p-1.5 rounded ${config.color} bg-gray-800 flex-shrink-0`}>
|
<div className={`p-1.5 rounded ${config.color} bg-gray-800 flex-shrink-0`}>
|
||||||
<Icon className="h-3.5 w-3.5" />
|
<Icon className="h-3.5 w-3.5" />
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue