Compare commits
2 Commits
0c1842cf02
...
kub-stage
| Author | SHA1 | Date | |
|---|---|---|---|
| 016b259da0 | |||
| bb789e443e |
@@ -131,7 +131,10 @@
|
||||
|
||||
@* ═══════════════════════════════════════════════
|
||||
2. HOW IT WORKS — 3 numbered steps
|
||||
(appsettings Landing:ShowStepsSection; default false)
|
||||
═══════════════════════════════════════════════ *@
|
||||
@if (_showStepsSection)
|
||||
{
|
||||
<section class="section-landing">
|
||||
<MudContainer MaxWidth="MaxWidth.Large">
|
||||
<div class="text-center mb-8 fade-in-up">
|
||||
@@ -157,10 +160,14 @@
|
||||
</MudGrid>
|
||||
</MudContainer>
|
||||
</section>
|
||||
}
|
||||
|
||||
@* ═══════════════════════════════════════════════
|
||||
3. FEATURES — 6 cards with icons
|
||||
(appsettings Landing:ShowFeaturesSection; default false)
|
||||
═══════════════════════════════════════════════ *@
|
||||
@if (_showFeaturesSection)
|
||||
{
|
||||
<section class="section-landing" style="background:var(--mud-palette-background-gray);">
|
||||
<MudContainer MaxWidth="MaxWidth.Large">
|
||||
<div class="text-center mb-8 fade-in-up">
|
||||
@@ -188,6 +195,7 @@
|
||||
</MudGrid>
|
||||
</MudContainer>
|
||||
</section>
|
||||
}
|
||||
|
||||
@* ═══════════════════════════════════════════════
|
||||
4. STATS — Counter cards
|
||||
|
||||
@@ -21,6 +21,8 @@ public partial class Index : IDisposable
|
||||
|
||||
private bool _isAuthenticated;
|
||||
private string _twentyCardPortalUrl = string.Empty;
|
||||
private bool _showStepsSection;
|
||||
private bool _showFeaturesSection;
|
||||
|
||||
// ── CMS page data ──
|
||||
private PageSettingsDto? _pageData;
|
||||
@@ -53,6 +55,9 @@ public partial class Index : IDisposable
|
||||
MainService.OnChangeHandler += OnStateChanged;
|
||||
_isAuthenticated = await AuthService.IsAuthenticatedAsync();
|
||||
_twentyCardPortalUrl = Configuration["TwentyCard:CreditPortalUrl"] ?? string.Empty;
|
||||
// appsettings Landing:* — default false (hidden). Set true to restore sections.
|
||||
_showStepsSection = Configuration.GetValue("Landing:ShowStepsSection", false);
|
||||
_showFeaturesSection = Configuration.GetValue("Landing:ShowFeaturesSection", false);
|
||||
|
||||
// Load landing page settings from CMS
|
||||
try
|
||||
@@ -344,8 +349,10 @@ public partial class Index : IDisposable
|
||||
public string? HeroButtonPrimaryText { get; set; }
|
||||
public string? HeroButtonSecondaryText { get; set; }
|
||||
public List<TrustBadgeItem>? TrustBadges { get; set; }
|
||||
public bool? StepsEnabled { get; set; }
|
||||
public string? StepsTitle { get; set; }
|
||||
public List<StepItem>? Steps { get; set; }
|
||||
public bool? FeaturesEnabled { get; set; }
|
||||
public string? FeaturesTitle { get; set; }
|
||||
public List<FeatureItem>? Features { get; set; }
|
||||
public string? StatsTitle { get; set; }
|
||||
|
||||
@@ -4,6 +4,10 @@
|
||||
"TwentyCard": {
|
||||
"CreditPortalUrl": "https://userpanel.20card.ir/"
|
||||
},
|
||||
"Landing": {
|
||||
"ShowStepsSection": false,
|
||||
"ShowFeaturesSection": false
|
||||
},
|
||||
"EncryptionSettings": {
|
||||
"Key": "kmcQ3XTmH4mrdh8VHziuscyf8LLYjG//Kyni81nH/0E=",
|
||||
"IV": "1wyF3Tt142MOkCpIyCxh/g=="
|
||||
|
||||
@@ -9,6 +9,10 @@
|
||||
"TwentyCard": {
|
||||
"CreditPortalUrl": "https://userpanel.20card.ir/"
|
||||
},
|
||||
"Landing": {
|
||||
"ShowStepsSection": false,
|
||||
"ShowFeaturesSection": false
|
||||
},
|
||||
"EncryptionSettings": {
|
||||
"Key": "kmcQ3XTmH4mrdh8VHziuscyf8LLYjG//Kyni81nH/0E=",
|
||||
"IV": "1wyF3Tt142MOkCpIyCxh/g=="
|
||||
|
||||
@@ -9,6 +9,10 @@
|
||||
"TwentyCard": {
|
||||
"CreditPortalUrl": "https://userpanel.20card.ir/"
|
||||
},
|
||||
"Landing": {
|
||||
"ShowStepsSection": false,
|
||||
"ShowFeaturesSection": false
|
||||
},
|
||||
"EncryptionSettings": {
|
||||
"Key": "kmcQ3XTmH4mrdh8VHziuscyf8LLYjG//Kyni81nH/0E=",
|
||||
"IV": "1wyF3Tt142MOkCpIyCxh/g=="
|
||||
|
||||
Reference in New Issue
Block a user