From 6fabe4aab78d4f48f02177308abf8df729a770cd Mon Sep 17 00:00:00 2001 From: Leon van Kammen Date: Mon, 5 Oct 2026 12:46:45 +0200 Subject: [PATCH] wip: iconbuttons + better navigation --- src/.init.lua | 3 +- src/css/xrforge.css | 17 +++++- src/css/xrforge.max.css | 8 ++- src/img/file-document.svg | 17 ++++++ src/img/folder.svg | 4 +- src/img/info.svg | 3 + src/img/playcover.svg | 43 ++++++++++++++ src/myverse/janusxr_tutorial/arwindow.jpg | Bin 0 -> 27716 bytes .../janusxr_tutorial/arwindow/README.md | 5 ++ src/page/about.html | 13 ++-- src/page/dir.html | 56 +++++++++++++----- src/page/dir.lua | 2 +- src/page/header.html | 10 ++-- src/page/index.html | 16 ++--- src/page/janusxr.html | 8 +-- src/plugin/diskscan.lua | 14 ++++- src/plugin/global.lua | 18 ++++++ src/plugin/janusxr.lua | 33 ++++++++--- src/plugin/janusxr/layout/portals.lua | 5 +- src/plugin/manyfold.lua | 2 +- src/plugin/openbrush.lua | 22 +++---- src/plugin/staticwebgen.lua | 4 ++ src/plugin/xrfragments.lua | 7 +-- 23 files changed, 240 insertions(+), 70 deletions(-) create mode 100644 src/img/file-document.svg create mode 100644 src/img/info.svg create mode 100644 src/img/playcover.svg create mode 100644 src/myverse/janusxr_tutorial/arwindow.jpg create mode 100644 src/myverse/janusxr_tutorial/arwindow/README.md diff --git a/src/.init.lua b/src/.init.lua index 3630b16..ddc2415 100644 --- a/src/.init.lua +++ b/src/.init.lua @@ -89,11 +89,11 @@ app.plugin.clouddrive = app.addPlugin('plugin/clouddrive') app.plugin.markdown = app.addPlugin('plugin/markdown') app.plugin.rssatom = app.addPlugin('plugin/rssatom') app.plugin.federation = app.addPlugin('plugin/federation') -app.plugin.manyfold = app.addPlugin('plugin/manyfold') app.plugin.peertube = app.addPlugin('plugin/peertube') app.plugin.git = app.addPlugin('plugin/git') app.plugin.webhook = app.addPlugin('plugin/webhook') app.plugin.archive = app.addPlugin('plugin/archive') +app.plugin.manyfold = app.addPlugin('plugin/manyfold') app.plugin.openbrush = app.addPlugin('plugin/openbrush') app.plugin.scheduler = app.addPlugin('plugin/scheduler') -- should always be second last app.plugin.staticwebgen = app.addPlugin('plugin/staticwebgen') -- should always be last @@ -108,6 +108,7 @@ print = function(...) Log(kLogInfo, ... or "''") end -- nice redbean lo app.url['^/data'] = '/data.lua' -- setup custom file endpoint app.use( app.plugin.global.middleware.homepage_2D_or_3D ) +app.use( app.plugin.global.middleware.force_listing ) app.get('^/design[/]?$', util.pagerender('page/design.html')) app.get('^/about[/]?$', util.pagerender('page/about.html')) diff --git a/src/css/xrforge.css b/src/css/xrforge.css index 4880e82..774edca 100644 --- a/src/css/xrforge.css +++ b/src/css/xrforge.css @@ -25,6 +25,7 @@ body.script .script{ visibility: visible !important; } .margin1L{ margin: 0px 20px 10px 0px;} .margin1{ margin: 10px 20px; } .padding1{ padding: 10px 20px 10px 20px; } +.nopadding{ padding:0px;} .content{ font-family: sans-serif; @@ -102,6 +103,20 @@ input[type=submit] { background:#112; } +.iconbtn{ + float: right; + border: 1px solid #8880 !important; + border-spacing: 10px 10px 10px 10px; + padding: 0px 5px; + border-radius: 4px; + background: #2230; + transition: border 0.4s; +} +.iconbtn:hover{ + border: 1px solid #888 !important; + background: #223; +} + .btn a:hover, input[type=submit] { color:#F7F; @@ -253,7 +268,7 @@ ul{ .grid .tile{ border-radius:5px; } .grid .tile .text{ padding:3px 0px; } .grid .tile .img{ - border-radius:20px; + border-radius:13px; visibility: hidden; } diff --git a/src/css/xrforge.max.css b/src/css/xrforge.max.css index fb2a696..481f7a2 100644 --- a/src/css/xrforge.max.css +++ b/src/css/xrforge.max.css @@ -62,7 +62,7 @@ body{ } .grid .tile .text{ - padding: 10px 20px 10px 15px !important; + padding: 10px !important; font-size:14px; } @@ -83,9 +83,13 @@ img.icon.list-tree{ filter: invert(1); } img.icon.download, -img.icon.play,{ +img.icon.play{ transform: translate(0,-1px); } +img.icon.folder, +img.icon.file-document{ + transform: translate(0,-2px); +} img.icon.share{ opacity:0.66; diff --git a/src/img/file-document.svg b/src/img/file-document.svg new file mode 100644 index 0000000..e8530f5 --- /dev/null +++ b/src/img/file-document.svg @@ -0,0 +1,17 @@ + + + + + + \ No newline at end of file diff --git a/src/img/folder.svg b/src/img/folder.svg index d786efb..c339f37 100644 --- a/src/img/folder.svg +++ b/src/img/folder.svg @@ -9,6 +9,6 @@ fill-rule="evenodd" clip-rule="evenodd" d="M4 1.5C2.89543 1.5 2 2.39543 2 3.5V4.5C2 4.55666 2.00236 4.61278 2.00698 4.66825C0.838141 5.07811 0 6.19118 0 7.5V19.5C0 21.1569 1.34315 22.5 3 22.5H21C22.6569 22.5 24 21.1569 24 19.5V7.5C24 5.84315 22.6569 4.5 21 4.5H11.874C11.4299 2.77477 9.86384 1.5 8 1.5H4ZM9.73244 4.5C9.38663 3.9022 8.74028 3.5 8 3.5H4V4.5H9.73244ZM3 6.5C2.44772 6.5 2 6.94772 2 7.5V19.5C2 20.0523 2.44772 20.5 3 20.5H21C21.5523 20.5 22 20.0523 22 19.5V7.5C22 6.94772 21.5523 6.5 21 6.5H3Z" - fill="#557" + fill="currentColor" /> - + \ No newline at end of file diff --git a/src/img/info.svg b/src/img/info.svg new file mode 100644 index 0000000..7726710 --- /dev/null +++ b/src/img/info.svg @@ -0,0 +1,3 @@ + + +i diff --git a/src/img/playcover.svg b/src/img/playcover.svg new file mode 100644 index 0000000..b040ec2 --- /dev/null +++ b/src/img/playcover.svg @@ -0,0 +1,43 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/myverse/janusxr_tutorial/arwindow.jpg b/src/myverse/janusxr_tutorial/arwindow.jpg new file mode 100644 index 0000000000000000000000000000000000000000..7c460bf085e59eb5d6bdeb9ae1a9e1069b4768a3 GIT binary patch literal 27716 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 +which creates the illusion of a VR-in-AR.
+A great usecase is displaying VR (glTF) animations with variable immersion. diff --git a/src/page/about.html b/src/page/about.html index db0406a..9d677fb 100644 --- a/src/page/about.html +++ b/src/page/about.html @@ -95,7 +95,7 @@ div#xrecosystem{

What is it

An open, seamless XR web built from simple URLs and directories, without gatekeepers.
- XRForge transforms standard local or remote file directories into interconnected 3D spaces. Users can seamlessly "surf" spatial webs (plural!), turning everyday directories into 3D portals.
+ XRForge transforms standard local or remote file directories into interconnected 3D spaces. Users can seamlessly "surf" spatial webs (plural!), turning everyday directories and URLs into 3D portals.