관리자가 모든 모듈의 다크모드 설정을 제어하도록 합니다. (#1558)

* 관리자가 다크모드 작동 여부를 선택할 수 있도록 수정
This commit is contained in:
Min-Soo Kim 2021-01-10 22:21:13 +09:00 committed by GitHub
parent b7856e5683
commit 899fe00dda
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
9 changed files with 75 additions and 9 deletions

View file

@ -1113,6 +1113,13 @@ class adminAdminController extends admin
$vars->html_header = utf8_trim($vars->html_header);
$vars->html_footer = utf8_trim($vars->html_footer);
// Validate the color scheme setting.
$valid_color_scheme_options = array('off_light', 'off_dark', 'auto_light_dark');
if (!in_array($vars->color_scheme, $valid_color_scheme_options))
{
$vars->color_scheme = 'off_light';
}
// Merge all settings into an array.
$settings = array(
'title' => $vars->title,
@ -1123,6 +1130,7 @@ class adminAdminController extends admin
'meta_description' => $vars->meta_description,
'html_header' => $vars->html_header,
'html_footer' => $vars->html_footer,
'color_scheme' => $vars->color_scheme
);
// Get the DB object and begin a transaction.

View file

@ -743,6 +743,14 @@ class adminAdminView extends admin
Context::set('favicon_url', $oAdminAdminModel->getFaviconUrl($domain_info->domain_srl));
Context::set('mobicon_url', $oAdminAdminModel->getMobileIconUrl($domain_info->domain_srl));
Context::set('default_image_url', $oAdminAdminModel->getSiteDefaultImageUrl($domain_info->domain_srl));
// Get color scheme setting.
$valid_color_scheme_options = array('off_light', 'off_dark', 'auto_light_dark');
if (!in_array($domain_info->settings->color_scheme, $valid_color_scheme_options))
{
$domain_info->settings->color_scheme = 'off_light';
}
Context::set('color_scheme', $domain_info->settings->color_scheme);
}
$this->setTemplateFile('config_domains_edit');

View file

@ -299,6 +299,13 @@ $lang->allow_use_mobile_icon = 'Home Screen Icon';
$lang->detail_use_mobile_icon = 'The mobile icon should be 57x57 or 114x114, only png format.';
$lang->cmd_site_default_image = 'Default Image';
$lang->about_site_default_image = 'This image will be shown when your site is linked to in various social networks. It should be 200x200, either jpg or png format.';
$lang->cmd_site_default_color_scheme = 'Color scheme';
$lang->about_site_default_color_scheme = 'You can enable dark mode. The module skins, layouts, etc. that you use should be supported. For the developers, the standard can be refer to <a href="https://github.com/rhymix/rhymix/pull/1482" target="_blank">this page</a>.<dl><dt>Disable (default)</dt><dd>Turn off the dark mode function.</dd><dt>Dark mode (fixed)</dt><dd>Enable the dark mode, but fixed to the dark theme.</dd><dt>Automatic (refer to the client browser settings)</dt><dd>Enable the dark mode, and the clients can switch on or off the dark theme refer to the brower settings or the cookies. The cookies can be modified.</dd></dl> ';
$lang->site_default_color_scheme_options = array(
'off_light' => 'Disable (default)',
'off_dark' => 'Dark mode (fixed)',
'auto_light_dark' => 'Automatic (refer to the client settings)',
);
$lang->use_sso = 'Use <abbr title="Single Sign On">SSO</abbr>?';
$lang->about_use_sso = 'Logging into one domain will automatically log the user into all domains.';
$lang->about_arrange_session = 'Do you want to clean up session?';

View file

@ -295,6 +295,13 @@ $lang->allow_use_mobile_icon = '모바일 홈 화면 아이콘';
$lang->detail_use_mobile_icon = '57x57 또는 114x114 크기의 png 파일을 권장합니다.';
$lang->cmd_site_default_image = '사이트 대표 이미지';
$lang->about_site_default_image = 'SNS 등에 이 사이트가 링크되었을 때 표시되는 이미지입니다. 200x200 크기의 jpg 또는 png 파일을 권장합니다.';
$lang->cmd_site_default_color_scheme = '사이트 색상 조합';
$lang->about_site_default_color_scheme = '다크모드를 사용하도록 설정할 수 있습니다. 사용하는 모듈 스킨, 레이아웃 등이 지원해야 합니다. 표준은 <a href="https://github.com/rhymix/rhymix/pull/1482" target="_blank">여기</a>를 참고하세요.<dl><dt>사용 안 함 (기본)</dt><dd>다크모드 설정을 사용하지 않습니다.</dd><dt>어두운 색상 (고정)</dt><dd>항상 다크모드의 어두운 색상을 표시합니다.</dd><dt>자동 (접속자의 브라우저 설정)</dt><dd>사이트 접속자의 운영체제 또는 브라우저 설정 또는 쿠키의 설정을 따릅니다. 쿠키는 자동, 밝음, 어두움 세 가지 선택지를 가집니다.</dd></dl> ';
$lang->site_default_color_scheme_options = array(
'off_light' => '사용 안 함 (기본)',
'off_dark' => '어두운 색상 (고정)',
'auto_light_dark' => '자동 (접속자의 설정)',
);
$lang->use_sso = '<abbr title="Single Sign On">SSO</abbr> 사용';
$lang->about_use_sso = '한 번만 로그인하면 모든 도메인에 로그인되도록 합니다.';
$lang->about_arrange_session = '세션을 정리하시겠습니까?';

View file

@ -167,6 +167,18 @@
</div>
</div>
<div class="x_control-group">
<label class="x_control-label" for="color_scheme">{lang('admin.cmd_site_default_color_scheme')}</label>
<div class="x_controls">
<select id="color_scheme" name="color_scheme">
<!--@foreach(lang('admin.site_default_color_scheme_options') as $color_scheme_key => $color_scheme_val)-->
<option value="{$color_scheme_key}" selected="selected"|cond="$color_scheme === $color_scheme_key">{$color_scheme_val}</option>
<!--@end-->
</select>
<div class="x_help-block">{lang('admin.about_site_default_color_scheme')}</div>
</div>
</div>
<div class="x_clearfix btnArea">
<div class="x_pull-right">
<button type="submit" class="x_btn x_btn-primary">{$lang->cmd_save}</button>