diff --git a/pkg/arvo/app/contacts/img/Chat.png b/pkg/arvo/app/contacts/img/Chat.png new file mode 100644 index 0000000000..58223a5d63 Binary files /dev/null and b/pkg/arvo/app/contacts/img/Chat.png differ diff --git a/pkg/arvo/app/contacts/img/Link.png b/pkg/arvo/app/contacts/img/Link.png new file mode 100644 index 0000000000..d83bb877c9 Binary files /dev/null and b/pkg/arvo/app/contacts/img/Link.png differ diff --git a/pkg/arvo/app/contacts/img/Publish.png b/pkg/arvo/app/contacts/img/Publish.png new file mode 100644 index 0000000000..df16b2647c Binary files /dev/null and b/pkg/arvo/app/contacts/img/Publish.png differ diff --git a/pkg/interface/groups/src/js/components/lib/group-detail.js b/pkg/interface/groups/src/js/components/lib/group-detail.js index 08e2aa84d6..dae8f24a62 100644 --- a/pkg/interface/groups/src/js/components/lib/group-detail.js +++ b/pkg/interface/groups/src/js/components/lib/group-detail.js @@ -57,7 +57,15 @@ export class GroupDetail extends Component { let channelList = (
); - channelList = Object.keys(props.association).map((key) => { + channelList = Object.keys(props.association).sort((a, b) => { + let aChannel = props.association[a]; + let bChannel = props.association[b]; + + let aTitle = aChannel.metadata.title || a; + let bTitle = bChannel.metadata.title || b; + + return aTitle.toLowerCase().localeCompare(bTitle.toLowerCase()); + }).map((key) => { let channel = props.association[key]; if (!('metadata' in channel)) { return ; @@ -72,23 +80,44 @@ export class GroupDetail extends Component { let app = channel["app-name"] || "Unknown"; let channelPath = channel["app-path"]; let link = `/~${app}/join${channelPath}` - app = app.charAt(0).toUpperCase() + app.slice(1) + app = app.charAt(0).toUpperCase() + app.slice(1); + + let overlay = { + r: parseInt(color.slice(0, 2), 16), + g: parseInt(color.slice(2, 4), 16), + b: parseInt(color.slice(4, 6), 16) + }; + + let tile = (app === "Unknown") + ? + :