-
Notifications
You must be signed in to change notification settings - Fork 104
Expand file tree
/
Copy pathSettings.tsx
More file actions
68 lines (59 loc) · 2.2 KB
/
Settings.tsx
File metadata and controls
68 lines (59 loc) · 2.2 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
import {
Button, Menu, MenuItem, MenuItemLink, MenuList, MenuPopover, MenuTrigger, Tooltip
} from '@fluentui/react-components'
import { Color20Regular, Settings20Regular, WindowDevTools20Regular } from '@fluentui/react-icons'
import { componentNames, eventTypes, telemetry } from '../../../../telemetry'
import { usePopups } from '../../../services/hooks'
import { translateMessage } from '../../../utils/translate-messages'
import { useHeaderStyles } from '../utils'
const officeLink = 'https://developer.microsoft.com/office/dev-program'
const trackSettingsButtonClickEvent = () => {
telemetry.trackEvent(eventTypes.BUTTON_CLICK_EVENT, {
ComponentName: componentNames.SETTINGS_BUTTON
});
}
const trackOfficeDevProgramLinkClickEvent = () => {
telemetry.trackEvent(eventTypes.LINK_CLICK_EVENT, {
ComponentName: componentNames.OFFICE_DEV_PROGRAM_LINK
});
};
const Settings = ()=>{
const styles = useHeaderStyles();
const {show: showThemeChooser} = usePopups('theme-chooser', 'dialog')
const toggleThemeChooserDialogState = () => {
showThemeChooser({
settings: {
title: translateMessage('Change theme'),
width: 'xl'
}
});
telemetry.trackEvent(eventTypes.BUTTON_CLICK_EVENT, {
ComponentName: componentNames.THEME_CHANGE_BUTTON
});
};
return (
<Menu>
<Tooltip content={translateMessage('Settings')} relationship="description">
<MenuTrigger disableButtonEnhancement>
<Button
aria-label={translateMessage('Settings')}
onClick={trackSettingsButtonClickEvent}
className={styles.iconButton} appearance="subtle" icon={<Settings20Regular />} />
</MenuTrigger>
</Tooltip>
<MenuPopover>
<MenuList>
<MenuItem
icon={<Color20Regular />}
onClick={toggleThemeChooserDialogState}>{translateMessage('Change theme')}</MenuItem>
<MenuItemLink
as='a'
href={officeLink} target="_blank"
onClick={trackOfficeDevProgramLinkClickEvent}
icon={<WindowDevTools20Regular />}>{translateMessage('Office Dev Program')}</MenuItemLink>
</MenuList>
</MenuPopover>
</Menu>
)
}
export { Settings }