Skip to content

Commit 0281e99

Browse files
1 parent d7a4570 commit 0281e99

File tree

10 files changed

+194
-195
lines changed

10 files changed

+194
-195
lines changed

.github/workflows/build.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ jobs:
1818

1919
steps:
2020
- name: 📥 Checkout
21-
uses: actions/checkout@v6
21+
uses: actions/checkout@v4
2222

2323
- name: ⚙️ Setup .NET
2424
uses: actions/setup-dotnet@v4

.github/workflows/codeql.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ jobs:
2222

2323
steps:
2424
- name: 📥 Checkout repository
25-
uses: actions/checkout@v6
25+
uses: actions/checkout@v4
2626

2727
- name: 🔧 Setup .NET
2828
uses: actions/setup-dotnet@v4

.github/workflows/deploy-pages.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ jobs:
2929

3030
steps:
3131
- name: 📥 Checkout
32-
uses: actions/checkout@v6
32+
uses: actions/checkout@v4
3333

3434
- name: ⚙️ Setup .NET
3535
uses: actions/setup-dotnet@v4

.github/workflows/nuget-publish.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ jobs:
2222

2323
steps:
2424
- name: 📥 Checkout
25-
uses: actions/checkout@v6
25+
uses: actions/checkout@v4
2626
with:
2727
fetch-depth: 0
2828

src/Blazor.Demo/Blazor.Demo.csproj

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,13 +8,12 @@
88

99
<ItemGroup>
1010
<PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly" Version="7.0.20" />
11-
<PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly.DevServer" Version="7.0.0" PrivateAssets="all" />
11+
<PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly.DevServer" Version="7.0.20" PrivateAssets="all" />
1212
</ItemGroup>
1313

1414
<ItemGroup>
1515
<ProjectReference Include="..\Component\Component.csproj" />
1616
</ItemGroup>
1717

18-
<!-- ✅ Reference به کتابخانه -->
1918

2019
</Project>

src/Component/Core/Features/CopyButton.razor

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -15,54 +15,54 @@
1515

