From b839b04df2c7b4436fa20f23d9f08baba386be9b Mon Sep 17 00:00:00 2001
From: YasinOnm08 <onmazyasin4@gmail.com>
Date: Wed, 2 Oct 2024 09:01:50 +0200
Subject: [PATCH 1/5] buttons to svg and dynamic fill color for each

---
 app/components/ConversationFrontend.tsx |   9 ++++-----
 app/components/Documentation.tsx        |   4 ++--
 app/styles/output.css                   |   6 ------
 public/img/Live-Message-Idee.jpg        | Bin 0 -> 33366 bytes
 4 files changed, 6 insertions(+), 13 deletions(-)
 create mode 100644 public/img/Live-Message-Idee.jpg

diff --git a/app/components/ConversationFrontend.tsx b/app/components/ConversationFrontend.tsx
index 9aa2c52..3c65bd4 100644
--- a/app/components/ConversationFrontend.tsx
+++ b/app/components/ConversationFrontend.tsx
@@ -75,25 +75,24 @@ const ConversationFrontend = React.forwardRef<HTMLDivElement, ConversationProps>
           <div className="button-container">
             <div className="tooltip">
               <button type="button" onClick={onStopClick}>
-                <img src="/img/resend.svg" alt="stop" />
-              </button>
+                <svg style={{fill:"var(--text-color)"}} viewBox="0 0 512 512"><path d="M256 0c-25.3 0-47.2 14.7-57.6 36c-7-2.6-14.5-4-22.4-4c-35.3 0-64 28.7-64 64l0 165.5-2.7-2.7c-25-25-65.5-25-90.5 0s-25 65.5 0 90.5L106.5 437c48 48 113.1 75 181 75l8.5 0 8 0c1.5 0 3-.1 4.5-.4c91.7-6.2 165-79.4 171.1-171.1c.3-1.5 .4-3 .4-4.5l0-176c0-35.3-28.7-64-64-64c-5.5 0-10.9 .7-16 2l0-2c0-35.3-28.7-64-64-64c-7.9 0-15.4 1.4-22.4 4C303.2 14.7 281.3 0 256 0zM240 96.1l0-.1 0-32c0-8.8 7.2-16 16-16s16 7.2 16 16l0 31.9 0 .1 0 136c0 13.3 10.7 24 24 24s24-10.7 24-24l0-136c0 0 0 0 0-.1c0-8.8 7.2-16 16-16s16 7.2 16 16l0 55.9c0 0 0 .1 0 .1l0 80c0 13.3 10.7 24 24 24s24-10.7 24-24l0-71.9c0 0 0-.1 0-.1c0-8.8 7.2-16 16-16s16 7.2 16 16l0 172.9c-.1 .6-.1 1.3-.2 1.9c-3.4 69.7-59.3 125.6-129 129c-.6 0-1.3 .1-1.9 .2l-4.9 0-8.5 0c-55.2 0-108.1-21.9-147.1-60.9L52.7 315.3c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L119 336.4c6.9 6.9 17.2 8.9 26.2 5.2s14.8-12.5 14.8-22.2L160 96c0-8.8 7.2-16 16-16c8.8 0 16 7.1 16 15.9L192 232c0 13.3 10.7 24 24 24s24-10.7 24-24l0-135.9z"/></svg>              </button>
               <span className="tooltiptext">Stop</span>
             </div>
             <div className="tooltip">
               <button type="button" onClick={onResendClick}>
-                <img src="/img/resend.svg" alt="resend" />
+                <svg style={{fill:"var(--text-color)"}} viewBox="0 0 512 512"><path d="M463.5 224l8.5 0c13.3 0 24-10.7 24-24l0-128c0-9.7-5.8-18.5-14.8-22.2s-19.3-1.7-26.2 5.2L413.4 96.6c-87.6-86.5-228.7-86.2-315.8 1c-87.5 87.5-87.5 229.3 0 316.8s229.3 87.5 316.8 0c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0c-62.5 62.5-163.8 62.5-226.3 0s-62.5-163.8 0-226.3c62.2-62.2 162.7-62.5 225.3-1L327 183c-6.9 6.9-8.9 17.2-5.2 26.2s12.5 14.8 22.2 14.8l119.5 0z"/></svg>
               </button>
               <span className="tooltiptext">Resend</span>
             </div>
             <div className="tooltip">
               <button type="button" onClick={onEditClick}>
