2652 Commits

Author SHA1 Message Date
Moriz Wahl
470ea3f23e
fix(webapp): query categories on login to get the count (#8542)
* fix(webapp): queru categories to get the count

* padd the weapper to fill in
2025-05-12 12:53:22 +02:00
Max
be0a5c555e
Show invititation dropdown until user clicks somewhere else (#8539) 2025-05-10 10:38:33 +00:00
Moriz Wahl
d4a9694657
feat(webapp): redirect to group after registration with invite to group (#8540) 2025-05-10 10:10:55 +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
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
Moriz Wahl
65f764f6d9
feat(backend): signup email localized (#8459)
* localized registration email

* localized email verification email

* localized reset password email
2025-05-05 20:44:14 +02: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
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
Wolfgang Huß
a31274c793
refactor(webapp): refactor branding of post ribbons and chat etc. (#8395)
* Refactor branding of post ribbons

* Refactor chat to be more brandable

* Refine avatar menu logout item to have danger color

* Change login menu item color to '$text-color-link'
2025-04-17 17:48:59 +02:00
117c0d75e7
refactor(backend): user graphql (#8354)
* refactor user graphql

- remove isLoggedIn query
- currentUser query only for authenticated, currenUser always returns a
User
- currentUser query implementation uses neo4jgraphql with id parameter
- remove custom email field from user
- fix bug in frontend when there is no categories

* remove comment

* remove unused filter

* fix currentuser test

* fixedswitchUserRole mutation

* fix categories
2025-04-12 00:50:16 +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
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ß
87e5fc6bf8
feat(webapp): implement configurable custom button in header (#8215)
* Implement configurable custom button in header

* Implement default values for 'headerMenu'

---------

Co-authored-by: mahula <lenzmath@posteo.de>
2025-03-01 08:00:41 +01:00
Wolfgang Huß
74989cff54 Move 'if' property from 'div' tag to 'ds-flex-item' tag
- Remove the previously added 'div' tag.
2025-01-05 13:31:29 +01:00
475d4abc06
hide invite button on mobile if disabled
The invite button was displayed even when the functionality was
dsiabled. This was caused by a missing check for the corresponding flag.
2024-12-19 01:13:58 +01:00
Wolfgang Huß
71b1992f80 Fix linting 2024-10-30 13:09:45 +01:00
Maximilian Harz
b14d873c9f Fix unrelated linting errors 2024-10-29 11:12:20 +01:00
Maximilian Harz
0ae4881805 Fix linting 2024-10-29 11:11:48 +01:00
Maximilian Harz
c16ad813aa Adapt to different logo sizes, including fixes for Safari 2024-10-29 11:06:51 +01:00
mahula
89d870f7f1 fix change, which accedentally was merged 2024-10-28 14:27:16 +01:00
Wolfgang Huß
1e02dc4e87
Merge branch 'master' into dependabot-degroup 2024-10-28 12:15:38 +01:00
mahula
09498bc4e5 adapt nuxt config to use hoisting @use imports 2024-10-27 11:06:10 +01:00
mahula
2b281ccf97 remove unplanned changes 2024-10-26 13:09:29 +02:00
mahula
7923078523 migrate sass devisions 2024-10-23 05:28:03 +02:00
mahula
e11f8e36ae migrate sass devisions 2024-10-23 04:49:51 +02:00
mahula
47d79544c6 adapt name and random faking to updates faker api 2024-04-29 08:18:00 +02:00
mahula
d8e47238bb adapt faker import in webapp to package update 2024-04-29 07:44:49 +02:00
mahula
73fac22148 linting according to updated linter 2024-03-10 22:49:46 +01:00
Wolfgang Huß
4c0eed3e92 Fix wrong master merge 2024-02-12 11:23:48 +01:00
mahula
fb56539dff
Merge branch 'master' into 6979-make-relative-date-configurable 2024-02-07 09:56:58 +01:00
Wolfgang Huß
2b1ba71a43 Fix linting 2024-02-05 17:48:54 +01:00
Wolfgang Huß
4fa8ecf772 Implement config for 'date-time' format 2024-02-05 17:41:44 +01:00
Markus
d8ceca17da fixed issue in postteaser 2024-02-01 15:48:42 +01:00
Markus
15786d48d1 fixed css warning 2024-02-01 11:56:55 +01:00
Markus
3707fade72 [feature] redesigned post teaser date info 2024-02-01 10:03:41 +01:00
Wolfgang Huß
0ef5adb66c Fix webapp tests 2024-01-25 12:57:12 +01:00
Wolfgang Huß
9d9b325d43 Add 'Map' entry to user menu 2024-01-24 15:05:01 +01:00
Wolfgang Huß
3afa99e116 Change menu tool tip 'Show map' to 'Map' and rename identifier from 'map.button.tooltip' to 'header.map.tooltip' 2024-01-24 14:55:02 +01:00
Wolfgang Huß
c90d5b7edb Change menu tool tip 'Show groups' to 'Groups' and rename identifier from 'group.button.tooltip' to 'header.groups.tooltip' 2024-01-24 14:50:52 +01:00
Wolfgang Huß
47305320d6 Change menu tooltip 'My notifications' to 'Notifications' and rename identifier from 'notifications.headerMenuButton.tooltip' to 'header.notifications.tooltip' 2024-01-24 14:32:03 +01:00
Wolfgang Huß
51e663e0a6 Change menu tooltip 'My chats' to 'Chats' and rename identifier from 'header.chat.tooltip' to 'header.chats.tooltip' 2024-01-24 13:54:57 +01:00
Wolfgang Huß
4090a8b6b3 Split locales entry 'notifications.pageLink' by adding a 'header.avatarMenu.notifications' entry to have them seperated 2024-01-24 13:25:56 +01:00