Наш выбор даты и конвертация — мощная функция. Мне бы хотелось, чтобы мы сделали добавление даты/времени к посту более простым. Распространённый способ реализации этого — обработка естественного языка. Приложения вроде Fantastical на iOS используют это уже много лет для ввода дат.
Вместо того чтобы возиться с мышью для ввода даты, вы могли бы просто ввести что-то вроде:
понедельник в 14:00, что выведет дату и время в вашем часовом поясе
следующая пятница в 10:00 NZST, что выведет дату и время на следующую пятницу в часовом поясе NZST
11:00, что выведет сегодняшнюю дату в 11:00
8/9 — 8/13, что выведет диапазон дат.
Это могло бы либо заменить модальное окно, открываемое при нажатии на значок календаря в редакторе, текстовым полем (с кнопкой «Дополнительно», показывающей содержимое текущего модального окна), либо отдельным модальным окном, вызываемым сочетанием клавиш.
Тем не менее, я подозреваю, что обеспечение надежной поддержки языков для этого будет сложной задачей.
Полностью поддерживаемыми языками в настоящее время являются en, ja и fr (de и pt поддерживаются частично). Другие языки из v1 (nl и zh) находятся в разработке.
Также стоит рассмотреть ещё один паттерн UX: автоматическую замену строк с датами в теле сообщения на объекты даты/времени Discourse. Что-то вроде одноблочного отображения, но для дат. Например, если я напишу «в следующий понедельник в 14:00» в своём сообщении, это автоматически преобразуется в 2021-08-17T18:00:00Z.
Возможно, интерфейс вообще не потребуется. Когда пост будет сформирован, NLP сможет обработать данные, вернуться к клиенту и подтвердить всё через простое модальное окно:
Найдена 1 дата. Хотите преобразовать её в динамические метки времени?
- вторник в 14:00 --> [дата Discourse]
Или это может быть ещё проще: нажмите на значок календаря, и вместо выбора даты появится простое текстовое поле.
Аналогично нашему модальному окну приглашений, может быть добавлена кнопка «Расширенные настройки», которая откроет существующий выборер даты/времени/часового пояса для более детальных опций.
Думаю, это решать @j.jaffeux. Не уверен, что это вообще вписывается в наш текущий UI. Также не уверен, что обычные пользователи хотят столько печатать, а не кликать, особенно на смартфоне.
Это имеет смысл в Google Календаре, потому что это можно делать прямо при вводе названия события, например, вместо того чтобы вводить
«Сантехник»
вы вводите
«Сантехник 15:00–17:00»
но это удобно, потому что я использую устройство с клавиатурой.
На самом деле я считаю наше модальное окно неудобным как на десктопе, так и на мобильных устройствах, именно поэтому я и предложил эту функцию изначально. Гораздо быстрее ввести сегодня в 11:31 в модальном окне, чем крутить скролл-колеса или кликать по большому модальному окну. Тот факт, что многие календари уже используют такой подход, снижает когнитивную нагрузку на пользователей при освоении этого метода.
С desktop согласен. На смартфоне не согласен, потому что печатать на нём — это просто варварство. Может, это поведение стоит оставить только для desktop?
В коде дат уже есть много того, что это делает, мы работали над этим с @daniel
По сути, есть три способа решить эту задачу:
улучшить модальное окно
добавить !команду
использовать парсинг текста
Парсинг текста хорош, но он не решает всех проблем, и к тому же нам нужно обеспечить его работу для всех локалей. Однако я согласен, что можно включить поддержку небольшого подмножества. В основном это уже реализовано, мне осталось лишь завершить и активировать эту функцию.