Skip to content

Commit 38c907d

Browse files
committed
fixing forward slash Issue
1 parent 481ac64 commit 38c907d

File tree

3 files changed

+21
-21
lines changed

3 files changed

+21
-21
lines changed

TextHub/Components/Layout/UINavBar.razor

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,11 @@
33
<nav class="sticky top-0 z-50 bg-background/80 backdrop-blur-md border-b border-border">
44
<div class="container mx-auto px-4 py-3 md:py-4">
55
<div class="flex items-center justify-between">
6-
<a class="text-xl md:text-2xl font-bold text-gradient hover:opacity-80 transition-opacity" href="/">Text Hub</a>
6+
<a class="text-xl md:text-2xl font-bold text-gradient hover:opacity-80 transition-opacity" href="">Text Hub</a>
77

88
@* --- Desktop Menu --- *@
99
<div class="hidden md:flex items-center gap-6">
10-
<NavLink class="nav-link" href="/" Match="NavLinkMatch.All">Home</NavLink>
10+
<NavLink class="nav-link" href="" Match="NavLinkMatch.All">Home</NavLink>
1111
<div class="relative">
1212
<button @onclick="() => _isToolsDropdownOpen = !_isToolsDropdownOpen" type="button" class="flex items-center gap-1 font-medium hover:text-primary transition-colors cursor-pointer">
1313
Tools
@@ -18,9 +18,9 @@
1818
@if (_isToolsDropdownOpen)
1919
{
2020
<div class="absolute top-full mt-2 w-48 dropdown-menu rounded-md py-1">
21-
<a href="/uppercase" class="block px-4 py-2 text-sm dropdown-item">Uppercase</a>
22-
<a href="/lowercase" class="block px-4 py-2 text-sm dropdown-item">Lowercase</a>
23-
<a href="/word-counter" class="block px-4 py-2 text-sm dropdown-item">Word Counter</a>
21+
<a href="uppercase" class="block px-4 py-2 text-sm dropdown-item">Uppercase</a>
22+
<a href="lowercase" class="block px-4 py-2 text-sm dropdown-item">Lowercase</a>
23+
<a href="word-counter" class="block px-4 py-2 text-sm dropdown-item">Word Counter</a>
2424
</div>
2525
}
2626
</div>
@@ -57,8 +57,8 @@
5757
@if (_isMobileMenuOpen)
5858
{
5959
<div class="md:hidden mt-4">
60-
<a href="/" class="block py-2 text-lg nav-link">Home</a>
61-
<a href="/tools" class="block py-2 text-lg nav-link">Tools</a>
60+
<a href="" class="block py-2 text-lg nav-link">Home</a>
61+
<a href="#tools" class="block py-2 text-lg nav-link">Tools</a>
6262
</div>
6363
}
6464
</div>

TextHub/Components/Shared/TextCaseToolsSection.razor

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
@using TextHub.Services
22
@inject ToolDataService ToolDataService
33

4-
<section class="pb-12 md:pb-20 px-4">
4+
<section class="pb-12 md:pb-20 px-4" id="#tools">
55
<div class="container mx-auto max-w-7xl">
66
<div class="mb-12 md:mb-16 animate-fade-in" style="animation-delay: 0ms;">
77
<SectionHeader

