1500 Commits

Author SHA1 Message Date
sebastian2357
a69006873d
fix(webapp): notifications - UI Improvements (#8559)
* Notifications view:
- restructured broken layout
- joined several columns for mobile view
- moved button from footer to header
- set alternating colors for the table rows

UserTeaser
- added injectedText
- added injectedDate
- fixed padding

* fixed race-condition with default behavior of browser

* - fixed: jumping menu / menu should get closed by click on notification
- fixed: NotificationList replaced by NotificationTable

* - fixed: menu gets closed when cursor leaves content area, but it is still within popup

* - fixed: menu top buttons should be next to each other

* - fixed: popup background overlay remains after NotificationMenu disappeared after viewport change to mobile

* - fixed lint errors

* - fixed tests + snapshots

* - fixed e2e test

* fix lint error

Co-authored-by: Sebastian Stein <sebastian@codepassion.de>

* Fix locale identifier to have single quotes 'notifications.reason.on_date'

---------

Co-authored-by: Sebastian Stein <sebastian@codepassion.de>
Co-authored-by: Wolfgang Huß <wolle.huss@pjannto.com>
Co-authored-by: Ulf Gebhardt <ulf.gebhardt@webcraft-media.de>
2025-05-25 16:44:33 +00:00
18ae2a04ab
update user, write all values, query verification Badge (#8593) 2025-05-25 14:48:24 +00:00
ad4b6e0d79
refactor(webapp): remove email normalization (#8580)
* remove email normalization from webapp

* missing change

* fix error when email is not defined

* fix lint

* remove obsolete test

* remove obsolete tests

* fix password reset

---------

Co-authored-by: Wolfgang Huß <wolle.huss@pjannto.com>
2025-05-25 15:58:41 +02:00
Max
7ea8107ed0
fix(webapp): fix popover flickering (#8555)
Add boundary to v-popover to avoid random flickering when hovering a user teaser
Preload user data to avoid resizing (and sometimes repositioning) of popover after data has been loaded
2025-05-20 07:21:22 +00:00
34c0e5166f
fix(backend): fix statistics and introduce new values (#8550)
* fix statistics and introduce new values

* fix locales
2025-05-12 17:51:15 +00:00
Max
4e4eff8dc9
fix(webapp): fix layout break and hidden group name appearance (#8538)
Fixes long comment overflow.
There is some underlying problem with flex box and overflows. A better solution could be to use a grid, but this was the fastest I would come up with.

Fixes hidden group name appearance
2025-05-10 09:22:51 +00:00
Max
ce1844e521
feat(webapp): several group and personal invitation links (#8504)
* invite codes refactor

typo

* lint fixes

* remove duplicate initeCodes on User

* fix typo

* clean permissionMiddleware

* dummy permissions

* separate validateInviteCode call

* permissions group & user

* test validateInviteCode + adjustments

* more validateInviteCode fixes

* missing test

* generatePersonalInviteCode

* generateGroupInviteCode

* old tests

* lint fixes

* more lint fixes

* fix validateInviteCode

* fix redeemInviteCode, fix signup

* fix all tests

* fix lint

* uniform types in config

* test & fix invalidateInviteCode

* cleanup test

* fix & test redeemInviteCode

* permissions

* fix Group->inviteCodes

* more cleanup

* improve tests

* fix code generation

* cleanup

* order inviteCodes result on User and Group

* lint

* test max invite codes + fix

* better description of collision

* tests: properly define group ids

* reused old group query

* reuse old Groupmembers query

* remove duplicate skip

* update comment

* fix uniqueInviteCode

* fix test

* fix lint

* Get invite codes

* Show invitation data in registration

* Add invitation list to menu (WIP)

* Add mutations, add CreateInvitation, some fixes

* Improve style, fix long comments

* Lock scrolling when popover is open, but prevent layout change

* small fixes

* instant updates

* Introduce config for link limit; add texts, layout changes

* Validate comment length

* Improve layout

* Add message to copied link

* Add invite link section to group settings

* Handle hidden groups

* Add menu entry for group invite links

* Fix locale

* hotfix invite codes

* Add copy messages

* More styling (WIP)

* Design update

* Don't forget user state

* Localize placeholder

* Add locale

* Instant updates for group invites

* fix registration with invite code

* Fix text overflow

* Fix instant updates

* Overhaul styles, add locales, add heading

* Add test and snapshot for CreateInvitation

* Improve accessability; add invitation test

* Add tests for InvitationList

* Fix locales

* Round plus button

* Fix tests

* Fix tests

* fix locales

* fix linting

* Don't show name of hidden group in invite message

* Add more tests

* Update webapp/locales/de.json

Co-authored-by: Ulf Gebhardt <ulf.gebhardt@webcraft-media.de>

* Update webapp/locales/de.json

Co-authored-by: Ulf Gebhardt <ulf.gebhardt@webcraft-media.de>

---------

Co-authored-by: Ulf Gebhardt <ulf.gebhardt@webcraft-media.de>
Co-authored-by: Wolfgang Huß <wolle.huss@pjannto.com>
2025-05-10 08:25:03 +00:00
Moriz Wahl
da8af6ff42
feat(webapp): group invite after login (#8518) 2025-05-09 19:19:07 +00:00
Moriz Wahl
9300fbd5fc
feat(webapp): redirect on registration for invite links (#8517)
* feat(webapp): redirect on registration for invite links
2025-05-09 17:57:27 +00:00
sebastian2357
ff366a4075
fix(webapp): mobile optimization (#8516)
* - optimized header
- added possibility of extra mobile logo

* - changed behavior of NotificationMenu link get directly open for mobile

* - moved notification links to the top of the menu

* - optimized chat view for mobile

* - added logo branding structure

* - added logo branding structure

* - fixed chat height

* - fixed paddings for internal pages

* Fix linting

* Fix linting

---------

Co-authored-by: Sebastian Stein <sebastian@codepassion.de>
Co-authored-by: Wolfgang Huß <wolle.huss@pjannto.com>
2025-05-09 17:04:06 +00:00
Max
33274e5b9a
feat(webapp): user teaser popover (#8450)
* calculate distance between current user and queried user

* fix query for unset location

* use database to calculate distance

* rename distance to distance to me, 100% calculation done in DB

* distanceToMe tests

* lint fixes

* remove comments

* Show user teaser popover with badges, Desktop

* Refactor UserTeaser and add mobile popover support

* Avoid click propagation (WIP)

* Prevent event propagation

* Adjust alignment and font sizes

* More spacing for statistics

* Add distance, simplify user link

* Refactor location info into own component

* Add tests for UserTeaserPopup

* Refactor and test LocationInfo

* Query distanceToMe, rename distance to distanceToMe

* Update test

* Improve tests for UserTeaser, WIP

* Fix tests

* DistanceToMe on User instead of Location

* Revert "DistanceToMe on User instead of Location"

This reverts commit 96c9db00a44cd120e47bfe9534d3e066a194744c.

* Fix notifications

* Refactor UserTeaser and fix location info

* Fix group member crash

* Show 0 distance

* Fit in popover on small screens

* Allow access to profile on desktop

* Revert backend changes

* Load user teaser popover data only when needed

* Fix type mismatch

* Refactor for clarity and accessibility

* Litte refactorings and improvements

* Fix popover test

* Adapt and fix tests

* Fix tests and bugs

* Add placeholder

* cypress: adapt user teaser locator to changes

* Remove delays and scrolling

* Disable popovers in notification list and fix layout

* Remove flickering

* Make overlay catch all pointer events on touch devices

* Re-add attribute for E2E test

* Fix test, return to mouseover

* fix snapshot

---------

Co-authored-by: Ulf Gebhardt <ulf.gebhardt@webcraft-media.de>
Co-authored-by: Wolfgang Huß <wolle.huss@pjannto.com>
Co-authored-by: mahula <lenzmath@posteo.de>
2025-05-05 23:54:13 +00:00
Max
d09f1a95f9
fix(webapp): fix badge focus (#8452)
* Verification badge is never a button

* Fix focus style of badges, removing weird outline

Instead of outline, increase size, like when hovered.
2025-04-28 17:59:35 +00:00
Wolfgang Huß
48c7bd0033
refactor(webapp): make login, registration, password-reset layout brandable (#8440)
* Make login, registration, password-reset layout brandable

- Rename some variables related to this

* Remove experimental code

* add lodash types

* fix build

fix type

---------

Co-authored-by: Ulf Gebhardt <ulf.gebhardt@webcraft-media.de>
2025-04-28 16:58:35 +00:00
Max
fffaebcbca
Replace edit link by pencil button (#8453)
We show now a round button with pencil icon to edit the badges.
2025-04-28 14:39:54 +00:00
Wolfgang Huß
a5ee90a95d
fix(webapp): refine little things (#8382)
* Refine locals of some internal pages headlines

* Fix tool tip text

* Fix 'email' -> 'e-mail'

* Syncronize 'metadata.ts' with webapp

* Refine e-mail notifications

* Adjust notification settings buttons

* Refine third party setting

* Fix post teaser counter icon tooltips translations

* Refine e-mail notifications

* Refine third party setting

* notification spec snapshot

---------

Co-authored-by: Ulf Gebhardt <ulf.gebhardt@webcraft-media.de>
2025-04-28 13:32:23 +00:00
Max
ba0cc147e7
fix(webapp): fix admin badges settings (#8438)
* Remove proxy from nuxt.config, instead add proxy filter

* Show message when there are no badges
2025-04-26 17:25:27 +00:00
sebastian2357
2fd138697f
feat(webapp): badges UI (#8426)
- New badge UI, including editor.
- Adds config to enable/disable badges.

---------

Co-authored-by: Sebastian Stein <sebastian@codepassion.de>
Co-authored-by: Maximilian Harz <maxharz@gmail.com>
2025-04-25 16:55:46 +00:00
Max
c090db3866
feat(webapp): badges admin settings (#8401)
Adds a link to badges settings in the user table, where admins can set the available badges.
2025-04-22 17:28:51 +00:00
8cf405c549
feat(backend): badges (#8391)
* delete all old badges

* reward/unrewardBadge

* verification Badges

* name all badged accordingly

* more tests, lint

* seed badges

* profileBadge mechanic

* badgesUnusedCount

* seed profileBadges set

* configure profile badge count

* insert badges db:data:badges:default

* seed commands to seed default badges and allow to seed branding data

* copy data migrations when building docker

* typo

* correct data:branding command & document it

* test new functionality

* Update backend/src/db/seed/badges.ts

Co-authored-by: Max <maxharz@gmail.com>

* Update backend/src/db/seed/badges.ts

Co-authored-by: Max <maxharz@gmail.com>

* Update backend/src/db/seed/badges.ts

Co-authored-by: Max <maxharz@gmail.com>

* naming coventions

* final naming fix

lint

fix build

fix badge type in test

renamed badge_ to trophy_

lint fixes

small renameing

fixes

fix users spec

fix webapp queries

fix display

* expose badge description

---------

Co-authored-by: Max <maxharz@gmail.com>
2025-04-17 23:08:54 +00:00
Max
fb12a139bc
fix(webapp): better settings ux (#8347)
* Scroll to notification settings when opened (for mobile)

* scroll to settings content when clicking on menu entry

* Scroll to settings content on mobile and fix weird loading state

* Add fail-safety

* Fix linting
2025-04-14 17:56:29 +00:00
Max
caeff070b7
feat(webapp): add mute/unumute group to menu (#8335)
* basics to notify a user when a followed user posted

* do not notify following user on posts in groups

* followig user wrote post notification

* notify regular group members when a new post is posted in the group

* mute and unmute groups

* clean database at end

* locale for post in group notification

* post in group notification triggers correctly

* email settings for post in group

* Add mute/unumute group to menu (WIP)

* Add mute group functionality (WIP)

* Add locales; use mute/unmute mutations, cleanup tests

* Overhaul group content menu test

* Rename isMuted to isMutedByMe and add it to group query

* Add German and English locales

* Add spanish translations

* Add missing translation keys (with null values)

* Remove console statement

* Add snapshot

* Replace mount by render

* Mock Math.random(), add tests for mute/unmute

* Use container instead of baseElement for snapshots

* fix group slug tests

* undo wrong variable naming

* rename parameter to groupId of mute/unmute group mutation

* rename parameter to groupId of mute/unmute group mutation

* only non pending members have access to the comtext menu

---------

Co-authored-by: Moriz Wahl <moriz.wahl@gmx.de>
Co-authored-by: Ulf Gebhardt <ulf.gebhardt@webcraft-media.de>
2025-04-11 23:10:42 +00:00
Max
1b07b06ca7
feat(webapp): notification settings frontend (#8320)
Implements detailed settings for email notifications.

Issues
relates 🚀 [Feature] Drei neue Interaktions-Benachrichtigungen #8280
2025-04-09 13:21:38 +00:00
Max
1e6a74b8ce
feat(frontend): observe posts (#8293)
* After creating the post, the author of it automatically observes it to get notifications when there are interactions

* a user that comments a post, automatically observes that post to get notifications when there are more interactions on that post

* mutation that switches the state of the obeservation of a post on and off

* remove duplicate code

* fix unit tests

* add metric observed users count to posts

* change naming

* Add follow post entry to post menu

* Add FollowButton (WIP), show unfollow in menu when already followed

* Follow/unfollow post => observe

* Update slashed bell

* Add requests to observe/unobserve posts

* Add ObserveButton functionality

* Rename isObservedByMe

* Add observingUsersCount; simplify ObserveButton and menu entries

* Fix locales

* Add snapshot test for ObserveButton (WIP)

* Remove empty routes push

* Add test for ObserveButton

* Add test for ContentMenu, improve ObserveButton test

* Remove unneeded fields from PostQuery

---------

Co-authored-by: Moriz Wahl <moriz.wahl@gmx.de>
2025-04-04 11:54:43 +00:00
Wolfgang Huß
b9207853c5 Fix notification page has unbranded button by changing ds-button to base-button 2024-10-23 13:36:18 +02:00
Markus
9c4d4944af Merge branch 'master' into 6976-optimize-post-teaser-date 2024-02-01 15:49:57 +01:00
Markus
d70fd979fb fixed event info layout 2024-02-01 11:57:13 +01:00
Wolfgang Huß
86b55bc2ae Fix wrong content menu position on group profile page by change class name from 'page-name-group-id-slug' to 'group-profile' 2024-01-26 12:25:32 +01:00
mahula
852e97b166 adapt linting of current frontend to new eslint-plugin-vue rules 2023-12-11 17:15:10 +01:00
mahula
6d53fb97ff
Merge branch 'master' into replace-deprecated-jest-method 2023-10-31 19:31:58 +01:00
mahula
57b6b81a5f linting 2023-10-31 11:24:27 +01:00
mahula
7480f2c523 replace deprecated jest methods in webapp unit tests 2023-10-31 11:10:38 +01:00
Wolfgang Huß
34ac7b97bd Make filter menu visible if categories are inactive 2023-10-30 15:57:30 +01:00
Javier López
be604cc945 fix:[6687] update the groups link in map 2023-08-20 23:48:14 +02:00
Hannes Heine
7f06d71f6a
Merge branch 'master' into 6443-refactor-create-post-page 2023-07-26 10:53:04 +02:00
Wolfgang Huß
883d7d89ab Fix linting 2023-07-20 12:04:37 +02:00
Wolfgang Huß
dee77df5f6 Cleanup 2023-07-20 12:02:24 +02:00
elweyn
13da3ba3f4 Add returned properties to the CreateRoom mutation, add emit to change the roomID. 2023-07-20 11:35:06 +02:00
Wolfgang Huß
858e3fdee8 Rename 'addRoom' to 'toggleUserSearch' in chat component 2023-07-20 10:40:04 +02:00
Markus
18f932f1b6 [refactor] fixed wrong title on edit post page 2023-07-20 10:15:39 +02:00
Hannes Heine
b881daef91
Merge branch 'master' into 6592-chat-component-+-button-open-search 2023-07-20 10:11:41 +02:00
Markus
a8f32cad75 Merge branch 'master' into 6443-refactor-create-post-page 2023-07-19 22:01:47 +02:00
Wolfgang Huß
4192612293 Fix linting 2023-07-19 17:51:05 +02:00
Wolfgang Huß
3d9a9cd5a0 Create the chat room on user search in chats function 2023-07-19 17:47:56 +02:00
Wolfgang Huß
26282c67b7 Make user search in chats function – second step 2023-07-19 16:41:23 +02:00
Wolfgang Huß
ffe51a0743 Separate 'ds-select' of 'AddGroupMember' into separate component 'SelectUserSearch' 2023-07-19 15:48:05 +02:00
Wolfgang Huß
a114b8a12c Give the chat plus button a function and show hide the user search 2023-07-19 14:07:10 +02:00
Markus
85e68795a3 [fix] all group related pages are now under one route, so link highlighting works 2023-07-19 10:09:04 +02:00
Wolfgang Huß
9157e14ded Change small chat partner on click the chat button on different user profile 2023-07-18 18:21:05 +02:00
Wolfgang Huß
c7deefa563 Close small chat if one changes to the chat room page 2023-07-18 17:33:45 +02:00
Wolfgang Huß
cc4cb8af46 Rename tag 'chat-module' to 'chat' 2023-07-18 14:41:10 +02:00