indentlabs/notebook

View on GitHub
app/views/main/prompts.html.erb

Summary

Maintainability
Test Coverage
<% if current_user.content_count > 0 && @content %>
  <br />
  <div class="grey-text" style="font-size: 20px;">
    <strong>Writing prompts</strong>
    from your world
  </div>
  <div class="row">
    <div class="col s12 m12 l8">
      <%= render partial: 'cards/serendipitous/content_question', locals: {
        content: @content,
        field: @attribute_field_to_question,
        redirect_path: prompts_path,
        show_empty_prompt: true,
        expand_by_default: true,
        show_view_button: false,
        include_quick_reference: false
      } %>
      
      <p class="grey-text text-lighten-1 center">
        Don't forget! You can press @ when typing to link to any of your other pages.
      </p>
      <div class="suggest-answers-container"></div>
    </div>

    <% if @attribute_field_to_question.present? %>
      <div class="col m12 l4">
        <%= link_to @content.view_path, class: 'entity-trigger sidenav-trigger', data: { target: "quick-reference-#{@content.page_type}-#{@content.id}"} do %>
          <div class="hoverable card <%= @content.color %>">
            <div class="card-content white-text">
              <i class="material-icons right">vertical_split</i>
              Quick-reference <%= @content.name %>
            </div>
          </div>
        <% end %>
        <!--
        <%= link_to '#', 
              class: 'js-show-answer-suggestions', 
              data: {
                content_type: @content.class.name, 
                category_id: @attribute_field_to_question.attribute_category_id, 
                field_label: @attribute_field_to_question.label
              } do %>
          <div class="hoverable card purple lighten-2">
            <div class="card-content white-text">
              <i class="material-icons right">adjust</i>
              View answer suggestions
            </div>
          </div>
        <% end %>
        -->
        <%= link_to prompts_path do %>
          <div class="hoverable card orange">
            <div class="card-content white-text">
              <i class="material-icons right">arrow_forward</i>
              Skip this prompt
            </div>
          </div>
        <% end %>

      </div>
    <% end %>
  </div>

  <%= render partial: 'javascripts/content_linking' %>
  <%= render partial: 'prompts/smart_sidebar', locals: { content: @content } %>

<% else %>
  <%= image_tag 'tristan/small.webp',
    class: 'tooltipped tristan right',
    data: {
      position: 'left',
      enterDelay: '500',
      tooltip: "Hey, I'm Tristan! Once you've created some pages in your digital notebook, I'll come up with some writing prompts for you!"
    }
  %>
  <h5>Worldbuilding prompts</h5>
  <p>
    <% if current_user.content_count.zero? %>
      Once you've created some ideas in Notebook.ai, you can visit this page for writing prompts set in your world.
      They'll star your characters, in your locations, using your items, seeing your creatures, practicing your religions, and so on &mdash; so check back frequently for the latest prompts just for you!
    <% else %>
      It looks like
      <% if @universe_scope.present? %>
        <%= link_to @universe_scope.name, @universe_scope %>
      <% else %>
        your world
      <% end %>
      is pretty fleshed out already, and you've answered all the questions I've come up with so far.
      Check back later and I might have a writing prompt for you, but I bet I can come up with some sooner if you
      <% new_content = (current_user.createable_content_types - [Universe]).sample %>
      <%= link_to new_polymorphic_path(new_content) do %>
        create
        <% if current_user.send(new_content.name.downcase.pluralize).any? %>
          another
        <% else %>
          <%= %w(a e i o u).include?(new_content.name.downcase[0]) ? 'an' : 'a' %>
        <% end %>
        <%= new_content.name.downcase %>!
      <% end %>
    <% end %>
  </p>
<% end %>