TextHub/Services/Data/ToolDataService.cs

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -8,33 +8,33 @@ public List<Tool> GetFeaturedTools()
88
{
99
return new List<Tool>
1010
{
11-
new Tool("Uppercase Converter", "Convert any text to UPPERCASE instantly", "/uppercase", "<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" class=\"w-6 h-6 text-primary\"><polyline points=\"4 7 4 4 20 4 20 7\"></polyline><line x1=\"9\" x2=\"15\" y1=\"20\" y2=\"20\"></line><line x1=\"12\" x2=\"12\" y1=\"4\" y2=\"20\"></line></svg>"),
12-
new Tool("Word Counter", "Count words and characters in your text", "/word-counter", "<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" class=\"w-6 h-6 text-primary\"><line x1=\"4\" x2=\"20\" y1=\"9\" y2=\"9\"></line><line x1=\"4\" x2=\"20\" y1=\"15\" y2=\"15\"></line><line x1=\"10\" x2=\"8\" y1=\"3\" y2=\"21\"></line><line x1=\"16\" x2=\"14\" y1=\"3\" y2=\"21\"></line></svg>"),
13-
new Tool("Title Case", "Capitalize First Letter Of Each Word", "/title-case", "<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" class=\"w-6 h-6 text-primary\"><path d=\"m3 15 4-8 4 8\"></path><path d=\"M4 13h6\"></path><circle cx=\"18\" cy=\"12\" r=\"3\"></circle><path d=\"M21 9v6\"></path></svg>"),
14-
new Tool("Remove Extra Spaces", "Clean up unnecessary spaces from text", "/remove-spaces", "<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" class=\"w-6 h-6 text-primary\"><path d=\"M22 17v1c0 .5-.5 1-1 1H3c-.5 0-1-.5-1-1v-1\"></path></svg>")
11+
new Tool("Uppercase Converter", "Convert any text to UPPERCASE instantly", "uppercase", "<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" class=\"w-6 h-6 text-primary\"><polyline points=\"4 7 4 4 20 4 20 7\"></polyline><line x1=\"9\" x2=\"15\" y1=\"20\" y2=\"20\"></line><line x1=\"12\" x2=\"12\" y1=\"4\" y2=\"20\"></line></svg>"),
12+
new Tool("Word Counter", "Count words and characters in your text", "word-counter", "<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" class=\"w-6 h-6 text-primary\"><line x1=\"4\" x2=\"20\" y1=\"9\" y2=\"9\"></line><line x1=\"4\" x2=\"20\" y1=\"15\" y2=\"15\"></line><line x1=\"10\" x2=\"8\" y1=\"3\" y2=\"21\"></line><line x1=\"16\" x2=\"14\" y1=\"3\" y2=\"21\"></line></svg>"),
13+
new Tool("Title Case", "Capitalize First Letter Of Each Word", "title-case", "<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" class=\"w-6 h-6 text-primary\"><path d=\"m3 15 4-8 4 8\"></path><path d=\"M4 13h6\"></path><circle cx=\"18\" cy=\"12\" r=\"3\"></circle><path d=\"M21 9v6\"></path></svg>"),
14+
new Tool("Remove Extra Spaces", "Clean up unnecessary spaces from text", "remove-spaces", "<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" class=\"w-6 h-6 text-primary\"><path d=\"M22 17v1c0 .5-.5 1-1 1H3c-.5 0-1-.5-1-1v-1\"></path></svg>")
1515
};
1616
}
1717

