Add some header settings (#199)

* Add show_roadmap_in_header setting
* Add collapse_boards_in_header setting (thanks @josh-bitovi)
This commit is contained in:
Riccardo Graziosi
2023-02-11 11:35:27 +01:00
committed by GitHub
parent e7335f5622
commit b2e9031ed6
14 changed files with 124 additions and 8 deletions

View File

@@ -11,6 +11,8 @@ import {
TENANT_SETTING_BRAND_DISPLAY_NAME_ONLY,
TENANT_SETTING_BRAND_DISPLAY_LOGO_ONLY,
TENANT_SETTING_BRAND_DISPLAY_NONE,
TENANT_SETTING_COLLAPSE_BOARDS_IN_HEADER_NO_COLLAPSE,
TENANT_SETTING_COLLAPSE_BOARDS_IN_HEADER_ALWAYS_COLLAPSE,
} from '../../../interfaces/ITenantSetting';
import { DangerText, SmallMutedText } from '../../common/CustomTexts';
import { getLabel, getValidationMessage } from '../../../helpers/formUtils';
@@ -24,6 +26,8 @@ export interface ISiteSettingsGeneralForm {
showVoteCount: boolean;
showVoteButtonInBoard: boolean;
rootBoardId?: string;
showRoadmapInHeader: boolean;
collapseBoardsInHeader: string;
}
interface Props {
@@ -40,6 +44,8 @@ interface Props {
brandDisplaySetting: string,
locale: string,
rootBoardId: number,
showRoadmapInHeader: boolean,
collapseBoardsInHeader: string,
showVoteCount: boolean,
showVoteButtonInBoard: boolean,
authenticityToken: string
@@ -68,6 +74,8 @@ const GeneralSiteSettingsP = ({
showVoteCount: originForm.showVoteCount,
showVoteButtonInBoard: originForm.showVoteButtonInBoard,
rootBoardId: originForm.rootBoardId,
showRoadmapInHeader: originForm.showRoadmapInHeader,
collapseBoardsInHeader: originForm.collapseBoardsInHeader,
},
});
@@ -78,9 +86,11 @@ const GeneralSiteSettingsP = ({
data.brandDisplaySetting,
data.locale,
Number(data.rootBoardId),
data.showRoadmapInHeader,
data.collapseBoardsInHeader,
data.showVoteCount,
data.showVoteButtonInBoard,
authenticityToken,
authenticityToken
).then(res => {
if (res?.status !== HttpStatus.OK) return;
window.location.reload();
@@ -170,6 +180,34 @@ const GeneralSiteSettingsP = ({
</div>
<br />
<h4>{ I18n.t('site_settings.general.subtitle_header') }</h4>
<div className="formGroup">
<div className="checkboxSwitch">
<input {...register('showRoadmapInHeader')} type="checkbox" id="show_roadmap_in_header" />
<label htmlFor="show_roadmap_in_header">{ getLabel('tenant_setting', 'show_roadmap_in_header') }</label>
</div>
</div>
<br />
<div className="formGroup">
<label htmlFor="collapseBoardsInHeader">{ getLabel('tenant_setting', 'collapse_boards_in_header') }</label>
<select
{...register('collapseBoardsInHeader')}
id="collapseBoardsInHeader"
className="selectPicker"
>
<option value={TENANT_SETTING_COLLAPSE_BOARDS_IN_HEADER_NO_COLLAPSE}>
{ I18n.t('site_settings.general.collapse_boards_in_header_no_collapse') }
</option>
<option value={TENANT_SETTING_COLLAPSE_BOARDS_IN_HEADER_ALWAYS_COLLAPSE}>
{ I18n.t('site_settings.general.collapse_boards_in_header_always_collapse') }
</option>
</select>
</div>
<br />
<h4>{ I18n.t('site_settings.general.subtitle_visibility') }</h4>
<div className="formGroup">
<div className="checkboxSwitch">