Add logic to "log out of all others".

Consider tablet as desktop device.
This commit is contained in:
Paul 2021-07-08 14:29:21 +01:00
parent a3fa0b0807
commit 69193e9a46
2 changed files with 22 additions and 2 deletions

View file

@ -1,7 +1,7 @@
import { isDesktop, isMobile, isTablet } from "react-device-detect"; import { isDesktop, isMobile, isTablet } from "react-device-detect";
export const isTouchscreenDevice = export const isTouchscreenDevice =
isDesktop && !isTablet (isDesktop || isTablet)
? false ? false
: (typeof window !== "undefined" : (typeof window !== "undefined"
? navigator.maxTouchPoints > 0 ? navigator.maxTouchPoints > 0

View file

@ -182,7 +182,27 @@ export function Sessions() {
</div> </div>
) )
})} })}
<Button error> <Button error
onClick={async () => {
// ! FIXME: add to rAuth
let del: string[] = [];
render.forEach((session) => {
if (deviceId !== session.id) {
del.push(session.id);
}
})
setDelete(del);
for (let id of del) {
await client.req(
"DELETE",
`/auth/sessions/${id}` as "/auth/sessions",
);
}
setSessions(sessions.filter(x => x.id === deviceId));
}}>
<Text id="app.settings.pages.sessions.logout" /> <Text id="app.settings.pages.sessions.logout" />
</Button> </Button>
<Tip> <Tip>