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>
This commit is contained in:
Wolfgang Huß 2025-04-28 15:32:23 +02:00 committed by GitHub
parent ba0cc147e7
commit a5ee90a95d
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
7 changed files with 147 additions and 100 deletions

View File

@ -1,9 +1,10 @@
// this file is duplicated in `backend/src/config/metadata` and `webapp/constants/metadata.js` and replaced on rebranding // this file is duplicated in `backend/src/config/metadata` and `webapp/constants/metadata.js` and replaced on rebranding
export default { export default {
APPLICATION_NAME: 'ocelot.social', APPLICATION_NAME: 'ocelot.social',
APPLICATION_SHORT_NAME: 'ocelot', APPLICATION_SHORT_NAME: 'ocelot.social',
APPLICATION_DESCRIPTION: 'ocelot.social Community Network', APPLICATION_DESCRIPTION: 'ocelot.social Community Network',
COOKIE_NAME: 'ocelot-social-token', COOKIE_NAME: 'ocelot-social-token',
ORGANIZATION_NAME: 'ocelot.social Community', ORGANIZATION_NAME: 'ocelot.social Community',
ORGANIZATION_JURISDICTION: 'City of Angels', ORGANIZATION_JURISDICTION: 'City of Angels',
THEME_COLOR: 'rgb(23, 181, 63)', // $color-primary as the main color in general. e.g. the color in the background of the app that is visible behind the transparent iPhone status bar to name one use case, or the current color of SVGs to name another use case
} }

View File

@ -72,22 +72,34 @@
<counter-icon <counter-icon
icon="heart-o" icon="heart-o"
:count="post.shoutedCount" :count="post.shoutedCount"
:title="$t('contribution.amount-shouts', { amount: post.shoutedCount })" v-tooltip="{
content: $t('contribution.amount-shouts', { amount: post.shoutedCount }),
placement: 'bottom-start',
}"
/> />
<counter-icon <counter-icon
icon="comments" icon="comments"
:count="post.commentsCount" :count="post.commentsCount"
:title="$t('contribution.amount-comments', { amount: post.commentsCount })" v-tooltip="{
content: $t('contribution.amount-comments', { amount: post.commentsCount }),
placement: 'bottom-start',
}"
/> />
<counter-icon <counter-icon
icon="hand-pointer" icon="hand-pointer"
:count="post.clickedCount" :count="post.clickedCount"
:title="$t('contribution.amount-clicks', { amount: post.clickedCount })" v-tooltip="{
content: $t('contribution.amount-clicks', { amount: post.clickedCount }),
placement: 'bottom-start',
}"
/> />
<counter-icon <counter-icon
icon="eye" icon="eye"
:count="post.viewedTeaserCount" :count="post.viewedTeaserCount"
:title="$t('contribution.amount-views', { amount: post.viewedTeaserCount })" v-tooltip="{
content: $t('contribution.amount-views', { amount: post.viewedTeaserCount }),
placement: 'bottom-start',
}"
/> />
<client-only> <client-only>
<content-menu <content-menu

View File

