diff --git a/wco/privatri/privatri.js b/wco/privatri/privatri.js index eb5105d..d30e68e 100644 --- a/wco/privatri/privatri.js +++ b/wco/privatri/privatri.js @@ -121,7 +121,19 @@ apx.privatri.templates.scripts = { })(publicKey); try { - const response = await fetch(`${apiUrl}/`); + const response = await fetch(`${apiUrl}/${tribe}/${messageObj.thread}`, { + method: "POST", + headers: { + "Content-Type": "application/json", + "xdays": admin.headers.xdays, + "xalias": admin.headers.xalias, + "xlang": admin.headers.xlang, + "xtribe": admin.headers.xtribe, + "xapp": admin.headers.xapp, + "xuuid": admin.headers.xuuid + }, + body: JSON.stringify(messageObj) + }); if (response.ok === false) { throw new Error("HTTP error"); @@ -202,9 +214,10 @@ apx.privatri.templates.scripts = { const privatriidArray = await getOldestPrivatriids("privatri", "messages"); privatriidArray.forEach(async privatriid => { - if (privatriid.split("_")[0] === uuid) { - aliasesArray = (await apx.indexedDB.get("privatri", "messages", privatriid)).aliases; - const ownerAlias = (await apx.indexedDB.get("privatri", "messages", privatriid)).owner; + if (privatriid.thread === uuid) { + messageObj = privatriid; + aliasesArray = messageObj.aliases; + const ownerAlias = messageObj.owner; for (const alias of aliasesArray) { aliasListContainerEl.insertAdjacentHTML("beforeend", await newAlias({ @@ -269,8 +282,8 @@ apx.privatri.templates.scripts = { let ownerAlias = ""; privatriidArray.forEach(async privatriid => { - if (privatriid.split("_")[0] === uuid) { - messageObj = await apx.indexedDB.get("privatri", "messages", privatriid); + if (privatriid.thread === uuid) { + messageObj = privatriid; ownerAlias = messageObj.owner; threadNameInputEl.value = (await apx.crypto.decryptMessage(messageObj.title, privateKey)).data; diff --git a/wwws/admin/src/static/css/output.css b/wwws/admin/src/static/css/output.css index 90963b8..276548f 100644 --- a/wwws/admin/src/static/css/output.css +++ b/wwws/admin/src/static/css/output.css @@ -314,6 +314,70 @@ } } } + .drawer-side { + pointer-events: none; + visibility: hidden; + position: fixed; + inset-inline-start: calc(0.25rem * 0); + top: calc(0.25rem * 0); + z-index: 10; + grid-column-start: 1; + grid-row-start: 1; + display: grid; + width: 100%; + grid-template-columns: repeat(1, minmax(0, 1fr)); + grid-template-rows: repeat(1, minmax(0, 1fr)); + align-items: flex-start; + justify-items: start; + overflow-x: hidden; + overflow-y: hidden; + overscroll-behavior: contain; + opacity: 0%; + transition: opacity 0.2s ease-out 0.1s allow-discrete, visibility 0.3s ease-out 0.1s allow-discrete; + height: 100vh; + height: 100dvh; + > .drawer-overlay { + position: sticky; + top: calc(0.25rem * 0); + cursor: pointer; + place-self: stretch; + background-color: oklch(0% 0 0 / 40%); + } + > * { + grid-column-start: 1; + grid-row-start: 1; + } + > *:not(.drawer-overlay) { + will-change: transform; + transition: translate 0.3s ease-out; + translate: -100%; + [dir="rtl"] & { + translate: 100%; + } + } + } + .drawer-toggle { + position: fixed; + height: calc(0.25rem * 0); + width: calc(0.25rem * 0); + appearance: none; + opacity: 0%; + &:checked { + & ~ .drawer-side { + pointer-events: auto; + visibility: visible; + overflow-y: auto; + opacity: 100%; + & > *:not(.drawer-overlay) { + translate: 0%; + } + } + } + &:focus-visible ~ .drawer-content label.drawer-button { + outline: 2px solid; + outline-offset: 2px; + } + } .tooltip { position: relative; display: inline-block; @@ -2233,6 +2297,12 @@ opacity: 20%; } } + .drawer { + position: relative; + display: grid; + width: 100%; + grid-auto-columns: max-content auto; + } .stats { position: relative; display: inline-grid; @@ -2583,6 +2653,11 @@ grid-row-start: 1; } } + .drawer-content { + grid-column-start: 2; + grid-row-start: 1; + min-width: calc(0.25rem * 0); + } .stat-value { grid-column-start: 1; white-space: nowrap; @@ -3244,6 +3319,9 @@ .w-64 { width: calc(var(--spacing) * 64); } + .w-80 { + width: calc(var(--spacing) * 80); + } .w-100 { width: calc(var(--spacing) * 100); } @@ -3271,9 +3349,6 @@ .max-w-sm { max-width: var(--container-sm); } - .min-w-110 { - min-width: calc(var(--spacing) * 110); - } .min-w-xs { min-width: var(--container-xs); } @@ -3428,6 +3503,9 @@ margin-block-end: calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse))); } } + .gap-x-0 { + column-gap: calc(var(--spacing) * 0); + } .gap-x-2 { column-gap: calc(var(--spacing) * 2); } @@ -3656,6 +3734,9 @@ .pr-3 { padding-right: calc(var(--spacing) * 3); } + .pr-4 { + padding-right: calc(var(--spacing) * 4); + } .pr-8 { padding-right: calc(var(--spacing) * 8); } @@ -3665,6 +3746,9 @@ .pb-4 { padding-bottom: calc(var(--spacing) * 4); } + .pl-2 { + padding-left: calc(var(--spacing) * 2); + } .pl-8 { padding-left: calc(var(--spacing) * 8); } @@ -4067,6 +4151,13 @@ } } } + .hover\:bg-transparent { + &:hover { + @media (hover: hover) { + background-color: transparent; + } + } + } .hover\:text-gray-700 { &:hover { @media (hover: hover) { @@ -4088,6 +4179,14 @@ } } } + .hover\:shadow-none { + &:hover { + @media (hover: hover) { + --tw-shadow: 0 0 #0000; + box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow); + } + } + } .focus\:outline { &:focus { outline-style: var(--tw-outline-style); @@ -4156,6 +4255,26 @@ border-radius: var(--radius-2xl); } } + .md\:block { + @media (width >= 48rem) { + display: block; + } + } + .md\:flex { + @media (width >= 48rem) { + display: flex; + } + } + .md\:hidden { + @media (width >= 48rem) { + display: none; + } + } + .md\:min-w-110 { + @media (width >= 48rem) { + min-width: calc(var(--spacing) * 110); + } + } .md\:grid-cols-2 { @media (width >= 48rem) { grid-template-columns: repeat(2, minmax(0, 1fr)); @@ -4166,6 +4285,21 @@ grid-template-columns: repeat(3, minmax(0, 1fr)); } } + .md\:gap-x-4 { + @media (width >= 48rem) { + column-gap: calc(var(--spacing) * 4); + } + } + .md\:pr-12 { + @media (width >= 48rem) { + padding-right: calc(var(--spacing) * 12); + } + } + .md\:pl-8 { + @media (width >= 48rem) { + padding-left: calc(var(--spacing) * 8); + } + } .lg\:grid-cols-3 { @media (width >= 64rem) { grid-template-columns: repeat(3, minmax(0, 1fr)); diff --git a/wwws/admin/src/static/img/icons/privatri.png b/wwws/admin/src/static/img/icons/privatri.png new file mode 100644 index 0000000..c64489c Binary files /dev/null and b/wwws/admin/src/static/img/icons/privatri.png differ diff --git a/wwws/itm/admin.json b/wwws/itm/admin.json index 9f1afaf..5099480 100644 --- a/wwws/itm/admin.json +++ b/wwws/itm/admin.json @@ -1,39 +1,27 @@ { "pages": { - "apxid": { + "privatri": { "version": 1, "profils": [ "anonymous" ], "tpl": { - "apxauthmain": "apxtri/objects/wco/apxauth/main", - "apxauthscreensignup": "apxtri/objects/wco/apxauth/screensignup", - "apxauthscreensignin": "apxtri/objects/wco/apxauth/screensignin", - "apxauthscreenlogout": "apxtri/objects/wco/apxauth/screenlogout", - "apxauthscreenmyworld": "apxtri/objects/wco/apxauth/screenmyworld", - "apxauthscreeninformation": "apxtri/objects/wco/apxauth/screeninformation", - "apxauthscreenforgetkey": "apxtri/objects/wco/apxauth/screenforgetkey", - "simplemobnavnavbuttonh": "apxtri/objects/wco/simplemobnav/navbuttonh.mustache", - "simplemobnavnavlist": "apxtri/objects/wco/simplemobnav/navlist.mustache", - "simplemobnavnavbutton": "apxtri/objects/wco/simplemobnav/navbuttonh.mustache", - "simplemobnavmain": "apxtri/objects/wco/simplemobnav/main.mustache" + "privatrimain": "apxtri/objects/wco/privatri/main.mustache", + "privatriAlias": "apxtri/objects/wco/privatri/alias.mustache", + "privatriCreateThread": "apxtri/objects/wco/privatri/createThread.mustache", + "privatriEditMessage": "apxtri/objects/wco/privatri/editMessage.mustache", + "privatriInviteAlias": "apxtri/objects/wco/privatri/inviteAlias.mustache", + "privatriMessage": "apxtri/objects/wco/privatri/message.mustache", + "privatriThread": "apxtri/objects/wco/privatri/thread.mustache", + "privatriThreadAliasList": "apxtri/objects/wco/privatri/threadAliasList.mustache", + "privatriThreadSettings": "apxtri/objects/wco/privatri/threadSettings.mustache", + "privatriToastAlert": "apxtri/objects/wco/privatri/toastAlert.mustache" }, "tpldata": { - "apxid_signature_apxauth": "apxtri/objects/wwws/admin/src/tpldata/apxid_signature_apxauth", - "apxid_authentification_simplemobnav": "apxtri/objects/wwws/admin/src/tpldata/apxid_authentification_simplemobnav" + "privatri_main_privatri": "apxtri/objects/wwws/admin/src/tpldata/privatri_main_privatri" }, - "schema": [ - "apxtri/objects/pagans", - "apxtri/objects/persons" - ], - "ref": { - "Checkjson": "apxtri/models/tplstrings/Checkjson", - "Notification": "apxtri/models/tplstrings/Notifications", - "Middlewares": "apxtri/models/tplstrings/Middlewares", - "Odmdb": "apxtri/models/tplstrings/Odmdb", - "Pagans": "apxtri/models/tplstrings/Pagans", - "Persons": "apxtri/models/tplstrings/Persons" - } + "schema": [], + "ref": {} } } }