mirror of
https://github.com/indentlabs/notebook.git
synced 2025-10-26 11:19:22 +00:00
145 lines
6.2 KiB
Plaintext
145 lines
6.2 KiB
Plaintext
<h4>
|
|
<%= link_to data_vault_path, class: 'grey-text tooltipped', style: 'position: relative; top: 4px;', data: {
|
|
position: 'bottom',
|
|
enterDelay: '500',
|
|
tooltip: "Back to your Data Vault"
|
|
} do %>
|
|
<i class="material-icons">arrow_back</i>
|
|
<% end %>
|
|
Your notebook's recycle bin
|
|
</h4>
|
|
|
|
<div class="row">
|
|
<div class="col s12">
|
|
<div class="hoverable card">
|
|
<div class="card-content">
|
|
<div class="row">
|
|
<div class="col s12 m7 l8">
|
|
<p>
|
|
Whenever you delete a page from your notebook, it ends up here for a little while.
|
|
While a page is here, you can recover it at any time to add it back to your notebook.
|
|
If not recovered, the page will be automatically and permanently deleted after a certain
|
|
period of time.
|
|
</p>
|
|
<br />
|
|
<p>
|
|
In other words, use this page if you've accidentally deleted a page and need to recover it.
|
|
</p>
|
|
<br />
|
|
<p class="red-text text-darken-3">
|
|
Premium users can recover pages up to <strong>7 days</strong> after their deletion.<br />
|
|
All other users can recover pages up to <strong>2 days</strong> after their deletion.
|
|
</p>
|
|
</div>
|
|
<div class="col hide-on-sm-only m5 l4">
|
|
<%= image_tag 'tristan/small.png',
|
|
class: 'tooltipped tristan',
|
|
data: {
|
|
position: 'left',
|
|
enterDelay: '500',
|
|
tooltip: "Hey, I'm Tristan! I'm happy to help you around Notebook.ai."
|
|
} %>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="row">
|
|
<div class="col s12">
|
|
<% showed_any_content = false %>
|
|
|
|
<% @content_pages.each do |content_type_name, content_list| %>
|
|
<% next unless content_list.any? %>
|
|
<% showed_any_content = true %>
|
|
|
|
<%
|
|
content_type = content_type_name.constantize
|
|
category_ids_for_this_content_type = AttributeCategory.where(entity_type: content_type_name.downcase, user_id: current_user).pluck(:id)
|
|
name_field = AttributeField.find_by(field_type: 'name', attribute_category_id: category_ids_for_this_content_type)
|
|
|
|
content_ids = content_list.pluck(:id)
|
|
if name_field
|
|
list_name_lookup_cache = Hash[
|
|
name_field.attribute_values.where(
|
|
entity_type: content_type_name
|
|
).pluck(:entity_id, :value)
|
|
]
|
|
else
|
|
list_name_lookup_cache = {}
|
|
end
|
|
%>
|
|
|
|
<div class="row">
|
|
<div class="col s12 m3 l2 grey-text">
|
|
<h4 style="text-align: right">
|
|
<%= content_type_name.pluralize %>
|
|
</h4>
|
|
</div>
|
|
<div class="col s12 m9 l9 offset-l1">
|
|
<div class="hoverable card">
|
|
<div class="card-content" style="padding: 0;">
|
|
<ul class="collection" style='border: 0'>
|
|
<% content_list.each do |content| %>
|
|
<li class="collection-item avatar">
|
|
<%= link_to content do %>
|
|
<i class="material-icons circle <%= content.class.color %>"><%= content.class.icon %></i>
|
|
<% end %>
|
|
<span class="title">
|
|
<%= (content.respond_to?(:label) ? content.label : list_name_lookup_cache[content.id].presence || content.name) %>
|
|
</span>
|
|
<div class='grey-text'>
|
|
<p class="timestamp tooltipped left" data-position="left" data-delay="500" data-tooltip="Deleted at <%= content.deleted_at.strftime("%m/%d/%Y %H:%M %Z") %>" style="font-size: 80%">
|
|
<i class="material-icons">delete</i>
|
|
deleted <%= time_ago_in_words content.deleted_at %> ago
|
|
</p><br />
|
|
<p class="timestamp tooltipped left" data-position="left" data-delay="500" data-tooltip="Recoverable until <%= (content.deleted_at + @maximum_recovery_time).strftime("%m/%d/%Y %H:%M %Z") %>" style="font-size: 80%">
|
|
<i class="material-icons">alarm</i>
|
|
recoverable for the next <%= distance_of_time_in_words(DateTime.current, content.deleted_at + @maximum_recovery_time) %>
|
|
</p><br />
|
|
<% if content.respond_to?(:image_uploads) %>
|
|
<p class="timestamp tooltipped left" data-position="left" data-delay="500" data-tooltip="<%= (content.image_uploads.sum(:src_file_size) / 1000.0).round(1) %> KB used" style="font-size: 80%">
|
|
<i class="material-icons">image</i>
|
|
<%= pluralize content.image_uploads.count, 'uploaded image' %>
|
|
</p><br />
|
|
<% end %>
|
|
</div>
|
|
<br />
|
|
<div>
|
|
<%= form_for content, html: { style: 'float: left' } do |f| %>
|
|
<%= f.hidden_field :deleted_at, value: nil %>
|
|
<%=
|
|
f.submit 'Recover page',
|
|
class: "#{content_type_name.constantize.color} lighten-4 btn black-text tooltipped",
|
|
data: { tooltip: "Un-delete and add this page back to your notebook." }
|
|
%>
|
|
<% end %>
|
|
<%= form_for content do |f| %>
|
|
<%= f.hidden_field :deleted_at, value: "1/1 1970".to_date %>
|
|
<%=
|
|
f.submit 'Delete immediately',
|
|
class: 'white btn black-text tooltipped',
|
|
data: { tooltip: "Delete this page immediately and remove it from your recycle bin." }
|
|
%>
|
|
<% end %>
|
|
</div>
|
|
<br />
|
|
</li>
|
|
<% end %>
|
|
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<% end %>
|
|
|
|
<% if !showed_any_content %>
|
|
<p class="grey-text center">
|
|
Looks like you haven't deleted any pages recently. If you do, they will show up here for a limited time.
|
|
</p>
|
|
<% end %>
|
|
</div>
|
|
</div>
|