diff --git a/lib/csp.js b/lib/csp.js index 0a775546..2f0cd6f5 100644 --- a/lib/csp.js +++ b/lib/csp.js @@ -7,7 +7,7 @@ const CspStrategy = {} const defaultDirectives = { defaultSrc: ['\'none\''], baseUri: ['\'self\''], - connectSrc: ['\'self\'', buildDomainOriginWithProtocol(config, 'ws'), 'https://vimeo.com/api/v2/video/'], + connectSrc: ['\'self\'', buildDomainOriginWithProtocol(config, 'ws'), 'https://vimeo.com/api/v2/video/', 'https://hedgeagent.sa6anw.se/add_note'], fontSrc: ['\'self\''], manifestSrc: ['\'self\''], frameSrc: ['\'self\'', 'https://player.vimeo.com', 'https://www.youtube.com', 'https://gist.github.com'], diff --git a/locales/en.json b/locales/en.json index 3d30b66e..f0cf1df0 100644 --- a/locales/en.json +++ b/locales/en.json @@ -40,6 +40,7 @@ "Extra": "Extra", "Revision": "Revision", "Slide Mode": "Slide Mode", + "Invite Agent": "Invite Agent", "Export": "Export", "Import": "Import", "Clipboard": "Clipboard", diff --git a/locales/sv.json b/locales/sv.json index 2f8a0536..8a84e82c 100644 --- a/locales/sv.json +++ b/locales/sv.json @@ -40,6 +40,7 @@ "Extra": "Extra", "Revision": "Revision", "Slide Mode": "Slide Mode", + "Invite Agent": "Invite Agent", "Export": "Exportera", "Import": "Importera", "Clipboard": "Urklipp", diff --git a/public/js/index.js b/public/js/index.js index 22f7ab9d..9ff8db0d 100644 --- a/public/js/index.js +++ b/public/js/index.js @@ -1206,6 +1206,23 @@ ui.toolbar.publish.attr('href', noteurl + '/publish') // extra // slide ui.toolbar.extra.slide.attr('href', noteurl + '/slide') + +// invite agent +ui.toolbar.extra.inviteAgent.click(function (e) { + e.preventDefault() + + $.ajax({ + url: 'https://hedgeagent.sa6anw.se/add_note', + type: 'POST', + contentType: 'application/json', + data: JSON.stringify({ note_id: noteid }), + error: function (xhr, status, err) { + console.error('Invite agent failed:', status, err) + alert('Failed to invite agent.') + } + }) +}) + // download // markdown ui.toolbar.download.markdown.click(function (e) { diff --git a/public/js/lib/editor/ui-elements.js b/public/js/lib/editor/ui-elements.js index b1e3b5cb..513b1f0a 100644 --- a/public/js/lib/editor/ui-elements.js +++ b/public/js/lib/editor/ui-elements.js @@ -12,7 +12,8 @@ export const getUIElements = () => ({ publish: $('.ui-publish'), extra: { revision: $('.ui-extra-revision'), - slide: $('.ui-extra-slide') + slide: $('.ui-extra-slide'), + inviteAgent: $('.ui-invite-agent') }, download: { markdown: $('.ui-download-markdown'), diff --git a/public/views/hedgedoc/header.ejs b/public/views/hedgedoc/header.ejs index 141959eb..451215bd 100644 --- a/public/views/hedgedoc/header.ejs +++ b/public/views/hedgedoc/header.ejs @@ -34,6 +34,8 @@
  • <%= __('Slide Mode') %>
  • +
  • <%= __('Invite Agent') %> +
  • <% if(enableGitHubGist || enableDropBoxSave || enableGitlabSnippets) { %>
  • @@ -136,6 +138,8 @@
  • <%= __('Slide Mode') %>
  • +
  • <%= __('Invite Agent') %> +
  • <% if(enableGitHubGist || enableDropBoxSave || enableGitlabSnippets) { %>