zulip/web/templates/user_profile_modal.hbs

151 lines
9.1 KiB
Handlebars

<div class="micromodal" id="user-profile-modal" data-user-id="{{user_id}}" aria-hidden="true">
<div class="modal__overlay" tabindex="-1">
<div class="modal__container" role="dialog" aria-modal="true" aria-labelledby="dialog_title">
<div class="modal__header">
<h1 class="modal__title user-profile-name-heading" id="name">
{{#unless is_bot}}
{{#if is_active}}
<div class="tippy-zulip-tooltip" data-tippy-content="{{last_seen}}">
<span class="{{user_circle_class}} user_circle user_profile_presence" data-presence-indicator-user-id="{{user_id}}"></span>
</div>
{{else}}
<div>
<i class="fa fa-ban deactivated-user-icon tippy-zulip-tooltip" data-tippy-content="Deactivated user"></i>
</div>
{{/if}}
{{/unless}}
{{#if is_bot}}
<i class="zulip-icon zulip-icon-bot" aria-hidden="true"></i>
{{/if}}
<span class="user-profile-name">{{> user_full_name name=full_name}}</span>
<a class="copy-link-to-user-profile user-profile-manage-own-copy-link-button" tabindex="0" data-user-id="{{user_id}}">
<i class="zulip-icon zulip-icon-link tippy-zulip-tooltip " data-tippy-content="{{t 'Copy link to profile' }}" aria-hidden="true"></i>
</a>
{{#if is_me}}
<a class="user-profile-manage-own-edit-button" href="/#settings/profile">
<i class="zulip-icon zulip-icon-edit tippy-zulip-tooltip" data-tippy-content="{{t 'Edit profile' }}" aria-hidden="true"></i>
</a>
{{/if}}
{{#if can_manage_profile}}
<div class="user-profile-manage-others-edit-button">
<i class="zulip-icon zulip-icon-edit tippy-zulip-tooltip" data-tippy-content="{{t 'Manage user' }}" aria-hidden="true"></i>
</div>
{{/if}}
</h1>
<button class="modal__close" aria-label="{{t 'Close modal' }}" data-micromodal-close></button>
</div>
<div id="tab-toggle"></div>
<main class="modal__body" id="body" data-simplebar data-simplebar-tab-index="-1" data-simplebar-auto-hide="false">
<div class="tab-data">
<div class="tabcontent active" id="profile-tab">
<div class="top">
<div class="col-wrap col-left">
<div id="default-section">
{{#if email}}
<div id="email" class="default-field">
<div class="name">{{t "Email" }}</div>
<div class="value">{{email}}</div>
</div>
{{/if}}
<div id="user-id" class="default-field">
<div class="name">{{t "User ID" }}</div>
<div class="value">{{user_id}}</div>
</div>
<div id="user-type" class="default-field">
<div class="name">{{t "Role" }}</div>
{{#if is_bot}}
{{#if is_system_bot}}
<div class="value">{{t "System bot" }}</div>
{{else}}
<div class="value">{{t "Bot" }}
<span class="lowercase">({{user_type}})</span>
</div>
{{/if}}
{{else}}
<div class="value">{{user_type}}</div>
{{/if}}
</div>
<div id="date-joined" class="default-field">
<div class="name">{{t "Joined" }}</div>
<div class="value">{{date_joined}}</div>
</div>
{{#if user_time}}
<div class="default-field">
<div class="name">{{t "Local time" }}</div>
<div class="value">{{user_time}}</div>
</div>
{{/if}}
</div>
</div>
<div class="col-wrap col-right">
<div id="avatar" {{#if user_is_guest}} class="guest-avatar" {{/if}}
style="background-image: url('{{user_avatar}}');">
</div>
</div>
</div>
<div class="bottom">
<div id="content">
{{#if is_bot}}
<div class="field-section">
<div class="name">{{t "Bot type" }}</div>
<div class="bot_info_value">{{bot_type}}</div>
</div>
{{#if bot_owner}}
<div class="field-section bot_owner_user_field" data-field-id="{{bot_owner.user_id}}">
<div class="name">{{t "Owner" }}</div>
<div class="pill-container not-editable">
<div class="input" contenteditable="false" style="display: none;"></div>
</div>
</div>
{{/if}}
{{else}}
{{> user_custom_profile_fields profile_fields=profile_data}}
{{/if}}
</div>
</div>
</div>
<div class="tabcontent" id="user-profile-streams-tab">
<div class="alert stream_list_info"></div>
{{#if show_user_subscribe_widget}}
<div class="header-section">
<h3 class="stream-tab-element-header">{{t 'Subscribe {full_name} to channels'}}</h3>
</div>
{{> user_profile_subscribe_widget}}
{{/if}}
<div class="stream-list-top-section">
<div class="header-section">
<h3 class="stream-tab-element-header">{{t 'Subscribed channels' }}</h3>
</div>
<input type="text" class="stream-search modal_text_input" placeholder="{{t 'Filter channels' }}" />
<button type="button" class="clear_search_button" id="clear_stream_search">
<i class="fa fa-remove" aria-hidden="true"></i>
</button>
</div>
<div class="subscription-stream-list empty-list">
<table class="user-stream-list" data-empty="{{t 'No channel subscriptions.'}}" data-search-results-empty="{{t 'No matching channels' }}"></table>
</div>
</div>
<div class="tabcontent" id="user-profile-groups-tab">
<div class="subscription-group-list empty-list">
<table class="user-group-list" data-empty="{{t 'No user group subscriptions.'}}"></table>
</div>
</div>
<div class="tabcontent" id="manage-profile-tab"></div>
</div>
</main>
<div class="manage-profile-tab-footer">
<footer class="modal__footer">
<div class="save-success"></div>
<button type="button" class="modal__button dialog_exit_button" aria-label="{{t 'Close this dialog window' }}" data-micromodal-close>{{t "Cancel" }}</button>
<button type="button" class="modal__button dialog_submit_button">
<span class="submit-button-text">{{t "Save changes"}}</span>
<div class="modal__spinner"></div>
</button>
</footer>
</div>
</div>
</div>
</div>