-                <img src="/img/edit.svg" alt="edit" />
+                <svg style={{fill:"var(--text-color)"}} viewBox="0 0 512 512"><path d="M471.6 21.7c-21.9-21.9-57.3-21.9-79.2 0L362.3 51.7l97.9 97.9 30.1-30.1c21.9-21.9 21.9-57.3 0-79.2L471.6 21.7zm-299.2 220c-6.1 6.1-10.8 13.6-13.5 21.9l-29.6 88.8c-2.9 8.6-.6 18.1 5.8 24.6s15.9 8.7 24.6 5.8l88.8-29.6c8.2-2.7 15.7-7.4 21.9-13.5L437.7 172.3 339.7 74.3 172.4 241.7zM96 64C43 64 0 107 0 160L0 416c0 53 43 96 96 96l256 0c53 0 96-43 96-96l0-96c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 96c0 17.7-14.3 32-32 32L96 448c-17.7 0-32-14.3-32-32l0-256c0-17.7 14.3-32 32-32l96 0c17.7 0 32-14.3 32-32s-14.3-32-32-32L96 64z"/></svg>
               </button>
               <span className="tooltiptext">Edit</span>
             </div>
             <div className="tooltip">
               <button type="button" onClick={onCopyClick}>
-                <img src="/img/copy.svg" alt="copy" />
+                <svg style={{fill:"var(--text-color)"}} viewBox="0 0 512 512" preserveAspectRatio="none"><path d="M208 0L332.1 0c12.7 0 24.9 5.1 33.9 14.1l67.9 67.9c9 9 14.1 21.2 14.1 33.9L448 336c0 26.5-21.5 48-48 48l-192 0c-26.5 0-48-21.5-48-48l0-288c0-26.5 21.5-48 48-48zM48 128l80 0 0 64-64 0 0 256 192 0 0-32 64 0 0 48c0 26.5-21.5 48-48 48L48 512c-26.5 0-48-21.5-48-48L0 176c0-26.5 21.5-48 48-48z"/></svg>
               </button>
               <span className="tooltiptext">{isClicked?"Copied!": "Copy" }</span>
             </div>
diff --git a/app/components/Documentation.tsx b/app/components/Documentation.tsx
index 01b4b34..81df5e9 100644
--- a/app/components/Documentation.tsx
+++ b/app/components/Documentation.tsx
@@ -31,10 +31,10 @@ const Documentation = () => {
             </p>
 
             <h2 className="subtitle">Draw.io:</h2>
-            <p className="paragraph">Insert your Draw.io diagrams here.</p>
+            <img src="/img/Live-Message-Idee.jpg" alt='Live Message Skizze' />
 
             <h2 className="subtitle">Inspiration:</h2>
-            <p className="paragraph">Describe your inspirations here.</p>
+            <p className="paragraph">We got our inspiration from Huggingchat.</p>
 
             <h2 className="subtitle">First prototype:</h2>
             <p className="paragraph">
diff --git a/app/styles/output.css b/app/styles/output.css
index 93fcbf2..ebaa2e3 100644
--- a/app/styles/output.css
+++ b/app/styles/output.css
@@ -69,15 +69,9 @@
     background-color: var(--button-hover-background-color);
 }
 
-.button-container img {
-    height: 20px;
-    width: 20px;
-}
-
 .tooltip {
     position: relative;
     display: inline-block;
-    margin: 5px;
     cursor: pointer;
 }
 
