diff --git a/frontend/src/App.vue b/frontend/src/App.vue
index 20d977d417b8cf1353b9688d417ebed71102ae99..10d53b47ae6f122b29fcdbbae637bce6a36176ea 100644
--- a/frontend/src/App.vue
+++ b/frontend/src/App.vue
@@ -1,20 +1,19 @@
 <script setup>
 import HelloWorld from './components/HelloWorld.vue'
-import TheWelcome from './components/TheWelcome.vue'
-import PeldaKomponens from "@/components/pelda-komponens.vue";
-import RegisterKomponens from "@/components/register-komponens.vue";
 import IntroKomponens from "@/components/intro-komponens.vue";
 
 import {ref} from "vue";
 import BrowseKomponens from "@/components/browse-komponens.vue";
 import axios from "axios";
-// import loggedIn from "@/components/login-komponens.vue"
-const isNotLoggedIn = ref(true);
 
+
+// handle page switch
+const isNotLoggedIn = ref(true);
 function setStatus(status){
   isNotLoggedIn.value = !status;
 }
 
+// registers user
 function registerUser(credentials, callback) {
   return axios.post('http://localhost:8080/api/register', credentials)
       .then(response => {
@@ -39,8 +38,8 @@ function registerUser(credentials, callback) {
         id: 1,
         user: "kazso",
         subject: "szofttech",
-        title: "1. előadás",
-        description: "tehe",
+        title: "Szoftvertechnológia: 1. előadás",
+        description: "A Szoftvertechnológia alapjai című tárgy első előadás diái. Tartalmazza a szoftverkövetelményeket, milyen alap elemei vannak, mit kell tartalmaznia.",
         filepath: "1.eloadas_szoftvertechnologia_2024_v1.0.pdf"
       })
   }
@@ -49,8 +48,8 @@ function registerUser(credentials, callback) {
           id: 2,
           user: "kazso",
           subject: "szofttech",
-          title: "3. előadás",
-          description: "tehee",
+          title: "Szoftvertechnológia: 3. előadás",
+          description: "A Szoftvertechnológia alapjai című tárgy harmadik előadás diái. Tartalmazza a szoftverfolyamatot, milyen modellek léteznek és a szoftverfolyamat szakaszait.",
           filepath: "3.eloadas_szoftvertechnologia_2024_v1.0.pdf"
         })
       }
