Skip to content
Snippets Groups Projects
recents.html 3.63 KiB
Newer Older
  • Learn to ignore specific revisions
  • <div ng-controller="RecentsController" data-ng-init="onInit()">
        <table class="recentsTable">
    
            <tbody ng-repeat="(rm_id, room) in rooms | orderRecents" 
                   ng-click="goToPage('room/' + (room.room_alias ? room.room_alias : room.room_id) )" 
                   class ="recentsRoom" 
                   ng-class="{'recentsRoomSelected': (room.room_id === recentsSelectedRoomID)}">
    
                <tr>
                    <td class="recentsRoomName">
    
                    </td>
                    <td class="recentsRoomSummaryTS">
                        {{ (room.lastMsg.ts) | date:'MMM d HH:mm' }}
                    </td>
                </tr>
    
                <tr>
                    <td colspan="2" class="recentsRoomSummary">
    
                        <div ng-hide="room.membership === 'invite'" ng-switch="room.lastMsg.type" >
    
                            <div ng-switch-when="m.room.member">
                                <span ng-if="'join' === room.lastMsg.content.membership">
                                    {{ room.lastMsg.state_key }} joined
                                </span>
                                <span ng-if="'leave' === room.lastMsg.content.membership">
                                    <span ng-if="room.lastMsg.user_id === room.lastMsg.state_key">
                                        {{room.lastMsg.state_key }} left
                                    </span>
                                    <span ng-if="room.lastMsg.user_id !== room.lastMsg.state_key">
                                        {{ room.lastMsg.user_id }}
                                        {{ {"join": "kicked", "ban": "unbanned"}[room.lastMsg.content.prev] }}
                                        {{ room.lastMsg.state_key }}
                                    </span>
                                </span>
                                <span ng-if="'invite' === room.lastMsg.content.membership || 'ban' === room.lastMsg.content.membership">
                                    {{ room.lastMsg.user_id }}
                                    {{ {"invite": "invited", "ban": "banned"}[room.lastMsg.content.membership] }}
                                    {{ room.lastMsg.state_key }}
                                </span>
    
                            </div>
    
                            <div ng-switch-when="m.room.message">
                                <div ng-switch="room.lastMsg.content.msgtype">
                                    <div ng-switch-when="m.text">
                                        {{ room.lastMsg.user_id }} :
                                        <span ng-bind-html="(room.lastMsg.content.body) | linky:'_blank'">
                                        </span>
                                    </div>
    
                                    <div ng-switch-when="m.image">
                                        {{ room.lastMsg.user_id }} sent an image
                                    </div>
    
    
                                    <div ng-switch-when="m.emote">
                                        <span ng-bind-html="'* ' + (room.lastMsg.user_id) + ' ' + room.lastMsg.content.body | linky:'_blank'">
                                        </span>
                                    </div>
    
    
                                    <div ng-switch-default>
                                        {{ room.lastMsg.content }}
                                    </div>
                                </div>
                            </div>
    
                            <div ng-switch-default>
    
                                <div ng-if="room.lastMsg.type.indexOf('m.call.') == 0">
                                    Call
                                </div>
    
                            </div>
                        </div>
                    </td>
                </tr>
            </tbody>
        </table>
    </div>