From 6b15e09a48e16581d1fd8027fd64d9890a031bdb Mon Sep 17 00:00:00 2001
From: Thomas Hackl <hackl@data-quest.de>
Date: Thu, 20 Jun 2024 04:52:22 +0000
Subject: [PATCH] Resolve ""Link zu dieser Veranstaltung kopieren" verwendet
 einen eigenen Mechanismus"

Closes #4329

Merge request studip/studip!3129
---
 .../javascripts/bootstrap/copyable_links.js   | 24 ++++---------------
 .../stylesheets/scss/copyable-links.scss      | 24 -------------------
 resources/assets/stylesheets/studip.scss      |  1 -
 3 files changed, 4 insertions(+), 45 deletions(-)
 delete mode 100644 resources/assets/stylesheets/scss/copyable-links.scss

diff --git a/resources/assets/javascripts/bootstrap/copyable_links.js b/resources/assets/javascripts/bootstrap/copyable_links.js
index 521eae4c5ff..b4f6fc63272 100644
--- a/resources/assets/javascripts/bootstrap/copyable_links.js
+++ b/resources/assets/javascripts/bootstrap/copyable_links.js
@@ -16,24 +16,8 @@ $(document).on('click', 'a.copyable-link', function (event) {
     document.execCommand('Copy');
     dummy.remove();
 
-    // Show visual hint using a deferred (this way we don't need to
-    // duplicate the functionality in the done() handler)
-    (new Promise((resolve, reject) => {
-        let confirmation = $('<div class="copyable-link-confirmation copyable-link-success">');
-        confirmation.text($gettext('Link wurde kopiert'));
-        confirmation.insertBefore('#content');
-
-        // Resolve deferred when animation has ended or after 2 seconds as a
-        // fail safe
-        let timeout = setTimeout(() => {
-            $(this).parent().off('animationend');
-            resolve(confirmation);
-        }, 1500);
-        $(this).parent().one('animationend', () => {
-            clearTimeout(timeout);
-            resolve(confirmation);
-        });
-    })).then((confirmation, parent) => {
-        confirmation.remove();
-    });
+    STUDIP.eventBus.emit(
+        'push-system-notification',
+        { type: 'success', message: $gettext('Link wurde kopiert') }
+    );
 });
diff --git a/resources/assets/stylesheets/scss/copyable-links.scss b/resources/assets/stylesheets/scss/copyable-links.scss
deleted file mode 100644
index f5ff73a9227..00000000000
--- a/resources/assets/stylesheets/scss/copyable-links.scss
+++ /dev/null
@@ -1,24 +0,0 @@
-.copyable-link-confirmation {
-    position: fixed;
-    bottom: 60px;
-    right: 12px;
-    height: 60px;
-    line-height: 60px;
-    max-width: calc(100% - 140px);
-    z-index: 42000;
-    border: solid thin var(--content-color-40);
-    background-color: var(--white);
-    background-repeat: no-repeat;
-    background-position: 1em center;
-    background-size: 100px;
-    box-shadow: 5px 5px var(--dark-gray-color-10);
-    padding: 5px 100px;
-    transition: transform .5s ease;
-
-    &.copyable-link-success {
-        @include background-icon(check-circle, status-green, 24);
-    }
-    &.copyable-link-error {
-        @include background-icon(decline-circle, status-red, 24);
-    }
-}
diff --git a/resources/assets/stylesheets/studip.scss b/resources/assets/stylesheets/studip.scss
index a322400ecb6..bf4022a96ea 100644
--- a/resources/assets/stylesheets/studip.scss
+++ b/resources/assets/stylesheets/studip.scss
@@ -32,7 +32,6 @@
 @import "scss/contents";
 @import "scss/content";
 @import "scss/comments";
-@import "scss/copyable-links";
 @import "scss/cronjobs";
 @import "scss/coursewizard";
 @import "scss/css_tree";
-- 
GitLab