mirror of
https://github.com/basecamp/once-campfire.git
synced 2026-04-22 20:21:51 +09:00
64 lines
3.1 KiB
Plaintext
64 lines
3.1 KiB
Plaintext
<%= sidebar_turbo_frame_tag do %>
|
|
<%= turbo_stream_from :rooms %>
|
|
<%= turbo_stream_from Current.user, :rooms %>
|
|
|
|
<div class="sidebar__container overflow-y overflow-hide-scrollbar"
|
|
data-controller="badge-dot"
|
|
data-badge-dot-unread-class="unread"
|
|
data-action="rooms-list:unread@window->badge-dot#update rooms-list:read@window->badge-dot#update turbo:submit-start->turbo-frame#unpermanize">
|
|
<turbo-frame id="direct_rooms_control" target="_top">
|
|
<div class="directs gap overflow-x overflow-hide-scrollbar">
|
|
<%= link_to new_rooms_direct_path, class: "direct direct__new", data: { turbo_frame: "_self" } do %>
|
|
<span class="avatar avatar--icon">
|
|
<%= image_tag "messages-add.svg", size: 20, aria: { hidden: "true" }, class: "colorize--black" %>
|
|
</span>
|
|
|
|
<span class="direct__author flex max-width min-width border-radius pad-inline-half">
|
|
<span class="for-screen-reader">New</span>
|
|
<span class="txt-small overflow-clip">Ping</span>
|
|
</span>
|
|
<% end %>
|
|
|
|
<div id="direct_rooms" contents data-controller="sorted-list" data-action="rooms-list:unread@window->sorted-list#updateItem">
|
|
<%= render partial: "users/sidebars/rooms/direct", collection: @direct_memberships, as: :membership, cached: true %>
|
|
</div>
|
|
|
|
<div contents>
|
|
<%= render partial: "users/sidebars/rooms/direct_placeholder", collection: @direct_placeholder_users, as: :user %>
|
|
</div>
|
|
</div>
|
|
</turbo-frame>
|
|
|
|
<div class="rooms position-relative flex flex-column gap">
|
|
<div id="shared_rooms" contents data-controller="sorted-list">
|
|
<% @other_memberships.each do |membership| %>
|
|
<%= render "users/sidebars/rooms/shared", room: membership.room, unread: membership.unread? %>
|
|
<% end %>
|
|
</div>
|
|
|
|
<% if Current.user.administrator? || !Current.account.settings.restrict_room_creation_to_administrators? %>
|
|
<%= link_to new_rooms_open_path, class: "rooms__new-btn btn room align-center gap txt-reversed", aria: { label: "New Chat Room" } do %>
|
|
<%= image_tag "add.svg", size: 20, aria: { hidden: "true" }, style: "view-transition-name: new-room" %>
|
|
<% end %>
|
|
<% end %>
|
|
</div>
|
|
|
|
<button class="btn sidebar__toggle" data-action="toggle-class#toggle">
|
|
<%= image_tag "menu.svg", size: 20, aria: { hidden: "true" } %>
|
|
<span class="for-screen-reader">Open menu</span>
|
|
</button>
|
|
</div>
|
|
|
|
<div class="flex align-end sidebar__tools gap justify-end">
|
|
<%= link_to user_profile_path, class: "btn avatar flex-item-no-shrink sidebar__tool" do %>
|
|
<%= image_tag fresh_user_avatar_path(Current.user), size: 48, aria: { hidden: "true" }, style: "view-transition-name: avatar-#{Current.user.id}" %>
|
|
<span class="for-screen-reader">My Settings</span>
|
|
<% end %>
|
|
|
|
<%= link_to edit_account_path, class: "btn align-center gap txt-reversed sidebar__tool" do %>
|
|
<%= image_tag "settings.svg", size: 20, aria: { hidden: "true" }, style: "view-transition-name: account-settings" %>
|
|
<span class="for-screen-reader">Account Settings</span>
|
|
<% end %>
|
|
</div>
|
|
<% end %>
|