diff --git a/src/webpage/channel.ts b/src/webpage/channel.ts index 21d925c..227bfc8 100644 --- a/src/webpage/channel.ts +++ b/src/webpage/channel.ts @@ -214,7 +214,7 @@ class Channel extends SnowFlake{ obj.type={text: 0, voice: 2, announcement: 5, category: 4 }[obj.type as string] }) } - const s1 = settings.addButton("Permisions"); + const s1 = settings.addButton("Permissions"); s1.options.push( new RoleList( this.permission_overwritesar, diff --git a/src/webpage/contextmenu.ts b/src/webpage/contextmenu.ts index 903b72a..a5559db 100644 --- a/src/webpage/contextmenu.ts +++ b/src/webpage/contextmenu.ts @@ -1,3 +1,4 @@ +import{ iOS }from"./login.js"; class Contextmenu{ static currentmenu: HTMLElement | ""; name: string; @@ -90,13 +91,15 @@ class Contextmenu{ this.makemenu(event.clientX, event.clientY, addinfo, other); }; obj.addEventListener("contextmenu", func); - obj.addEventListener("touchstart",(event: TouchEvent)=>{ - if(event.touches.length > 1){ - event.preventDefault(); - event.stopImmediatePropagation(); - this.makemenu(event.touches[0].clientX, event.touches[0].clientY, addinfo, other); - } - },{passive:true}); + if(iOS){ + obj.addEventListener("touchstart",(event: TouchEvent)=>{ + if(event.touches.length > 1){ + event.preventDefault(); + event.stopImmediatePropagation(); + this.makemenu(event.touches[0].clientX, event.touches[0].clientY, addinfo, other); + } + },{passive: false}); + } return func; } static keepOnScreen(obj: HTMLElement){ diff --git a/src/webpage/login.ts b/src/webpage/login.ts index 2c4973b..a1f765a 100644 --- a/src/webpage/login.ts +++ b/src/webpage/login.ts @@ -1,6 +1,7 @@ import{ Dialog }from"./dialog.js"; const mobile = /iPhone|iPad|iPod|Android/i.test(navigator.userAgent); +const iOS = /iPhone|iPad|iPod/i.test(navigator.userAgent); function setTheme(){ let name = localStorage.getItem("theme"); @@ -600,6 +601,7 @@ export{ checkInstance }; trimswitcher(); export{ mobile, + iOS, getBulkUsers, getBulkInfo, setTheme, diff --git a/src/webpage/role.ts b/src/webpage/role.ts index df1444f..7b096e2 100644 --- a/src/webpage/role.ts +++ b/src/webpage/role.ts @@ -314,7 +314,7 @@ class RoleList extends Buttons{ buttonTable.classList.add("flexttb"); const roleRow=document.createElement("div"); - roleRow.classList.add("flexltr"); + roleRow.classList.add("flexltr","rolesheader"); roleRow.append("Roles"); const add=document.createElement("span"); add.classList.add("svg-plus","svgicon","addrole"); diff --git a/src/webpage/style.css b/src/webpage/style.css index d8d8492..c7fa9e9 100644 --- a/src/webpage/style.css +++ b/src/webpage/style.css @@ -1082,6 +1082,9 @@ span .quote:last-of-type .quoteline { .replytext a { pointer-events: none; } +.replytext pre { + display: inline; +} .reply { flex: 1; background: var(--reply-line); @@ -1919,7 +1922,7 @@ fieldset input[type="radio"] { width: 100%; box-sizing: border-box; border-radius: 16px 16px 0 0; - box-shadow: 0 0 14px var(--shadow), 0 0 28px var(--shadow) + box-shadow: 0 0 14px var(--shadow), 0 0 28px var(--shadow); } .contextbutton { width: 100%; @@ -1946,6 +1949,15 @@ fieldset input[type="radio"] { height: 100px; width: 100%; } + .fixedsearch { + top: 50% !important; + left: 50% !important; + transform: translate(-50%, -50%); + min-width: 80svw; + } + .rolesheader { + margin: 6px 12px; + } } .fixedsearch{