added extra (info) buttons

This commit is contained in:
Leon van Kammen 2025-10-30 20:58:15 +01:00
parent 24c747dda3
commit bf8b96e99b
4 changed files with 102 additions and 7 deletions

View file

@ -111,6 +111,12 @@ class Components::ModelCard < Components::Base
status_badges @model status_badges @model
end end
div class: "col col-auto" do div class: "col col-auto" do
i class: "bi bi-telephone"
whitespace
link_to "meeting", ENV['FEDERATE_DRIVE_HOST']+"/"+@model.library.name+"/"+@model.path.gsub("#","%23")+"/.xrforge/janusxr.html", {
target:"_blank",
}
whitespace
BurgerMenu do BurgerMenu do
#DropdownItem(icon: "app", label: "Open in Godot Web" , path: "/godot/?url="+"/"+@model.library.name+"/"+@model.path.gsub("#","%23")+"/package_godot.zip", aria_label: translate("components.model_card.edit_button.label", name: @model.name), target: "_blank" ) #DropdownItem(icon: "app", label: "Open in Godot Web" , path: "/godot/?url="+"/"+@model.library.name+"/"+@model.path.gsub("#","%23")+"/package_godot.zip", aria_label: translate("components.model_card.edit_button.label", name: @model.name), target: "_blank" )
DropdownItem(icon: "pencil", label: t("components.model_card.edit_button.text"), path: model_path(@model), aria_label: translate("components.model_card.edit_button.label", name: @model.name)) DropdownItem(icon: "pencil", label: t("components.model_card.edit_button.text"), path: model_path(@model), aria_label: translate("components.model_card.edit_button.label", name: @model.name))

View file

@ -10,7 +10,7 @@
<%= tag.meta name: "apple-mobile-web-app-title", content: site_name %> <%= tag.meta name: "apple-mobile-web-app-title", content: site_name %>
<%= javascript_include_tag "application", nonce: true, defer: true %> <%= javascript_include_tag "application", nonce: true, defer: true %>
<%= stylesheet_link_tag "themes/#{SiteSettings.theme}", nonce: true %> <%= stylesheet_link_tag "themes/#{SiteSettings.theme}", nonce: true %>
<%= stylesheet_link_tag "/public/assets/xrforge.css" %> <%= stylesheet_link_tag "/assets/xrforge.css" %>
<%= turbo_refreshes_with method: :morph, scroll: :preserve %> <%= turbo_refreshes_with method: :morph, scroll: :preserve %>
<%= tag.meta name: "robots", content: @indexing_directives if @indexing_directives.presence %> <%= tag.meta name: "robots", content: @indexing_directives if @indexing_directives.presence %>
<%= yield :head %> <%= yield :head %>

View file