diff --git a/public/img/Live-Message-Idee.jpg b/public/img/Live-Message-Idee.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..061518e25dffcebbc4fd8d7f692901658d1316aa
GIT binary patch
literal 33366
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
G)&BrOWtlzz

literal 0
HcmV?d00001


From 70779db5bf9c410a2a47e579d022ae4e17c4ad76 Mon Sep 17 00:00:00 2001
From: YasinOnm08 <onmazyasin4@gmail.com>
Date: Wed, 2 Oct 2024 09:23:29 +0200
Subject: [PATCH 2/5] svg icons for everything

---
 app/components/InputFrontend.tsx |  4 ++--
 app/components/Login.tsx         |  2 +-
 app/styles/header.css            | 12 +++++++-----
 3 files changed, 10 insertions(+), 8 deletions(-)

diff --git a/app/components/InputFrontend.tsx b/app/components/InputFrontend.tsx
index 7ae6fd7..1fbd1b8 100644
--- a/app/components/InputFrontend.tsx
+++ b/app/components/InputFrontend.tsx
@@ -49,10 +49,10 @@ const InputFrontend = React.forwardRef<HTMLDivElement, InputProps>(
           onKeyDown={handleKeyDown}
         />
         <button type="button" onClick={handleSendClick} disabled={inputDisabled ? true : false}>
-          <img src="/img/send.svg" alt="send" />
+          <svg style={{fill:"var(--text-color)"}} viewBox="0 0 512 512" width={20}><path d="M498.1 5.6c10.1 7 15.4 19.1 13.5 31.2l-64 416c-1.5 9.7-7.4 18.2-16 23s-18.9 5.4-28 1.6L284 427.7l-68.5 74.1c-8.9 9.7-22.9 12.9-35.2 8.1S160 493.2 160 480l0-83.6c0-4 1.5-7.8 4.2-10.8L331.8 202.8c5.8-6.3 5.6-16-.4-22s-15.7-6.4-22-.7L106 360.8 17.7 316.6C7.1 311.3 .3 300.7 0 288.9s5.9-22.8 16.1-28.7l448-256c10.7-6.1 23.9-5.5 34 1.4z"/></svg>
         </button>
         <button className={`microphone-button ${isRecording ? "red" : "var(--input-button-color)"}`} type="button" onClick={onMicClick}>
-          <img src="/img/microphone.svg" alt="microphone" />
+          <svg style={{fill:"var(--text-color)"}} viewBox="0 0 384 512" width={15}><path d="M192 0C139 0 96 43 96 96l0 160c0 53 43 96 96 96s96-43 96-96l0-160c0-53-43-96-96-96zM64 216c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 40c0 89.1 66.2 162.7 152 174.4l0 33.6-48 0c-13.3 0-24 10.7-24 24s10.7 24 24 24l72 0 72 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-48 0 0-33.6c85.8-11.7 152-85.3 152-174.4l0-40c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 40c0 70.7-57.3 128-128 128s-128-57.3-128-128l0-40z"/></svg>
         </button>
       </div>
     );
