SystemVersion.tsx 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. import React, { type JSX } from 'react';
  2. import { useGrowiVersion } from '~/states/global';
  3. import { useShortcutsModalActions } from '~/states/ui/modal/shortcuts';
  4. import styles from './SystemVersion.module.scss';
  5. type Props = {
  6. showShortcutsButton?: boolean;
  7. };
  8. const SystemVersion = (props: Props): JSX.Element => {
  9. const { showShortcutsButton } = props;
  10. const { open: openShortcutsModal } = useShortcutsModalActions();
  11. const growiVersion = useGrowiVersion();
  12. // add classes to cmd-key by OS
  13. const platform = window.navigator.platform.toLowerCase();
  14. const isMac = platform.indexOf('mac') > -1;
  15. const os = isMac ? 'mac' : 'win';
  16. return (
  17. <>
  18. <div
  19. className={`${styles['system-version']} d-none d-md-flex d-edit-none d-print-none align-items-center`}
  20. >
  21. <span>
  22. <a href="https://growi.org">GROWI</a> {growiVersion}
  23. </span>
  24. {showShortcutsButton && (
  25. <button
  26. type="button"
  27. className="btn btn-link ms-2 p-0"
  28. onClick={() => openShortcutsModal()}
  29. >
  30. <span className="material-symbols-outlined">keyboard</span>&nbsp;
  31. <span className={`cmd-key ${os}`}></span>-/
  32. </button>
  33. )}
  34. </div>
  35. </>
  36. );
  37. };
  38. export default SystemVersion;