diff --git a/package-lock.json b/package-lock.json index 4029cbf..e97ea01 100644 --- a/package-lock.json +++ b/package-lock.json @@ -84,6 +84,7 @@ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.25.7.tgz", "integrity": "sha512-yJ474Zv3cwiSOO9nXJuqzvwEeM+chDuQ8GJirw+pZ91sCGCyOZ3dJkVE09fTV0VEVzXyLWhh3G/AolYTPX7Mow==", "dev": true, + "peer": true, "dependencies": { "@ampproject/remapping": "^2.2.0", "@babel/code-frame": "^7.25.7", @@ -1276,6 +1277,7 @@ "integrity": "sha512-0dLEBsA1kI3OezMBF8nSsb7Nk19ZnsyE1LLhB8r27KbgU5H4pvuqZLdtE+aUkJVoXgTVuA+iLIwmZ0TuK4tx6A==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@types/prop-types": "*", "csstype": "^3.0.2" @@ -1329,6 +1331,7 @@ "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.8.1.tgz", "integrity": "sha512-hQUVn2Lij2NAxVFEdvIGxT9gP1tq2yM83m+by3whWFsWC+1y8pxxxHUFE1UqDu2VsGi2i6RLcv4QvouM84U+ow==", "dev": true, + "peer": true, "dependencies": { "@typescript-eslint/scope-manager": "8.8.1", "@typescript-eslint/types": "8.8.1", @@ -1545,6 +1548,7 @@ "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.1.tgz", "integrity": "sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==", "dev": true, + "peer": true, "bin": { "acorn": "bin/acorn" }, @@ -1728,6 +1732,7 @@ "url": "https://github.com/sponsors/ai" } ], + "peer": true, "dependencies": { "caniuse-lite": "^1.0.30001663", "electron-to-chromium": "^1.5.28", @@ -2011,6 +2016,7 @@ "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.12.0.tgz", "integrity": "sha512-UVIOlTEWxwIopRL1wgSQYdnVDcEvs2wyaO6DGo5mXqe3r16IoCNWkR29iHhyaP4cICWjbgbmFUGAhh0GJRuGZw==", "dev": true, + "peer": true, "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.11.0", @@ -3096,6 +3102,7 @@ "url": "https://github.com/sponsors/ai" } ], + "peer": true, "dependencies": { "nanoid": "^3.3.7", "picocolors": "^1.1.0", @@ -3263,6 +3270,7 @@ "resolved": "https://registry.npmjs.org/react/-/react-18.3.1.tgz", "integrity": "sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==", "license": "MIT", + "peer": true, "dependencies": { "loose-envify": "^1.1.0" }, @@ -3738,6 +3746,7 @@ "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.6.3.tgz", "integrity": "sha512-hjcS1mhfuyi4WW8IWtjP7brDrG2cuDZukyrYrSauoXGNgx0S7zceP07adYkJycEr56BOUTNPzbInooiN3fn1qw==", "dev": true, + "peer": true, "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" @@ -3819,6 +3828,7 @@ "resolved": "https://registry.npmjs.org/vite/-/vite-5.4.8.tgz", "integrity": "sha512-FqrItQ4DT1NC4zCUqMB4c4AZORMKIa0m8/URVCZ77OZ/QSNeJ54bU1vrFADbDsuwfIPcgknRkmqakQcgnL4GiQ==", "dev": true, + "peer": true, "dependencies": { "esbuild": "^0.21.3", "postcss": "^8.4.43", diff --git a/src/components/Blog/Blog.tsx b/src/components/Blog/Blog.tsx index 8d58193..e508277 100644 --- a/src/components/Blog/Blog.tsx +++ b/src/components/Blog/Blog.tsx @@ -86,7 +86,7 @@ export const Blog: React.FC = () => { if (loading) { return ( -
+

Loading blog posts...

