You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
101 lines
2.8 KiB
101 lines
2.8 KiB
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="utf-8" />
|
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
<script src="https://fabien.benetou.fr/pub/home/future_of_text_demo/engine/dependencies/webdav.js"></script>
|
|
<link rel="stylesheet" href="style.css">
|
|
</head>
|
|
<body>
|
|
|
|
<h1>Feedback on XR for academic authoring demo</h1>
|
|
|
|
<div id=content></div>
|
|
|
|
<script>
|
|
// insert screenshots (could probably do the same way, i.e. filereader then webdav upload
|
|
const webdavURL = "https://webdav.benetou.fr";
|
|
const subdirWebDAV = "/fotsave/fot_sloan_companion_public/"
|
|
var webdavClient = window.WebDAV.createClient(webdavURL)
|
|
const hmdURL = "https://hmd.link/?https://companion.benetou.fr"
|
|
|
|
const urlParams = new URLSearchParams(window.location.search);
|
|
let filename = urlParams.get('filename');
|
|
if (!filename) filename = 'demos_feedback_1742934066973.json'
|
|
|
|
async function getContent(){
|
|
let rootEl = document.getElementById("content")
|
|
const contents = await webdavClient.getDirectoryContents(subdirWebDAV);
|
|
// consider instead search https://github.com/perry-mitchell/webdav-client#search
|
|
contents.filter(f => f.basename.endsWith( filename ))
|
|
.map(a => {
|
|
fetch(a.basename).then( r => r.json() ).then( r => {
|
|
if ( r.filename ){
|
|
let spanEl = document.createElement("div")
|
|
let linkEl = document.createElement("a")
|
|
linkEl.href = "https://companion.benetou.fr/demos_example.html?filename=" + r.filename
|
|
linkEl.innerText = r.filename
|
|
spanEl.appendChild(linkEl)
|
|
//spanEl.innerText = "source file: " + r.filename
|
|
rootEl.appendChild(spanEl)
|
|
}
|
|
if ( r.email ){
|
|
let spanEl = document.createElement("div")
|
|
spanEl.innerText = "email: " + r.email
|
|
rootEl.appendChild(spanEl)
|
|
}
|
|
if ( r.freeform_feedback ){
|
|
let spanEl = document.createElement("div")
|
|
spanEl.innerText = "free feedback form: " + r.freeform_feedback
|
|
rootEl.appendChild(spanEl)
|
|
}
|
|
fetch(r.filename).then( r => r.json() ).then( original => {
|
|
original.content.map( d => {
|
|
if ( d.name ){
|
|
let fixedId = d.name.replaceAll(' ','_')
|
|
if ( r[fixedId] ) {
|
|
let spanEl = document.createElement("div")
|
|
spanEl.innerText = r[fixedId] + " for "
|
|
rootEl.appendChild(spanEl)
|
|
let linkEl = document.createElement("a")
|
|
linkEl.href = "https://companion.benetou.fr/demos_example.html?filename=" + r.filename + "#"+fixedId
|
|
linkEl.innerText = d.name + " in " + r.filename
|
|
spanEl.appendChild(linkEl)
|
|
}
|
|
}
|
|
})
|
|
})
|
|
})
|
|
})
|
|
}
|
|
|
|
getContent()
|
|
</script>
|
|
|
|
<div id=comments>
|
|
|
|
<br>
|
|
<br>
|
|
</div>
|
|
|
|
<hr>
|
|
|
|
<h3>
|
|
ideas :
|
|
</h3>
|
|
|
|
<ul>
|
|
<li>link back to go anchors on orignial demo viewer page
|
|
</ul>
|
|
|
|
<h3>
|
|
done :
|
|
</h3>
|
|
|
|
<ul>
|
|
<li>link to proper example, e.g. https://companion.benetou.fr/demos_feedback_viewer_example.html?filename=demos_feedback_1742934066973.json
|
|
<li>display feedback
|
|
</ul>
|
|
|
|
</body>
|
|
</html>
|
|
|