mirror of
https://github.com/Monadical-SAS/reflector.git
synced 2025-12-20 20:29:06 +00:00
rooms-page-calendar-ics-room-name-fix (#659)
Co-authored-by: Igor Loskutov <igor.loskutoff@gmail.com>
This commit is contained in:
@@ -27,7 +27,7 @@ import {
|
|||||||
} from "../../../lib/utils";
|
} from "../../../lib/utils";
|
||||||
|
|
||||||
interface ICSSettingsProps {
|
interface ICSSettingsProps {
|
||||||
roomName: NonEmptyString;
|
roomName: NonEmptyString | null;
|
||||||
icsUrl?: string;
|
icsUrl?: string;
|
||||||
icsEnabled?: boolean;
|
icsEnabled?: boolean;
|
||||||
icsFetchInterval?: number;
|
icsFetchInterval?: number;
|
||||||
@@ -85,7 +85,7 @@ export default function ICSSettings({
|
|||||||
const handleCopyRoomUrl = async () => {
|
const handleCopyRoomUrl = async () => {
|
||||||
try {
|
try {
|
||||||
await navigator.clipboard.writeText(
|
await navigator.clipboard.writeText(
|
||||||
roomAbsoluteUrl(assertExistsAndNonEmptyString(roomName)),
|
roomAbsoluteUrl(assertExists(roomName)),
|
||||||
);
|
);
|
||||||
setJustCopied(true);
|
setJustCopied(true);
|
||||||
|
|
||||||
@@ -123,7 +123,7 @@ export default function ICSSettings({
|
|||||||
const handleRoomUrlClick = () => {
|
const handleRoomUrlClick = () => {
|
||||||
if (roomUrlInputRef.current) {
|
if (roomUrlInputRef.current) {
|
||||||
roomUrlInputRef.current.select();
|
roomUrlInputRef.current.select();
|
||||||
handleCopyRoomUrl();
|
handleCopyRoomUrl().then(() => {});
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -196,30 +196,32 @@ export default function ICSSettings({
|
|||||||
To enable Reflector to recognize your calendar events as meetings,
|
To enable Reflector to recognize your calendar events as meetings,
|
||||||
add this URL as the location in your calendar events
|
add this URL as the location in your calendar events
|
||||||
</Field.HelperText>
|
</Field.HelperText>
|
||||||
<HStack gap={0} position="relative" width="100%">
|
{roomName ? (
|
||||||
<Input
|
<HStack gap={0} position="relative" width="100%">
|
||||||
ref={roomUrlInputRef}
|
<Input
|
||||||
value={roomAbsoluteUrl(parseNonEmptyString(roomName))}
|
ref={roomUrlInputRef}
|
||||||
readOnly
|
value={roomAbsoluteUrl(parseNonEmptyString(roomName))}
|
||||||
onClick={handleRoomUrlClick}
|
readOnly
|
||||||
cursor="pointer"
|
onClick={handleRoomUrlClick}
|
||||||
bg="gray.100"
|
cursor="pointer"
|
||||||
_hover={{ bg: "gray.200" }}
|
bg="gray.100"
|
||||||
_focus={{ bg: "gray.200" }}
|
_hover={{ bg: "gray.200" }}
|
||||||
pr="90px"
|
_focus={{ bg: "gray.200" }}
|
||||||
width="100%"
|
pr="90px"
|
||||||
/>
|
width="100%"
|
||||||
<HStack position="absolute" right="4px" gap={1} zIndex={1}>
|
/>
|
||||||
<IconButton
|
<HStack position="absolute" right="4px" gap={1} zIndex={1}>
|
||||||
aria-label="Copy room URL"
|
<IconButton
|
||||||
onClick={handleCopyRoomUrl}
|
aria-label="Copy room URL"
|
||||||
variant="ghost"
|
onClick={handleCopyRoomUrl}
|
||||||
size="sm"
|
variant="ghost"
|
||||||
>
|
size="sm"
|
||||||
{justCopied ? <LuCheck /> : <LuCopy />}
|
>
|
||||||
</IconButton>
|
{justCopied ? <LuCheck /> : <LuCopy />}
|
||||||
|
</IconButton>
|
||||||
|
</HStack>
|
||||||
</HStack>
|
</HStack>
|
||||||
</HStack>
|
) : null}
|
||||||
</Field.Root>
|
</Field.Root>
|
||||||
|
|
||||||
<Field.Root>
|
<Field.Root>
|
||||||
|
|||||||
@@ -624,7 +624,7 @@ export default function RoomsList() {
|
|||||||
|
|
||||||
<Tabs.Content value="calendar" pt={6}>
|
<Tabs.Content value="calendar" pt={6}>
|
||||||
<ICSSettings
|
<ICSSettings
|
||||||
roomName={parseNonEmptyString(room.name)}
|
roomName={room.name ? parseNonEmptyString(room.name) : null}
|
||||||
icsUrl={room.icsUrl}
|
icsUrl={room.icsUrl}
|
||||||
icsEnabled={room.icsEnabled}
|
icsEnabled={room.icsEnabled}
|
||||||
icsFetchInterval={room.icsFetchInterval}
|
icsFetchInterval={room.icsFetchInterval}
|
||||||
|
|||||||
Reference in New Issue
Block a user