diff --git a/web/src/pages/notifications.astro b/web/src/pages/notifications.astro
index 1bbc94e..73bef7a 100644
--- a/web/src/pages/notifications.astro
+++ b/web/src/pages/notifications.astro
@@ -124,6 +124,13 @@ const [dbNotifications, notificationPreferences, totalNotifications] = await Ast
verificationStatus: true,
},
},
+ aboutKarmaTransaction: {
+ select: {
+ points: true,
+ action: true,
+ description: true,
+ },
+ },
},
}),
[],
@@ -136,6 +143,7 @@ const [dbNotifications, notificationPreferences, totalNotifications] = await Ast
enableOnMyCommentStatusChange: true,
enableAutowatchMyComments: true,
enableNotifyPendingRepliesOnWatch: true,
+ karmaNotificationThreshold: true,
}),
null,
],
@@ -326,6 +334,23 @@ const notifications = dbNotifications.map((notification) => ({
))}
+
+
+
+ Notify me when my karma changes by at least
+
+
+
+ points
+
+
+
diff --git a/web/src/pages/u/[username].astro b/web/src/pages/u/[username].astro
index dbf2417..1f5dbea 100644
--- a/web/src/pages/u/[username].astro
+++ b/web/src/pages/u/[username].astro
@@ -632,77 +632,38 @@ const isCurrentUser = !!Astro.locals.user && user.id === Astro.locals.user.id
-
Positive unlocks
+
+
- {
- sortBy(
- karmaUnlocks.filter((unlock) => unlock.karma >= 0),
- 'karma'
- ).map((unlock) => (
-
-
-
-
-
-
-
- {unlock.name}
-
-
{unlock.karma.toLocaleString()} karma
-
-
-
- {user.karmaUnlocks[unlock.id] ? (
-
- Unlocked
-
- ) : (
-
- Locked
-
- )}
-
-
- ))
- }
-
-
-
-
Negative unlocks
-
- {
- sortBy(
- karmaUnlocks.filter((unlock) => unlock.karma < 0),
- 'karma'
- )
- .reverse()
- .map((unlock) => (
+
+ {
+ sortBy(
+ karmaUnlocks.filter((unlock) => unlock.karma >= 0),
+ 'karma'
+ ).map((unlock) => (
-
+
{unlock.name}
@@ -712,24 +673,85 @@ const isCurrentUser = !!Astro.locals.user && user.id === Astro.locals.user.id
{user.karmaUnlocks[unlock.id] ? (
-
- Active
+
+ Unlocked
) : (
- Avoided
+ Locked
)}
))
- }
+ }
+
+
-
-
- Negative karma leads to restrictions.
Keep interactions positive to
- avoid penalties.
-
+
+
+
+
+
+
+ {
+ sortBy(
+ karmaUnlocks.filter((unlock) => unlock.karma < 0),
+ 'karma'
+ )
+ .reverse()
+ .map((unlock) => (
+
+
+
+
+
+
+
+ {unlock.name}
+
+
{unlock.karma.toLocaleString()} karma
+
+
+
+ {user.karmaUnlocks[unlock.id] ? (
+
+ Active
+
+ ) : (
+
+ Avoided
+
+ )}
+
+
+ ))
+ }
+
+
+
+ Negative karma leads to restrictions.
Keep interactions positive to
+ avoid penalties.
+
+
diff --git a/web/src/styles/global.css b/web/src/styles/global.css
index fbaa8d3..d1575a2 100644
--- a/web/src/styles/global.css
+++ b/web/src/styles/global.css
@@ -105,6 +105,16 @@
}
}
+@theme {
+ --animate-text-gradient: text-gradient 4s linear 0s infinite normal forwards running;
+
+ @keyframes text-gradient {
+ to {
+ background-position: -200%;
+ }
+ }
+}
+
@theme {
--ease-in-sine: cubic-bezier(0.12, 0, 0.39, 0);
--ease-out-sine: cubic-bezier(0.61, 1, 0.88, 1);