From edea7a4fab2800fe2cf2a4744a1471dfdce58946 Mon Sep 17 00:00:00 2001
From: Siarhei Siniak <siarheisiniak@gmail.com>
Date: Sat, 17 Aug 2024 11:13:14 +0300
Subject: [PATCH] [~] Refactor

---
 deps/greasyfork/dist/linkedin.user.js     |  4 +--
 deps/greasyfork/dist/linkedin.user.js.map |  4 +--
 deps/greasyfork/src/linkedin/index.ts     | 36 ++++++++++++++++-------
 3 files changed, 29 insertions(+), 15 deletions(-)

diff --git a/deps/greasyfork/dist/linkedin.user.js b/deps/greasyfork/dist/linkedin.user.js
index e543f8f..5fc058a 100644
--- a/deps/greasyfork/dist/linkedin.user.js
+++ b/deps/greasyfork/dist/linkedin.user.js
@@ -1,3 +1,3 @@
 version https://git-lfs.github.com/spec/v1
-oid sha256:d4e59872417709feacc14af8ead811f525a97ce67a8cc081f0ef7bf459dd9e50
-size 333916
+oid sha256:e91db6e422825282d8b343f640a0a962be1e076e6b01d9a4fbef5fec25c7d972
+size 334098
diff --git a/deps/greasyfork/dist/linkedin.user.js.map b/deps/greasyfork/dist/linkedin.user.js.map
index 019d159..b41273a 100644
--- a/deps/greasyfork/dist/linkedin.user.js.map
+++ b/deps/greasyfork/dist/linkedin.user.js.map
@@ -1,3 +1,3 @@
 version https://git-lfs.github.com/spec/v1
-oid sha256:73de81cf50e3a76041516f20b14c15b958bdb048d5f2e1bca3c388dec1562377
-size 633388
+oid sha256:b9896209571adc0fb9f9656a70128448f52e035743f10660b0099ccee5c9ac49
+size 633597
diff --git a/deps/greasyfork/src/linkedin/index.ts b/deps/greasyfork/src/linkedin/index.ts
index b9dc501..1ddbe2b 100644
--- a/deps/greasyfork/src/linkedin/index.ts
+++ b/deps/greasyfork/src/linkedin/index.ts
@@ -241,6 +241,14 @@ class Linkedin {
     let self = this;
 
     self.ui.root = $(`<div class=online-fxreader-linkedin>`);
+
+    $(document.body).append(self.ui.root);
+
+    if (self.is_fullscreen)
+    {
+      self.ui.root.addClass('fullscreen');
+    }
+
     $('head').append($('<style>').html(`
 div.online-fxreader-linkedin {
   height: 10em;
@@ -308,6 +316,8 @@ class Linkedin {
   constructor() {
     let self = this;
 
+    this.has_callbacks = false;
+
     this.ui = {
       root: () => {
         return document.getElementsByClassName('online-fxreader-linkedin')[0];
@@ -324,6 +334,15 @@ class Linkedin {
       let tray = self.ui.root().getElementsByClassName('tray')[0];
       return tray;
     };
+
+    self.ui.state = () => {
+      let state = self.ui.root().getElementsByClassName('state')[0];
+      return state;
+    };
+  }
+
+  add_callbacks() {
+    let self = this;
     self.ui.tray().addEventListener(
       'click', function(e) {
         let o = e.currentTarget;
@@ -341,14 +360,15 @@ class Linkedin {
         }
       }
     );
-
-    self.ui.state = () => {
-      let state = self.ui.root().getElementsByClassName('state')[0];
-      return state;
-    };
   }
 
   blah(class_name) {
+    if (!this.has_callbacks)
+    {
+      this.add_callbacks();
+      this.has_callbacks = true;
+    }
+
     console.log('blah');
     Array.from(
       document.getElementsByClassName(class_name)
@@ -386,12 +406,6 @@ const online_fxreader_linkedin = new Linkedin();
       `
     });
 
-    $(document.body).append(self.ui.root);
-
-    if (self.is_fullscreen)
-    {
-      self.ui.root.addClass('fullscreen');
-    }
   }
 
   state_get() {