599112e122
* Fix labelling of avatar menu * Make the integration manager toggle more clear. * fix label * lint * Update snapshots. * Refactor many cases of checkbox to use the new compound component. * Remove non-checkbox related changes * Reset some things * Remove usages of mx_checkbox* styling. * Use label locators for apperance tests. * small linter tweaks * lint * update screenshot * Test updates * lint * Realign checkboxes for device selection. * Fixup QuickSettings styling * remove comment * lint * flex comment * remove unused label * remove redundant classes * add test for spaces * lint * Copyright * fixup spaces test * spaces lint * Replace pin with compound pin. * Realign icons * Remove hack for colouring icons * Adjust existing rooms component to correctly label room. * Add test for adding an existing room to an existing space. * Set deterministic sort order for rooms * lint
39 lines
1.2 KiB
TypeScript
39 lines
1.2 KiB
TypeScript
/*
|
|
Copyright 2024,2025 New Vector Ltd.
|
|
Copyright 2022 The Matrix.org Foundation C.I.C.
|
|
|
|
SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
|
|
Please see LICENSE files in the repository root for full details.
|
|
*/
|
|
|
|
import React from "react";
|
|
|
|
import StyledCheckbox from "../../elements/StyledCheckbox";
|
|
import DeviceTile, { type DeviceTileProps } from "./DeviceTile";
|
|
|
|
interface Props extends DeviceTileProps {
|
|
isSelected: boolean;
|
|
onSelect: () => void;
|
|
onClick?: () => void;
|
|
}
|
|
|
|
const SelectableDeviceTile: React.FC<Props> = ({ children, device, isSelected, onSelect, onClick }) => {
|
|
return (
|
|
<div className="mx_SelectableDeviceTile">
|
|
<StyledCheckbox
|
|
checked={isSelected}
|
|
onChange={onSelect}
|
|
className="mx_SelectableDeviceTile_checkbox"
|
|
id={`device-tile-checkbox-${device.device_id}`}
|
|
data-testid={`device-tile-checkbox-${device.device_id}`}
|
|
>
|
|
<DeviceTile device={device} onClick={onClick} isSelected={isSelected}>
|
|
{children}
|
|
</DeviceTile>
|
|
</StyledCheckbox>
|
|
</div>
|
|
);
|
|
};
|
|
|
|
export default SelectableDeviceTile;
|