status-desktop/ui/app/AppLayouts/Profile/panels/ProfileShowcaseCommunitiesP...

40 lines
1.3 KiB
QML

import QtQuick 2.15
import StatusQ 0.1
import utils 1.0
import AppLayouts.Profile.controls 1.0
ProfileShowcasePanel {
id: root
emptyInShowcasePlaceholderText: qsTr("Drag communities here to display in showcase")
emptyHiddenPlaceholderText: qsTr("Communities here will be hidden from your Profile")
emptySearchPlaceholderText: qsTr("No communities matching search")
searchPlaceholderText: qsTr("Search community name or role")
delegate: ProfileShowcasePanelDelegate {
title: model ? model.name : ""
secondaryTitle: (model && model.memberRole) ? ProfileUtils.getMemberRoleText(model.memberRole) : qsTr("Member")
hasImage: model && !!model.image
icon.name: model ? model.name : ""
icon.source: model ? model.image : ""
icon.color: model ? model.color : ""
}
filter: FastExpressionFilter {
readonly property string lowerCaseSearchText: root.searcherText.toLowerCase()
function getMemberRole(memberRole) {
return ProfileUtils.getMemberRoleText(memberRole)
}
expression: {
lowerCaseSearchText
return (name.toLowerCase().includes(lowerCaseSearchText) ||
getMemberRole(memberRole).toLowerCase().includes(lowerCaseSearchText))
}
expectedRoles: ["name", "memberRole"]
}
}