@@ -98,11 +98,11 @@ export const Blog: React.FC = () => { if (error) { return (
-
+
⚠️
-

Failed to Load Blog Posts

-

{error}

- -
+
@@ -139,8 +139,8 @@ export const Blog: React.FC = () => {
-
-
+
+
{selectedPost.author} @@ -168,13 +168,13 @@ export const Blog: React.FC = () => {
-
-

+

+

{selectedPost.content}

-

- This approach has helped countless developers transition from tutorial hell to building - production-ready applications. The journey isn't always smooth, but every challenge +

+ This approach has helped countless developers transition from tutorial hell to building + production-ready applications. The journey isn't always smooth, but every challenge you overcome makes you a stronger developer.

@@ -186,15 +186,15 @@ export const Blog: React.FC = () => { } return ( -
+
{/* Header */}
-

+

Community Blog

-

- Stories, insights, and tutorials celebrating diversity, inclusion, and positive collaboration +

+ Stories, insights, and tutorials celebrating diversity, inclusion, and positive collaboration in technology. Every voice matters, every story has value.

@@ -208,22 +208,21 @@ export const Blog: React.FC = () => { placeholder="Search posts..." value={searchTerm} onChange={(e) => handleSearch(e.target.value)} - className="w-full pl-10 pr-4 py-3 border border-gray-300 rounded-lg focus:outline-none focus:ring-2 focus:ring-purple-500 focus:border-transparent" + className="w-full pl-10 pr-4 py-3 border border-gray-300 dark:border-gray-700 rounded-lg focus:outline-none focus:ring-2 focus:ring-purple-500 focus:border-transparent bg-white dark:bg-gray-800 text-gray-900 dark:text-white placeholder-gray-400 dark:placeholder-gray-500" />
- - Filter by tag: + + Filter by tag:
@@ -231,11 +230,10 @@ export const Blog: React.FC = () => { @@ -246,9 +244,9 @@ export const Blog: React.FC = () => { {/* Posts Grid */}
{filteredPosts.map(post => ( -
setSelectedPost(post)} >
@@ -269,15 +267,15 @@ export const Blog: React.FC = () => {
-

+

{post.title}

- -

+ +

{post.summary}

-
+
@@ -298,7 +296,7 @@ export const Blog: React.FC = () => { {post.tags.slice(0, 3).map((tag, index) => ( #{tag} @@ -314,37 +312,37 @@ export const Blog: React.FC = () => {
{/* Code of Conduct Reminder */} -
+
-

Our Community Values

-

- All blog content and community interactions are guided by our commitment to respect, +

Our Community Values

+

+ All blog content and community interactions are guided by our commitment to respect, inclusion, and empathy. We celebrate diverse perspectives and create space for everyone to learn and grow.

- +
-
+
🤝
-

Respect

-

Every person deserves dignity and consideration

+

Respect

+

Every person deserves dignity and consideration

-
+
🌍
-

Inclusion

-

All backgrounds and perspectives are welcome

+

Inclusion

+

All backgrounds and perspectives are welcome

-
+
💚
-

Empathy

-

We seek to understand and support each other

+

Empathy

+

We seek to understand and support each other

- +
- Read our full Code of Conduct @@ -356,7 +354,7 @@ export const Blog: React.FC = () => {

Join Our Inclusive Community

- Get updates on community posts, inclusive tech content, and opportunities to connect + Get updates on community posts, inclusive tech content, and opportunities to connect with like-minded developers who value diversity and collaboration.

diff --git a/src/components/Projects/Projects.tsx b/src/components/Projects/Projects.tsx index c16dea7..822d08d 100644 --- a/src/components/Projects/Projects.tsx +++ b/src/components/Projects/Projects.tsx @@ -49,8 +49,8 @@ export const Projects: React.FC = () => { setFilteredProjects(projects); } else { setFilteredProjects( - projects.filter(project => - project.technologies.some(t => + projects.filter(project => + project.technologies.some(t => t.toLowerCase().includes(tech.toLowerCase()) ) ) @@ -60,7 +60,7 @@ export const Projects: React.FC = () => { if (loading) { return ( -
+

Loading projects...

@@ -72,11 +72,11 @@ export const Projects: React.FC = () => { if (error) { return (
-
+
⚠️
-

Failed to Load Projects

-

{error}

- @@ -141,11 +140,10 @@ export const Projects: React.FC = () => { @@ -157,7 +155,7 @@ export const Projects: React.FC = () => { {/* Projects Grid */}
{filteredProjects.map(project => ( -
+
{/* Project Image */}
@@ -177,11 +175,11 @@ export const Projects: React.FC = () => { {/* Project Content */}
-

+

{project.title}

- -

+ +

{project.description}

@@ -191,13 +189,13 @@ export const Projects: React.FC = () => { {project.technologies.slice(0, 4).map((tech, index) => ( {tech} ))} {project.technologies.length > 4 && ( - + +{project.technologies.length - 4} more )} @@ -210,12 +208,12 @@ export const Projects: React.FC = () => { href={project.githubUrl} target="_blank" rel="noopener noreferrer" - className="inline-flex items-center space-x-2 text-gray-600 hover:text-purple-600 transition-colors" + className="inline-flex items-center space-x-2 text-gray-600 dark:text-gray-300 hover:text-purple-600 dark:hover:text-purple-400 transition-colors" > View Code - + -
Review Community Guidelines