1616
@code {
1717
/// <summary>
18-
/// محتوای متنی که باید کپی شود
18+
/// Text content to be copied
1919
/// </summary>
2020
[Parameter]
2121
public string Content { get; set; } = string.Empty;
2222

2323
/// <summary>
24-
/// متن Tooltip دکمه
24+
/// Button tooltip text
2525
/// </summary>
2626
[Parameter]
2727
public string Title { get; set; } = "Copy";
2828

2929
/// <summary>
30-
/// کلاس‌های CSS دکمه
30+
/// Button CSS classes
3131
/// </summary>
3232
[Parameter]
3333
public string ButtonClass { get; set; } = "btn btn-sm btn-light mb-2";
3434

3535
/// <summary>
36-
/// نام آیکون (استفاده از کامپوننت Icon)
36+
/// Icon name (using Icon component)
3737
/// </summary>
3838
[Parameter]
3939
public string IconName { get; set; } = "clipboard";
4040

4141
/// <summary>
42-
/// متن اختیاری کنار آیکون
42+
/// Optional text next to icon
4343
/// </summary>
4444
[Parameter]
4545
public string ButtonText { get; set; } = string.Empty;
4646

4747
/// <summary>
48-
/// رویداد موفقیت - پیام به Parent برمی‌گردد
48+
/// Success event - message returned to parent
4949
/// </summary>
5050
[Parameter]
5151
public EventCallback<string> OnCopySuccess { get; set; }
5252

5353
/// <summary>
54-
/// رویداد خطا - پیام خطا به Parent برمی‌گردد
54+
/// Error event - error message returned to parent
5555
/// </summary>
5656
[Parameter]
5757
public EventCallback<string> OnCopyError { get; set; }
5858

5959
/// <summary>
60-
/// دکمه زمانی که محتوا خالی است غیرفعال می‌شود
60+
/// Button is disabled when content is empty
6161
/// </summary>
6262
private bool IsDisabled => string.IsNullOrEmpty(Content);
6363

6464
/// <summary>
65-
/// مدیریت کلیک دکمه کپی
65+
/// Handle copy button click
6666
/// </summary>
6767
private async Task HandleCopyClick()
6868
{

src/Component/Core/Features/JsonStatistics.razor

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -317,7 +317,7 @@
317317
switch (format)
318318
{
319319
case ExportFormat.JSON:
320-
// ✅ استفاده از System.Text.Json
320+
// Using System.Text.Json
321321
content = System.Text.Json.JsonSerializer.Serialize(Statistics, new System.Text.Json.JsonSerializerOptions
322322
{
323323
WriteIndented = true

src/Component/Core/Features/ThemeToggle.razor

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -18,41 +18,41 @@
1818
{
1919
try
2020
{
21-
// 🔍 جستجوی تمام Session Keys حاوی 'theme'
21+
// Search all session keys containing 'theme'
2222
var detectedTheme = await jsRuntime.InvokeAsync<string>("eval", @"
2323
(function() {
24-
// اولویت 1: سشن خود کامپوننت
24+
// Priority 1: component's own session
2525
const ownTheme = localStorage.getItem('json-viewer-theme');
2626
if (ownTheme) return ownTheme;
2727
28-
// اولویت 2: جستجو در تمام keys
28+
// Priority 2: search all keys
2929
for (let i = 0; i < localStorage.length; i++) {
3030
const key = localStorage.key(i);
3131
if (key && (key.toLowerCase().includes('theme'))) {
3232
const value = localStorage.getItem(key);
33-
// فقط مقادیر معتبر
33+
// Only valid values
3434
if (value === 'light' || value === 'Light' ||
3535
value === 'dark' || value === 'Dark') {
3636
return value;
3737
}
3838
}
3939
}
4040
41-
// پیشفرض
41+
// Default
4242
return 'light';
4343
})()
4444
");
4545

46-
// Normalize کردن مقدار
46+
// Normalize value
4747
if (!string.IsNullOrEmpty(detectedTheme))
4848
{
4949
IsDark = detectedTheme.ToLower() == "dark";
5050

51-
// ذخیره در سشن خود کامپوننت
51+
// Save in component's own session
5252
await jsRuntime.InvokeVoidAsync("localStorage.setItem",
5353
"json-viewer-theme", IsDark ? "dark" : "light");
5454

55-
// اطلاع به JsonViewer
55+
// Notify JsonViewer
5656
if (OnThemeChanged.HasDelegate)
5757
{
5858
await OnThemeChanged.InvokeAsync(IsDark);
@@ -62,7 +62,7 @@
6262
catch (Exception ex)
6363
{
6464
Console.WriteLine($"Error loading theme: {ex.Message}");
65-
IsDark = false; // پیشفرض light
65+
IsDark = false; // Default light
6666
}
6767
}
6868

@@ -73,10 +73,10 @@
7373

7474
try
7575
{
76-
// 🔄 آپدیت تمام Session Keys حاوی 'theme'
76+
// Update all session keys containing 'theme'
7777
await jsRuntime.InvokeVoidAsync("eval", $@"
7878
(function() {{
79-
// لیست تمام keys حاوی theme
79+
// List all keys containing theme
8080
const themeKeys = [];
8181
for (let i = 0; i < localStorage.length; i++) {{
8282
const key = localStorage.key(i);
@@ -85,12 +85,12 @@
8585
}}
8686
}}
8787
88-
// آپدیت همه
88+
// Update all
8989
themeKeys.forEach(key => {{
9090
localStorage.setItem(key, '{themeValue}');
9191
}});
9292
93-
// اگر سشن json-viewer-theme وجود نداشت، بسازش
93+
// If json-viewer-theme session doesn't exist, create it
9494
if (!themeKeys.includes('json-viewer-theme')) {{
9595
localStorage.setItem('json-viewer-theme', '{themeValue}');
9696
}}
@@ -102,7 +102,7 @@
102102
Console.WriteLine($"Error syncing theme: {ex.Message}");
103103
}
104104

105-
// اطلاع به JsonViewer
105+
// Notify JsonViewer
106106
if (OnThemeChanged.HasDelegate)
107107
{
108108
await OnThemeChanged.InvokeAsync(newTheme);
@@ -111,7 +111,7 @@
111111

112112
private string GetIconName() => IsDark ? "sun-fill" : "moon-fill";
113113

114-
private string GetTooltip() => IsDark ? "Switch to Light Theme ☀️" : "Switch to Dark Theme 🌙";
114+
private string GetTooltip() => IsDark ? "Switch to Light Theme" : "Switch to Dark Theme";
115115

116116
private string GetThemeClass() => IsDark ? "theme-dark" : "theme-light";
117117
}

0 commit comments

Comments
 (0)