This commit is contained in:
MeysamMoghaddam
2025-09-28 07:11:47 +03:30
parent 2352b7ca17
commit a9affba39f
2 changed files with 137 additions and 7 deletions

View File

@@ -1,10 +1,102 @@
@attribute [Route(RouteConstants.Main.MainPage)]
@inject NavigationManager Navigation
<PageTitle>FrontOffice Platform</PageTitle>
<MudContainer Class="pa-6" MaxWidth="MaxWidth.Large">
<MudGrid GutterSize="GutterSize.Medium">
<MudItem xs="12" md="6">
<MudText Typo="Typo.h3" Class="mb-2">Grow your capital with curated investment packages</MudText>
<MudText Typo="Typo.body1" Class="mb-4">
FrontOffice combines product ownership with network-based commissions. Explore verified packages, track your earnings, and manage your team in a single dashboard.
</MudText>
<MudStack Direction="Row" Spacing="2">
<MudButton Variant="Variant.Filled" Color="Color.Primary" OnClick="@(()=>NavigateToAuth(true))" StartIcon="@Icons.Material.Filled.PlayArrow">
Get Started
</MudButton>
<MudButton Variant="Variant.Outlined" Color="Color.Primary" OnClick="@(()=>NavigateToAuth(false))">
Sign In
</MudButton>
</MudStack>
</MudItem>
<MudItem xs="12" md="6">
<MudPaper Elevation="1" Class="pa-4 d-flex flex-column gap-3">
<MudStack Spacing="2">
<MudText Typo="Typo.subtitle1" Color="Color.Primary">Why FrontOffice?</MudText>
<MudStack Direction="Row" AlignItems="AlignItems.Center" Spacing="1">
<MudIcon Icon="@Icons.Material.Filled.TrendingUp" Color="Color.Primary" />
<MudText Typo="Typo.body2">Hybrid investment + product ownership ensures tangible value.</MudText>
</MudStack>
<MudStack Direction="Row" AlignItems="AlignItems.Center" Spacing="1">
<MudIcon Icon="@Icons.Material.Filled.Groups" Color="Color.Primary" />
<MudText Typo="Typo.body2">Binary network model with transparent genealogy tracking.</MudText>
</MudStack>
<MudStack Direction="Row" AlignItems="AlignItems.Center" Spacing="1">
<MudIcon Icon="@Icons.Material.Filled.Payments" Color="Color.Primary" />
<MudText Typo="Typo.body2">Instant commission reports and monthly payouts.</MudText>
</MudStack>
</MudStack>
</MudPaper>
</MudItem>
</MudGrid>
<MudDivider Class="my-6" />
<MudStack Spacing="1" Class="mb-4" AlignItems="AlignItems.Center">
<MudText Typo="Typo.h4">Featured Packages</MudText>
<MudText Typo="Typo.body2" Align="Align.Center" Style="max-width:600px;">
Discover curated bundles that combine digital ownership, physical products, and network rewards. Choose the plan that matches your investment horizon.
</MudText>
</MudStack>
<MudGrid GutterSize="GutterSize.Medium">
@foreach (var package in Packages)
{
<MudItem xs="12" sm="6" lg="4">
<MudCard Class="h-100 d-flex flex-column">
<MudCardMedia Image="@package.ImageUrl" Height="180" />
<MudCardContent Class="d-flex flex-column gap-2">
<MudText Typo="Typo.h6">@package.Title</MudText>
<MudText Typo="Typo.subtitle2" Color="Color.Primary">@package.Price</MudText>
<MudText Typo="Typo.body2" Class="mud-truncate">@package.Summary</MudText>
</MudCardContent>
<MudCardActions Class="mt-auto d-flex justify-space-between pa-4">
<MudButton Variant="Variant.Filled"
Color="Color.Primary"
StartIcon="@Icons.Material.Filled.ShoppingCart"
OnClick="@(()=>HandlePurchase(package))">
Buy
</MudButton>
<MudButton Variant="Variant.Outlined"
Color="Color.Primary"
OnClick="@(()=>HandleDetails(package))">
Details
</MudButton>
</MudCardActions>
</MudCard>
</MudItem>
}
</MudGrid>
<MudDivider Class="my-6" />
<MudPaper Elevation="1" Class="pa-6 d-flex flex-column flex-md-row align-center justify-space-between gap-4">
<MudStack Spacing="1">
<MudText Typo="Typo.h5">Ready to build your FrontOffice?</MudText>
<MudText Typo="Typo.body2">
Start with a starter package, invite your partners, and monitor your income in real time. Our support team is here to help you onboard smoothly.
</MudText>
</MudStack>
<MudStack Direction="Row" Spacing="2">
<MudButton Variant="Variant.Filled" Color="Color.Secondary" OnClick="@(()=>NavigateToAuth(true))">
Create Account
</MudButton>
<MudButton Variant="Variant.Outlined" Color="Color.Secondary" OnClick="ScrollToPackages">
View Packages
</MudButton>
</MudStack>
</MudPaper>
</MudContainer>
<PageTitle>خانه</PageTitle>
<MudPaper Class="d-flex flex-column align-center justify-center pa-6" Elevation="0">
<MudText Typo="Typo.h4" Class="mb-2">داشبورد فرانت‌آفیس</MudText>
<MudText Typo="Typo.body1" Align="Align.Center" Style="max-width:420px;">
پس از ورود با شماره موبایل، می‌توانید وضعیت سفارش‌ها و شبکه کاربری خود را مشاهده کنید.
</MudText>
</MudPaper>