diff --git a/app/components/Login.tsx b/app/components/Login.tsx
index e2e8c32..b56d064 100644
--- a/app/components/Login.tsx
+++ b/app/components/Login.tsx
@@ -81,7 +81,7 @@ const Login: React.FC = () => {
     <div>
       {/* Login or Settings Button */}
       <button className='header-login-button' onClick={isLoggedIn ? toggleSettingsPopup : toggleLoginPopup}>
-        {isLoggedIn ? <img src="" alt="Settings" /> : 'Log In'}
+        {isLoggedIn ? <svg style={{ fill: "var(--text-color)" }} viewBox="0 0 512 512" width={25} height={35} preserveAspectRatio="xMidYMid meet"><path d="M495.9 166.6c3.2 8.7 .5 18.4-6.4 24.6l-43.3 39.4c1.1 8.3 1.7 16.8 1.7 25.4s-.6 17.1-1.7 25.4l43.3 39.4c6.9 6.2 9.6 15.9 6.4 24.6c-4.4 11.9-9.7 23.3-15.8 34.3l-4.7 8.1c-6.6 11-14 21.4-22.1 31.2c-5.9 7.2-15.7 9.6-24.5 6.8l-55.7-17.7c-13.4 10.3-28.2 18.9-44 25.4l-12.5 57.1c-2 9.1-9 16.3-18.2 17.8c-13.8 2.3-28 3.5-42.5 3.5s-28.7-1.2-42.5-3.5c-9.2-1.5-16.2-8.7-18.2-17.8l-12.5-57.1c-15.8-6.5-30.6-15.1-44-25.4L83.1 425.9c-8.8 2.8-18.6 .3-24.5-6.8c-8.1-9.8-15.5-20.2-22.1-31.2l-4.7-8.1c-6.1-11-11.4-22.4-15.8-34.3c-3.2-8.7-.5-18.4 6.4-24.6l43.3-39.4C64.6 273.1 64 264.6 64 256s.6-17.1 1.7-25.4L22.4 191.2c-6.9-6.2-9.6-15.9-6.4-24.6c4.4-11.9 9.7-23.3 15.8-34.3l4.7-8.1c6.6-11 14-21.4 22.1-31.2c5.9-7.2 15.7-9.6 24.5-6.8l55.7 17.7c13.4-10.3 28.2-18.9 44-25.4l12.5-57.1c2-9.1 9-16.3 18.2-17.8C227.3 1.2 241.5 0 256 0s28.7 1.2 42.5 3.5c9.2 1.5 16.2 8.7 18.2 17.8l12.5 57.1c15.8 6.5 30.6 15.1 44 25.4l55.7-17.7c8.8-2.8 18.6-.3 24.5 6.8c8.1 9.8 15.5 20.2 22.1 31.2l4.7 8.1c6.1 11 11.4 22.4 15.8 34.3zM256 336a80 80 0 1 0 0-160 80 80 0 1 0 0 160z"/></svg> : 'Log In'}
       </button>
 
       {/* Conditional rendering of the Login Popup */}
diff --git a/app/styles/header.css b/app/styles/header.css
index a540ad3..af4c1c0 100644
--- a/app/styles/header.css
+++ b/app/styles/header.css
@@ -75,7 +75,7 @@ header{
 
 .login-button-container{
     position: absolute;
-    top: 0.2vh;
+    top: 0.1vh;
     right: 1vw;
     height: 100%;
     display: flex;
@@ -83,11 +83,10 @@ header{
 }
 
 .header-login-button{
+    height: 100%;
+    width:4vw;
     font-size: var(--font-size);
-    /* position: absolute;
-    top: 1.5vh;
-    right: 1vw; */
-    padding: 10px 20px;
+    padding: 3px;
     background-color: var(--input-button-color);
     color: var(--text-color);
     border: none;
@@ -95,6 +94,9 @@ header{
     cursor: pointer;
     transition: background-color 0.3s;
     font-family: var(--font-family);
+    display: flex;
+    justify-content: center;
+    align-items: center;
 }
 
 .header-login-button:hover {

From 8d5cf620ff3fcb6b1f4af2bc01e8ccbee18a8696 Mon Sep 17 00:00:00 2001
From: YasinOnm08 <onmazyasin4@gmail.com>
Date: Wed, 2 Oct 2024 09:37:58 +0200
Subject: [PATCH 3/5] svg icons for even more everything

---
 app/components/ConversationFrontend.tsx | 6 ++++--
 app/styles/output.css                   | 7 ++++---
 2 files changed, 8 insertions(+), 5 deletions(-)

diff --git a/app/components/ConversationFrontend.tsx b/app/components/ConversationFrontend.tsx
index 3c65bd4..832104b 100644
--- a/app/components/ConversationFrontend.tsx
+++ b/app/components/ConversationFrontend.tsx
@@ -53,7 +53,7 @@ const ConversationFrontend = React.forwardRef<HTMLDivElement, ConversationProps>
       if (isScrolling) {
         messagesEndRef.current?.scrollIntoView({ behavior: 'smooth' });
       }
-    }, [messages, isScrolling]);
+    }, [messages]);
 
     return (
       <div className="output" ref={ref}>
@@ -99,7 +99,9 @@ const ConversationFrontend = React.forwardRef<HTMLDivElement, ConversationProps>
           </div>
           <div className={"endOfMessages"} ref={messagesEndRef} style={{ height: "3px"}}/>
         </div>
-        <button id="scrollToBottom" disabled={isScrolling?true:false} style={{visibility: isScrolling?"hidden":"visible"}} onClick={()=> setIsScrolling(true)}>Down</button>
+        <button id="scrollToBottom" disabled={isScrolling ? true : false} style={{ visibility: isScrolling ? "hidden" : "visible" }} onClick={() => setIsScrolling(true)}>
+          <svg style={{fill:"var(--text-color)"}} viewBox="0 0 384 512" height={30}><path d="M169.4 470.6c12.5 12.5 32.8 12.5 45.3 0l160-160c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L224 370.8 224 64c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 306.7L54.6 265.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l160 160z"/></svg>
+        </button>
       </div>
     );
   } 