@ -59,7 +59,19 @@
<%= @model.federails_actor.short_at_address %> <%= @model.federails_actor.short_at_address %>
<%= render Components::CopyButton.new(text: @model.federails_actor.at_address) %> <%= render Components::CopyButton.new(text: @model.federails_actor.at_address) %>
</small> </small>
<% end %></td> <% end %>
<label for="toggle_activitypub"><i class="bi bi-info-circle"></i></label>
<div class="toggle-box">
<input type="checkbox" id="toggle_activitypub" hidden>
<div class="hidden-tooltip">
<i class="bi bi-arrow-90deg-up"></i>&nbsp;
<small>
This is the <a href="https://en.wikipedia.org/wiki/Fediverse" target="_blank">fediverse</a> activitypub address of this experience.<br>
Follow updates by copy/pasting it into ActivityPub <a href="https://codeberg.org/fediverse/delightful-fediverse-clients" target="_blank">clients</a>.
</small>
</div>
</div>
</td>
</tr> </tr>
<% end %> <% end %>
<% if @model.creator %> <% if @model.creator %>
@ -73,7 +85,21 @@
<td> <td>
<i class="bi bi-people" role="img"></i> <i class="bi bi-people" role="img"></i>
</td> </td>
<td><%= link_to "JanusXR room", ENV['FEDERATE_DRIVE_HOST']+"/"+@model.library.name+"/"+@model.path.gsub("#","%23")+"/.xrforge/janusxr.html" %></td> <td>
<%= link_to "JanusXR Metaverse", ENV['FEDERATE_DRIVE_HOST']+"/"+@model.library.name+"/"+@model.path.gsub("#","%23")+"/.xrforge/janusxr.html" %>
<label for="toggle_janusxr"><i class="bi bi-info-circle"></i></label>
<div class="toggle-box">
<input type="checkbox" id="toggle_janusxr" hidden>
<div class="hidden-tooltip">
<i class="bi bi-arrow-90deg-up"></i>&nbsp;
<small>
This is the JanusXR address.<br>
<a href="https://janusxr.org/" target="_blank">JanusXR</a> is an established Metaverse since 2015.<br>
It is Free and Opensource, and allows you to meet others in this experience (avatars, chat and voice etc).
</small>
</div>
</div>
</td>
</tr> </tr>
<tr> <tr>
<td> <td>
@ -83,15 +109,56 @@
</tr> </tr>
<tr> <tr>
<td> <td>
<i class="bi bi-note" role="img"></i> <i class="bi bi-journal-check" role="img"></i>
</td>
<td>
<%= link_to "build log", ENV['FEDERATE_DRIVE_HOST']+"/"+@model.library.name+"/"+@model.path.gsub("#","%23")+"/.xrforge/log.txt", target: "_blank" %>
<label for="toggle_log"><i class="bi bi-info-circle"></i></label>
<div class="toggle-box">
<input type="checkbox" id="toggle_log" hidden>
<div class="hidden-tooltip" style="max-height:400px">
<i class="bi bi-arrow-90deg-up"></i>&nbsp;
<small>
This is the build log of XR Forge.<br>
When you add files, they are processed, validated (for <a href="https://xrfragment.org" target="_blank">XR Fragment</a> compliance).<br>
But also features can be toggled via tags:<br>
<br>
<table class="table">
<tr>
<td>
<a class="badge rounded-pill bg-secondary tag">menu</a>
</td>
<td>
This will generate a navigator-menu <b>into</b> your main 3D file.<br>
The links can be edited <%= link_to "here", edit_model_path(@model) %>
</td>
</tr>
</table>
</small>
</div>
</div>
</td> </td>
<td><%= link_to "build log", ENV['FEDERATE_DRIVE_HOST']+"/"+@model.library.name+"/.xrforge/log.txt" %></td>
</tr> </tr>
<tr> <tr>
<td> <td>
<i class="bi bi-controller" role="img"></i> <i class="bi bi-controller" role="img"></i>
</td> </td>
<td><%= link_to "Godot project", "/"+@model.library.name+"/"+@model.path.gsub("#","%23")+"/.xrforge/godot.zip" %></td> <td>
<%= link_to "Godot project", ENV['FEDERATE_DRIVE_HOST']+"/"+@model.library.name+"/"+@model.path.gsub("#","%23")+"/.xrforge/godot.zip" %>
<label for="toggle_godot"><i class="bi bi-info-circle"></i></label>
<div class="toggle-box">
<input type="checkbox" id="toggle_godot" hidden>
<div class="hidden-tooltip">
<i class="bi bi-arrow-90deg-up"></i>&nbsp;
<small>
This is a Godot project which wraps your (3D file) experience.<br>
<a href="https://godot.org" target="_blank">Godot</a> is a Free and Opensource Game engine.<br>
The Godot project is basically its own XR Fragment browser (which you can extend).<br><br>
<b>WARNING</b>: use <a href="https://en.wikipedia.org/wiki/Progressive_enhancement" target="_blank">progressive enhancement</a> so your 3D file experience will always run in other <a href="https://xrfragment.org" target="_blank">XR Fragment</a> viewers.
</small>
</div>
</div>
</td>
</tr> </tr>
<% end %> <% end %>
<% if @model.collection %> <% if @model.collection %>

View file

@ -1 +1,23 @@
a,div { border:1px solid red !important; color:yellow !important; } #sidebar td > label > i {
opacity:0.4;
}
#toggle:checked + .detail-tooltip {
display: block;
}
.hidden-tooltip {
display: none;
margin-top:7px;
max-height: 230px;
overflow-y:scroll;
background: var(--bs-body-bg);
padding: 12px;
border-radius: 6px;
}
/* Show the tooltip when the corresponding checkbox is checked */
input[type="checkbox"]:checked + .hidden-tooltip {
display: block;
}