View File

@@ -0,0 +1,38 @@
using FrontOffice.Main.Utilities;
namespace FrontOffice.Main.Pages;
public partial class Index
{
private readonly IReadOnlyList<PackageCard> Packages = new List<PackageCard>
{
new("Starter Combo", "$150", "Entry-level mix of digital services and physical product vouchers.", "https://images.unsplash.com/photo-1581291518857-4e27b48ff24e?auto=format&fit=crop&w=800&q=80"),
new("Growth Portfolio", "$420", "Balanced bundle for network builders with weekly webinars and mentor access.", "https://images.unsplash.com/photo-1503387762-592deb58ef4e?auto=format&fit=crop&w=800&q=80"),
new("Elite Master Pack", "$980", "Premium assets, lifetime dashboard analytics, and higher binary commissions.", "https://images.unsplash.com/photo-1545239351-1141bd82e8a6?auto=format&fit=crop&w=800&q=80"),
new("Product Booster", "$260", "Merchandise-focused kit with recurring inventory top-ups and customer rewards.", "https://images.unsplash.com/photo-1498050108023-c5249f4df085?auto=format&fit=crop&w=800&q=80"),
new("Network Accelerator", "$560", "Designed for team leaders<72>includes onboarding funnels and marketing credits.", "https://images.unsplash.com/photo-1521737604893-d14cc237f11d?auto=format&fit=crop&w=800&q=80"),
new("Legacy Plan", "$1,250", "Long-term portfolio with quarterly dividends, event invitations, and VIP support.", "https://images.unsplash.com/photo-1454165205744-3b78555e5572?auto=format&fit=crop&w=800&q=80"),
};
private void NavigateToAuth(bool createAccount)
{
var target = createAccount ? RouteConstants.Auth.Phone : RouteConstants.Auth.Verify;
Navigation.NavigateTo(target);
}
private void HandlePurchase(PackageCard package)
{
Navigation.NavigateTo($"{RouteConstants.Auth.Phone}?redirect=/packages/{Uri.EscapeDataString(package.Title)}");
}
private void HandleDetails(PackageCard package)
{
Navigation.NavigateTo($"/packages/{Uri.EscapeDataString(package.Title)}");
}
private void ScrollToPackages()
{
Navigation.NavigateTo("#packages", forceLoad: false);
}
private sealed record PackageCard(string Title, string Price, string Summary, string ImageUrl);
}