1818
public List<Tool> GetTextCaseTools()
1919
{
2020
return new List<Tool>
2121
{
22-
new Tool("Uppercase Converter", "Convert any text to UPPERCASE instantly", "/uppercase", "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" class=\"lucide lucide-type w-5 h-5 sm:w-6 sm:h-6 text-primary\"><polyline points=\"4 7 4 4 20 4 20 7\"></polyline><line x1=\"9\" x2=\"15\" y1=\"20\" y2=\"20\"></line><line x1=\"12\" x2=\"12\" y1=\"4\" y2=\"20\"></line></svg>"),
23-
new Tool("Lowercase Converter", "Transform text to lowercase with one click", "/lowercase", "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" class=\"lucide lucide-letter-text w-5 h-5 sm:w-6 sm:h-6 text-primary\"><path d=\"M15 12h6\"></path><path d=\"M15 6h6\"></path><path d=\"m3 13 3.553-7.724a.5.5 0 0 1 .894 0L11 13\"></path><path d=\"M3 18h18\"></path><path d=\"M4 11h6\"></path></svg>"),
24-
new Tool("Title Case", "Capitalize First Letter Of Each Word", "/title-case", "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" class=\"lucide lucide-case-sensitive w-5 h-5 sm:w-6 sm:h-6 text-primary\"><path d=\"m3 15 4-8 4 8\"></path><path d=\"M4 13h6\"></path><circle cx=\"18\" cy=\"12\" r=\"3\"></circle><path d=\"M21 9v6\"></path></svg>"),
25-
new Tool("Sentence Case", "Capitalize first letter of sentences", "/sentence-case", "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" class=\"lucide lucide-case-sensitive w-5 h-5 sm:w-6 sm:h-6 text-primary\"><path d=\"m3 15 4-8 4 8\"></path><path d=\"M4 13h6\"></path><circle cx=\"18\" cy=\"12\" r=\"3\"></circle><path d=\"M21 9v6\"></path></svg>"),
22+
new Tool("Uppercase Converter", "Convert any text to UPPERCASE instantly", "uppercase", "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" class=\"lucide lucide-type w-5 h-5 sm:w-6 sm:h-6 text-primary\"><polyline points=\"4 7 4 4 20 4 20 7\"></polyline><line x1=\"9\" x2=\"15\" y1=\"20\" y2=\"20\"></line><line x1=\"12\" x2=\"12\" y1=\"4\" y2=\"20\"></line></svg>"),
23+
new Tool("Lowercase Converter", "Transform text to lowercase with one click", "lowercase", "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" class=\"lucide lucide-letter-text w-5 h-5 sm:w-6 sm:h-6 text-primary\"><path d=\"M15 12h6\"></path><path d=\"M15 6h6\"></path><path d=\"m3 13 3.553-7.724a.5.5 0 0 1 .894 0L11 13\"></path><path d=\"M3 18h18\"></path><path d=\"M4 11h6\"></path></svg>"),
24+
new Tool("Title Case", "Capitalize First Letter Of Each Word", "title-case", "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" class=\"lucide lucide-case-sensitive w-5 h-5 sm:w-6 sm:h-6 text-primary\"><path d=\"m3 15 4-8 4 8\"></path><path d=\"M4 13h6\"></path><circle cx=\"18\" cy=\"12\" r=\"3\"></circle><path d=\"M21 9v6\"></path></svg>"),
25+
new Tool("Sentence Case", "Capitalize first letter of sentences", "sentence-case", "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" class=\"lucide lucide-case-sensitive w-5 h-5 sm:w-6 sm:h-6 text-primary\"><path d=\"m3 15 4-8 4 8\"></path><path d=\"M4 13h6\"></path><circle cx=\"18\" cy=\"12\" r=\"3\"></circle><path d=\"M21 9v6\"></path></svg>"),
2626
new Tool("camelCase", "Convert to camelCase for coding", "camel-case", "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" class=\"lucide lucide-code w-5 h-5 sm:w-6 sm:h-6 text-primary\"><polyline points=\"16 18 22 12 16 6\"></polyline><polyline points=\"8 6 2 12 8 18\"></polyline></svg>"),
27-
new Tool("PascalCase", "Convert to PascalCase for classes", "/pascal-case", "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" class=\"lucide lucide-code w-5 h-5 sm:w-6 sm:h-6 text-primary\"><polyline points=\"16 18 22 12 16 6\"></polyline><polyline points=\"8 6 2 12 8 18\"></polyline></svg>"),
28-
new Tool("snake_case", "Convert to snake_case format", "/snake-case", "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" class=\"lucide lucide-code w-5 h-5 sm:w-6 sm:h-6 text-primary\"><polyline points=\"16 18 22 12 16 6\"></polyline><polyline points=\"8 6 2 12 8 18\"></polyline></svg>"),
29-
new Tool("kebab-case", "Convert to kebab-case for URLs", "/kebab-case", "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" class=\"lucide lucide-code w-5 h-5 sm:w-6 sm:h-6 text-primary\"><polyline points=\"16 18 22 12 16 6\"></polyline><polyline points=\"8 6 2 12 8 18\"></polyline></svg>")
27+
new Tool("PascalCase", "Convert to PascalCase for classes", "pascal-case", "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" class=\"lucide lucide-code w-5 h-5 sm:w-6 sm:h-6 text-primary\"><polyline points=\"16 18 22 12 16 6\"></polyline><polyline points=\"8 6 2 12 8 18\"></polyline></svg>"),
28+
new Tool("snake_case", "Convert to snake_case format", "snake-case", "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" class=\"lucide lucide-code w-5 h-5 sm:w-6 sm:h-6 text-primary\"><polyline points=\"16 18 22 12 16 6\"></polyline><polyline points=\"8 6 2 12 8 18\"></polyline></svg>"),
29+
new Tool("kebab-case", "Convert to kebab-case for URLs", "kebab-case", "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" class=\"lucide lucide-code w-5 h-5 sm:w-6 sm:h-6 text-primary\"><polyline points=\"16 18 22 12 16 6\"></polyline><polyline points=\"8 6 2 12 8 18\"></polyline></svg>")
3030
};
3131
}
3232

