mirror of
https://github.com/DorkSquadRR/DorkNet.git
synced 2026-10-25 15:08:47 -07:00
121 lines
3.6 KiB
C#
121 lines
3.6 KiB
C#
using Microsoft.Maui.Controls;
|
|
using Microsoft.Maui.Controls.Shapes;
|
|
|
|
namespace DorkNet.AdminMobile.Design;
|
|
|
|
public static class AppDesign
|
|
{
|
|
public static readonly Color Canvas = Color.FromArgb("#0f1115");
|
|
public static readonly Color Surface = Color.FromArgb("#171a20");
|
|
public static readonly Color SurfaceLifted = Color.FromArgb("#20252d");
|
|
public static readonly Color RowSurface = Color.FromArgb("#14171d");
|
|
public static readonly Color Stroke = Color.FromArgb("#2a3039");
|
|
public static readonly Color Text = Color.FromArgb("#f4f6fa");
|
|
public static readonly Color Muted = Color.FromArgb("#aeb7c6");
|
|
public static readonly Color Subtle = Color.FromArgb("#778294");
|
|
public static readonly Color Accent = Color.FromArgb("#64b5ff");
|
|
public static readonly Color AndroidAccent = Color.FromArgb("#b7dd72");
|
|
public static readonly Color Danger = Color.FromArgb("#ff6f82");
|
|
|
|
public static Brush PageBackground => new SolidColorBrush(Canvas);
|
|
|
|
public static Color PlatformAccent =>
|
|
#if ANDROID
|
|
AndroidAccent;
|
|
#else
|
|
Accent;
|
|
#endif
|
|
|
|
public static Label Title(string text) => new()
|
|
{
|
|
Text = text,
|
|
TextColor = Text,
|
|
FontSize = 22,
|
|
FontAttributes = FontAttributes.Bold,
|
|
LineBreakMode = LineBreakMode.TailTruncation,
|
|
};
|
|
|
|
public static Label Section(string text) => new()
|
|
{
|
|
Text = text.ToUpperInvariant(),
|
|
TextColor = Subtle,
|
|
FontSize = 12,
|
|
FontAttributes = FontAttributes.Bold,
|
|
Margin = new Thickness(0, 12, 0, 0),
|
|
};
|
|
|
|
public static Border GlassCard(View content, Thickness? padding = null) => new()
|
|
{
|
|
Padding = padding ?? new Thickness(14),
|
|
Stroke = Stroke,
|
|
StrokeThickness = 1,
|
|
BackgroundColor = Surface,
|
|
StrokeShape = new RoundRectangle { CornerRadius = 10 },
|
|
Content = content,
|
|
};
|
|
|
|
public static Button PrimaryButton(string text) => new()
|
|
{
|
|
Text = text,
|
|
BackgroundColor = PlatformAccent,
|
|
TextColor = Colors.Black,
|
|
CornerRadius = 10,
|
|
HeightRequest = 44,
|
|
FontAttributes = FontAttributes.Bold,
|
|
Padding = new Thickness(14, 0),
|
|
};
|
|
|
|
public static Button SecondaryButton(string text) => new()
|
|
{
|
|
Text = text,
|
|
BackgroundColor = SurfaceLifted,
|
|
TextColor = Text,
|
|
CornerRadius = 10,
|
|
HeightRequest = 42,
|
|
Padding = new Thickness(14, 0),
|
|
};
|
|
|
|
public static Button DangerButton(string text) => new()
|
|
{
|
|
Text = text,
|
|
BackgroundColor = Color.FromArgb("#4c1d28"),
|
|
TextColor = Color.FromArgb("#ffd5dc"),
|
|
CornerRadius = 10,
|
|
HeightRequest = 42,
|
|
Padding = new Thickness(12, 0),
|
|
};
|
|
|
|
public static Entry Entry(string placeholder, Keyboard? keyboard = null, bool secret = false) => new()
|
|
{
|
|
Placeholder = placeholder,
|
|
IsPassword = secret,
|
|
TextColor = Text,
|
|
PlaceholderColor = Subtle,
|
|
BackgroundColor = Color.FromArgb("#19202b"),
|
|
ClearButtonVisibility = ClearButtonVisibility.WhileEditing,
|
|
Keyboard = keyboard ?? Keyboard.Text,
|
|
HeightRequest = 44,
|
|
};
|
|
|
|
public static Label Caption(string text) => new()
|
|
{
|
|
Text = text,
|
|
TextColor = Muted,
|
|
FontSize = 13,
|
|
LineBreakMode = LineBreakMode.WordWrap,
|
|
};
|
|
|
|
public static BoxView Divider() => new()
|
|
{
|
|
HeightRequest = 1,
|
|
Color = Stroke,
|
|
Opacity = 0.7,
|
|
};
|
|
|
|
public static Label StatusLabel() => new()
|
|
{
|
|
TextColor = Muted,
|
|
FontSize = 13,
|
|
};
|
|
}
|