diff --git a/bin/main/de/oaa/xxx/config/RateLimitFilter.class b/bin/main/de/oaa/xxx/config/RateLimitFilter.class index 3df2c8a..cb2cbc6 100644 Binary files a/bin/main/de/oaa/xxx/config/RateLimitFilter.class and b/bin/main/de/oaa/xxx/config/RateLimitFilter.class differ diff --git a/bin/main/de/oaa/xxx/config/SecurityConfig.class b/bin/main/de/oaa/xxx/config/SecurityConfig.class index 7e1ab23..740f6aa 100644 Binary files a/bin/main/de/oaa/xxx/config/SecurityConfig.class and b/bin/main/de/oaa/xxx/config/SecurityConfig.class differ diff --git a/bin/main/de/oaa/xxx/location/repository/LocationEventRepository.class b/bin/main/de/oaa/xxx/location/repository/LocationEventRepository.class index ee750ee..8b50307 100644 Binary files a/bin/main/de/oaa/xxx/location/repository/LocationEventRepository.class and b/bin/main/de/oaa/xxx/location/repository/LocationEventRepository.class differ diff --git a/bin/main/de/oaa/xxx/location/repository/LocationRepository.class b/bin/main/de/oaa/xxx/location/repository/LocationRepository.class index a320d1a..9962b51 100644 Binary files a/bin/main/de/oaa/xxx/location/repository/LocationRepository.class and b/bin/main/de/oaa/xxx/location/repository/LocationRepository.class differ diff --git a/bin/main/de/oaa/xxx/search/SearchController$EventResult.class b/bin/main/de/oaa/xxx/search/SearchController$EventResult.class new file mode 100644 index 0000000..63f716d Binary files /dev/null and b/bin/main/de/oaa/xxx/search/SearchController$EventResult.class differ diff --git a/bin/main/de/oaa/xxx/search/SearchController$LocationResult.class b/bin/main/de/oaa/xxx/search/SearchController$LocationResult.class new file mode 100644 index 0000000..4b6b71d Binary files /dev/null and b/bin/main/de/oaa/xxx/search/SearchController$LocationResult.class differ diff --git a/bin/main/de/oaa/xxx/search/SearchController$SearchResult.class b/bin/main/de/oaa/xxx/search/SearchController$SearchResult.class new file mode 100644 index 0000000..062ca33 Binary files /dev/null and b/bin/main/de/oaa/xxx/search/SearchController$SearchResult.class differ diff --git a/bin/main/de/oaa/xxx/search/SearchController$UserResult.class b/bin/main/de/oaa/xxx/search/SearchController$UserResult.class new file mode 100644 index 0000000..e99db6a Binary files /dev/null and b/bin/main/de/oaa/xxx/search/SearchController$UserResult.class differ diff --git a/bin/main/de/oaa/xxx/search/SearchController.class b/bin/main/de/oaa/xxx/search/SearchController.class new file mode 100644 index 0000000..dcf25a9 Binary files /dev/null and b/bin/main/de/oaa/xxx/search/SearchController.class differ diff --git a/bin/main/de/oaa/xxx/user/UserRepository.class b/bin/main/de/oaa/xxx/user/UserRepository.class index b6adc79..82fe4ff 100644 Binary files a/bin/main/de/oaa/xxx/user/UserRepository.class and b/bin/main/de/oaa/xxx/user/UserRepository.class differ diff --git a/bin/main/static/admin/admin.html b/bin/main/static/admin/admin.html index 2f275f1..e676490 100644 --- a/bin/main/static/admin/admin.html +++ b/bin/main/static/admin/admin.html @@ -740,7 +740,7 @@ - + - + diff --git a/bin/main/static/community/benachrichtigungen.html b/bin/main/static/community/benachrichtigungen.html index 7dcdd70..e927c94 100644 --- a/bin/main/static/community/benachrichtigungen.html +++ b/bin/main/static/community/benachrichtigungen.html @@ -130,7 +130,7 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + diff --git a/bin/main/static/games/bdsm/neubdsm.html b/bin/main/static/games/bdsm/neubdsm.html index c30fed5..1ebb504 100644 --- a/bin/main/static/games/bdsm/neubdsm.html +++ b/bin/main/static/games/bdsm/neubdsm.html @@ -253,7 +253,7 @@ - + - + - + - + - + - + - + diff --git a/bin/main/static/games/chastity/joinlock.html b/bin/main/static/games/chastity/joinlock.html index 85a600b..00d2f8e 100644 --- a/bin/main/static/games/chastity/joinlock.html +++ b/bin/main/static/games/chastity/joinlock.html @@ -164,7 +164,7 @@ - + - + - + - + - + - + - + diff --git a/bin/main/static/games/common/einladungen.html b/bin/main/static/games/common/einladungen.html index 52b7707..c55905d 100644 --- a/bin/main/static/games/common/einladungen.html +++ b/bin/main/static/games/common/einladungen.html @@ -349,7 +349,7 @@ - + - + - + diff --git a/bin/main/static/games/vanilla/neuvanilla.html b/bin/main/static/games/vanilla/neuvanilla.html index d37a768..027f413 100644 --- a/bin/main/static/games/vanilla/neuvanilla.html +++ b/bin/main/static/games/vanilla/neuvanilla.html @@ -235,7 +235,7 @@ - + - + diff --git a/bin/main/static/games/vanilla/vanillaingame.html b/bin/main/static/games/vanilla/vanillaingame.html index 77aa53a..47ebcf5 100644 --- a/bin/main/static/games/vanilla/vanillaingame.html +++ b/bin/main/static/games/vanilla/vanillaingame.html @@ -330,7 +330,7 @@ - + - + diff --git a/bin/main/static/help/kontakt.html b/bin/main/static/help/kontakt.html index 30a48b6..88cd7a2 100644 --- a/bin/main/static/help/kontakt.html +++ b/bin/main/static/help/kontakt.html @@ -188,7 +188,7 @@ - + - + diff --git a/bin/main/static/help/template.html b/bin/main/static/help/template.html index fa9f0b8..9a46b88 100644 --- a/bin/main/static/help/template.html +++ b/bin/main/static/help/template.html @@ -324,7 +324,7 @@ - + - + - + - + + + + + diff --git a/bin/main/static/userhome.html b/bin/main/static/userhome.html index fe81f6a..fa94bba 100644 --- a/bin/main/static/userhome.html +++ b/bin/main/static/userhome.html @@ -38,13 +38,13 @@ } /* ── Aktivitäts-Grid (Besucher / Likes / Matches) ── */ .activity-grid { - display: grid; - grid-template-columns: repeat(3, 1fr); + display: flex; + flex-wrap: wrap; gap: 1rem; margin-bottom: 0.5rem; } @media (max-width: 680px) { - .activity-grid { grid-template-columns: 1fr; } + .activity-grid { flex-direction: column; } } .activity-col { background: var(--color-card); @@ -66,11 +66,11 @@ } .activity-col-link:hover { text-decoration: underline; } .activity-row { - display: flex; gap: 0.5rem; + display: grid; grid-template-columns: repeat(4, 1fr); gap: 0.5rem; } /* Avatar-Karte */ .soc-card { - flex: 1; display: flex; flex-direction: column; align-items: center; gap: 0.3rem; + display: flex; flex-direction: column; align-items: center; gap: 0.3rem; text-decoration: none; color: var(--color-text); cursor: pointer; min-width: 0; } .soc-card:hover .soc-avatar { border-color: var(--color-primary); } @@ -226,6 +226,23 @@ .umfrage-bar-content { position:relative; display:flex; justify-content:space-between; padding:0.45rem 0.75rem; font-size:0.88rem; } .umfrage-total { font-size:0.78rem; color:var(--color-muted); margin-top:0.3rem; } + /* ── Post Lightbox ── */ + .lightbox { display:none; position:fixed; inset:0; background:rgba(0,0,0,0.88); z-index:300; align-items:center; justify-content:center; } + .lightbox.open { display:flex; } + .lb-layout { display:flex; max-width:min(1340px, calc(100vw - 2rem)); width:95vw; height:min(90vh, 1100px); background:var(--color-card); border-radius:12px; overflow:hidden; position:relative; } + .lb-post-side { flex:1; overflow-y:auto; padding:1.25rem; border-right:1px solid var(--color-secondary); min-width:0; } + .lb-post-side .post-bild { max-height:1024px; } + .lb-close { position:absolute; top:0.6rem; right:0.6rem; background:rgba(0,0,0,0.55); border:none; color:#fff; font-size:1.1rem; width:2rem; height:2rem; border-radius:50%; cursor:pointer; z-index:10; display:flex; align-items:center; justify-content:center; padding:0; margin:0; } + .lb-comments-panel { width:300px; flex-shrink:0; display:flex; flex-direction:column; } + .lb-comments-header { font-size:0.78rem; font-weight:600; color:var(--color-muted); text-transform:uppercase; letter-spacing:0.06em; padding:0.7rem 1rem; border-bottom:1px solid var(--color-secondary); flex-shrink:0; } + .lb-comments-list { flex:1; overflow-y:auto; padding:0.75rem; } + .lb-comment-compose { padding:0.75rem; border-top:1px solid var(--color-secondary); display:flex; flex-direction:column; gap:0.5rem; flex-shrink:0; } + .lb-comment-compose textarea { width:100%; font-size:0.85rem; padding:0.35rem 0.6rem; resize:none; background:var(--color-secondary); border:1px solid var(--color-secondary); border-radius:6px; color:var(--color-text); font-family:inherit; outline:none; transition:border-color 0.2s; box-sizing:border-box; } + .lb-comment-compose textarea:focus { border-color:var(--color-primary); } + .lb-comment-compose-actions { display:flex; gap:0.5rem; justify-content:flex-end; } + .lb-comment-compose button { width:auto; margin:0; padding:0.35rem 0.75rem; font-size:0.8rem; } + @media (max-width:650px) { .lb-layout { flex-direction:column; height:95vh; } .lb-post-side { border-right:none; border-bottom:1px solid var(--color-secondary); max-height:55vh; } .lb-comments-panel { width:100%; } } + /* ── Neue Mitglieder ── */ .new-members-strip { display: flex; @@ -385,10 +402,31 @@ + + + - + - + - + diff --git a/src/main/resources/static/community/benachrichtigungen.html b/src/main/resources/static/community/benachrichtigungen.html index 7dcdd70..e927c94 100644 --- a/src/main/resources/static/community/benachrichtigungen.html +++ b/src/main/resources/static/community/benachrichtigungen.html @@ -130,7 +130,7 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + diff --git a/src/main/resources/static/games/bdsm/neubdsm.html b/src/main/resources/static/games/bdsm/neubdsm.html index c30fed5..1ebb504 100644 --- a/src/main/resources/static/games/bdsm/neubdsm.html +++ b/src/main/resources/static/games/bdsm/neubdsm.html @@ -253,7 +253,7 @@ - + - + - + - + - + - + - + diff --git a/src/main/resources/static/games/chastity/joinlock.html b/src/main/resources/static/games/chastity/joinlock.html index 85a600b..00d2f8e 100644 --- a/src/main/resources/static/games/chastity/joinlock.html +++ b/src/main/resources/static/games/chastity/joinlock.html @@ -164,7 +164,7 @@ - + - + - + - + - + - + - + diff --git a/src/main/resources/static/games/common/einladungen.html b/src/main/resources/static/games/common/einladungen.html index 52b7707..c55905d 100644 --- a/src/main/resources/static/games/common/einladungen.html +++ b/src/main/resources/static/games/common/einladungen.html @@ -349,7 +349,7 @@ - + - + - + diff --git a/src/main/resources/static/games/vanilla/neuvanilla.html b/src/main/resources/static/games/vanilla/neuvanilla.html index d37a768..027f413 100644 --- a/src/main/resources/static/games/vanilla/neuvanilla.html +++ b/src/main/resources/static/games/vanilla/neuvanilla.html @@ -235,7 +235,7 @@ - + - + diff --git a/src/main/resources/static/games/vanilla/vanillaingame.html b/src/main/resources/static/games/vanilla/vanillaingame.html index 77aa53a..47ebcf5 100644 --- a/src/main/resources/static/games/vanilla/vanillaingame.html +++ b/src/main/resources/static/games/vanilla/vanillaingame.html @@ -330,7 +330,7 @@ - + - + diff --git a/src/main/resources/static/help/kontakt.html b/src/main/resources/static/help/kontakt.html index 30a48b6..88cd7a2 100644 --- a/src/main/resources/static/help/kontakt.html +++ b/src/main/resources/static/help/kontakt.html @@ -188,7 +188,7 @@ - + - + diff --git a/src/main/resources/static/help/template.html b/src/main/resources/static/help/template.html index fa9f0b8..9a46b88 100644 --- a/src/main/resources/static/help/template.html +++ b/src/main/resources/static/help/template.html @@ -324,7 +324,7 @@ - + - + - + - + + + + + diff --git a/src/main/resources/static/userhome.html b/src/main/resources/static/userhome.html index fe81f6a..fa94bba 100644 --- a/src/main/resources/static/userhome.html +++ b/src/main/resources/static/userhome.html @@ -38,13 +38,13 @@ } /* ── Aktivitäts-Grid (Besucher / Likes / Matches) ── */ .activity-grid { - display: grid; - grid-template-columns: repeat(3, 1fr); + display: flex; + flex-wrap: wrap; gap: 1rem; margin-bottom: 0.5rem; } @media (max-width: 680px) { - .activity-grid { grid-template-columns: 1fr; } + .activity-grid { flex-direction: column; } } .activity-col { background: var(--color-card); @@ -66,11 +66,11 @@ } .activity-col-link:hover { text-decoration: underline; } .activity-row { - display: flex; gap: 0.5rem; + display: grid; grid-template-columns: repeat(4, 1fr); gap: 0.5rem; } /* Avatar-Karte */ .soc-card { - flex: 1; display: flex; flex-direction: column; align-items: center; gap: 0.3rem; + display: flex; flex-direction: column; align-items: center; gap: 0.3rem; text-decoration: none; color: var(--color-text); cursor: pointer; min-width: 0; } .soc-card:hover .soc-avatar { border-color: var(--color-primary); } @@ -226,6 +226,23 @@ .umfrage-bar-content { position:relative; display:flex; justify-content:space-between; padding:0.45rem 0.75rem; font-size:0.88rem; } .umfrage-total { font-size:0.78rem; color:var(--color-muted); margin-top:0.3rem; } + /* ── Post Lightbox ── */ + .lightbox { display:none; position:fixed; inset:0; background:rgba(0,0,0,0.88); z-index:300; align-items:center; justify-content:center; } + .lightbox.open { display:flex; } + .lb-layout { display:flex; max-width:min(1340px, calc(100vw - 2rem)); width:95vw; height:min(90vh, 1100px); background:var(--color-card); border-radius:12px; overflow:hidden; position:relative; } + .lb-post-side { flex:1; overflow-y:auto; padding:1.25rem; border-right:1px solid var(--color-secondary); min-width:0; } + .lb-post-side .post-bild { max-height:1024px; } + .lb-close { position:absolute; top:0.6rem; right:0.6rem; background:rgba(0,0,0,0.55); border:none; color:#fff; font-size:1.1rem; width:2rem; height:2rem; border-radius:50%; cursor:pointer; z-index:10; display:flex; align-items:center; justify-content:center; padding:0; margin:0; } + .lb-comments-panel { width:300px; flex-shrink:0; display:flex; flex-direction:column; } + .lb-comments-header { font-size:0.78rem; font-weight:600; color:var(--color-muted); text-transform:uppercase; letter-spacing:0.06em; padding:0.7rem 1rem; border-bottom:1px solid var(--color-secondary); flex-shrink:0; } + .lb-comments-list { flex:1; overflow-y:auto; padding:0.75rem; } + .lb-comment-compose { padding:0.75rem; border-top:1px solid var(--color-secondary); display:flex; flex-direction:column; gap:0.5rem; flex-shrink:0; } + .lb-comment-compose textarea { width:100%; font-size:0.85rem; padding:0.35rem 0.6rem; resize:none; background:var(--color-secondary); border:1px solid var(--color-secondary); border-radius:6px; color:var(--color-text); font-family:inherit; outline:none; transition:border-color 0.2s; box-sizing:border-box; } + .lb-comment-compose textarea:focus { border-color:var(--color-primary); } + .lb-comment-compose-actions { display:flex; gap:0.5rem; justify-content:flex-end; } + .lb-comment-compose button { width:auto; margin:0; padding:0.35rem 0.75rem; font-size:0.8rem; } + @media (max-width:650px) { .lb-layout { flex-direction:column; height:95vh; } .lb-post-side { border-right:none; border-bottom:1px solid var(--color-secondary); max-height:55vh; } .lb-comments-panel { width:100%; } } + /* ── Neue Mitglieder ── */ .new-members-strip { display: flex; @@ -385,10 +402,31 @@ + + + - +