{pref.displayName} |
{makeContentCell(PreferenceContext.Account, globalServer, inherit = pref.defaultValue)} |
{makeContentCell(PreferenceContext.Device, globalLocal, inherit = globalServer ?? inherit)} |
{makeContentCell(PreferenceContext.RoomAccount, roomServer, inherit = globalLocal ?? inherit)} |
{makeContentCell(PreferenceContext.RoomDevice, roomLocal, inherit = roomServer ?? inherit)} |
}
interface SettingsViewProps {
room: RoomStateStore
}
const CustomCSSInput = ({ setPref, room }: { setPref: SetPrefFunc, room: RoomStateStore }) => {
const client = use(ClientContext)!
const [context, setContext] = useState(PreferenceContext.Account)
const getContextText = useCallback((context: PreferenceContext) => {
if (context === PreferenceContext.Account) {
return client.store.serverPreferenceCache.custom_css
} else if (context === PreferenceContext.Device) {
return client.store.localPreferenceCache.custom_css
} else if (context === PreferenceContext.RoomAccount) {
return room.serverPreferenceCache.custom_css
} else if (context === PreferenceContext.RoomDevice) {
return room.localPreferenceCache.custom_css
}
}, [client, room])
const origText = getContextText(context)
const [text, setText] = useState(origText ?? "")
const onChangeContext = useCallback((evt: React.ChangeEvent