2016-10-21 13:09:34 +00:00
import bb . cascades 1.4
import org . labsquare 1.0
Page {
property variant user
property variant theme : Application . themeSupport . theme . colorTheme . style
2016-10-22 04:16:40 +00:00
property string lorem: "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse non enim tellus. Donec vestibulum enim urna, eget faucibus diam commodo a. Donec eget hendrerit metus. Pellentesque vehicula nisi nec vehicula ullamcorper. Aliquam a elit eget mi fringilla porta fermentum eget eros. Phasellus vestibulum nulla sed elit congue adipiscing. Cras imperdiet urna ac ipsum volutpat lobortis. Maecenas vehicula tortor at viverra convallis. Curabitur nibh massa, tristique id felis ut, venenatis faucibus dui. Donec fringilla, mi nec tincidunt dignissim, neque nunc semper mi, quis rutrum diam turpis sit amet erat. Cras a sodales nisi. Nunc sit amet diam sed lectus molestie cursus convallis et erat. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Duis vitae varius leo. Mauris eu leo a nunc bibendum rutrum euismod et ipsum. "
2016-10-21 13:09:34 +00:00
signal follow ( string uid )
signal unfollow ( string uid )
2016-10-21 15:16:10 +00:00
signal block ( string uid )
signal unblock ( string uid )
signal mute ( string uid )
signal unmute ( string uid )
2016-10-21 13:09:34 +00:00
2016-10-22 04:16:40 +00:00
ScrollView {
2016-10-21 13:09:34 +00:00
Container {
Container {
2016-10-22 04:16:40 +00:00
layout: DockLayout { }
horizontalAlignment: HorizontalAlignment . Fill
preferredHeight: cover . height
2016-10-21 13:09:34 +00:00
Container {
2016-10-22 04:16:40 +00:00
Container {
opacity: 0.6
WebImageView {
id: cover
preferredWidth: 1440
maxHeight: ui . du ( 24 )
scalingMethod: ScalingMethod . AspectFill
//imageSource: "asset:///icons/default_cover.png"
url: user . content . cover_image . link
}
2016-10-21 13:09:34 +00:00
}
}
Container {
2016-10-22 04:16:40 +00:00
layout: StackLayout {
orientation: LayoutOrientation . LeftToRight
2016-10-21 13:09:34 +00:00
}
2016-10-22 04:16:40 +00:00
topPadding: ui . sdu ( 3 )
2016-10-21 13:09:34 +00:00
leftPadding: ui . sdu ( 3 )
2016-10-22 04:16:40 +00:00
verticalAlignment: VerticalAlignment . Center
2016-10-21 13:09:34 +00:00
Container {
2016-10-22 04:16:40 +00:00
background: ( theme === VisualStyle . Bright ) ? Color . create ( "#e9e9e9" ) : Color . create ( "#282828" )
WebImageView {
//imageSource: "asset:///icons/laughing_man.png"
url: user . content . avatar_image . link
maxHeight: ui . du ( 14 )
maxWidth: ui . du ( 14 )
2016-10-21 13:09:34 +00:00
}
}
Container {
2016-10-22 04:16:40 +00:00
leftPadding: ui . sdu ( 3 )
rightPadding: ui . sdu ( 3 )
horizontalAlignment: HorizontalAlignment . Fill
//background: (theme === VisualStyle.Bright) ? Color.create("#e9e9e9") : Color.create("#282828")
Container {
Label {
//text: "Morgan McMillian"
text: user . name
textStyle.fontWeight: FontWeight . Bold
textStyle.fontSize: FontSize . Large
}
}
Container {
Label {
//text: "thrrgilag"
text: user . username
textStyle.fontSize: FontSize . Medium
}
2016-10-21 13:09:34 +00:00
}
}
2016-10-22 04:16:40 +00:00
2016-10-21 13:09:34 +00:00
}
}
Container {
2016-10-22 04:16:40 +00:00
topPadding: ui . sdu ( 3 )
leftPadding: ui . sdu ( 3 )
2016-10-21 13:09:34 +00:00
rightPadding: ui . sdu ( 3 )
2016-10-22 04:16:40 +00:00
layout: DockLayout { }
horizontalAlignment: HorizontalAlignment . Fill
2016-10-21 13:09:34 +00:00
Container {
2016-10-22 04:16:40 +00:00
preferredWidth: ui . du ( 45 )
2016-10-21 13:09:34 +00:00
Label {
2016-10-22 04:16:40 +00:00
//text: lorem
text: user . content . html
multiline: true
textFormat: TextFormat . Html
2016-10-21 13:09:34 +00:00
}
}
Container {
horizontalAlignment: HorizontalAlignment . Right
2016-10-22 04:16:40 +00:00
rightPadding: ui . sdu ( 3 )
Container {
id: counts
layout: StackLayout {
orientation: LayoutOrientation . LeftToRight
}
horizontalAlignment: HorizontalAlignment . Right
Label {
text: qsTr ( "Following" )
}
Label {
text: user . counts . following
}
2016-10-21 13:09:34 +00:00
}
2016-10-22 04:16:40 +00:00
Container {
layout: StackLayout {
orientation: LayoutOrientation . LeftToRight
}
horizontalAlignment: HorizontalAlignment . Right
Label {
text: qsTr ( "Followers" )
}
Label {
text: user . counts . followers
}
2016-10-21 13:09:34 +00:00
}
2016-10-22 04:16:40 +00:00
Container {
layout: StackLayout {
orientation: LayoutOrientation . LeftToRight
}
horizontalAlignment: HorizontalAlignment . Right
Label {
text: qsTr ( "Posts" )
}
Label {
text: user . counts . posts
}
2016-10-21 13:09:34 +00:00
}
2016-10-22 04:16:40 +00:00
Container {
layout: StackLayout {
orientation: LayoutOrientation . LeftToRight
}
horizontalAlignment: HorizontalAlignment . Right
Label {
text: qsTr ( "Bookmarks" )
}
Label {
text: user . counts . bookmarks
}
2016-10-21 13:09:34 +00:00
}
}
2016-10-22 04:16:40 +00:00
2016-10-21 13:09:34 +00:00
}
2016-10-22 04:16:40 +00:00
}
2016-10-21 13:09:34 +00:00
}
actions: [
ActionItem {
title: ( user . you_follow ) ? qsTr ( "Unfollow" ) : qsTr ( "Follow" )
ActionBar.placement: ActionBarPlacement . OnBar
onTriggered: {
if ( user . you_follow ) {
unfollow ( user . id )
} else {
follow ( user . id )
}
}
2016-10-21 15:16:10 +00:00
imageSource: ( user . you_follow ) ? "asset:///icons/minus-circle.png" : "asset:///icons/ic_add.png"
2016-10-21 15:50:17 +00:00
enabled: ( _app . setting ( "username" ) === user . username ) ? false : true
2016-10-21 15:16:10 +00:00
} ,
ActionItem {
title: ( user . you_muted ) ? qsTr ( "Unmute" ) : qsTr ( "Mute" )
ActionBar.placement: ActionBarPlacement . InOverflow
onTriggered: {
if ( user . you_muted ) {
unmute ( user . id )
} else {
mute ( user . id )
}
}
imageSource: ( user . you_muted ) ? "asset:///icons/bell.png" : "asset:///icons/bell-slash.png"
2016-10-21 15:50:17 +00:00
enabled: ( _app . setting ( "username" ) === user . username ) ? false : true
2016-10-21 15:16:10 +00:00
} ,
ActionItem {
title: ( user . you_blocked ) ? qsTr ( "Unblock" ) : qsTr ( "Block" )
ActionBar.placement: ActionBarPlacement . InOverflow
onTriggered: {
if ( user . you_blocked ) {
unblock ( user . id )
} else {
block ( user . id )
}
}
imageSource: "asset:///icons/ic_cancel.png"
2016-10-21 15:50:17 +00:00
enabled: ( _app . setting ( "username" ) === user . username ) ? false : true
2016-10-21 13:09:34 +00:00
}
]
}