From 73a9e04c2bb7e2681127a2140fbdbbc68253171e Mon Sep 17 00:00:00 2001 From: Kilokem Date: Wed, 25 Sep 2024 20:49:15 +0200 Subject: [PATCH] Finals --- css/friends.css | 49 ++- css/login.css | 168 +++++++++ css/main.css | 543 ++++++++++++++++++++++++++++ css/messages.css | 133 +++++++ css/navbar.css | 6 +- css/profile.css | 8 +- css/settings.css | 583 +++++++++++++++++-------------- js/login.js | 28 ++ js/main.js | 4 + js/post.js | 11 + pages/chat-not-included-yet.html | 164 +++++++++ pages/friends.html | 304 ++++------------ pages/groups.html | 73 ++++ pages/login.html | 30 ++ pages/main.html | 149 ++++++++ pages/messages.html | 65 ++++ pages/profile.html | 240 ++++++------- pages/settings.html | 78 +++-- src/arrow.png | Bin 0 -> 69165 bytes src/logo.png | Bin 0 -> 12931 bytes src/moszat.txt | 17 + src/navbar.html | 11 +- 22 files changed, 1982 insertions(+), 682 deletions(-) create mode 100644 css/login.css create mode 100644 css/main.css create mode 100644 css/messages.css create mode 100644 js/login.js create mode 100644 js/main.js create mode 100644 js/post.js create mode 100644 pages/chat-not-included-yet.html create mode 100644 pages/groups.html create mode 100644 pages/login.html create mode 100644 pages/main.html create mode 100644 pages/messages.html create mode 100644 src/arrow.png create mode 100644 src/logo.png create mode 100644 src/moszat.txt diff --git a/css/friends.css b/css/friends.css index 9278f50..0e40fe3 100644 --- a/css/friends.css +++ b/css/friends.css @@ -16,7 +16,7 @@ body { :root { --background-color: #121212; --text-color: black; - --primary-color: #aa00ff; + --primary-color: #4169E1; --secondary-color: lightgrey; --header-bg-color: lightgrey; } @@ -68,9 +68,9 @@ body { padding: 10px 20px; cursor: pointer; text-align: center; - background: var(--secondary-color); + background: var(--color-bg); border-radius: 8px; - color: var(--text-color); + color: var(--color-black); transition: background 0.3s, color 0.3s; } @@ -86,7 +86,7 @@ body { /* Search input styles */ .search-input { width: 100%; /* Full width of the filter */ - background-color: var(--header-bg-color); + background-color: var(--color-bg); border: none; padding: 10px; border-radius: 10px; @@ -103,19 +103,19 @@ body { @keyframes rotateShadow { 0% { - box-shadow: -2px -2px 8px 1px var(--primary-color), 2px 2px 8px 1px #3700ff; + box-shadow: -2px -2px 8px 1px var(--primary-color), 2px 2px 8px 1px #4169E1; } 25% { - box-shadow: -2px 2px 8px 1px var(--primary-color), 2px -2px 8px 1px #3700ff; + box-shadow: -2px 2px 8px 1px var(--primary-color), 2px -2px 8px 1px #4169E1; } 50% { - box-shadow: 2px 2px 8px 1px var(--primary-color), -2px -2px 8px 1px #3700ff; + box-shadow: 2px 2px 8px 1px var(--primary-color), -2px -2px 8px 1px #4169E1; } 75% { - box-shadow: 2px -2px 8px 1px var(--primary-color), -2px 2px 8px 1px #3700ff; + box-shadow: 2px -2px 8px 1px var(--primary-color), -2px 2px 8px 1px #4169E1; } 100% { - box-shadow: -2px -2px 8px 1px var(--primary-color), 2px 2px 8px 1px #3700ff; + box-shadow: -2px -2px 8px 1px var(--primary-color), 2px 2px 8px 1px #4169E1; } } @@ -145,7 +145,7 @@ body { .biocard { max-width: 460px; border-radius: 1rem; - background-color: rgb(118, 36, 194); + background-color:var(--color-bg); padding: 4rem; margin-top: 1rem; } @@ -158,12 +158,12 @@ body { gap: 1rem; } -.image { +.prof-image { height: 7rem; width: 7rem; - border-radius: 0.5rem; - background-color: rgb(118, 36, 194); - background: linear-gradient(to bottom right, rgb(118, 36, 194), rgb(185, 128, 240)); + border-radius: 8px; + background-color: #4169E1; + background: linear-gradient(to bottom right, #4169E1, #3658B4); } .info { @@ -176,7 +176,7 @@ body { .name { font-weight: 500; - color: var(--color-white); + color: var(--color-black); } .userid { @@ -187,13 +187,13 @@ body { .stats { width: 100%; border-radius: 0.5rem; - background-color: rgba(255, 255, 255, 1); + background-color:var(--color-bg); display: flex; align-items: center; justify-content: space-around; font-size: 0.75rem; line-height: 1rem; - color: rgba(0, 0, 0, 1); + color: var(--color-black); } .flex { @@ -205,7 +205,7 @@ body { .state-value { font-weight: 700; - color: rgb(118, 36, 194); + color: #4169E1; } .request { @@ -217,10 +217,21 @@ body { font-size: 1rem; line-height: 1.5rem; transition: all .3s ease; + background-color: var(--color-bg); + color: var(--color-black); } .request:hover { - background-color: rgb(118, 36, 194); + background-color: #4169E1; color: #fff; cursor: pointer; } +h2{ + color:var(--color-black); +} + +.prof-image img{ + width: 100%; + height: 100%; + border-radius: 8px; +} \ No newline at end of file diff --git a/css/login.css b/css/login.css new file mode 100644 index 0000000..8b4383d --- /dev/null +++ b/css/login.css @@ -0,0 +1,168 @@ +:root { + --color-white: #fff; + --color-black: #000; + --color-bg: #f1f1f1; + } + .dark-mode { + --color-white: #000; + --color-black: #fff; + --color-bg: #1d1b31; + } +body, html { + margin: 0; + padding: 0; + font-family: Arial, sans-serif; + height: 100%; + background-color: var(--color-bg); +} + +.container { + display: flex; + justify-content: center; + align-items: center; + height: 100%; +} + +.login-box { + border: 2px solid #5865F2; + border-radius: 8px; + padding: 40px; + box-shadow: 4px 4px #5865F2; + background-color: var(--color-bg); + text-align: center; + display: flex; + flex-direction: column; + align-items: center; + max-width: 400px; + width: 100%; +} + +.logo { + width: 150px; + height: auto; + margin-bottom: 20px; +} + +.title { + color: var(--color-black); + font-size: 24px; + font-weight: 900; + margin-bottom: 8px; +} + +.subtitle { + color: var(--color-black); + font-size: 16px; + font-weight: 600; + margin-bottom: 24px; +} + +.discord-btn { + background-color: #5865F2; + border: 2px solid #5865F2; + color: #ffffff; + padding: 12px 20px; + font-size: 16px; + font-weight: 600; + border-radius: 4px; + cursor: pointer; + display: flex; + align-items: center; + justify-content: center; + transition: all 0.3s ease; + box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); + overflow: hidden; + position: relative; + width: 100%; + max-width: 300px; + white-space: nowrap; +} + +.discord-btn:hover { + background-color: #4752C4; + border-color: #4752C4; + transform: translateY(-2px); + box-shadow: 0 6px 8px rgba(0, 0, 0, 0.2); +} + +.discord-btn:active { + transform: translateY(0); + box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); +} + +.discord-btn::after { + content: ''; + position: absolute; + top: 50%; + left: 50%; + width: 5px; + height: 5px; + background: rgba(255, 255, 255, 0.5); + opacity: 0; + border-radius: 100%; + transform: scale(1, 1) translate(-50%); + transform-origin: 50% 50%; +} + +@keyframes ripple { + 0% { + transform: scale(0, 0); + opacity: 1; + } + 20% { + transform: scale(25, 25); + opacity: 1; + } + 100% { + opacity: 0; + transform: scale(40, 40); + } +} + +.discord-btn:focus:not(:active)::after { + animation: ripple 1s ease-out; +} + +.discord-icon { + width: 20px; + height: 20px; + margin-right: 8px; + fill: currentColor; + flex-shrink: 0; +} + +@media (max-width: 400px) { + .discord-btn { + font-size: 14px; + padding: 10px 16px; + } + + .discord-icon { + width: 18px; + height: 18px; + margin-right: 6px; + } +} +.theme-toggle { + position: fixed; + bottom: 20px; + right: 20px; + width: 50px; + height: 50px; + border-radius: 50%; + background-color: #333; + color: white; + font-size: 24px; + border: none; + cursor: pointer; + transition: background-color 0.3s ease; +} + +.theme-toggle.light-mode { + background-color: #f1f1f1; + color: #333; +} + +.theme-toggle:hover { + box-shadow: 0 0 10px rgba(0, 0, 0, 0.2); +} diff --git a/css/main.css b/css/main.css new file mode 100644 index 0000000..7032f47 --- /dev/null +++ b/css/main.css @@ -0,0 +1,543 @@ +/* Kártyák reszponzív elrendezése */ +.main-home { + display: flex; + flex-direction: column; + align-items: center; + padding: 20px; +} + +.create-post-card { + background-color: var(--color-white); + border-radius: 15px; + box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); + padding: 20px; + width: 100%; + max-width: 800px; + margin-bottom: 20px; +} +.post-comment{ + padding-left: 60px; +} +.comment p{ + padding: 20px; +} + +.profile-section { + display: flex; + align-items: center; + margin-bottom: 15px; +} + +.profile-info { + margin-left: 10px; /* A kép és a név közötti távolság */ +} + +.profile-name { + font-size: 1.2em; /* Név mérete */ + margin: 0; +} + +.profile-img { + border-radius: 50%; + width: 50px; /* Ugyanakkora, mint a példa bejegyzés */ + height: 50px; /* Ugyanakkora, mint a példa bejegyzés */ +} + +.input-container { + display: flex; + align-items: center; /* Egy sorba állítja az input mezőt és a gombot */ + gap: 10px; /* Távolság az input mező és a küldés gomb között */ + width: 100%; /* Szélesség teljes kitöltése */ +} + +/* Gomb stílus az input-container osztályban */ +.input-container button { + font-family: inherit; + font-size: 16px; /* Csökkentett betűméret */ + background: #4169E1; + color: white; + padding: 0.5em 0.8em; /* Csökkentett padding */ + padding-left: 0.8em; /* Kisebb bal oldali padding */ + display: flex; + align-items: center; + border: none; + border-radius: 12px; /* Kisebb lekerekítés */ + overflow: hidden; + transition: all 0.2s; + cursor: pointer; + } + + /* Span stílus a gombon belül */ + .input-container button span { + display: block; + margin-left: 0.2em; /* Csökkentett margó */ + transition: all 0.3s ease-in-out; + } + + /* SVG stílus a gombon belül */ + .input-container button svg { + display: block; + transform-origin: center center; + transition: transform 0.3s ease-in-out; + } + + /* Hover animáció a SVG wrapper-re a gombon belül */ + .input-container button:hover .svg-wrapper { + animation: fly-1 0.6s ease-in-out infinite alternate; + } + + /* Hover állapot SVG a gombon belül */ + .input-container button:hover svg { + transform: translateX(1em) rotate(45deg) scale(1); /* Csökkentett eltolás és méret */ + } + + /* Hover állapot span a gombon belül */ + .input-container button:hover span { + transform: translateX(4em); /* Csökkentett eltolás */ + } + + /* Aktív állapot a gombon belül */ + .input-container button:active { + transform: scale(0.9); /* Kisebb aktív állapot */ + } + + /* Bounce animáció */ + @keyframes fly-1 { + from { + transform: translateY(0.1em); + } + + to { + transform: translateY(-0.1em); + } + } + + +#postInput { + flex: 1; /* Fill available space */ + border: none; + padding: 10px; + border-radius: 25px; + color: var(--color-black); + background-color: var(--color-bg); + font-size: 1em; + outline: none; + margin-right: 10px; /* Space between input and button */ + resize: vertical; /* Allow vertical resizing */ + max-height: calc(1.2em * 8); /* Limit the height to 8 rows */ + line-height: 1.2em; /* Set line height to match the row size */ + /* Hide scrollbar */ + overflow: hidden; /* Hides the scrollbar but prevents scrolling */ + resize: none; +} + +#postInput:hover { + overflow-y: auto; /* Allows scrolling when hovering, without the scrollbar showing */ +} + +/* Hide scrollbar for WebKit browsers */ +#postInput::-webkit-scrollbar { + display: none; +} + +/* Hide scrollbar for Firefox */ +#postInput { + scrollbar-width: none; /* Firefox */ +} +/* Gomb stílusai */ +button { + font-family: inherit; + font-size: 16px; + background: #4169E1; + color: white; + padding: 0.5em 0.8em; + display: flex; + align-items: center; + border: none; + border-radius: 16px; + overflow: hidden; + transition: all 0.2s; + cursor: pointer; +} + +button:hover { + transform: scale(1.05); + background-color: #3658B4; +} + +button span { + display: block; + margin-left: 0.3em; + transition: all 0.3s ease-in-out; +} + +button svg { + display: block; + transform-origin: center center; + transition: transform 0.3s ease-in-out; +} + +/* Kártyák stílusai */ +.card-container { + display: flex; + flex-direction: column; + gap: 20px; + width: 100%; + max-width: 800px; + margin-bottom: 20px; +} + +.card { + background-color: var(--color-white); + border-radius: 15px; + box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); + padding: 20px; + width: 100%; +} + +.card-header { + display: flex; + align-items: center; + justify-content: space-between; /* Balra a profilkép, jobbra a név és dátum */ + margin-bottom: 10px; +} + +.card-profile-img { + border-radius: 50%; + width: 50px; /* Ugyanakkora, mint az új bejegyzés */ + height: 50px; /* Ugyanakkora, mint az új bejegyzés */ + margin-right: 10px; +} + +.card-user-info { + display: flex; + justify-content: space-between; /* A név és a dátum külön keretben */ + flex: 1; /* Növelje a helyet */ +} + +.card-profile-name { + margin: 0; + font-size: 1.2em; /* Név mérete */ + font-weight: bold; + color: var(--color-black); +} + +.card-date { + color: #888; /* Szürke szín */ + font-size: 0.9em; /* Kisebb méret, fele akkora */ + text-align: right; /* Jobbra igazítva */ +} + +.card p { + margin: 10px 0; /* Hozzáadott margó a bejegyzés szövegéhez */ +} + +.post-actions { + display: flex; + justify-content: flex-end; /* Kommentek gomb jobbra igazítása */ + padding-top: 10px; +} + +/* Reakció gombok */ +.reaction-btn { + background-color: #4169E1; /* Kék háttér a gomboknak */ + border: none; + cursor: pointer; + display: flex; + align-items: center; + padding: 8px; /* Párna a gombokon */ + border-radius: 8px; /* Lekerekített sarkok */ + margin-right: 15px; /* Távolság a gombok között */ + transition: background-color 0.3s; /* Háttér szín animáció */ +} + +.reaction-btn:hover { + background-color: #3658B4; /* Sötétebb kék a hover állapotban */ +} + +.reaction-btn img { + width: 24px; /* Állítsd be a nyilak méretét */ + height: 24px; + transition: transform 0.2s; /* Animációs transzformáció */ +} + +.reaction-btn:hover .arrow-up { + animation: bounce-up 0.5s infinite alternate; /* Felfelé pattogó animáció */ + transform: rotate(270deg); /* Felfelé mutató */ +} + +.reaction-btn:hover .arrow-down { + animation: bounce-down 0.5s infinite alternate; /* Lefelé pattogó animáció */ + transform: rotate(90deg); /* Lefelé mutató */ +} + +/* Bounce animáció */ +@keyframes bounce-up { + 0% { + transform: rotate(270deg) translateX(0); + } + 100% { + transform: rotate(270deg) translateX(5px); + } +} + +@keyframes bounce-down { + 0% { + transform: rotate(90deg) translateX(0); + } + 100% { + transform: rotate(90deg) translateX(5px); + } +} + +.reaction-count { + font-size: 1em; /* Számláló méret */ + color: white; /* Számláló szín */ + margin-left: 5px; /* Távolság a számláló és a nyíl között */ +} + +h2 { + color: var(--color-black); +} + + +/* Komment szekció stílusok */ +.comments-section { + padding: 15px; + background-color: var(--second-bg); + border-top: 1px solid #ccc; + margin-top: 10px; +} + +/* Komment írása rész */ +.write-comment { + display: flex; + align-items: flex-start; + gap: 10px; + margin-bottom: 15px; +} + +.comment-profile-img { + border-radius: 50%; + width: 40px; + height: 40px; +} + +.comment-input { + flex: 1; + padding: 10px; + border-radius: 10px; + border: 1px solid #ccc; + font-family: inherit; + font-size: 1em; + resize: none; + background-color: var(--color-bg); +} + +.submit-comment-btn { + background-color: royalblue; + color: white; + border: none; + padding: 0.5em 1em; + border-radius: 10px; + cursor: pointer; +} + +.submit-comment-btn:hover { + background-color: #3658B4; +} +/* Komment szekció stílusok */ +.comments-section { + padding: 15px; + background-color: var(--second-bg); + border-top: 1px solid var(--linecolor); + margin-top: 10px; + border-radius: 0 0 8px 8px; +} + +/* Komment írása rész */ +.write-comment { + display: flex; + align-items: flex-start; + gap: 10px; + margin-bottom: 15px; +} + +.comment-profile-img { + border-radius: 50%; + width: 40px; + height: 40px; +} + +.comment-input { + flex: 1; + padding: 10px; + border-radius: 10px; + border: 1px solid #cccccc00; + font-family: inherit; + font-size: 0.9em; + resize: none; + overflow-y: scroll; +} + +.comment-input::-webkit-scrollbar { + display: none; +} + +.comment-input { + scrollbar-width: none; +} + +.comment-input { + -ms-overflow-style: none; +} + +.submit-comment-btn { + background-color: royalblue; + color: white; + border: none; + padding: 0.5em 1em; + border-radius: 10px; + cursor: pointer; +} + +.submit-comment-btn:hover { + background-color: #3658B4; +} + +/* Komment lista */ +.comment-list { + display: flex; + flex-direction: column; + gap: 15px; + max-height: 300px; /* Maximális magasság a kommentekhez */ + overflow-y: auto; /* Görgethetővé teszi a kommenteket */ + padding-right: 10px; /* Kis extra hely a görgetősávnak */ +} + +/* Görgetősáv stílus beállítása (opcionális) */ +/* WebKit alapú böngészők (Chrome, Safari) */ +.comment-list::-webkit-scrollbar { + width: 8px; +} + +.comment-list::-webkit-scrollbar-thumb { + background-color: #ccc; /* Görgetősáv szín */ + border-radius: 4px; +} + +.comment-list::-webkit-scrollbar-thumb:hover { + background-color: #ccc; /* Görgetősáv hover állapota */ +} + +/* Firefox görgetősáv */ +.comment-list { + scrollbar-width: thin; + scrollbar-color: #ccc var(--second-bg); +} + +.comment { + display: flex; + gap: 10px; +} + +.comment-content { + color: var(--color-black); + background-color: var(--color-white); + padding: 10px; + border-radius: 10px; + box-shadow: 0 2px 4px rgba(--linecolor); + flex: 1; +} + +.comment-header { + display: flex; + justify-content: space-between; + margin-bottom: 5px; +} + +.comment-name { + font-weight: bold; +} + +.comment-date { + font-size: 0.8em; + color: #888; +} + +/* Komment szöveg kisebb méretben */ +.comment-text { + font-size: 1em; /* Kisebb betűméret a komment szövegének */ + margin-bottom: 5px; +} + +/* Komment reakció gombok */ +.comment-actions { + display: flex; + gap: 0px; + margin-top: 5px; +} + +.reaction-btn { + background-color: #4169E1; + border: none; + cursor: pointer; + display: flex; + align-items: center; + padding: 5px 20px; + transition: background-color 0.3s; +} + +#reaction-btn-right{ + border-radius: 0 8px 8px 0; + margin-left: 0; +} +#reaction-btn-left{ + margin-right: 0; + border-radius: 8px 0 0 8px; +} + +.reaction-btn:hover { + background-color: #3658B4; +} + +.reaction-btn img { + width: 20px; /* Kommentek nyilak kisebb méretűek */ + height: 20px; + transition: transform 0.2s; +} + +.reaction-btn:hover .arrow-up { + animation: bounce-up 0.5s infinite alternate; + transform: rotate(270deg); +} + +.reaction-btn:hover .arrow-down { + animation: bounce-down 0.5s infinite alternate; + transform: rotate(90deg); +} + +.reaction-count { + font-size: 0.9em; /* Számláló mérete kisebb a kommenteknél */ + color: white; + margin-left: 5px; +} + +/* Bounce animáció a komment reakciókhoz is */ +@keyframes bounce-up { + 0% { + transform: rotate(270deg) translateX(0); + } + 100% { + transform: rotate(270deg) translateX(5px); + } +} + +@keyframes bounce-down { + 0% { + transform: rotate(90deg) translateX(0); + } + 100% { + transform: rotate(90deg) translateX(5px); + } +} \ No newline at end of file diff --git a/css/messages.css b/css/messages.css new file mode 100644 index 0000000..8ff6939 --- /dev/null +++ b/css/messages.css @@ -0,0 +1,133 @@ +/* messages.css */ + +.messages-container { + max-width: 800px; + margin: 20px auto; + background-color: var(--color-white); + border-radius: 15px; + box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); + overflow: hidden; +} + +.messages-header { + background-color: var(--second-bg); + padding: 15px; + border-bottom: 1px solid var(--linecolor); +} + +.messages-header h2 { + margin: 0; + color: var(--color-black); +} + +.conversations-list { + display: flex; + flex-direction: column; +} + +.conversation-item { + display: flex; + align-items: center; + padding: 15px; + border-bottom: 1px solid var(--linecolor); + text-decoration: none; + color: var(--color-black); + transition: background-color 0.3s; +} + +.conversation-item:hover { + background-color: var(--second-bg); +} + +.conversation-profile-img { + width: 50px; + height: 50px; + border-radius: 50%; + margin-right: 15px; +} + +.conversation-details { + flex: 1; +} + +.conversation-name { + font-weight: bold; + margin-bottom: 5px; +} + +.conversation-last-message { + font-size: 0.9em; + color: #888; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + max-width: 300px; +} + +.conversation-time { + font-size: 0.8em; + color: #888; + white-space: nowrap; +} + +.lock-container { + display: flex; /* Flexbox elrendezés */ + align-items: center; /* Vertikális középre igazítás */ + justify-content: center; /* Horizontális középre igazítás */ + margin: 15px 0; /* Margó a zár gomb körül */ +} + +.lock-label { + width: 45px; + height: 45px; + display: flex; + align-items: center; + justify-content: center; + background-color: rgb(80, 80, 80); + border-radius: 15px; + cursor: pointer; + transition: all 0.3s; +} + +.lock-wrapper { + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + transform: rotate(-10deg); +} + +.shackle { + background-color: transparent; + height: 9px; + width: 14px; + border-top-right-radius: 10px; + border-top-left-radius: 10px; + border-top: 3px solid white; + border-left: 3px solid white; + border-right: 3px solid white; + transition: all 0.3s; +} + +.lock-body { + width: 15px; +} + +#lock { + display: none; +} + +#lock:checked + .lock-label .lock-wrapper .shackle { + transform: rotateY(150deg) translateX(3px); + transform-origin: right; +} + +#lock:checked + .lock-label { + background-color: rgb(167, 71, 245); +} + +.lock-label:active { + transform: scale(0.9); +} + + diff --git a/css/navbar.css b/css/navbar.css index c65a036..02a40c1 100644 --- a/css/navbar.css +++ b/css/navbar.css @@ -5,7 +5,7 @@ padding: 0; box-sizing: border-box; font-family: "Poppins", sans-serif; - --color-hover: rgba(32, 59, 232); + --color-hover: #4169E1; --transition: all 0.2s ease; } @@ -13,12 +13,16 @@ --color-white: #fff; --color-black: #000; --color-bg: #e2e2e2; + --second-bg: #f3f2f2; + --linecolor: #625fff; } .dark-mode { --color-white: #000; --color-black: #fff; --color-bg: #1d1b31; + --second-bg: #111111; + --linecolor: #080735; } body { diff --git a/css/profile.css b/css/profile.css index 5bc26a4..4b11551 100644 --- a/css/profile.css +++ b/css/profile.css @@ -80,12 +80,14 @@ body { .name { font-size: 1.5rem; font-weight: 600; - color: var(--text-color); /* Név szín */ + color: var(--color-black); /* Név szín */ } .description { font-size: 1rem; - color: var(--text-color); /* Leírás szín */ + color: var(--color-black); /* Leírás szín */ margin-top: 10px; } - \ No newline at end of file + p{ + color: var(--color-black); + } \ No newline at end of file diff --git a/css/settings.css b/css/settings.css index f23420c..a539d5b 100644 --- a/css/settings.css +++ b/css/settings.css @@ -1,295 +1,362 @@ -/* Konténer, ami összefogja a beállításokat */ +/* Általános beállítások */ +:root { + --color-white: #ffffff; + --color-black: #333333; + --color-bg: #f5f5f5; + --color-primary: #007bff; + --color-primary-hover: #0056b3; + --color-danger: #dc3545; + --color-danger-hover: #bd2130; + --transition: all 0.3s ease; + --border-radius: 12px; + --box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15); +} + +body { + font-family: Arial, sans-serif; + background-color: var(--color-bg); + color: var(--color-black); + line-height: 1.6; +} + +/* Konténer beállítások */ .settings-container { - display: flex; - flex-wrap: wrap; - justify-content: space-between; - padding: 10px; /* Belépő margó hozzáadása */ + max-width: 800px; + margin: 0 auto; + padding: 20px; } -/* Kártyák stílusa */ +/* Kártya stílusok */ .settings-card { - flex: 1; - min-width: 300px; - max-width: 48%; - margin: 10px; - padding: 20px; - background-color: var(--color-white); - border-radius: 12px; - box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1); - transition: var(--transition); - display: flex; - flex-direction: column; - align-items: center; /* Kártyán belül középre igazítás */ - text-align: center; /* Szövegek középre igazítása */ -} - -/* Telefonos nézet */ -@media (max-width: 768px) { - .settings-card { - max-width: 100%; - margin: 10px 0; - } + background-color: var(--color-white); + border-radius: var(--border-radius); + box-shadow: var(--box-shadow); + margin-bottom: 30px; + padding: 20px; + width: 100%; } .settings-card h2 { - margin-bottom: 20px; - color: var(--color-black); - font-size: 1.5em; /* Nagyobb betűméret a címekhez */ + background-color: var(--second-bg); + padding: 15px; + margin: -20px -20px 20px -20px; + border-top-left-radius: var(--border-radius); + border-top-right-radius: var(--border-radius); + font-size: 1.5em; + color: var(--color-black); } +/* Zene beállítások kártya */ +.music-settings { + max-width: 600px; + margin-left: auto; + margin-right: auto; +} + +.music-settings #video-container { + margin-bottom: 15px; +} + +.music-settings #youtubePlayer { + max-height: 200px; +} + +/* Címke és beviteli mezők */ .mini-label { - color: var(--color-black); - display: block; - margin-bottom: 5px; - text-align: left; /* Balra igazítás a címkékhez */ + display: block; + margin-bottom: 5px; + color: var(--color-black); + font-weight: bold; } -.settings-card input[type="text"], -.settings-card textarea { - width: 100%; - color: black; - margin-bottom: 15px; - padding: 10px; - border: 1px solid #ddd; - border-radius: 5px; - box-sizing: border-box; /* Box-sizing hozzáadása, hogy a padding ne befolyásolja a méretet */ +input[type="text"], +textarea { + width: 100%; + padding: 10px; + margin-bottom: 15px; + border: 1px solid #ddd; + border-radius: 5px; + background-color: var(--color-bg); + color: var(--color-black); } -.settings-card textarea { - height: 150px; /* Fix magasság a szöveges beviteli mezőhöz */ - resize: vertical; /* Csak függőlegesen méretezhető */ -} - -#video-container { - display: flex; - justify-content: center; - margin-bottom: 15px; -} - -.loop-switch { - display: flex; - align-items: center; - justify-content: center; - margin-bottom: 15px; -} - -.loop-switch input[type="checkbox"] { - margin-right: 10px; - width: 30px; - height: 16px; - appearance: none; - background-color: #ddd; - border-radius: 20px; - position: relative; - cursor: pointer; - outline: none; -} - -.loop-switch input[type="checkbox"]:checked { - background-color: #4CAF50; -} - -.loop-switch input[type="checkbox"]::before { - content: ''; - position: absolute; - top: 2px; - left: 2px; - width: 12px; - height: 12px; - border-radius: 50%; - background: #fff; - transition: 0.3s; -} - -.loop-switch input[type="checkbox"]:checked::before { - transform: translateX(14px); +textarea { + height: 150px; + resize: vertical; } +/* Kapcsoló és gomb konténer */ +.loop-switch, .button-container { - display: flex; - justify-content: center; - gap: 10px; /* A gombok közötti távolság */ - margin-top: 15px; - flex-wrap: wrap; /* Törés kisebb képernyőn */ + display: flex; + align-items: center; + justify-content: center; + margin-bottom: 15px; } +/* Gomb stílusok */ .settings-button { - padding: 10px 20px; - border: none; - border-radius: 10px; - color: white; - cursor: pointer; - transition: background-color 0.3s, box-shadow 0.3s, transform 0.3s; - box-shadow: 0 5px 10px rgba(0, 0, 0, 0.1); /* Alapárnyék */ - width: auto; /* Automatikus szélesség a tartalom alapján */ - max-width: 200px; /* Maximális szélesség */ - flex: 1; /* Fele-fele arányban oszlik meg a gomb szélessége */ + padding: 10px 20px; + border: none; + border-radius: 5px; + color: var(--color-white); + cursor: pointer; + transition: var(--transition); + margin: 0 5px; } -.settings-button:hover { - box-shadow: 0 12px 24px rgba(0, 0, 0, 0.2); /* Hover esetén erősebb árnyék */ - transform: translateY(-4px); /* Enyhe felemelkedés */ +#save-music, +#save-profile { + background-color: var(--color-primary); } -.settings-button:active { - transform: translateY(0); /* Vissza az eredeti helyzetbe */ - box-shadow: 0 5px 10px rgba(0, 0, 0, 0.1); /* Alapállapot */ -} - -#save-music, .settings-button { - background-color: #007bff; +#save-music:hover, +#save-profile:hover { + background-color: var(--color-primary-hover); } #reset-music { - background-color: red; -} - -#save-music, .settings-button:hover { - background-color: #0056b3; + background-color: var(--color-danger); } #reset-music:hover { - background-color: rgb(171, 0, 0); + background-color: var(--color-danger-hover); } -/* Reszponzív beállítások kisebb képernyőkre */ -@media (max-width: 768px) { - .settings-button { - max-width: 100%; /* Mobilnézetben a gombok teljes szélességet elfoglalnak */ - } -} - -/* Felnőtt tartalmak szűrése kapcsoló stílusai */ +/* Rocker switch (NSFW gomb) stílusok */ .rocker { - display: inline-block; - position: relative; - font-size: 2em; - font-weight: bold; - text-align: center; - text-transform: uppercase; - color: #888; - width: 7em; - height: 4em; - overflow: hidden; - border-bottom: 0.5em solid #eee; + display: inline-block; + position: relative; + font-size: 2em; + font-weight: bold; + text-align: center; + text-transform: uppercase; + color: #888; + width: 7em; + height: 4em; + overflow: hidden; + border-bottom: 0.5em solid #eee; +} + +.rocker-small { + font-size: 0.75em; + /* Sizes the switch */ + margin: 1em; +} + +.rocker::before { + content: ""; + position: absolute; + top: 0.5em; + left: 0; + right: 0; + bottom: 0; + background-color: #999; + border: 0.5em solid #eee; + border-bottom: 0; +} + +.rocker input { + opacity: 0; + width: 0; + height: 0; +} + +.switch-left, +.switch-right { + cursor: pointer; + position: absolute; + display: flex; + align-items: center; + justify-content: center; + height: 2.5em; + width: 3em; + transition: 0.2s; + user-select: none; +} + +.switch-left { + height: 2.4em; + width: 2.75em; + left: 0.85em; + bottom: 0.4em; + background-color: #ddd; + transform: rotate(15deg) skewX(15deg); +} + +.switch-right { + right: 0.5em; + bottom: 0; + background-color: #bd5757; + color: #fff; +} + +.switch-left::before, +.switch-right::before { + content: ""; + position: absolute; + width: 0.4em; + height: 2.45em; + bottom: -0.45em; + background-color: #ccc; + transform: skewY(-65deg); +} + +.switch-left::before { + left: -0.4em; +} + +.switch-right::before { + right: -0.375em; + background-color: transparent; + transform: skewY(65deg); +} + +input:checked + .switch-left { + background-color: #0084d0; + color: #fff; + bottom: 0px; + left: 0.5em; + height: 2.5em; + width: 3em; + transform: rotate(0deg) skewX(0deg); +} + +input:checked + .switch-left::before { + background-color: transparent; + width: 3.0833em; +} + +input:checked + .switch-left + .switch-right { + background-color: #ddd; + color: #888; + bottom: 0.4em; + right: 0.8em; + height: 2.4em; + width: 2.75em; + transform: rotate(-15deg) skewX(-15deg); +} + +input:checked + .switch-left + .switch-right::before { + background-color: #ccc; +} +.settings-card { + padding: 15px; /* A kártya párnázása */ +} + +.settings-card h2 { + font-size: 1.3em; /* Cím mérete */ + padding: 12px; /* Cím körüli párnázás */ + margin: 0; /* Margó eltávolítása a cím körül */ + text-align: left; /* Balra igazítás */ +} + +.content-filter-container { + display: flex; /* Flexbox elrendezés */ + flex-direction: column; /* Függőleges irány */ + align-items: center; /* Elemei középre igazítása */ +} + +.content-filter-container .mini-label { + margin-bottom: 10px; /* Térköz a címke és a kapcsoló között */ + align-self: flex-start; /* Balra igazítás a labelnek */ +} + +/* Középre helyezés a kapcsoló konténerhez */ +.switch-container { + display: flex; + justify-content: center; /* Középre igazítás */ + width: 100%; /* 100% szélesség */ +} + +/* Keyboard Users */ +input:focus + .switch-left { + color: #333; +} + +input:checked:focus + .switch-left { + color: #fff; +} + +input:focus + .switch-left + .switch-right { + color: #fff; +} + +input:checked:focus + .switch-left + .switch-right { + color: #333; +} + +/* Reszponzív beállítások */ +@media (max-width: 768px) { + .settings-container { + padding: 10px; /* Kép beállítások */ } - .rocker-small { - font-size: 0.75em; - /* Sizes the switch */ - margin: 1em; + .settings-card { + padding: 15px; /* Kártya párnázása */ } - - .rocker::before { - content: ""; - position: absolute; - top: 0.5em; - left: 0; - right: 0; - bottom: 0; - background-color: #999; - border: 0.5em solid #eee; - border-bottom: 0; + + .music-settings { + max-width: 100%; /* Zene beállítások reszponzív */ } - - .rocker input { - opacity: 0; - width: 0; - height: 0; - } - - .switch-left, - .switch-right { - cursor: pointer; - position: absolute; - display: flex; - align-items: center; - justify-content: center; - height: 2.5em; - width: 3em; - transition: 0.2s; - user-select: none; - } - - .switch-left { - height: 2.4em; - width: 2.75em; - left: 0.85em; - bottom: 0.4em; - background-color: #ddd; - transform: rotate(15deg) skewX(15deg); - } - - .switch-right { - right: 0.5em; - bottom: 0; - background-color: #bd5757; - color: #fff; - } - - .switch-left::before, - .switch-right::before { - content: ""; - position: absolute; - width: 0.4em; - height: 2.45em; - bottom: -0.45em; - background-color: #ccc; - transform: skewY(-65deg); - } - - .switch-left::before { - left: -0.4em; - } - - .switch-right::before { - right: -0.375em; - background-color: transparent; - transform: skewY(65deg); - } - - input:checked + .switch-left { - background-color: #0084d0; - color: #fff; - bottom: 0px; - left: 0.5em; - height: 2.5em; - width: 3em; - transform: rotate(0deg) skewX(0deg); - } - - input:checked + .switch-left::before { - background-color: transparent; - width: 3.0833em; - } - - input:checked + .switch-left + .switch-right { - background-color: #ddd; - color: #888; - bottom: 0.4em; - right: 0.8em; - height: 2.4em; - width: 2.75em; - transform: rotate(-15deg) skewX(-15deg); - } - - input:checked + .switch-left + .switch-right::before { - background-color: #ccc; - } - - /* Keyboard Users */ - input:focus + .switch-left { - color: #333; - } - - input:checked:focus + .switch-left { - color: #fff; - } - - input:focus + .switch-left + .switch-right { - color: #fff; - } - - input:checked:focus + .switch-left + .switch-right { - color: #333; - } \ No newline at end of file +} +/* CSS részletek, beleértve a lock-container stílusokat */ +.lock-container { + display: flex; /* Flexbox elrendezés */ + align-items: center; /* Vertikális középre igazítás */ + justify-content: center; /* Horizontális középre igazítás */ + margin: 15px 0; /* Margó a zár gomb körül */ +} + +.lock-label { + width: 45px; + height: 45px; + display: flex; + align-items: center; + justify-content: center; + background-color: rgb(80, 80, 80); + border-radius: 15px; + cursor: pointer; + transition: all 0.3s; +} + +.lock-wrapper { + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + transform: rotate(-10deg); +} + +.shackle { + background-color: transparent; + height: 9px; + width: 14px; + border-top-right-radius: 10px; + border-top-left-radius: 10px; + border-top: 3px solid white; + border-left: 3px solid white; + border-right: 3px solid white; + transition: all 0.3s; +} + +.lock-body { + width: 15px; +} + +#lock { + display: none; +} + +#lock:checked + .lock-label .lock-wrapper .shackle { + transform: rotateY(150deg) translateX(3px); + transform-origin: right; +} + +#lock:checked + .lock-label { + background-color: rgb(167, 71, 245); +} + +.lock-label:active { + transform: scale(0.9); +} diff --git a/js/login.js b/js/login.js new file mode 100644 index 0000000..2463ae1 --- /dev/null +++ b/js/login.js @@ -0,0 +1,28 @@ +document.addEventListener('DOMContentLoaded', () => { + const themeToggleBtn = document.getElementById('theme-toggle-btn'); + const body = document.body; + + // Ellenőrizzük, hogy van-e tárolt beállítás a localStorage-ban + const savedTheme = localStorage.getItem('theme'); + + // Alkalmazzuk a tárolt beállítást, ha van + if (savedTheme) { + body.classList.add(savedTheme === 'dark' ? 'dark-mode' : 'light-mode'); + themeToggleBtn.textContent = savedTheme === 'dark' ? '☀️' : '🌙'; + } + + // Funkció a téma váltásához + themeToggleBtn.addEventListener('click', () => { + if (body.classList.contains('dark-mode')) { + body.classList.remove('dark-mode'); + body.classList.add('light-mode'); + themeToggleBtn.textContent = '🌙'; + localStorage.setItem('theme', 'light'); // Mentés a localStorage-ba + } else { + body.classList.remove('light-mode'); + body.classList.add('dark-mode'); + themeToggleBtn.textContent = '☀️'; + localStorage.setItem('theme', 'dark'); // Mentés a localStorage-ba + } + }); +}); diff --git a/js/main.js b/js/main.js new file mode 100644 index 0000000..90ad225 --- /dev/null +++ b/js/main.js @@ -0,0 +1,4 @@ +function toggleLike(button) { + button.classList.toggle('active'); +} + diff --git a/js/post.js b/js/post.js new file mode 100644 index 0000000..cb05530 --- /dev/null +++ b/js/post.js @@ -0,0 +1,11 @@ +const textarea = document.getElementById('postInput'); + +textarea.addEventListener('input', function () { + textarea.style.height = 'auto'; // Reset az eredeti magasságra + textarea.style.height = textarea.scrollHeight + 'px'; // Dinamikusan növeli a szövegdoboz méretét +}); + +function toggleComments(button) { + const commentsSection = button.closest('.card').querySelector('.comments-section'); + commentsSection.style.display = commentsSection.style.display === 'none' ? 'block' : 'none'; +} diff --git a/pages/chat-not-included-yet.html b/pages/chat-not-included-yet.html new file mode 100644 index 0000000..74185bb --- /dev/null +++ b/pages/chat-not-included-yet.html @@ -0,0 +1,164 @@ + + + + + + + ConnectHub - Üzenetek + + + + + + + +
+
+

Üzenetek

+
+
+
+ Profile +
+
John Doe
+

Szia! Hogy vagy ma?

+
10:30
+
+
+
+
+

Szia John! Köszönöm, jól vagyok. Te hogy vagy?

+
10:32
+
+
+
+ Profile +
+
John Doe
+

Én is jól, köszi! Van valami terved mára?

+
10:35
+
+
+
+
+ + +
+
+ + + + \ No newline at end of file diff --git a/pages/friends.html b/pages/friends.html index 54b6e4b..8b6fe06 100644 --- a/pages/friends.html +++ b/pages/friends.html @@ -2,251 +2,79 @@ - - - Styled Radio Buttons and Search Input - - - - + + + Styled Radio Buttons and Search Input + + + - + - -
- -
-
- - - - - - -
- -
- - -
-
-
-
-
-
-

DisplayName

-

@userIDname

+ +
+ +
+
+ + + + + +
-
-

Posztok - 69 -

-

Barátok - 420 -

-
-
+
-
- -
- - -
-
-
-
-
-

DisplayName

-

@userIDname

-
-
-

Posztok - 69 -

-

Barátok - 420 -

-
-
-
-
- -
-
-
-
-
-
-

DisplayName

-

@userIDname

-
-
-

Posztok - 69 -

-

Barátok - 420 -

-
-
-
-
- -
-
-
-
-
-
-

DisplayName

-

@userIDname

-
-
-

Posztok - 69 -

-

Barátok - 420 -

-
-
-
-
- -
-
-
-
-
-
-

DisplayName

-

@userIDname

-
-
-

Posztok - 69 -

-

Barátok - 420 -

-
-
-
-
- -
-
-
-
-
-
-

DisplayName

-

@userIDname

-
-
-

Posztok - 69 -

-

Barátok - 420 -

-
-
-
-
- -
-
-
-
-
-
-

DisplayName

-

@userIDname

-
-
-

Posztok - 69 -

-

Barátok - 420 -

-
-
-
-
- -
-
-
-
-
-
-

DisplayName

-

@userIDname

-
-
-

Posztok - 69 -

-

Barátok - 420 -

-
-
-
-
- -
-
-
-
-
-
-

DisplayName

-

@userIDname

-
-
-

Posztok - 69 -

-

Barátok - 420 -

-
-
-
-
- -
- -
-
- - + +
+
+
+
+
+
+

DisplayName

+

@userIDname

+
+
+

Posztok + 69 +

+

Barátok + 420 +

+
+
+
+
+ +
+
+
+ + + diff --git a/pages/groups.html b/pages/groups.html new file mode 100644 index 0000000..839c245 --- /dev/null +++ b/pages/groups.html @@ -0,0 +1,73 @@ + + + + + + + Styled Radio Buttons and Search Input + + + + + + + + + + +
+ +
+
+ + + + +
+ +
+ + +
+
+
+
+
+
+

DisplayName

+

@userIDname

+
+
+

Posztok + 69 +

+

Tagok + 420 +

+
+
+
+
+ +
+
+
+ + + + + + diff --git a/pages/login.html b/pages/login.html new file mode 100644 index 0000000..13fef6c --- /dev/null +++ b/pages/login.html @@ -0,0 +1,30 @@ + + + + + + ConnectHub + + + + +
+ +
+ + + + + \ No newline at end of file diff --git a/pages/main.html b/pages/main.html new file mode 100644 index 0000000..b2af91c --- /dev/null +++ b/pages/main.html @@ -0,0 +1,149 @@ + + + + + + + ConnectHub + + + + + + +
+ +
+
+
+ Profile +
+

User

+
+
+
+ + +
+
+
+ +
+
+
+ Profile + +
+

Ez egy példa szöveg a kártyán belül.

+ + +
+ + + +
+ + + + +
+
+
+ + + + + + diff --git a/pages/messages.html b/pages/messages.html new file mode 100644 index 0000000..48f079d --- /dev/null +++ b/pages/messages.html @@ -0,0 +1,65 @@ + + + + + + + ConnectHub - Üzenetek + + + + + + + + + + + + \ No newline at end of file diff --git a/pages/profile.html b/pages/profile.html index 7544ce8..5205463 100644 --- a/pages/profile.html +++ b/pages/profile.html @@ -2,148 +2,124 @@ - - - Saját Profil - - - - + + + ConnectHub + + + + - + -
-
-
-
- Profilkép -
-
-
-

Felhasználó Neve

-

Itt található a felhasználó rövid leírása, amely bemutatja a profil tulajdonosát.

-
-
-
- -
-
- Profile - -
-
- - -
-
-
- - -
-
-
- Profile - -
-

Ez egy példa szöveg a kártyán belül.

-
- - -
-
- -
-
-
- Profile - -
-

Ez egy példa szöveg a kártyán belül.

-
- - -
-
+ +
+
+
+ Profile +
+

User

+
+
+
+ + +
+
+
+ +
+
+
+ Profile + +
+

Ez egy példa szöveg a kártyán belül.

+ + +
+ + + +
+ + + +
+ + + + diff --git a/pages/settings.html b/pages/settings.html index 67209ac..980c9a4 100644 --- a/pages/settings.html +++ b/pages/settings.html @@ -4,7 +4,7 @@ - Papp Áron + ConnectHub @@ -14,7 +14,60 @@
- + + +
+

Profil Beállítások

+ + +
+ +
+
+ + +
+

Általános Beállítások

+
+ +
+ +
+
+
+ + +
+

Biztonság

+

Privát profil bekapcsolása:

+
+ + +
+

Zene Beállítások

@@ -33,27 +86,6 @@
- - -
-

Profil Beállítások

- - -
- -
-
- - -
-

Beállítások

- - -
diff --git a/src/arrow.png b/src/arrow.png new file mode 100644 index 0000000000000000000000000000000000000000..13574cae7adeab81e47141358bd00005cc831da9 GIT binary patch literal 69165 zcmeFZi8s`5_&-ddA}QGtDtidocde4O2$Ow_WZ!p_B*_+vEJJ;SkF1ldW0x%%F&JVD zhGgHjY|k})zQ5md&hsZc=Ub=a9LF?szwi6LuGe;nyr*-Ao|c`Kf`WqnuKF!K3JR(a z^1tIW@EwiILrn1HqK&$qHU&ih9|gtJFbayDL-;yFLE$YnDE+ckeaPSRal3B+f8L8C=l7+f@PAU= zy>-V$q<~xhKRA2W>9(F!==^9(!6&?(=y4o}3 zGZsc88G>8Sm5P(<>g_QBW1qxchZkminw`HC!6xw{eOg}9KUZpE4)cjEgxLmt(&0dT=-li^8Q)@Ek-3ElQOL}bn4Ignmx|li+}}>hKyefK z2)xKZ^Y;wzD4MQuu=Tl;jJ?NBw;xGsxa`)3N51rbYHrDdIGWJlM+(4E^`r3p@~^4B zHJowVr9Vibv}AkdVCqTt)Iv2=*qUgUh~D(dJV=B;VK})t+kTgi%e=0q=gpA;oqkWqllT=^u7{R;50DWots+A?H~`gYQx*X zwJp~VD|a&mMD7tO4|EZ$Q#%@X1CH%_%Z^`RMfppM)d61(6AnGc>RT$}5gU|;CYH=} zqfe?A>+&6oUKG~t;TsN*4r?!)s3<0*dDm}sW0y9$e2?!rTb{V0_p;`EX5BO5cctZe zssm0Z$6TyHkVU$r0M)gVf$xK9Tom?vk3FpqHE0qze;6}Y{pX-4f3elOpRT~tVD*pd zcFFww8hWu9L(ejC!SkzVKc#G>1 zi%86pa!g^nl4_+A7enYZip=hawyf!t^Zj$)Ps-RC7#RBIx>sHwqf0uVNm}2xN4y@5 ze0n+3U@A@Y{k4lviA#9zDQm3v#(LkEc8O=GGet)ZPn4H!J06>e8r+=7SwN~}#=+0w z^LavCHrCg_HaAn185hpvQXg28QZa4Vz5cq1Hse-o+$`4?%0DQ`X=^^6;^1aM&ktf_ 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 ak8ALMe}P-3-W$AtvUT&eP1ze*;r{{8t!H=u literal 0 HcmV?d00001 diff --git a/src/logo.png b/src/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..7e7cc4fccaddf80df6fd7e37c4126a55fe76f7d7 GIT binary patch literal 12931 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