@@ -77,12 +76,6 @@ function registerUser(credentials, callback) {
 
 <style scoped>
 
-
-.logo {
-  display: block;
-  margin: 0 auto 2rem;
-}
-
 @media (min-width: 1024px) {
 
   main {
@@ -90,27 +83,17 @@ function registerUser(credentials, callback) {
     grid-template-columns: 1fr 1fr;
     width: 100%;
     height: 100%;
-    color: lightseagreen;
+    color: var(--light);
     padding: 20px;
   }
 
   header {
     display: block;
     line-height: 1.5;
-    background-color: #224c49;
+    background-color: var(--dark);
     margin: 10px 0 20px 0;
   }
 
-  .logo {
-    margin: 0 2rem 0 0;
-  }
-
-  .wrapper {
-    display: block;
-    width: 100%;
-    height: 20%;
-  }
-
   main h1 {
     padding-right: 20%;
     text-align: justify;
diff --git a/frontend/src/assets/main.css b/frontend/src/assets/main.css
index fe910576f25ae51364870b118ed7c440b803f881..823d49a8b3170ff9dcbe5b9f5e9b2d6119583b41 100644
--- a/frontend/src/assets/main.css
+++ b/frontend/src/assets/main.css
@@ -1,5 +1,15 @@
 @import './base.css';
 
+:root {
+    --lightest: aqua;
+    --lighter: #768d90;
+    --lighttext: #b3ced1;
+    --light: lightseagreen;
+    --dark: #134946;
+    --darker: #1f2c2c;
+    --darkest: #181818;
+}
+
 #app {
   /*max-width: 1280px;*/
   margin: 0 auto;
@@ -34,3 +44,42 @@ a,
     padding: 0 2rem;
   }
 }
+
+.grow {
+  height: 40px;
+  width: 130px;
+  color: var(--light);
+    border-style: solid;
+  background-color: var(--darkest);
+  font-weight: bold;
+  border-color: var(--dark);
+}
+
+.grow:hover{
+  background-color: var(--dark);
+  color: var(--lightest);
+  border-color: var(--light);
+    cursor: pointer;
+}
+
+.grow:active {
+  border-color: var(--light);
+  background-color: var(--darkest);
+  color: var(--light);
+}
+
+.grow:active {
+    animation-name: growScale;
+    animation-iteration-count: 1;
+    animation-timing-function: linear;
+    animation-duration: 0.1s;
+}
+
+@keyframes growScale {
+    0% {
+        scale: 1;
+    }
+    100%{
+        scale: 1.05;
+    }
+}
diff --git a/frontend/src/assets/user.svg b/frontend/src/assets/user.svg
new file mode 100644
index 0000000000000000000000000000000000000000..6a39d4de2ba53a89ad9890024a98f8c30c07c78a
--- /dev/null
+++ b/frontend/src/assets/user.svg
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?><!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
+<svg width="20px" height="20px" viewBox="0" fill="lightseagreen" xmlns="http://www.w3.org/2000/svg">
+<path d="M16 7C16 9.20914 14.2091 11 12 11C9.79086 11 8 9.20914 8 7C8 4.79086 9.79086 3 12 3C14.2091 3 16 4.79086 16 7Z" stroke="lightseagreen" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
+<path d="M12 14C8.13401 14 5 17.134 5 21H19C19 17.134 15.866 14 12 14Z" stroke="lightseagreen" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
+</svg>
\ No newline at end of file
diff --git a/frontend/src/components/HelloWorld.vue b/frontend/src/components/HelloWorld.vue
index 89d71210d650a3b7b0efff3889dd0475a7aa0c51..936d086a48cb403c3df49b5c14bc97e067ea6470 100644
--- a/frontend/src/components/HelloWorld.vue
+++ b/frontend/src/components/HelloWorld.vue
@@ -1,5 +1,4 @@
 <script setup>
-import PeldaKomponens from "@/components/pelda-komponens.vue";
 import LoginKomponens from "@/components/login-komponens.vue";
 
 defineProps({
@@ -12,15 +11,8 @@ defineProps({
 
 <template>
   <div class="greetings">
-<!--    <h1 class="green">{{ msg }}</h1>-->
     <img alt="NoteStore logo" class="logo" src="../assets/book-shelf.svg" width="100" height="100" />
     <h1 class="title">{{msg}}</h1>
-<!--    <h3 class="subtitle">-->
-<!--      You’ve successfully created a project with-->
-<!--      <a href="https://vitejs.dev/" target="_blank" rel="noopener">Vite</a> +-->
-<!--      <a href="https://vuejs.org/" target="_blank" rel="noopener">Vue 3</a>.-->
-<!--    </h3>-->
-<!--    <div class="space"></div>-->
     <div class="login">
       <LoginKomponens @status="(value) => $emit('status', value)" />
     </div>
@@ -32,7 +24,8 @@ defineProps({
 
 
 .title {
-  color: lightseagreen;
+  color: var(--lightest);
+  text-shadow: 0 0 10px var(--light);
 }
 
 .title:after{
@@ -75,16 +68,9 @@ h3 {
     align-items: center;
   }
 
-  .space {
-    width: 40%;
-  }
-
   .logo {
     margin: 0 2rem 0 0;
   }
 }
 
-.subtitle {
-  margin-bottom: 16px;
-}
 </style>
diff --git a/frontend/src/components/browse-komponens.vue b/frontend/src/components/browse-komponens.vue
index 103c5658768e8dbda5bb6a6b60c5eb7a183513e2..f0a9a8493fb93a0a1abbfe8316b876046651ed48 100644
--- a/frontend/src/components/browse-komponens.vue
+++ b/frontend/src/components/browse-komponens.vue
@@ -61,8 +61,14 @@ function downloadFile(filename) {
         <h3 class="note-description">
           {{description}}
         </h3>
-        <h4>{{userName}}</h4>
-        <button @click="downloadFile(fileName)">Letöltés</button>
+        <div class="footer">
+          <h4>
+            Feltöltötte: <p class="green">{{userName}}</p>
+            <img alt="user icon" class="user" src="../assets/user.svg" width="18" height="18"/>
+          </h4>
+          <span></span>
+          <button class="grow" @click="downloadFile(fileName)">Letöltés</button>
+        </div>
       </div>
     </main>
   </div>
@@ -74,7 +80,7 @@ function downloadFile(filename) {
   display: grid;
   grid-auto-flow: row;
   grid-template-columns: 1fr 2fr;
-  column-gap: 10px;
+  column-gap: 15px;
   padding: 0 10% 0 10%;
 }
 
@@ -89,25 +95,44 @@ li {
 
 .note:hover {
   cursor: pointer;
-  color: lightseagreen;
+  color: var(--light);
   background-color: #1f2c2c;
 }
 
-.browse, .note-page {
-  border: 1px solid lightseagreen;
+.browse {
+  border: 1px solid var(--lightest);
+  box-shadow: var(--light) 0 0 5px;
   padding: 5px;
 }
 
 .module {
-  background-color: #224c49;
+  background-color: var(--dark);
+  color: var(--lighttext);
 }
 
-.note-page > h4 {
-  color: lightseagreen;
+.note-page {
+  border: 1px solid var(--lightest);
+  padding: 25px;
+  color: var(--lighttext);
+  box-shadow: var(--light) 0 0 5px;
 }
 
-.note-page {
-  padding: 15px;
+.note-header {
+  text-align: center;
+  margin-bottom: 10px;
+}
+
+.footer {
+  margin-top: 20px;
+  display: grid;
+  grid-template-columns: 2fr 1fr 1fr;
+  align-items: center;
+  color: var(--lighter);
+}
+
+.user {
+  margin-bottom: -2px;
 }
 
+
 </style>
\ No newline at end of file
diff --git a/frontend/src/components/login-komponens.vue b/frontend/src/components/login-komponens.vue
index 7fe2a07b32f44a282d5e4fc261190f3c984c0832..f0be0b1c41401740b7b3a8a36623e4e184162b78 100644
--- a/frontend/src/components/login-komponens.vue
+++ b/frontend/src/components/login-komponens.vue
@@ -2,31 +2,7 @@
 import {ref} from "vue";
 import axios from 'axios';
 
-// const isLoading = ref(true);
-// const aFact = ref('');
-
-// function getAFact() {
-//   isLoading.value = true;
-//   axios.get('https://catfact.ninja/fact').then(result => {
-//     aFact.value = result.data.fact;
-//     isLoading.value = false;
-//   }).catch(error => {
-//     console.error('cannot get data from api', error);
-//   });
-// }
-//
-// getAFact();
-
-// const backendStatus = ref('unknown');
-// function checkBackend() {
-//   axios.get('/api/ok').then(result=>{
-//     backendStatus.value = result.data;
-//   }).catch(error => {
-//     console.error('cannot get backend OK api endpoint', error);
-//     backendStatus.value = 'error';
-//   })
-// }
-
+// api call to login
 function loginUser(credentials, callback) {
   axios.post('http://localhost:8080/api/login', credentials)
       .then(response => {
@@ -37,29 +13,23 @@ function loginUser(credentials, callback) {
       });
 }
 
-const loggedIn = ref(false);
-const btnText = ref("Bejelentkezés")
+// login logic handling
+const logged_in = ref(false);
 const userName = ref("")
-function login(){
-  loggedIn.value = !loggedIn.value
+function login(self){
+  //Itt lesz a kitalált user (Gipsz Jakab, keksz) aki megpróbál bejelentkezni
+  loginUser({username: 'gipja', password: 'süti'}, function(response) {
+    console.log(response)
+    userName.value = response["fullName"]
+    logged_in.value = response["loggedIn"]
+
+    if(!logged_in.value){
+      userName.value = ""
+    }
 
-  if(loggedIn.value){
-    loginUser({username: 'gipja', password: 'süti'}, function(response) {
-        userName.value = response["fullName"]
-        //Tessék bool :P
-        const bool = response["loggedIn"];
-        console.log(response)
-    })
-    btnText.value = "Kijelentkezés"
-  } else {
-    loginUser({username: 'gipja', password: 'süti'}, function(response) {
-      //Tessék bool :P
-      const bool = response["loggedIn"];
-      console.log(response)
-    })
-    userName.value = ""
-    btnText.value = "Bejelentkezés"
-  }
+    self.$emit('status', logged_in.value)
+  })
+  console.log(logged_in)
 }
 
 
@@ -68,7 +38,12 @@ function login(){
 <template>
   <div class="wrapper">
     <h2 class="user">{{userName}}</h2>
-    <button class="grow" @click="login(); $emit('status', loggedIn)">{{btnText}}</button>
+    <div v-if="logged_in">
+      <button class="grow" @click="login(this)">Kijelentkezés</button>
+    </div>
+    <div v-else>
+      <button class="grow" @click="login(this)">Bejelentkezés</button>
+    </div>
   </div>
 </template>
 
@@ -79,50 +54,14 @@ function login(){
 }
 
 .user {
-  color: lightseagreen;
+  color: var(--light);
   width: 200px;
   text-align: center;
 }
 
-button {
-  height: 40px;
-  width: 130px;
-  color: lightseagreen;
-  background-color: #181818;
-  font-weight: bold;
-  border-color: #181818;
-}
-
-button:hover{
-  background-color: #224c49;
-  color: lightseagreen;
-  border-color: lightseagreen;
+.user:hover {
   cursor: pointer;
+  color: var(--lightest);
 }
 
-button:active {
-  border-color: lightseagreen;
-  background-color: #181818;
-  color: lightseagreen;
-}
-
-.grow:active {
-    animation-name: growScale;
-    animation-iteration-count: 1;
-    animation-timing-function: linear;
-    animation-duration: 0.1s;
-}
-
-@keyframes growScale {
-    0% {
-        scale: 1;
-    }
-    100%{
-        scale: 1.05;
-    }
-}
-
-.a-fact {
-  font-weight: bold;
-}
 </style>
\ No newline at end of file
diff --git a/frontend/src/components/register-komponens.vue b/frontend/src/components/register-komponens.vue
index ac7932ff128ea6534a7f565c63b3c805331737c0..9cdac409b7b932ab0789b25d322306c1fd08e158 100644
--- a/frontend/src/components/register-komponens.vue
+++ b/frontend/src/components/register-komponens.vue
@@ -26,17 +26,17 @@ function register(){
 <style>
 p {
   display: inline-block;
-  color: aqua;
+  color: var(--lightest);
 }
 
 p:hover {
-  color: lightseagreen;
+  color: var(--light);
   cursor: grab;
   text-decoration: underline;
 }
 
 p:active {
-  color: aqua;
+  color: var(--lightest);
 }
 
 </style>
\ No newline at end of file