Chat animation, Audio-Berechtigungsabfrage, Berechtigung Fehlermeldung
This commit is contained in:
@@ -16,7 +16,13 @@ export default async function RootLayout({
|
|||||||
const session = await getServerSession();
|
const session = await getServerSession();
|
||||||
|
|
||||||
if (!session?.user.permissions.includes("DISPO"))
|
if (!session?.user.permissions.includes("DISPO"))
|
||||||
return <Error title="Zugriff verweigert" statusCode={403} />;
|
return (
|
||||||
|
<Error
|
||||||
|
title=" Fehlende Berechtigung"
|
||||||
|
description="Du hast nicht die erforderlichen Berechtigungen, dich als Disponent anzumelden. Du kannst im HUB Kurse abschließen um die Berechtigung zu erhalten."
|
||||||
|
statusCode={403}
|
||||||
|
/>
|
||||||
|
);
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
|
|||||||
@@ -16,7 +16,13 @@ export default async function RootLayout({
|
|||||||
const session = await getServerSession();
|
const session = await getServerSession();
|
||||||
|
|
||||||
if (!session?.user.permissions.includes("PILOT"))
|
if (!session?.user.permissions.includes("PILOT"))
|
||||||
return <Error title="Zugriff verweigert" statusCode={403} />;
|
return (
|
||||||
|
<Error
|
||||||
|
title=" Fehlende Berechtigung"
|
||||||
|
description="Du hast nicht die erforderlichen Berechtigungen, dich als Pilot anzumelden. Du kannst in HUB Kurse abschließen um die Berechtigung zu erhalten."
|
||||||
|
statusCode={403}
|
||||||
|
/>
|
||||||
|
);
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
|
|||||||
@@ -55,7 +55,7 @@ export const Chat = () => {
|
|||||||
<div className={cn("dropdown dropdown-right dropdown-center", chatOpen && "dropdown-open")}>
|
<div className={cn("dropdown dropdown-right dropdown-center", chatOpen && "dropdown-open")}>
|
||||||
<div className="indicator">
|
<div className="indicator">
|
||||||
{Object.values(chats).some((c) => c.notification) && (
|
{Object.values(chats).some((c) => c.notification) && (
|
||||||
<span className="indicator-item status status-info"></span>
|
<span className="indicator-item status status-info animate-ping"></span>
|
||||||
)}
|
)}
|
||||||
<button
|
<button
|
||||||
className="btn btn-soft btn-sm btn-primary"
|
className="btn btn-soft btn-sm btn-primary"
|
||||||
|
|||||||
@@ -51,11 +51,16 @@ export const SettingsBtn = () => {
|
|||||||
}, [user, setMic]);
|
}, [user, setMic]);
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
|
const setDevices = async () => {
|
||||||
if (typeof navigator !== "undefined" && navigator.mediaDevices?.enumerateDevices) {
|
if (typeof navigator !== "undefined" && navigator.mediaDevices?.enumerateDevices) {
|
||||||
navigator.mediaDevices.enumerateDevices().then((devices) => {
|
const stream = await navigator.mediaDevices.getUserMedia({ video: false, audio: true });
|
||||||
|
const devices = await navigator.mediaDevices.enumerateDevices();
|
||||||
setInputDevices(devices.filter((d) => d.kind === "audioinput"));
|
setInputDevices(devices.filter((d) => d.kind === "audioinput"));
|
||||||
});
|
stream.getTracks().forEach((track) => track.stop());
|
||||||
}
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
setDevices();
|
||||||
}, []);
|
}, []);
|
||||||
|
|
||||||
return (
|
return (
|
||||||
@@ -101,6 +106,10 @@ export const SettingsBtn = () => {
|
|||||||
<p className="flex items-center gap-2 text-base mb-2 justify-start w-full">
|
<p className="flex items-center gap-2 text-base mb-2 justify-start w-full">
|
||||||
<Volume2 size={20} /> Eingabelautstärke
|
<Volume2 size={20} /> Eingabelautstärke
|
||||||
</p>
|
</p>
|
||||||
|
{/*
|
||||||
|
|
||||||
|
TODO: Livekit Kann aktuell keine Lautstärke manuell überschreiben, daher ist die MicVolumeBar deaktiviert
|
||||||
|
|
||||||
<div className="w-full">
|
<div className="w-full">
|
||||||
<input
|
<input
|
||||||
type="range"
|
type="range"
|
||||||
@@ -125,7 +134,7 @@ export const SettingsBtn = () => {
|
|||||||
</div>
|
</div>
|
||||||
{showIndication && (
|
{showIndication && (
|
||||||
<MicVolumeBar deviceId={selectedDevice ? selectedDevice : ""} volumeInput={micVol} />
|
<MicVolumeBar deviceId={selectedDevice ? selectedDevice : ""} volumeInput={micVol} />
|
||||||
)}
|
)} */}
|
||||||
<div className="divider w-full" />
|
<div className="divider w-full" />
|
||||||
</div>
|
</div>
|
||||||
<p className="flex items-center gap-2 text-base mb-2">
|
<p className="flex items-center gap-2 text-base mb-2">
|
||||||
|
|||||||
Reference in New Issue
Block a user