feat(user-perf): add ui user-perf + dotfile filter

- add resource kind filter (file, folder, drive) in shared section (localStorage stored)
- add user preferences serverside store
- add client side dotfile filter (show/hide dotfiles) (user perf stored, default: dotfiles are shown)
  for security trashed dotfile are always displayed

  protection added: if a folder has only hidden items, a notification invite user to display it
  if a user rename or create a hidden item, a notification tells it to user
This commit is contained in:
Edouard Vanbelle
2026-07-13 19:26:19 +02:00
parent 06da428493
commit 5aaf49859e
43 changed files with 1676 additions and 121 deletions
+28 -2
View File
@@ -58,6 +58,8 @@
"photos": {
"empty_state": "Фотографий пока нет",
"empty_hint": "Загрузите изображения или видео, чтобы увидеть их здесь",
"empty_hidden": "Фотографий скрыто: {{n}}",
"empty_hidden_hint": "Отключите \"Скрывать скрытые файлы\" в профиле, чтобы увидеть их.",
"items_selected": "выбрано",
"view_daily": "День",
"view_monthly": "Месяц",
@@ -365,7 +367,15 @@
"folder": "Папка",
"new_folder": "Новая папка",
"share": "Поделиться",
"view": "Просмотр"
"view": "Просмотр",
"empty_hidden_title": "Скрытых элементов в этой папке: {{n}}",
"empty_hidden_hint": "Файлы, имя которых начинается с '.', скрыты. Измените настройку, чтобы их увидеть.",
"show_hidden": "Показать скрытые файлы",
"upload_dotfile_hidden": "Загружено файлов: {{n}}, но они скрыты в соответствии с вашими настройками.",
"rename_dotfile_hidden": "Переименовано в \"{{name}}\" — теперь скрыто в соответствии с вашими настройками.",
"new_folder_dotfile_hidden": "Папка \"{{name}}\" создана — скрыта в соответствии с вашими настройками.",
"dotfiles_hidden_toast": "Скрытые файлы скрыты",
"dotfiles_shown_toast": "Скрытые файлы показаны"
},
"dialogs": {
"rename_folder": "Переименовать папку",
@@ -570,6 +580,8 @@
"accessed": "Открыт",
"empty_state": "Нет недавних файлов",
"empty_hint": "Открытые вами файлы будут отображаться здесь",
"empty_hidden_state": "Недавних элементов скрыто: {{n}}",
"empty_hidden_hint": "Отключите \"Скрывать скрытые файлы\" в профиле, чтобы увидеть их.",
"loadMore": "Загрузить ещё"
},
"notifications": {
@@ -879,6 +891,7 @@
"family_name": "Фамилия",
"notify_on_share": "Уведомлять меня по электронной почте, когда кто-то делится со мной",
"notify_on_share_hint": "Если флажок снят, общие ресурсы по-прежнему будут отображаться в вашей учётной записи — вы просто не будете получать о них письма.",
"hide_dotfiles": "Скрывать файлы, имя которых начинается с точки (.env, .git, …)",
"save_profile": "Сохранить изменения",
"profile_saved": "Профиль обновлён",
"profile_no_changes": "Нет изменений для сохранения.",
@@ -999,7 +1012,17 @@
"notifyRateLimited": "Слишком много уведомлений для этого получателя — попробуйте позже.",
"removeAccess": "Отозвать доступ",
"resendInvitation": "Отправить приглашение повторно",
"publicLinks": "Public links"
"publicLinks": "Public links",
"filter": {
"button": "Типы",
"title": "Фильтр по типу",
"files": "Файлы",
"folders": "Папки",
"drives": "Диски",
"emptyTitle": "Ни один общий доступ не соответствует текущему фильтру",
"emptyHint": "Настройте фильтр по типу или сбросьте его на значение по умолчанию (Файлы + Папки).",
"reset": "Сбросить фильтр"
}
},
"sort": {
"asc": "ascending",
@@ -1129,5 +1152,8 @@
"view": {
"grid": "Сетка",
"list": "Список"
},
"preferences": {
"save_failed": "Не удалось сохранить настройку. Повторите попытку."
}
}