const state = {
  showArch: false
};

if (Current.user.isAdmin) {
  Events.onKeyUp = e => {
    if (e.keyCode === 68 && Events.isCtrlPressed() && Events.isShiftPressed()) {
      if (Current.project) {
        if (confirm(`Архивировать проект “${Current.project.name}”?`)) {
          archive(Current.project);
        }
      } else {
        alert('Нажмите Ctrl+Shift+D в проекте, чтобы архивировать его');
      }
    } else if (
      e.keyCode === 72 &&
      Events.isCtrlPressed() &&
      Events.isShiftPressed()
    ) {
      // Ctrl+Shift+H для показа / скрытия архивированных проектов
      state.showArch = !state.showArch;
    }
  };
}

Items.onList = (item, items) => {
  if (state.showArch && item.id === Current.company.id) {
    const arch = Object.keys(
      Current.company.getData().archivedProjects || {}
    ).map(k => Items.get(k));
    return [...items, ...arch];
  }
  return items;
};

function archive(project) {
  const data = Current.company.getData();
  if (!data.archivedProjects) {
    data.archivedProjects = {};
  }
  data.archivedProjects[project.id] = true;
  Current.company.setData(data);
  project.deleted = true;
  Current.company.list()[0].open();
}
