feat(webapp): push to top indicator (#9237)

This commit is contained in:
Ulf Gebhardt 2026-02-18 01:10:18 +01:00 committed by GitHub
parent 77a1e0964b
commit 0cbdfea5a1
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
84 changed files with 183 additions and 159 deletions

View File

@ -80,15 +80,13 @@
return h(
'span',
{
class: [
cn(
class: cn(
'os-icon inline-flex items-center align-bottom shrink-0',
sizeClass,
'[&>svg]:h-full [&>svg]:w-auto [&>svg]:fill-current',
),
parentClass,
parentDynClass,
].filter(Boolean),
),
attrs: { ...a11yAttrs, ...parentAttrs, ...attrs },
},
[iconVNode],

View File

@ -60,7 +60,7 @@
<script>
import { OsIcon } from '@ocelot-social/ui'
import { ocelotIcons } from '@ocelot-social/ui/ocelot'
import { iconRegistry } from '~/utils/iconRegistry'
import { mapGetters } from 'vuex'
import Dropdown from '~/components/Dropdown'
import ProfileAvatar from '~/components/_new/generic/ProfileAvatar/ProfileAvatar'
@ -138,7 +138,7 @@ export default {
},
},
created() {
this.icons = ocelotIcons
this.icons = iconRegistry
},
methods: {
matcher(url, route) {

View File

@ -19,7 +19,7 @@
<script>
import { OsButton, OsIcon } from '@ocelot-social/ui'
import { ocelotIcons } from '@ocelot-social/ui/ocelot'
import { iconRegistry } from '~/utils/iconRegistry'
import { followUserMutation, unfollowUserMutation } from '~/graphql/User'
export default {
@ -59,7 +59,7 @@ export default {
},
},
created() {
this.icons = ocelotIcons
this.icons = iconRegistry
},
methods: {
onHover() {

View File

@ -21,7 +21,7 @@
<script>
import { mapMutations } from 'vuex'
import { OsButton, OsIcon } from '@ocelot-social/ui'
import { ocelotIcons } from '@ocelot-social/ui/ocelot'
import { iconRegistry } from '~/utils/iconRegistry'
import { joinGroupMutation, leaveGroupMutation } from '~/graphql/groups'
export default {
@ -84,7 +84,7 @@ export default {
},
},
created() {
this.icons = ocelotIcons
this.icons = iconRegistry
},
methods: {
...mapMutations({

View File

@ -25,7 +25,7 @@
<script>
import { OsButton, OsIcon } from '@ocelot-social/ui'
import { ocelotIcons } from '@ocelot-social/ui/ocelot'
import { iconRegistry } from '~/utils/iconRegistry'
import SelectUserSearch from '~/components/generic/SelectUserSearch/SelectUserSearch'
export default {
@ -48,7 +48,7 @@ export default {
}
},
created() {
this.icons = ocelotIcons
this.icons = iconRegistry
},
methods: {
selectUser(user) {

View File

@ -106,7 +106,7 @@
<script>
import { OsButton, OsIcon } from '@ocelot-social/ui'
import { ocelotIcons } from '@ocelot-social/ui/ocelot'
import { iconRegistry } from '~/utils/iconRegistry'
import { roomQuery, createRoom, unreadRoomsQuery } from '~/graphql/Rooms'
import {
messageQuery,
@ -201,7 +201,7 @@ export default {
}
},
created() {
this.icons = ocelotIcons
this.icons = iconRegistry
},
mounted() {
if (this.singleRoom) {

View File

@ -20,7 +20,7 @@
<script>
import { OsButton } from '@ocelot-social/ui'
import { ocelotIcons } from '@ocelot-social/ui/ocelot'
import { iconRegistry } from '~/utils/iconRegistry'
import { mapGetters, mapMutations } from 'vuex'
import CounterIcon from '~/components/_new/generic/CounterIcon/CounterIcon'
import { unreadRoomsQuery, roomCountUpdated } from '~/graphql/Rooms'
@ -38,7 +38,7 @@ export default {
}),
},
created() {
this.icons = ocelotIcons
this.icons = iconRegistry
},
methods: {
...mapMutations({

View File

@ -75,7 +75,7 @@
<script>
import { OsButton, OsIcon } from '@ocelot-social/ui'
import { ocelotIcons } from '@ocelot-social/ui/ocelot'
import { iconRegistry } from '~/utils/iconRegistry'
import { mapGetters } from 'vuex'
import { COMMENT_MAX_UNTRUNCATED_LENGTH, COMMENT_TRUNCATE_TO_LENGTH } from '~/constants/comment'
import UserTeaser from '~/components/UserTeaser/UserTeaser'
@ -178,7 +178,7 @@ export default {
},
},
created() {
this.icons = ocelotIcons
this.icons = iconRegistry
},
methods: {
checkAnchor(anchor) {

View File

@ -19,7 +19,7 @@
</div>
</template>
<script>
import { ocelotIcons } from '@ocelot-social/ui/ocelot'
import { iconRegistry } from '~/utils/iconRegistry'
import CounterIcon from '~/components/_new/generic/CounterIcon/CounterIcon'
import CommentCard from '~/components/CommentCard/CommentCard'
import scrollToAnchor from '~/mixins/scrollToAnchor'
@ -47,7 +47,7 @@ export default {
},
},
created() {
this.icons = ocelotIcons
this.icons = iconRegistry
},
methods: {
reply(message) {

View File

@ -38,7 +38,7 @@
<script>
import { OsButton, OsIcon } from '@ocelot-social/ui'
import { ocelotIcons } from '@ocelot-social/ui/ocelot'
import { iconRegistry } from '~/utils/iconRegistry'
import Dropdown from '~/components/Dropdown'
import PinnedPostsMixin from '~/mixins/pinnedPosts'
@ -70,7 +70,7 @@ export default {
},
},
created() {
this.icons = ocelotIcons
this.icons = iconRegistry
},
computed: {
routes() {
@ -102,7 +102,7 @@ export default {
callback: () => {
this.$emit('pinPost', this.resource)
},
icon: this.icons.link,
icon: this.icons.mapPin,
})
} else {
if (this.resource.pinnedBy) {
@ -123,7 +123,7 @@ export default {
callback: () => {
this.$emit('pushPost', this.resource)
},
icon: this.icons.link,
icon: this.icons.arrowUp,
})
}
@ -270,7 +270,7 @@ export default {
callback: () => {
this.$emit(this.resource.groupPinned ? 'unpinGroupPost' : 'pinGroupPost', this.resource)
},
icon: this.resource.groupPinned ? this.icons.unlink : this.icons.link,
icon: this.resource.groupPinned ? this.icons.unlink : this.icons.mapPin,
})
}

View File

@ -39,7 +39,7 @@
<script>
import { OsButton, OsIcon } from '@ocelot-social/ui'
import { ocelotIcons } from '@ocelot-social/ui/ocelot'
import { iconRegistry } from '~/utils/iconRegistry'
import Dropdown from '~/components/Dropdown'
export default {
@ -110,7 +110,7 @@ export default {
},
},
created() {
this.icons = ocelotIcons
this.icons = iconRegistry
},
methods: {
openItem(route, toggleMenu) {

View File

@ -203,7 +203,7 @@
</template>
<script>
import { OsButton, OsIcon } from '@ocelot-social/ui'
import { ocelotIcons } from '@ocelot-social/ui/ocelot'
import { iconRegistry } from '~/utils/iconRegistry'
import gql from 'graphql-tag'
import { mapGetters } from 'vuex'
import Editor from '~/components/Editor/Editor'
@ -383,7 +383,7 @@ export default {
},
},
created() {
this.icons = ocelotIcons
this.icons = iconRegistry
},
methods: {
notBeforeToday(date) {

View File

@ -30,7 +30,7 @@
<script>
import { OsIcon } from '@ocelot-social/ui'
import { ocelotIcons } from '@ocelot-social/ui/ocelot'
import { iconRegistry } from '~/utils/iconRegistry'
import { format, isSameDay, isSameYear } from 'date-fns'
export default {
@ -88,7 +88,7 @@ export default {
},
},
created() {
this.icons = ocelotIcons
this.icons = iconRegistry
},
}
</script>

View File

@ -59,7 +59,7 @@
<script>
import { OsButton, OsIcon } from '@ocelot-social/ui'
import { ocelotIcons } from '@ocelot-social/ui/ocelot'
import { iconRegistry } from '~/utils/iconRegistry'
import { mapActions, mapGetters } from 'vuex'
import gql from 'graphql-tag'
import { currentUserCountQuery } from '~/graphql/User'
@ -86,7 +86,7 @@ export default {
},
},
created() {
this.icons = ocelotIcons
this.icons = iconRegistry
},
computed: {
...mapGetters({

View File

@ -31,7 +31,7 @@
</template>
<script>
import { OsIcon } from '@ocelot-social/ui'
import { ocelotIcons } from '@ocelot-social/ui/ocelot'
import { iconRegistry } from '~/utils/iconRegistry'
import Dropdown from '~/components/Dropdown'
export default {
@ -40,7 +40,7 @@ export default {
OsIcon,
},
setup() {
return { icons: ocelotIcons }
return { icons: iconRegistry }
},
props: {
selected: { type: String, default: '' },

View File

@ -147,7 +147,7 @@
<script>
import { OsButton, OsIcon } from '@ocelot-social/ui'
import { ocelotIcons } from '@ocelot-social/ui/ocelot'
import { iconRegistry } from '~/utils/iconRegistry'
import { EditorMenuBar } from 'tiptap'
import MenuLegend from './MenuLegend.vue'
@ -163,7 +163,7 @@ export default {
toggleLinkInput: { type: Function, required: true },
},
created() {
this.icons = ocelotIcons
this.icons = iconRegistry
},
}
</script>

View File

@ -43,7 +43,7 @@
<script>
import { OsButton, OsIcon } from '@ocelot-social/ui'
import { ocelotIcons } from '@ocelot-social/ui/ocelot'
import { iconRegistry } from '~/utils/iconRegistry'
import Dropdown from '~/components/Dropdown'
export default {
@ -73,7 +73,7 @@ export default {
},
},
created() {
this.icons = ocelotIcons
this.icons = iconRegistry
},
}
</script>

View File

@ -65,7 +65,7 @@
<script>
import { OsButton, OsIcon } from '@ocelot-social/ui'
import { ocelotIcons } from '@ocelot-social/ui/ocelot'
import { iconRegistry } from '~/utils/iconRegistry'
import { mapGetters, mapMutations } from 'vuex'
import { updateUserMutation } from '~/graphql/User.js'
@ -96,7 +96,7 @@ export default {
}
},
created() {
this.icons = ocelotIcons
this.icons = iconRegistry
if (this.currentUser.allowEmbedIframes) {
this.showEmbed = this.currentUser.allowEmbedIframes
this.checkedAlwaysAllowEmbeds = this.currentUser.allowEmbedIframes

View File

@ -20,7 +20,7 @@
<script>
import { OsButton, OsIcon } from '@ocelot-social/ui'
import { ocelotIcons } from '@ocelot-social/ui/ocelot'
import { iconRegistry } from '~/utils/iconRegistry'
export default {
name: 'CtaUnblockAuthor',
@ -39,7 +39,7 @@ export default {
},
},
created() {
this.icons = ocelotIcons
this.icons = iconRegistry
},
}
</script>

View File

@ -37,7 +37,7 @@
<script>
import { OsButton, OsIcon } from '@ocelot-social/ui'
import { ocelotIcons } from '@ocelot-social/ui/ocelot'
import { iconRegistry } from '~/utils/iconRegistry'
import { mapGetters, mapMutations } from 'vuex'
import FilterMenuSection from '~/components/FilterMenu/FilterMenuSection'
@ -61,7 +61,7 @@ export default {
},
},
created() {
this.icons = ocelotIcons
this.icons = iconRegistry
},
methods: {
...mapMutations({

View File

@ -21,7 +21,7 @@
<script>
import { OsButton, OsIcon } from '@ocelot-social/ui'
import { ocelotIcons } from '@ocelot-social/ui/ocelot'
import { iconRegistry } from '~/utils/iconRegistry'
import Dropdown from '~/components/Dropdown'
import { mapGetters } from 'vuex'
import FilterMenuComponent from './FilterMenuComponent'
@ -43,7 +43,7 @@ export default {
}),
},
created() {
this.icons = ocelotIcons
this.icons = iconRegistry
},
}
</script>

View File

@ -28,7 +28,7 @@
</template>
<script>
import { ocelotIcons } from '@ocelot-social/ui/ocelot'
import { iconRegistry } from '~/utils/iconRegistry'
import { mapGetters } from 'vuex'
import EventsByFilter from './EventsByFilter'
import PostTypeFilter from './PostTypeFilter'
@ -59,7 +59,7 @@ export default {
},
},
created() {
this.icons = ocelotIcons
this.icons = iconRegistry
},
methods: {
saveCategories() {

View File

@ -56,7 +56,7 @@
<script>
import { OsButton, OsIcon } from '@ocelot-social/ui'
import { ocelotIcons } from '@ocelot-social/ui/ocelot'
import { iconRegistry } from '~/utils/iconRegistry'
import { mapGetters, mapMutations } from 'vuex'
import FilterMenuSection from '~/components/FilterMenu/FilterMenuSection'
@ -75,7 +75,7 @@ export default {
}),
},
created() {
this.icons = ocelotIcons
this.icons = iconRegistry
},
methods: {
...mapMutations({

View File

@ -21,7 +21,7 @@
</template>
<script>
import { OsButton, OsIcon } from '@ocelot-social/ui'
import { ocelotIcons } from '@ocelot-social/ui/ocelot'
import { iconRegistry } from '~/utils/iconRegistry'
export default {
name: 'HeaderButton',
@ -45,7 +45,7 @@ export default {
},
},
created() {
this.icons = ocelotIcons
this.icons = iconRegistry
},
}
</script>

View File

@ -37,7 +37,7 @@
<script>
import { OsButton, OsIcon } from '@ocelot-social/ui'
import { ocelotIcons } from '@ocelot-social/ui/ocelot'
import { iconRegistry } from '~/utils/iconRegistry'
import { mapGetters, mapMutations } from 'vuex'
import FilterMenuSection from '~/components/FilterMenu/FilterMenuSection'
@ -69,7 +69,7 @@ export default {
},
},
created() {
this.icons = ocelotIcons
this.icons = iconRegistry
},
methods: {
...mapMutations({

View File

@ -39,7 +39,7 @@
</template>
<script>
import { ocelotIcons } from '@ocelot-social/ui/ocelot'
import { iconRegistry } from '~/utils/iconRegistry'
import { mapGetters, mapMutations } from 'vuex'
import FilterMenuSection from '~/components/FilterMenu/FilterMenuSection'
import LabeledButton from '~/components/_new/generic/LabeledButton/LabeledButton'
@ -56,7 +56,7 @@ export default {
}),
},
created() {
this.icons = ocelotIcons
this.icons = iconRegistry
},
methods: {
...mapMutations({

View File

@ -152,7 +152,7 @@
<script>
import { OsButton, OsIcon } from '@ocelot-social/ui'
import { ocelotIcons } from '@ocelot-social/ui/ocelot'
import { iconRegistry } from '~/utils/iconRegistry'
import CategoriesSelect from '~/components/CategoriesSelect/CategoriesSelect'
import { CATEGORIES_MIN, CATEGORIES_MAX } from '~/constants/categories.js'
import {
@ -284,7 +284,7 @@ export default {
},
},
created() {
this.icons = ocelotIcons
this.icons = iconRegistry
},
methods: {
checkFormError(error) {

View File

@ -80,7 +80,7 @@
<script>
import { OsIcon } from '@ocelot-social/ui'
import { ocelotIcons } from '@ocelot-social/ui/ocelot'
import { iconRegistry } from '~/utils/iconRegistry'
import Category from '~/components/Category'
import GroupContentMenu from '~/components/ContentMenu/GroupContentMenu'
import GetCategories from '~/mixins/getCategoriesMixin.js'
@ -104,7 +104,7 @@ export default {
},
},
created() {
this.icons = ocelotIcons
this.icons = iconRegistry
},
computed: {
descriptionExcerpt() {

View File

@ -19,7 +19,7 @@
<script>
import { OsButton, OsIcon } from '@ocelot-social/ui'
import { ocelotIcons } from '@ocelot-social/ui/ocelot'
import { iconRegistry } from '~/utils/iconRegistry'
export default {
components: { OsButton, OsIcon },
@ -30,7 +30,7 @@ export default {
},
},
created() {
this.icons = ocelotIcons
this.icons = iconRegistry
},
methods: {
clearSearch() {

View File

@ -343,7 +343,7 @@
<script>
import { OsButton, OsIcon } from '@ocelot-social/ui'
import { ocelotIcons } from '@ocelot-social/ui/ocelot'
import { iconRegistry } from '~/utils/iconRegistry'
import { mapGetters } from 'vuex'
import isEmpty from 'lodash/isEmpty'
import { SHOW_GROUP_BUTTON_IN_HEADER } from '~/constants/groups.js'
@ -409,7 +409,7 @@ export default {
},
},
created() {
this.icons = ocelotIcons
this.icons = iconRegistry
},
methods: {
handleScroll() {

View File

@ -37,7 +37,7 @@
<script>
import { OsButton, OsIcon } from '@ocelot-social/ui'
import { ocelotIcons } from '@ocelot-social/ui/ocelot'
import { iconRegistry } from '~/utils/iconRegistry'
import Dropdown from '~/components/Dropdown'
import { mapGetters, mapMutations } from 'vuex'
import InvitationList from '~/components/_new/features/Invitations/InvitationList.vue'
@ -62,7 +62,7 @@ export default {
},
},
created() {
this.icons = ocelotIcons
this.icons = iconRegistry
},
methods: {
...mapMutations({

View File

@ -35,7 +35,7 @@
<script>
import { OsIcon } from '@ocelot-social/ui'
import { ocelotIcons } from '@ocelot-social/ui/ocelot'
import { iconRegistry } from '~/utils/iconRegistry'
import gql from 'graphql-tag'
import Dropdown from '~/components/Dropdown'
import find from 'lodash/find'
@ -75,7 +75,7 @@ export default {
}),
},
created() {
this.icons = ocelotIcons
this.icons = iconRegistry
},
methods: {
changeLanguage(locale, toggleMenu) {

View File

@ -12,7 +12,7 @@
<script>
import { OsIcon } from '@ocelot-social/ui'
import { ocelotIcons } from '@ocelot-social/ui/ocelot'
import { iconRegistry } from '~/utils/iconRegistry'
export default {
name: 'LocationInfo',
@ -32,7 +32,7 @@ export default {
},
},
created() {
this.icons = ocelotIcons
this.icons = iconRegistry
},
}
</script>

View File

@ -14,7 +14,7 @@
<script>
import { OsIcon } from '@ocelot-social/ui'
import { ocelotIcons } from '@ocelot-social/ui/ocelot'
import { iconRegistry } from '~/utils/iconRegistry'
export default {
name: 'LocationTeaser',
@ -45,7 +45,7 @@ export default {
},
},
created() {
this.icons = ocelotIcons
this.icons = iconRegistry
},
}
</script>

View File

@ -27,7 +27,7 @@
<script>
import { OsButton, OsIcon } from '@ocelot-social/ui'
import { ocelotIcons } from '@ocelot-social/ui/ocelot'
import { iconRegistry } from '~/utils/iconRegistry'
import Dropdown from '~/components/Dropdown'
export default {
@ -40,7 +40,7 @@ export default {
placement: { type: String, default: 'top-end' },
},
created() {
this.icons = ocelotIcons
this.icons = iconRegistry
},
}
</script>

View File

@ -67,7 +67,7 @@ import LocaleSwitch from '~/components/LocaleSwitch/LocaleSwitch'
import Logo from '~/components/Logo/Logo'
import ShowPassword from '../ShowPassword/ShowPassword.vue'
import { OsButton, OsIcon } from '@ocelot-social/ui'
import { ocelotIcons } from '@ocelot-social/ui/ocelot'
import { iconRegistry } from '~/utils/iconRegistry'
import { mapGetters, mapMutations } from 'vuex'
export default {
@ -103,7 +103,7 @@ export default {
}),
},
created() {
this.icons = ocelotIcons
this.icons = iconRegistry
},
methods: {
...mapMutations({

View File

@ -56,7 +56,7 @@
<script>
import { OsButton, OsIcon } from '@ocelot-social/ui'
import { ocelotIcons } from '@ocelot-social/ui/ocelot'
import { iconRegistry } from '~/utils/iconRegistry'
import gql from 'graphql-tag'
import { mapMutations } from 'vuex'
import { SweetalertIcon } from 'vue-sweetalert-icons'
@ -83,7 +83,7 @@ export default {
}
},
created() {
this.icons = ocelotIcons
this.icons = iconRegistry
},
computed: {
title() {

View File

@ -23,7 +23,7 @@
<script>
import { OsButton, OsIcon } from '@ocelot-social/ui'
import { ocelotIcons } from '@ocelot-social/ui/ocelot'
import { iconRegistry } from '~/utils/iconRegistry'
import gql from 'graphql-tag'
export default {
@ -51,7 +51,7 @@ export default {
},
},
created() {
this.icons = ocelotIcons
this.icons = iconRegistry
},
methods: {
async cancel() {

View File

@ -55,7 +55,7 @@
<script>
import { OsButton, OsIcon } from '@ocelot-social/ui'
import { ocelotIcons } from '@ocelot-social/ui/ocelot'
import { iconRegistry } from '~/utils/iconRegistry'
import { SweetalertIcon } from 'vue-sweetalert-icons'
import { reportMutation } from '~/graphql/Moderation.js'
import { valuesReasonCategoryOptions } from '~/constants/modals.js'
@ -101,7 +101,7 @@ export default {
},
},
created() {
this.icons = ocelotIcons
this.icons = iconRegistry
this.form.reasonCategoryOptions = valuesReasonCategoryOptions.map((reasonCategory) => {
return {
label: this.$t('report.reason.category.options.' + reasonCategory),

View File

@ -78,7 +78,7 @@
import { mapGetters } from 'vuex'
import unionBy from 'lodash/unionBy'
import { OsButton } from '@ocelot-social/ui'
import { ocelotIcons } from '@ocelot-social/ui/ocelot'
import { iconRegistry } from '~/utils/iconRegistry'
import {
notificationQuery,
markAsReadMutation,
@ -107,7 +107,7 @@ export default {
noMenu: { type: Boolean, default: false },
},
created() {
this.icons = ocelotIcons
this.icons = iconRegistry
},
mounted() {
window.addEventListener('resize', this.handleResize)

View File

@ -95,7 +95,7 @@
</template>
<script>
import { OsIcon } from '@ocelot-social/ui'
import { ocelotIcons } from '@ocelot-social/ui/ocelot'
import { iconRegistry } from '~/utils/iconRegistry'
import UserTeaser from '~/components/UserTeaser/UserTeaser'
import HcEmpty from '~/components/Empty/Empty'
import BaseCard from '../_new/generic/BaseCard/BaseCard.vue'
@ -130,7 +130,7 @@ export default {
},
},
created() {
this.icons = ocelotIcons
this.icons = iconRegistry
},
methods: {
isComment(notificationSource) {

View File

@ -11,7 +11,7 @@
</template>
<script>
import { ocelotIcons } from '@ocelot-social/ui/ocelot'
import { iconRegistry } from '~/utils/iconRegistry'
import ActionButton from '~/components/ActionButton.vue'
export default {
@ -24,7 +24,7 @@ export default {
isObserved: { type: Boolean, default: false },
},
created() {
this.icons = ocelotIcons
this.icons = iconRegistry
},
methods: {
toggle() {

View File

@ -123,6 +123,16 @@
<client-only>
<div class="date-row" v-if="post.createdAt">
<span class="text">
<os-icon
v-if="post.sortDate && post.sortDate !== post.createdAt"
:icon="icons.arrowUp"
size="sm"
v-tooltip="{
content: $t('post.menu.pushed'),
placement: 'bottom-end',
}"
class="pushed-icon"
/>
<date-time :date-time="post.createdAt" />
<slot name="dateTime"></slot>
</span>
@ -133,7 +143,8 @@
</template>
<script>
import { ocelotIcons } from '@ocelot-social/ui/ocelot'
import { OsIcon } from '@ocelot-social/ui'
import { iconRegistry } from '~/utils/iconRegistry'
import Category from '~/components/Category'
import ContentMenu from '~/components/ContentMenu/ContentMenu'
import CounterIcon from '~/components/_new/generic/CounterIcon/CounterIcon'
@ -154,6 +165,7 @@ export default {
components: {
Category,
ContentMenu,
OsIcon,
CounterIcon,
DateTimeRange,
HcRibbon,
@ -220,7 +232,7 @@ export default {
},
},
created() {
this.icons = ocelotIcons
this.icons = iconRegistry
},
methods: {
async deletePostCallback() {
@ -362,6 +374,11 @@ export default {
color: $text-color-soft;
font-size: $font-size-small;
> .pushed-icon {
margin-right: $space-xx-small;
vertical-align: middle !important; // Override OsIcon's Tailwind align-bottom
}
> .ds-text {
display: inline;
}

View File

@ -165,7 +165,7 @@ import PasswordStrength from '~/components/Password/Strength'
import EmailDisplayAndVerify from './EmailDisplayAndVerify'
import PageParamsLink from '~/components/_new/features/PageParamsLink/PageParamsLink'
import PasswordForm from '~/components/utils/PasswordFormHelper'
import { ocelotIcons } from '@ocelot-social/ui/ocelot'
import { iconRegistry } from '~/utils/iconRegistry'
import ShowPassword from '../ShowPassword/ShowPassword.vue'
import LocationSelect from '~/components/Select/LocationSelect'
@ -296,7 +296,7 @@ export default {
},
},
created() {
this.icons = ocelotIcons
this.icons = iconRegistry
},
methods: {
buildName(data) {

View File

@ -25,7 +25,7 @@
<script>
import { OsButton, OsIcon } from '@ocelot-social/ui'
import { ocelotIcons } from '@ocelot-social/ui/ocelot'
import { iconRegistry } from '~/utils/iconRegistry'
import gql from 'graphql-tag'
export default {
@ -53,7 +53,7 @@ export default {
},
},
created() {
this.icons = ocelotIcons
this.icons = iconRegistry
},
methods: {
cancel() {

View File

@ -30,7 +30,7 @@
<script>
import { OsButton, OsIcon } from '@ocelot-social/ui'
import { ocelotIcons } from '@ocelot-social/ui/ocelot'
import { iconRegistry } from '~/utils/iconRegistry'
import { queryLocations } from '~/graphql/location'
let timeout
@ -54,7 +54,7 @@ export default {
},
},
async created() {
this.icons = ocelotIcons
this.icons = iconRegistry
const result = await this.requestGeoData(this.locationName)
this.$nextTick(() => {
this.currentValue = result || this.locationName

View File

@ -12,7 +12,7 @@
<script>
import gql from 'graphql-tag'
import { ocelotIcons } from '@ocelot-social/ui/ocelot'
import { iconRegistry } from '~/utils/iconRegistry'
import ActionButton from '~/components/ActionButton.vue'
@ -43,7 +43,7 @@ export default {
},
},
created() {
this.icons = ocelotIcons
this.icons = iconRegistry
},
methods: {
toggle() {

View File

@ -21,7 +21,7 @@
</template>
<script>
import { OsIcon } from '@ocelot-social/ui'
import { ocelotIcons } from '@ocelot-social/ui/ocelot'
import { iconRegistry } from '~/utils/iconRegistry'
import vueDropzone from 'nuxt-dropzone'
export default {
@ -60,7 +60,7 @@ export default {
},
},
created() {
this.icons = ocelotIcons
this.icons = iconRegistry
},
methods: {
template() {

View File

@ -59,7 +59,7 @@
<script>
import { OsButton, OsIcon } from '@ocelot-social/ui'
import { ocelotIcons } from '@ocelot-social/ui/ocelot'
import { iconRegistry } from '~/utils/iconRegistry'
import Cropper from 'cropperjs'
import VueDropzone from 'nuxt-dropzone'
import LoadingSpinner from '~/components/_new/generic/LoadingSpinner/LoadingSpinner'
@ -96,7 +96,7 @@ export default {
}
},
created() {
this.icons = ocelotIcons
this.icons = iconRegistry
},
methods: {
onUnSupportedFormat(message) {

View File

@ -60,7 +60,7 @@
<script>
import { OsIcon } from '@ocelot-social/ui'
import { ocelotIcons } from '@ocelot-social/ui/ocelot'
import { iconRegistry } from '~/utils/iconRegistry'
import { mapGetters } from 'vuex'
import { userTeaserQuery } from '~/graphql/User.js'
@ -132,7 +132,7 @@ export default {
},
},
created() {
this.icons = ocelotIcons
this.icons = iconRegistry
},
methods: {
async loadPopover(openMenu) {

View File

@ -27,7 +27,7 @@
<script>
import { OsButton, OsIcon } from '@ocelot-social/ui'
import { ocelotIcons } from '@ocelot-social/ui/ocelot'
import { iconRegistry } from '~/utils/iconRegistry'
export default {
name: 'CreateInvitation',
@ -44,7 +44,7 @@ export default {
}
},
created() {
this.icons = ocelotIcons
this.icons = iconRegistry
},
methods: {
generateInviteCode() {

View File

@ -47,7 +47,7 @@
<script>
import { OsButton, OsIcon } from '@ocelot-social/ui'
import { ocelotIcons } from '@ocelot-social/ui/ocelot'
import { iconRegistry } from '~/utils/iconRegistry'
import { mapMutations } from 'vuex'
export default {
@ -80,7 +80,7 @@ export default {
}
},
created() {
this.icons = ocelotIcons
this.icons = iconRegistry
this.canCopy = !!navigator.clipboard
},
methods: {

View File

@ -83,7 +83,7 @@
<script>
import { OsButton, OsIcon } from '@ocelot-social/ui'
import { ocelotIcons } from '@ocelot-social/ui/ocelot'
import { iconRegistry } from '~/utils/iconRegistry'
import { mapMutations } from 'vuex'
export default {
@ -135,7 +135,7 @@ export default {
},
},
created() {
this.icons = ocelotIcons
this.icons = iconRegistry
},
methods: {
...mapMutations({

View File

@ -1,5 +1,5 @@
import { storiesOf } from '@storybook/vue'
import { ocelotIcons } from '@ocelot-social/ui/ocelot'
import { iconRegistry } from '~/utils/iconRegistry'
import helpers from '~/storybook/helpers'
import LabeledButton from './LabeledButton.vue'
@ -11,7 +11,7 @@ storiesOf('Generic/LabeledButton', module)
components: { LabeledButton },
data: () => ({
filled: false,
icons: ocelotIcons,
icons: iconRegistry,
}),
template: `
<labeled-button

View File

@ -35,7 +35,7 @@
<script>
import { OsButton, OsIcon } from '@ocelot-social/ui'
import { ocelotIcons } from '@ocelot-social/ui/ocelot'
import { iconRegistry } from '~/utils/iconRegistry'
export default {
components: {
@ -73,7 +73,7 @@ export default {
},
},
created() {
this.icons = ocelotIcons
this.icons = iconRegistry
},
}
</script>

View File

@ -17,7 +17,7 @@
<script>
import { OsIcon } from '@ocelot-social/ui'
import { ocelotIcons } from '@ocelot-social/ui/ocelot'
import { iconRegistry } from '~/utils/iconRegistry'
import ResponsiveImage from '~/components/ResponsiveImage/ResponsiveImage.vue'
export default {
@ -58,7 +58,7 @@ export default {
},
},
created() {
this.icons = ocelotIcons
this.icons = iconRegistry
},
}
</script>

View File

@ -12,7 +12,7 @@
</template>
<script>
import { ocelotIcons } from '@ocelot-social/ui/ocelot'
import { iconRegistry } from '~/utils/iconRegistry'
import { mapMutations } from 'vuex'
import DropdownFilter from '~/components/DropdownFilter/DropdownFilter'
import ReportsTable from '~/components/features/ReportsTable/ReportsTable'
@ -112,7 +112,7 @@ export default {
},
},
created() {
this.icons = ocelotIcons
this.icons = iconRegistry
},
methods: {
...mapMutations({

View File

@ -86,7 +86,7 @@
<script>
import { OsButton, OsIcon } from '@ocelot-social/ui'
import { ocelotIcons } from '@ocelot-social/ui/ocelot'
import { iconRegistry } from '~/utils/iconRegistry'
import FiledReportsTable from '~/components/features/FiledReportsTable/FiledReportsTable'
import UserTeaser from '~/components/UserTeaser/UserTeaser'
@ -110,7 +110,7 @@ export default {
}
},
created() {
this.icons = ocelotIcons
this.icons = iconRegistry
},
computed: {
isPost() {

View File

@ -14,7 +14,7 @@
</template>
<script>
import { ocelotIcons } from '@ocelot-social/ui/ocelot'
import { iconRegistry } from '~/utils/iconRegistry'
import CounterIcon from '~/components/_new/generic/CounterIcon/CounterIcon'
export default {
@ -26,7 +26,7 @@ export default {
option: { type: Object, required: true },
},
created() {
this.icons = ocelotIcons
this.icons = iconRegistry
},
}
</script>

View File

@ -67,7 +67,7 @@
<script>
import { OsButton, OsIcon } from '@ocelot-social/ui'
import { ocelotIcons } from '@ocelot-social/ui/ocelot'
import { iconRegistry } from '~/utils/iconRegistry'
import { isEmpty } from 'lodash'
import SearchHeading from '~/components/generic/SearchHeading/SearchHeading.vue'
import SearchPost from '~/components/generic/SearchPost/SearchPost.vue'
@ -99,7 +99,7 @@ export default {
}
},
created() {
this.icons = ocelotIcons
this.icons = iconRegistry
},
computed: {
emptyText() {

View File

@ -1,4 +1,4 @@
import { ocelotIcons } from '@ocelot-social/ui/ocelot'
import { iconRegistry } from '~/utils/iconRegistry'
import PostMutations from '~/graphql/PostMutations.js'
export function postMenuModalsData(truncatedPostName, confirmCallback, cancelCallback = () => {}) {
@ -12,12 +12,12 @@ export function postMenuModalsData(truncatedPostName, confirmCallback, cancelCal
buttons: {
confirm: {
danger: true,
icon: ocelotIcons.trash,
icon: iconRegistry.trash,
textIdent: 'delete.submit',
callback: confirmCallback,
},
cancel: {
icon: ocelotIcons.close,
icon: iconRegistry.close,
textIdent: 'delete.cancel',
callback: cancelCallback,
},

View File

@ -884,6 +884,7 @@
"pin": "Beitrag anheften",
"pinnedSuccessfully": "Beitrag erfolgreich angeheftet!",
"push": "Beitrag hochschieben",
"pushed": "Nach oben geschoben",
"pushedSuccessfully": "Beitrag erfolgreich nach oben geschoben!",
"unobserve": "Beitrag nicht mehr beobachten",
"unobservedSuccessfully": "Du beobachtest diesen Beitrag nicht mehr!",

View File

@ -884,6 +884,7 @@
"pin": "Pin post",
"pinnedSuccessfully": "Post pinned successfully!",
"push": "Push to top",
"pushed": "Pushed to top",
"pushedSuccessfully": "Post pushed to top successfully!",
"unobserve": "Stop to observe post",
"unobservedSuccessfully": "You are no longer observing this post!",

View File

@ -884,6 +884,7 @@
"pin": "Anclar contribución",
"pinnedSuccessfully": "¡Contribución anclado con éxito!",
"push": null,
"pushed": "Subido arriba",
"pushedSuccessfully": null,
"unobserve": "Dejar de observar contribución",
"unobservedSuccessfully": null,

View File

@ -884,6 +884,7 @@
"pin": "Épingler le Post",
"pinnedSuccessfully": "Poste épinglé avec succès!",
"push": null,
"pushed": "Remonté en haut",
"pushedSuccessfully": null,
"unobserve": "Ne plus observer le Post",
"unobservedSuccessfully": null,

View File

@ -884,6 +884,7 @@
"pin": null,
"pinnedSuccessfully": null,
"push": null,
"pushed": "Spostato in alto",
"pushedSuccessfully": null,
"unobserve": null,
"unobservedSuccessfully": null,

View File

@ -884,6 +884,7 @@
"pin": null,
"pinnedSuccessfully": null,
"push": null,
"pushed": "Naar boven geduwd",
"pushedSuccessfully": null,
"unobserve": null,
"unobservedSuccessfully": null,

View File

@ -884,6 +884,7 @@
"pin": null,
"pinnedSuccessfully": null,
"push": null,
"pushed": "Przesunięto na górę",
"pushedSuccessfully": null,
"unobserve": null,
"unobservedSuccessfully": null,

View File

@ -884,6 +884,7 @@
"pin": "Fixar publicação",
"pinnedSuccessfully": "Publicação fixada com sucesso!",
"push": null,
"pushed": "Movido para o topo",
"pushedSuccessfully": null,
"unobserve": "Deixar de observar publicação",
"unobservedSuccessfully": null,

View File

@ -884,6 +884,7 @@
"pin": "Закрепить пост",
"pinnedSuccessfully": "Пост больше не закреплен!",
"push": null,
"pushed": "Поднято наверх",
"pushedSuccessfully": null,
"unobserve": null,
"unobservedSuccessfully": null,

View File

@ -98,7 +98,7 @@
<script>
import { OsButton, OsIcon } from '@ocelot-social/ui'
import { ocelotIcons } from '@ocelot-social/ui/ocelot'
import { iconRegistry } from '~/utils/iconRegistry'
import { mapGetters } from 'vuex'
import { isEmail } from 'validator'
import PaginationButtons from '~/components/_new/generic/PaginationButtons/PaginationButtons'
@ -112,7 +112,7 @@ export default {
PaginationButtons,
},
created() {
this.icons = ocelotIcons
this.icons = iconRegistry
},
data() {
const pageSize = 15

View File

@ -289,7 +289,7 @@
<script>
import { OsButton, OsIcon } from '@ocelot-social/ui'
import { ocelotIcons } from '@ocelot-social/ui/ocelot'
import { iconRegistry } from '~/utils/iconRegistry'
import uniqBy from 'lodash/uniqBy'
import { profilePagePosts } from '~/graphql/PostQuery'
import { updateGroupMutation, groupQuery, groupMembersQuery } from '~/graphql/groups'
@ -432,7 +432,7 @@ export default {
// },
},
created() {
this.icons = ocelotIcons
this.icons = iconRegistry
},
watch: {
isAllowedSeeingGroupMembers(to, _from) {

View File

@ -60,7 +60,7 @@
<script>
import { OsButton, OsIcon } from '@ocelot-social/ui'
import { ocelotIcons } from '@ocelot-social/ui/ocelot'
import { iconRegistry } from '~/utils/iconRegistry'
import GroupList from '~/components/Group/GroupList'
import { groupQuery, groupCountQuery } from '~/graphql/groups.js'
import TabNavigation from '~/components/_new/generic/TabNavigation/TabNavigation'
@ -83,7 +83,7 @@ export default {
PaginationButtons,
},
created() {
this.icons = ocelotIcons
this.icons = iconRegistry
},
data() {
return {

View File

@ -152,7 +152,7 @@
<script>
import { OsButton, OsIcon } from '@ocelot-social/ui'
import { ocelotIcons } from '@ocelot-social/ui/ocelot'
import { iconRegistry } from '~/utils/iconRegistry'
import postListActions from '~/mixins/postListActions'
import mobile from '~/mixins/mobile'
import DonationInfo from '~/components/DonationInfo/DonationInfo.vue'
@ -238,7 +238,7 @@ export default {
},
},
created() {
this.icons = ocelotIcons
this.icons = iconRegistry
},
mounted() {
if (this.categoryId) {

View File

@ -182,7 +182,7 @@
<script>
import { OsButton, OsIcon } from '@ocelot-social/ui'
import { ocelotIcons } from '@ocelot-social/ui/ocelot'
import { iconRegistry } from '~/utils/iconRegistry'
import ContentViewer from '~/components/Editor/ContentViewer'
import CommentForm from '~/components/CommentForm/CommentForm'
import CommentList from '~/components/CommentList/CommentList'
@ -238,7 +238,7 @@ export default {
},
mixins: [GetCategories, postListActions, SortCategories],
created() {
this.icons = ocelotIcons
this.icons = iconRegistry
},
head() {
return {

View File

@ -211,7 +211,7 @@
<script>
import { OsButton, OsIcon } from '@ocelot-social/ui'
import { ocelotIcons } from '@ocelot-social/ui/ocelot'
import { iconRegistry } from '~/utils/iconRegistry'
import uniqBy from 'lodash/uniqBy'
import { mapGetters, mapMutations } from 'vuex'
import postListActions from '~/mixins/postListActions'
@ -263,7 +263,7 @@ export default {
LocationInfo,
},
created() {
this.icons = ocelotIcons
this.icons = iconRegistry
},
mixins: [postListActions],
transition: {

View File

@ -84,7 +84,7 @@
<script>
import { OsButton, OsIcon } from '@ocelot-social/ui'
import { ocelotIcons } from '@ocelot-social/ui/ocelot'
import { iconRegistry } from '~/utils/iconRegistry'
import { blockedUsers, unblockUser } from '~/graphql/settings/BlockedUsers'
import ProfileAvatar from '~/components/_new/generic/ProfileAvatar/ProfileAvatar'
import scrollToContent from './scroll-to-content.js'
@ -97,7 +97,7 @@ export default {
ProfileAvatar,
},
created() {
this.icons = ocelotIcons
this.icons = iconRegistry
},
data() {
return {

View File

@ -23,7 +23,7 @@
<script>
import { OsButton, OsIcon } from '@ocelot-social/ui'
import { ocelotIcons } from '@ocelot-social/ui/ocelot'
import { iconRegistry } from '~/utils/iconRegistry'
import { mapGetters } from 'vuex'
import { userDataQuery } from '~/graphql/User'
import isEmpty from 'lodash/isEmpty'
@ -36,7 +36,7 @@ export default {
OsIcon,
},
created() {
this.icons = ocelotIcons
this.icons = iconRegistry
},
data() {
return {

View File

@ -46,7 +46,7 @@
<script>
import { OsButton, OsIcon } from '@ocelot-social/ui'
import { ocelotIcons } from '@ocelot-social/ui/ocelot'
import { iconRegistry } from '~/utils/iconRegistry'
import { mapGetters, mapMutations } from 'vuex'
import UniqueSlugForm from '~/components/utils/UniqueSlugForm'
import LocationSelect from '~/components/Select/LocationSelect'
@ -75,7 +75,7 @@ export default {
}
},
created() {
this.icons = ocelotIcons
this.icons = iconRegistry
},
mounted() {
this.formData.name = this.currentUser.name

View File

@ -81,7 +81,7 @@
<script>
import { OsButton, OsIcon } from '@ocelot-social/ui'
import { ocelotIcons } from '@ocelot-social/ui/ocelot'
import { iconRegistry } from '~/utils/iconRegistry'
import { mutedUsers, unmuteUser } from '~/graphql/settings/MutedUsers'
import ProfileAvatar from '~/components/_new/generic/ProfileAvatar/ProfileAvatar'
import scrollToContent from './scroll-to-content.js'
@ -94,7 +94,7 @@ export default {
ProfileAvatar,
},
created() {
this.icons = ocelotIcons
this.icons = iconRegistry
},
data() {
return {

View File

@ -27,7 +27,7 @@
<script>
import { OsButton, OsIcon } from '@ocelot-social/ui'
import { ocelotIcons } from '@ocelot-social/ui/ocelot'
import { iconRegistry } from '~/utils/iconRegistry'
export default {
components: { OsButton, OsIcon },
@ -50,7 +50,7 @@ export default {
},
},
created() {
this.icons = ocelotIcons
this.icons = iconRegistry
},
methods: {
async submit() {

View File

@ -36,7 +36,7 @@
<script>
import { mapGetters } from 'vuex'
import { OsButton, OsIcon } from '@ocelot-social/ui'
import { ocelotIcons } from '@ocelot-social/ui/ocelot'
import { iconRegistry } from '~/utils/iconRegistry'
import { AddEmailAddressMutation } from '~/graphql/EmailAddress.js'
import { SweetalertIcon } from 'vue-sweetalert-icons'
import scrollToContent from '../scroll-to-content.js'
@ -49,7 +49,7 @@ export default {
SweetalertIcon,
},
created() {
this.icons = ocelotIcons
this.icons = iconRegistry
},
data() {
return {

View File

@ -27,7 +27,7 @@
<script>
import { mapGetters, mapMutations } from 'vuex'
import { ocelotIcons } from '@ocelot-social/ui/ocelot'
import { iconRegistry } from '~/utils/iconRegistry'
import unionBy from 'lodash/unionBy'
import {
createSocialMediaMutation,
@ -96,7 +96,7 @@ export default {
},
},
created() {
this.icons = ocelotIcons
this.icons = iconRegistry
},
methods: {
...mapMutations({

View File

@ -25,7 +25,7 @@
<script>
import { OsButton, OsIcon } from '@ocelot-social/ui'
import { ocelotIcons } from '@ocelot-social/ui/ocelot'
import { iconRegistry } from '~/utils/iconRegistry'
import { mapGetters, mapMutations } from 'vuex'
import { VERSION } from '~/constants/terms-and-conditions-version.js'
import { updateUserMutation } from '~/graphql/User.js'
@ -34,7 +34,7 @@ export default {
name: 'TermsAndConditionsConfirm',
components: { OsButton, OsIcon },
created() {
this.icons = ocelotIcons
this.icons = iconRegistry
},
layout: 'default',
head() {