1404/11/01-add dynamic config

This commit is contained in:
2026-01-21 19:38:50 +03:30
parent 9d96ae106b
commit 88105c4f36
31 changed files with 648 additions and 173 deletions
+216
View File
@@ -0,0 +1,216 @@
/* =================== متغیرها =================== */
/* =================== Buttons =================== */
.ant-btn-primary {
background-color: @App-primary-color !important;
border-color: @App-primary-color !important;
color: #fff !important;
&:hover {
background-color: @App-primary-color !important;
border-color: @App-primary-color !important;
color: #fff !important;
}
&:active {
background-color: @App-primary-color !important;
border-color: @App-primary-color !important;
color: #fff !important;
}
&:disabled {
background-color: #f5f5f5 !important;
border-color: #d9d9d9 !important;
cursor: not-allowed !important;
}
}
//.ant-btn {
// &:hover {
// border-color: @App-primary-color !important;
// box-shadow: 0 0 0 2px color-mix(in srgb, @App-primary-color 20%, transparent) !important;
// color: @App-primary-color !important;
// }
//
// &.ant-input-focused {
// border-color: @App-primary-color !important;
// box-shadow: 0 0 0 2px color-mix(in srgb, @App-primary-color 20%, transparent) !important;
// color: @App-primary-color !important;
// }
//
// &:focus {
// border-color: @App-primary-color !important;
// box-shadow: 0 0 0 2px color-mix(in srgb, @App-primary-color 20%, transparent) !important;
// color: @App-primary-color !important;
// }
//}
.ant-btn-default:hover,
.ant-btn-default:focus {
border-color: @App-primary-color !important;
color: @App-primary-color !important;
}
/* =================== Links =================== */
.ant-typography a,
.ant-typography a:hover,
.ant-typography a:active {
color: @App-primary-color !important;
}
/* =================== Badge =================== */
.ant-badge-status-processing {
background-color: @App-primary-color !important;
}
/* =================== Input =================== */
//.ant-input,
//.ant-input:hover,
//.ant-input-focused,
//.ant-input:focus {
// border-color: @App-primary-color !important;
// box-shadow: 0 0 0 2px rgba(10,27,55,0.2) !important; /* fallback برای hover */
//}
.ant-input {
&:hover {
border-color: @App-primary-color !important;
box-shadow: 0 0 0 2px color-mix(in srgb, @App-primary-color 20%, transparent) !important;
}
&.ant-input-focused {
border-color: @App-primary-color !important;
box-shadow: 0 0 0 2px color-mix(in srgb, @App-primary-color 20%, transparent) !important;
}
&:focus {
border-color: @App-primary-color !important;
box-shadow: 0 0 0 2px color-mix(in srgb, @App-primary-color 20%, transparent) !important;
}
}
.ant-input-affix-wrapper:focus, .ant-input-affix-wrapper-focused{
border-color: @App-primary-color !important;
box-shadow: 0 0 0 2px color-mix(in srgb, @App-primary-color 20%, transparent) !important;
}
/* =================== Select =================== */
.ant-select-focused,
.ant-select:hover,
.ant-select-selection {
border-color: @App-primary-color !important;
box-shadow: none
}
.ant-select:not(.ant-select-disabled):hover .ant-select-selector{
border-color: @App-primary-color !important;
box-shadow: 0 0 0 2px color-mix(in srgb, @App-primary-color 20%, transparent) !important;
}
/* =================== Radio =================== */
.ant-radio-checked .ant-radio-inner {
border-color: @App-primary-color !important;
background-color: @App-primary-color !important;
}
.ant-radio-group-solid .ant-radio-button-wrapper-checked{
border-color: @App-primary-color !important;
background-color: @App-primary-color !important;
}
.ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled):hover::before{
background-color: @App-primary-color !important;
}
/* =================== Checkbox =================== */
.ant-checkbox-checked .ant-checkbox-inner {
border-color: @App-primary-color !important;
background-color: @App-primary-color !important;
}
/* =================== Switch =================== */
.ant-switch-checked {
background-color: @App-primary-color !important;
}
/* =================== Tag =================== */
//.ant-tag-blue {
// background-color: @App-primary-color !important;
// color: #fff !important;
// border-color: @App-primary-color !important;
//}
/* =================== Slider =================== */
.ant-slider-track {
background-color: @App-primary-color !important;
}
.ant-slider-handle {
border-color: @App-primary-color !important;
}
/* =================== Menu =================== */
.ant-menu-item-selected {
background-color: @App-primary-color !important;
}
.ant-menu-item-selected a {
color: #fff !important;
}
/* =================== Pagination =================== */
.ant-pagination-item-active {
background-color: @App-primary-color !important;
border-color: @App-primary-color !important;
}
/* =================== Tooltip =================== */
.ant-tooltip-arrow-content {
background-color: @App-primary-color !important;
}
/* =================== Tabs =================== */
.ant-tabs-tab-active {
color: @App-primary-color !important;
}
/* =================== Card =================== */
.ant-card-head-title a {
color: @App-primary-color !important;
}
/* =================== Steps =================== */
.ant-steps-item-process .ant-steps-item-icon,
.ant-steps-item-finish .ant-steps-item-icon {
background-color: @App-primary-color !important;
}
/* =================== Alert =================== */
.ant-alert-success .ant-alert-icon,
.ant-alert-info .ant-alert-icon,
.ant-alert-warning .ant-alert-icon,
.ant-alert-error .ant-alert-icon {
color: @App-primary-color !important;
}
/* =================== Divider =================== */
//.ant-divider-horizontal {
// border-top-color: @App-primary-color !important;
//}
/* =================== Checkbox / Radio Hover =================== */
.ant-checkbox:hover .ant-checkbox-inner,
.ant-radio:hover .ant-radio-inner {
border-color: @App-primary-color !important;
}
/* =================== Disabled =================== */
.ant-checkbox-disabled .ant-checkbox-inner,
.ant-radio-disabled .ant-radio-inner {
background-color: 0 0 0 2px color-mix(in srgb, @App-primary-color 20%, transparent) !important;
border-color: 0 0 0 2px color-mix(in srgb, @App-primary-color 20%, transparent) !important;
}
.ant-spin-dot-item {
background-color: @App-primary-color !important;
}
.ant-spin-dot i {
background-color: @App-primary-color !important;
}
+7 -6
View File
@@ -1,5 +1,6 @@
@import (less) './var.less';
@import (less) './fonts.less';
@import (less) './ant.less';
html {
scroll-behavior: smooth;
@@ -133,7 +134,7 @@ body {
background-color: #fff;
//display: none;
outline: none;
border: 1px solid #0A1B37 !important;
border: 1px solid @App-primary-color !important;
}
}
@@ -331,18 +332,18 @@ body {
}
.ant-radio-group-solid
.ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled):hover{
color: #0A1B37 !important;
color:@App-primary-color !important;
}
.ant-input-group-addon{
background-color: #0A1B37 !important;
color: #e0be7f !important;
background-color: @App-primary-color !important;
color: @secondary-color !important;
}
.ant-slider-track{
background-color: #0A1B37 !important;
background-color:@App-primary-color !important;
}
.ant-slider-handle {
background-color: #0A1B37 !important;
background-color: @App-primary-color !important;
}
+8 -3
View File
@@ -1,8 +1,13 @@
@prefixCls: 'noname';
@primary-color: #0A1B37;
@secondary-color: #0A1B37;
@App-primary-color: var(--App-primary-color);
@secondary-color: var(--App-secondary-color);
@prefixCls-font-family: 'iran-sans';
@prefixCls-background-color: #fff;
@prefixCls-background-color: var(--App-background-color);
@border-radius-base: 8px;
:root {
--App-primary-color: #0A1B37;
--App-secondary-color: #e0be7f;
--App-background-color: #ffffff;
}