@ -267,10 +267,10 @@
} }
}, },
"contribution": { "contribution": {
"amount-clicks": "{amount} clicks", "amount-clicks": "{amount} Klicks",
"amount-comments": "{amount} comments", "amount-comments": "{amount} Kommentare",
"amount-shouts": "{amount} recommendations", "amount-shouts": "{amount} Empfehlungen",
"amount-views": "{amount} views", "amount-views": "{amount} Aurufe",
"categories": { "categories": {
"infoSelectedNoOfMaxCategories": "{chosen} von {max} Themen ausgewählt" "infoSelectedNoOfMaxCategories": "{chosen} von {max} Themen ausgewählt"
}, },
@ -618,7 +618,7 @@
"tooltip": "Landkarte" "tooltip": "Landkarte"
}, },
"notifications": { "notifications": {
"tooltip": "Banachrichtigungen" "tooltip": "Benachrichtigungen"
} }
}, },
"index": { "index": {
@ -1082,20 +1082,20 @@
"name": "Einstellungen", "name": "Einstellungen",
"notifications": { "notifications": {
"chat": "Chat", "chat": "Chat",
"chatMessage": "Nachricht erhalten während Abwesenheit", "chatMessage": "Nachricht erhalten während Abwesenheit.",
"checkAll": "Alle auswählen", "checkAll": "Alle auswählen",
"commentOnObservedPost": "Kommentare zu beobachteten Beiträgen", "commentOnObservedPost": "Kommentare zu beobachteten Beiträgen.",
"followingUsers": "Ein Nutzer dem ich folge veröffentlichte einen neuen Beitrag", "followingUsers": "Ein Nutzer dem ich folge veröffentlichte einen neuen Beitrag.",
"group": "Gruppen", "group": "Gruppen",
"groupMemberJoined": "Ein Mitglied ist deiner Gruppe beigetreten", "groupMemberJoined": "Ein Mitglied ist deiner Gruppe beigetreten.",
"groupMemberLeft": "Ein Mitglied hat deine Gruppe verlassen", "groupMemberLeft": "Ein Mitglied hat deine Gruppe verlassen.",
"groupMemberRemoved": "Du wurdest aus einer Gruppe entfernt", "groupMemberRemoved": "Du wurdest aus einer Gruppe entfernt.",
"groupMemberRoleChanged": "Deine Rolle in einer Gruppe wurde geändert", "groupMemberRoleChanged": "Deine Rolle in einer Gruppe wurde geändert oder du wurdest eingeladen.",
"mention": "Ich wurde erwähnt", "mention": "Ich wurde erwähnt.",
"name": "Benachrichtigungen per Email", "name": "Benachrichtigungen per E-Mail",
"post": "Beiträge und Kommentare", "post": "Beiträge und Kommentare",
"postByFollowedUser": "Beitrag von einem Nutzer, dem ich folge", "postByFollowedUser": "Beitrag von einem Nutzer, dem ich folge.",
"postInGroup": "Beitrag in einer Gruppe, die ich beobachte", "postInGroup": "Beitrag in einer Gruppe, die ich beobachte.",
"send-email-notifications": "Sende E-Mail-Benachrichtigungen", "send-email-notifications": "Sende E-Mail-Benachrichtigungen",
"success-update": "Benachrichtigungs-Einstellungen gespeichert!", "success-update": "Benachrichtigungs-Einstellungen gespeichert!",
"uncheckAll": "Alle abwählen" "uncheckAll": "Alle abwählen"

View File

@ -267,10 +267,10 @@
} }
}, },
"contribution": { "contribution": {
"amount-clicks": "{amount} clicks", "amount-clicks": "{amount} Clicks",
"amount-comments": "{amount} comments", "amount-comments": "{amount} Comments",
"amount-shouts": "{amount} recommendations", "amount-shouts": "{amount} Recommendations",
"amount-views": "{amount} views", "amount-views": "{amount} Views",
"categories": { "categories": {
"infoSelectedNoOfMaxCategories": "{chosen} of {max} topics selected" "infoSelectedNoOfMaxCategories": "{chosen} of {max} topics selected"
}, },
@ -1082,20 +1082,20 @@
"name": "Settings", "name": "Settings",
"notifications": { "notifications": {
"chat": "Chat", "chat": "Chat",
"chatMessage": "Message received while absent", "chatMessage": "Message received while absent.",
"checkAll": "Check all", "checkAll": "Check all",
"commentOnObservedPost": "Comments on observed posts", "commentOnObservedPost": "Comments on observed posts.",
"followingUsers": "User I follow published a new post", "followingUsers": "User I follow published a new post.",
"group": "Groups", "group": "Groups",
"groupMemberJoined": "Member joined a group I own", "groupMemberJoined": "Member joined a group I own.",
"groupMemberLeft": "Member left a group I own", "groupMemberLeft": "Member left a group I own.",
"groupMemberRemoved": "I was removed from a group", "groupMemberRemoved": "I was removed from a group.",
"groupMemberRoleChanged": "My role in a group was changed", "groupMemberRoleChanged": "Your role in a group changed or you were invited.",
"mention": "I was mentioned", "mention": "I was mentioned.",
"name": "Email Notifications", "name": "E-Mail Notifications",
"post": "Posts and comments", "post": "Posts and comments",
"postByFollowedUser": "Posts by users I follow", "postByFollowedUser": "Posts by users I follow.",
"postInGroup": "Post in a group I am a member of", "postInGroup": "Post in a group I am a member of.",
"send-email-notifications": "Send e-mail notifications", "send-email-notifications": "Send e-mail notifications",
"success-update": "Notifications settings saved!", "success-update": "Notifications settings saved!",
"uncheckAll": "Uncheck all" "uncheckAll": "Uncheck all"
@ -1158,7 +1158,7 @@
"bank": "bank account", "bank": "bank account",
"code-of-conduct": "Code of Conduct", "code-of-conduct": "Code of Conduct",
"contact": "Contact", "contact": "Contact",
"data-privacy": "Data privacy", "data-privacy": "Data Privacy",
"donate": "Donate", "donate": "Donate",
"error-occurred": "An error occurred.", "error-occurred": "An error occurred.",
"faq": "FAQ", "faq": "FAQ",
@ -1167,7 +1167,7 @@
"made": "Made with ❤️", "made": "Made with ❤️",
"register": "Registry number", "register": "Registry number",
"support": "Support", "support": "Support",
"termsAndConditions": "Terms and conditions", "termsAndConditions": "Terms and Conditions",
"thanks": "Thanks!" "thanks": "Thanks!"
}, },
"termsAndConditions": { "termsAndConditions": {

View File

@ -12,11 +12,11 @@ exports[`notifications.vue mount renders 1`] = `
<div <div
class="ds-space" class="ds-space"
style="margin-top: 24px; margin-bottom: 32px;" style="margin-top: 16px; margin-bottom: 16px;"
> >
<div <div
class="ds-space" class="ds-space"
style="margin-bottom: 16px;" style="margin-bottom: 8px;"
> >
<h4> <h4>
settings.notifications.post settings.notifications.post
@ -66,11 +66,11 @@ exports[`notifications.vue mount renders 1`] = `
</div> </div>
<div <div
class="ds-space" class="ds-space"
style="margin-top: 24px; margin-bottom: 32px;" style="margin-top: 16px; margin-bottom: 16px;"
> >
<div <div
class="ds-space" class="ds-space"
style="margin-bottom: 16px;" style="margin-bottom: 8px;"
> >
<h4> <h4>
settings.notifications.group settings.notifications.group
@ -155,6 +155,10 @@ exports[`notifications.vue mount renders 1`] = `
</div> </div>
</div> </div>
<div
class="ds-space"
style="margin-top: 24px; margin-bottom: 8px;"
>
<button <button
class="base-button" class="base-button"
type="button" type="button"
@ -191,6 +195,7 @@ exports[`notifications.vue mount renders 1`] = `
actions.save actions.save
</button> </button>
</div>
<!----> <!---->
</article> </article>

View File

@ -17,20 +17,29 @@
<ds-text> <ds-text>
{{ $t('settings.embeds.status.change.question') }} {{ $t('settings.embeds.status.change.question') }}
</ds-text> </ds-text>
<ds-space margin-top="small" margin-bottom="base">
<base-button @click="submit" :filled="!disabled" :disabled="!disabled"> <base-button @click="submit" :filled="!disabled" :disabled="!disabled">
{{ $t('settings.embeds.status.change.deny') }} {{ $t('settings.embeds.status.change.deny') }}
</base-button> </base-button>
<base-button @click="submit" :filled="disabled" :disabled="disabled"> <base-button @click="submit" :filled="disabled" :disabled="disabled">
{{ $t('settings.embeds.status.change.allow') }} {{ $t('settings.embeds.status.change.allow') }}
</base-button> </base-button>
</ds-space>
<p>{{ $t('settings.embeds.info-description') }}</p> <h3>{{ $t('settings.embeds.info-description') }}</h3>
<ds-space margin="small">
<ul> <ul>
<li v-for="provider in providers" :key="provider.provider_name"> <li
v-for="provider in providers"
:key="provider.provider_name"
class="provider-list-item"
>
<ds-text>
{{ provider.provider_name }}, {{ provider.provider_name }},
<small>{{ provider.provider_url }}</small> <small>{{ provider.provider_url }}</small>
</ds-text>
</li> </li>
</ul> </ul>
</ds-space>
</ds-section> </ds-section>
</base-card> </base-card>
</template> </template>
@ -93,3 +102,13 @@ export default {
}, },
} }
</script> </script>
<style lang="scss" scoped>
button + button {
margin-left: $space-x-small;
}
.provider-list-item {
margin-top: $space-xx-small;
margin-bottom: $space-xx-small;
}
</style>

View File

@ -1,8 +1,13 @@
<template> <template>
<base-card> <base-card>
<h2 class="title">{{ $t('settings.notifications.name') }}</h2> <h2 class="title">{{ $t('settings.notifications.name') }}</h2>
<ds-space margin-top="base" v-for="topic in emailNotificationSettings" :key="topic.type"> <ds-space
<ds-space margin-bottom="small"> margin-top="small"
margin-bottom="small"
v-for="topic in emailNotificationSettings"
:key="topic.type"
>
<ds-space margin-bottom="x-small">
<h4>{{ $t(`settings.notifications.${topic.type}`) }}</h4> <h4>{{ $t(`settings.notifications.${topic.type}`) }}</h4>
</ds-space> </ds-space>
<div class="notifcation-settings-section"> <div class="notifcation-settings-section">
@ -14,6 +19,7 @@
</ds-space> </ds-space>
</div> </div>
</ds-space> </ds-space>
<ds-space margin-top="base" margin-bottom="x-small">
<base-button @click="checkAll" :disabled="isCheckAllDisabled"> <base-button @click="checkAll" :disabled="isCheckAllDisabled">
{{ $t('settings.notifications.checkAll') }} {{ $t('settings.notifications.checkAll') }}
</base-button> </base-button>
@ -23,6 +29,7 @@
<base-button class="save-button" filled @click="submit" :disabled="isSubmitDisabled"> <base-button class="save-button" filled @click="submit" :disabled="isSubmitDisabled">
{{ $t('actions.save') }} {{ $t('actions.save') }}
</base-button> </base-button>
</ds-space>
</base-card> </base-card>
</template> </template>
@ -138,4 +145,7 @@ export default {
.label { .label {
margin-left: $space-xx-small; margin-left: $space-xx-small;
} }
button + button {
margin-left: $space-x-small;
}
</style> </style>