status-desktop/ui/shared/status/StatusLetterIdenticon.qml
Pascal Precht fac0e50e37 feat: introduce StatusIdenticon components
This component introduces `StatusLetterIdenticon`, `StatusImageIdenticon`
and `StatusIdenticon`.

- `StatusLetterIdenticon` renders an identicon with a single letter based on a
name.
- `StatusImageIdenticon` renders an actual image based on an identicon URL
- `StatusIdenticon` is a composition of the former both, but with a loading mechanism
  to decide which should be rendered

The commit also ensures all of these components are used respectively throughout
the application.
2020-09-23 08:52:30 +02:00

32 lines
730 B
QML

import QtQuick 2.13
import "../../imports"
import "../../shared"
Rectangle {
id: root
property string chatName
width: 40
height: 40
radius: width / 2
color: {
const color = chatsModel.getChannelColor(root.chatName)
if (!color) {
return Style.current.transparent
}
return color
}
StyledText {
text: (root.chatName.charAt(0) == "#" ? root.chatName.charAt(1) : root.chatName.charAt(0)).toUpperCase()
opacity: 0.7
font.weight: Font.Bold
font.pixelSize: root.isCompact ? 14 : 21
color: "white"
anchors.horizontalCenter: parent.horizontalCenter
anchors.verticalCenter: parent.verticalCenter
}
}