gotois / archive

🔖 Защищенный реестр договоренностей на Web3
https://archive.gotointeractive.com
GNU General Public License v3.0
7 stars 2 forks source link

Шаринг ics через SOLiD сервер #103

Closed qertis closed 1 year ago

qertis commented 1 year ago

Для функциональности подключения календаря, необходимо дать возможность загружать ICS на внешний сервер.

IMG_9832 IMG_9833

qertis commented 1 year ago

Добавить функционал в выпадающий список:

image

qertis commented 1 year ago

В качестве приемлемого решения можно использовать протокол data URI.

Вот пример кода, который позволит открыть приложение календаря с файлом ICS:

function openCalendarAppWithICS(icsData) {
  // Кодируем данные ICS в base64
  var base64Data = btoa(icsData);

  // Формируем data URI для ICS данных
  var dataURI = "data:text/calendar;base64," + base64Data;

  // Создаем ссылку с data URI
  var link = document.createElement("a");
  link.href = dataURI;

  // Устанавливаем атрибуты для загрузки ICS файла
  link.setAttribute("download", "event.ics");
  link.setAttribute("target", "_blank");

  // Симулируем клик по ссылке для открытия календарного приложения
  link.click();
}

Вы можете вызвать эту функцию, передав в нее данные ICS в виде строки. Например:

var icsData = "BEGIN:VCALENDAR\nVERSION:2.0\n..."; // Данные ICS
openCalendarAppWithICS(icsData);