diff --git a/app/styles/output.css b/app/styles/output.css
index ebaa2e3..2bd949d 100644
--- a/app/styles/output.css
+++ b/app/styles/output.css
@@ -6,14 +6,14 @@
     background-color: var(--output-background-color);
     margin: 1em;
     margin-bottom: 0;
-    padding-bottom: 14dvh;
+    padding-bottom: 15dvh;
     display: flex;
     flex-direction: column;
     justify-content: flex-start;
     font-size: 1em;
     overflow-y: auto;
     width: calc(100% - 2em); /* Corrected calculation for width */
-    height: 86dvh;
+    height: 85dvh;
     position: relative;
 }
 
@@ -22,7 +22,7 @@
     flex-direction: column;
     padding-left: 10px;
     overflow-y: auto;
-    height: 80vh;
+    height: 75dvh;
     background-color: var(--output-background-color);
     border-radius: 10px;
     scroll-behavior: smooth;
@@ -73,6 +73,7 @@
     position: relative;
     display: inline-block;
     cursor: pointer;
+    z-index: 999;
 }
 
 .tooltip .tooltiptext {

From caa02ee81e5b6496e05abcfce89f6f0e7aff82d0 Mon Sep 17 00:00:00 2001
From: YasinOnm08 <onmazyasin4@gmail.com>
Date: Wed, 2 Oct 2024 09:55:09 +0200
Subject: [PATCH 4/5] icons clipping fix

---
 app/styles/output.css | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/app/styles/output.css b/app/styles/output.css
index 2bd949d..20318fa 100644
--- a/app/styles/output.css
+++ b/app/styles/output.css
@@ -73,7 +73,7 @@
     position: relative;
     display: inline-block;
     cursor: pointer;
-    z-index: 999;
+    z-index: 600;
 }
 
 .tooltip .tooltiptext {

From 6d71e17e61c4e944da73a531a252e135eb69364a Mon Sep 17 00:00:00 2001
From: YasinOnm08 <onmazyasin4@gmail.com>
Date: Wed, 2 Oct 2024 10:24:30 +0200
Subject: [PATCH 5/5] css multi browser fix trial 1

---
 app/components/ConversationFrontend.tsx |  2 +-
 app/styles/global.css                   | 25 +++++++++++++++++++++++++
 app/styles/input.css                    |  2 +-
 app/styles/models.css                   |  4 ++--
 app/styles/output.css                   |  6 +++---
 5 files changed, 32 insertions(+), 7 deletions(-)

diff --git a/app/components/ConversationFrontend.tsx b/app/components/ConversationFrontend.tsx
index 832104b..b294b01 100644
--- a/app/components/ConversationFrontend.tsx
+++ b/app/components/ConversationFrontend.tsx
@@ -53,7 +53,7 @@ const ConversationFrontend = React.forwardRef<HTMLDivElement, ConversationProps>
       if (isScrolling) {
         messagesEndRef.current?.scrollIntoView({ behavior: 'smooth' });
       }
-    }, [messages]);
+    }, [messages, isScrolling]);
 
     return (
       <div className="output" ref={ref}>
diff --git a/app/styles/global.css b/app/styles/global.css
index 0acb073..e3d771c 100644
--- a/app/styles/global.css
+++ b/app/styles/global.css
@@ -4,6 +4,31 @@ body {
     position: relative;
 }
 
+/* Chrome, Edge, and Safari */
+::-webkit-scrollbar {
+    width: 12px;
+    /* Adjust width for horizontal and vertical scrollbars */
+}
+
+::-webkit-scrollbar-track {
+    background: #f0f0f0;
+    /* Background of the scrollbar track */
+}
+
+::-webkit-scrollbar-thumb {
+    background-color: #888;
+    /* Color of the draggable part (thumb) */
+    border-radius: 10px;
+    /* Rounded corners */
+    border: 2px solid #f0f0f0;
+    /* Space around the thumb */
+}
+
+::-webkit-scrollbar-thumb:hover {
+    background-color: #555;
+    /* Thumb color on hover */
+}
+
 body {
     background-color: var(--background-color);
     color: var(--text-color);
diff --git a/app/styles/input.css b/app/styles/input.css
index 3233b14..dad1d56 100644
--- a/app/styles/input.css
+++ b/app/styles/input.css
@@ -6,7 +6,6 @@
     padding-left: 0.5em;
     padding-right: 0;
     margin: 0 10px;
-    margin-bottom: 10px;
     display: flex;
     justify-content: space-between;
     align-items: center;
@@ -17,6 +16,7 @@
     bottom: 3dvh;
     right: 0.25vw;
     box-shadow: 0 -1px 10px rgba(0, 0, 0, 0.5);
+    z-index: 600;
 }
 
 .input input {
diff --git a/app/styles/models.css b/app/styles/models.css
index ccd49c6..258f71a 100644
--- a/app/styles/models.css
+++ b/app/styles/models.css
@@ -6,7 +6,6 @@
     grid-column: 1/2;
     grid-row: 1/2;
     padding-bottom: 1px;
-    overflow: scroll;
     overflow: hidden;
     background-color: var(--history-background-color);
     padding: 1em;
@@ -19,6 +18,7 @@
     display: flex;
     flex-direction: column;
     height: 100%;
+    overflow: hidden;
     overflow-y: scroll;
 }
 
@@ -53,7 +53,7 @@
     justify-content: center;
     color: var(--text-color); /* Use variable for text color */
     border-radius: 5%;
-    overflow: scroll;
+    overflow: hidden;
     position: relative;
     height: 18vh;
     width: 18vh;
diff --git a/app/styles/output.css b/app/styles/output.css
index 20318fa..2a4fe50 100644
--- a/app/styles/output.css
+++ b/app/styles/output.css
@@ -6,7 +6,7 @@
     background-color: var(--output-background-color);
     margin: 1em;
     margin-bottom: 0;
-    padding-bottom: 15dvh;
+    padding-bottom: 13dvh;
     display: flex;
     flex-direction: column;
     justify-content: flex-start;
@@ -73,7 +73,7 @@
     position: relative;
     display: inline-block;
     cursor: pointer;
-    z-index: 600;
+    z-index: 900;
 }
 
 .tooltip .tooltiptext {
@@ -87,7 +87,7 @@
 
     /* Position the tooltip */
     position: absolute;
-    top: 125%;
+    top: 100%;
     /* Adjusts tooltip to be below the button */
     left: 50%;
     transform: translateX(-50%);