3333
public List<Tool> GetTextAnalysisTools()
3434
{
3535
return new List<Tool>
3636
{
37-
new Tool("Word Counter", "Count words and characters in your text", "/word-counter", "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" class=\"lucide lucide-hash w-6 h-6 text-primary\"><line x1=\"4\" x2=\"20\" y1=\"9\" y2=\"9\"></line><line x1=\"4\" x2=\"20\" y1=\"15\" y2=\"15\"></line><line x1=\"10\" x2=\"8\" y1=\"3\" y2=\"21\"></line><line x1=\"16\" x2=\"14\" y1=\"3\" y2=\"21\"></line></svg>"),
37+
new Tool("Word Counter", "Count words and characters in your text", "word-counter", "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" class=\"lucide lucide-hash w-6 h-6 text-primary\"><line x1=\"4\" x2=\"20\" y1=\"9\" y2=\"9\"></line><line x1=\"4\" x2=\"20\" y1=\"15\" y2=\"15\"></line><line x1=\"10\" x2=\"8\" y1=\"3\" y2=\"21\"></line><line x1=\"16\" x2=\"14\" y1=\"3\" y2=\"21\"></line></svg>"),
3838
new Tool("Character Counter", "Count total characters including spaces", "", "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" class=\"lucide lucide-file-text w-6 h-6 text-muted-foreground\"><path d=\"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z\"></path><path d=\"M14 2v4a2 2 0 0 0 2 2h4\"></path><path d=\"M10 9H8\"></path><path d=\"M16 13H8\"></path><path d=\"M16 17H8\"></path></svg>", IsComingSoon: true),
3939
new Tool("Line Counter", "Count lines and paragraphs in text", "", "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" class=\"lucide lucide-file-text w-6 h-6 text-muted-foreground\"><path d=\"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z\"></path><path d=\"M14 2v4a2 2 0 0 0 2 2h4\"></path><path d=\"M10 9H8\"></path><path d=\"M16 13H8\"></path><path d=\"M16 17H8\"></path></svg>", IsComingSoon: true)
4040
};
@@ -44,7 +44,7 @@ public List<Tool> GetTextFormattingTools()
4444
{
4545
return new List<Tool>
4646
{
47-
new Tool("Remove Extra Spaces", "Clean up unnecessary spaces from text", "/remove-spaces", "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" class=\"lucide lucide-space w-6 h-6 text-primary\"><path d=\"M22 17v1c0 .5-.5 1-1 1H3c-.5 0-1-.5-1-1v-1\"></path></svg>"),
47+
new Tool("Remove Extra Spaces", "Clean up unnecessary spaces from text", "remove-spaces", "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" class=\"lucide lucide-space w-6 h-6 text-primary\"><path d=\"M22 17v1c0 .5-.5 1-1 1H3c-.5 0-1-.5-1-1v-1\"></path></svg>"),
4848
new Tool("Remove Line Breaks", "Convert multi-line text to single line", "", "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" class=\"lucide lucide-scissors w-6 h-6 text-muted-foreground\"><circle cx=\"6\" cy=\"6\" r=\"3\"></circle><path d=\"M8.12 8.12 12 12\"></path><path d=\"M20 4 8.12 15.88\"></path><circle cx=\"6\" cy=\"18\" r=\"3\"></circle><path d=\"M14.8 14.8 20 20\"></path></svg>", IsComingSoon: true),
4949
new Tool("Find & Replace", "Search and replace text patterns", "", "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" class=\"lucide lucide-replace w-6 h-6 text-muted-foreground\"><path d=\"M14 4a2 2 0 0 1 2-2\"></path><path d=\"M16 10a2 2 0 0 1-2-2\"></path><path d=\"M20 2a2 2 0 0 1 2 2\"></path><path d=\"M22 8a2 2 0 0 1-2 2\"></path><path d=\"m3 7 3 3 3-3\"></path><path d=\"M6 10V5a3 3 0 0 1 3-3h1\"></path><rect x=\"2\" y=\"14\" width=\"8\" height=\"8\" rx=\"2\"></rect></svg>", IsComingSoon: true)
5050
};

0 commit comments

Comments
 (0)