 files = {}
 internalFiles = {}
 subthreads = false
+
+downloadAux = (zip, group) ->
+  ## Hide interactive buttons
+  zip.file "#{group}/css/archive.css", """
+    .group-right-buttons,
+    .superButton, .usersButton, .settingsButton, .searchText,
+    .rawButton, .historyButton, .editButton, .replaceButton, .actionButton,
+    .message-reply-buttons, .emojiButtons,
+    .dropdown-toggle .caret, .dropdown-menu,
+    .pdfButtons, .pdfStatus, .pdfBox,
+    .foldButton, #{if subthreads then '' else '.focusButton,'}
+    .footer { display: none !important }
+  """
 
 savePage = (zip, group, filename) ->
   pageUrl = document.URL

  ## Remove scripts
  html = html.replace ///<script[^<>]*>.*?</script>///g, ''
  ## Hide interactive buttons
  html = html.replace ///</body>///i, (match) -> """
      <style>
        .group-right-buttons,
        .superButton, .usersButton, .settingsButton, .searchText,
        .rawButton, .historyButton, .editButton, .replaceButton, .actionButton,
        .message-reply-buttons, .emojiButtons,
        .dropdown-toggle .caret, .dropdown-menu,
        .pdfButtons, .pdfStatus, .pdfBox,
        .foldButton, #{if subthreads then '' else '.focusButton,'}
        .footer { display: none !important }
      </style>
      #{match}
    """
  ## Link to original
  html = """
    <!DOCTYPE html>

  internalFiles = {}
  JSZip = (await import('jszip')).default
  zip = new JSZip
  downloadAux zip, group
  ## Group page
  await untilReady()
  console.assert Router.current().route.getName() == 'group',
