1
0
mirror of https://github.com/kamranahmedse/developer-roadmap.git synced 2025-08-21 00:21:35 +02:00

Update picture

This commit is contained in:
Kamran Ahmed
2025-07-29 22:10:29 +01:00
parent 88b3f0ac55
commit e12eee36a7
6 changed files with 17 additions and 10 deletions

View File

@@ -104,6 +104,11 @@ export function PersonalizedRoadmap(props: PersonalizedRoadmapProps) {
onStart: () => { onStart: () => {
setIsModalOpen(false); setIsModalOpen(false);
}, },
onError: (error) => {
for (const nodeId of allPendingNodeIds) {
renderTopicProgress(nodeId, 'pending');
}
},
onData: (data) => { onData: (data) => {
const { topicIds } = data; const { topicIds } = data;
topicIds.forEach((topicId) => { topicIds.forEach((topicId) => {

View File

@@ -1,12 +1,11 @@
import { Award } from 'lucide-react';
export function AuthorCredentials() { export function AuthorCredentials() {
return ( return (
<div className="mx-auto mt-8 flex flex-col items-start gap-4 text-sm text-zinc-400 sm:flex-row sm:flex-wrap sm:items-center md:mt-12 md:justify-center md:gap-x-3 md:gap-y-2"> <div className="mx-auto mt-8 flex flex-col items-start gap-4 text-sm text-zinc-400 sm:flex-row sm:flex-wrap sm:items-center md:mt-12 md:justify-center md:gap-x-3 md:gap-y-2">
<div className="flex items-center gap-1"> <div className="flex items-center gap-1">
<img <img
src="https://assets.roadmap.sh/guest/kamran-lqjta.jpeg" src="https://github.com/kamranahmedse.png"
className="size-8 rounded-full object-cover mr-1.5" className="mr-1.5 size-8 rounded-full object-cover"
alt="Kamran Ahmed" alt="Kamran Ahmed"
/> />
<span>Course by</span> <span>Course by</span>
@@ -22,7 +21,7 @@ export function AuthorCredentials() {
<a <a
href="https://github.com/kamranahmedse" href="https://github.com/kamranahmedse"
target="_blank" target="_blank"
className="hidden items-center gap-1 sm:inline-flex text-yellow-500 hover:text-yellow-400" className="hidden items-center gap-1 text-yellow-500 hover:text-yellow-400 sm:inline-flex"
> >
<svg className="size-4 fill-zinc-400" viewBox="0 0 24 24"> <svg className="size-4 fill-zinc-400" viewBox="0 0 24 24">
<path d="M12 2C6.477 2 2 6.477 2 12c0 4.42 2.865 8.17 6.839 9.49.5.092.682-.217.682-.482 0-.237-.008-.866-.013-1.7-2.782.603-3.369-1.342-3.369-1.342-.454-1.155-1.11-1.462-1.11-1.462-.908-.62.069-.608.069-.608 1.003.07 1.531 1.03 1.531 1.03.892 1.529 2.341 1.087 2.91.832.092-.647.35-1.088.636-1.338-2.22-.253-4.555-1.11-4.555-4.943 0-1.091.39-1.984 1.029-2.683-.103-.253-.446-1.27.098-2.647 0 0 .84-.269 2.75 1.022A9.607 9.607 0 0 1 12 6.82c.85.004 1.705.114 2.504.336 1.909-1.291 2.747-1.022 2.747-1.022.546 1.377.203 2.394.1 2.647.64.699 1.028 1.592 1.028 2.683 0 3.842-2.339 4.687-4.566 4.935.359.309.678.919.678 1.852 0 1.336-.012 2.415-.012 2.743 0 .267.18.578.688.48C19.138 20.167 22 16.418 22 12c0-5.523-4.477-10-10-10z" /> <path d="M12 2C6.477 2 2 6.477 2 12c0 4.42 2.865 8.17 6.839 9.49.5.092.682-.217.682-.482 0-.237-.008-.866-.013-1.7-2.782.603-3.369-1.342-3.369-1.342-.454-1.155-1.11-1.462-1.11-1.462-.908-.62.069-.608.069-.608 1.003.07 1.531 1.03 1.531 1.03.892 1.529 2.341 1.087 2.91.832.092-.647.35-1.088.636-1.338-2.22-.253-4.555-1.11-4.555-4.943 0-1.091.39-1.984 1.029-2.683-.103-.253-.446-1.27.098-2.647 0 0 .84-.269 2.75 1.022A9.607 9.607 0 0 1 12 6.82c.85.004 1.705.114 2.504.336 1.909-1.291 2.747-1.022 2.747-1.022.546 1.377.203 2.394.1 2.647.64.699 1.028 1.592 1.028 2.683 0 3.842-2.339 4.687-4.566 4.935.359.309.678.919.678 1.852 0 1.336-.012 2.415-.012 2.743 0 .267.18.578.688.48C19.138 20.167 22 16.418 22 12c0-5.523-4.477-10-10-10z" />

View File

@@ -6,7 +6,7 @@ export function AuthorCredentials() {
return ( return (
<div className="flex items-center gap-3 text-white lg:mt-auto"> <div className="flex items-center gap-3 text-white lg:mt-auto">
<img <img
src="https://assets.roadmap.sh/guest/kamran-course-pf-agibf.jpg" src="https://github.com/kamranahmedse.png"
className="aspect-[4/5] h-[110px] w-[88px] rounded-xl object-cover shadow-md" className="aspect-[4/5] h-[110px] w-[88px] rounded-xl object-cover shadow-md"
alt="Kamran Ahmed" alt="Kamran Ahmed"
/> />

View File

@@ -35,7 +35,7 @@ export function MeetYourInstructor() {
<div className="flex shrink-0 flex-col items-center"> <div className="flex shrink-0 flex-col items-center">
<div className="relative"> <div className="relative">
<img <img
src="https://assets.roadmap.sh/guest/kamran-lqjta.jpeg" src="https://github.com/kamranahmedse.png"
alt="Kamran Ahmed" alt="Kamran Ahmed"
className="h-40 w-40 rounded-full object-cover ring-4 ring-yellow-500/40 transition-all duration-300 hover:ring-yellow-500/60" className="h-40 w-40 rounded-full object-cover ring-4 ring-yellow-500/40 transition-all duration-300 hover:ring-yellow-500/60"
/> />
@@ -43,9 +43,7 @@ export function MeetYourInstructor() {
<h5 className="mt-6 text-xl font-semibold text-zinc-100"> <h5 className="mt-6 text-xl font-semibold text-zinc-100">
Kamran Ahmed Kamran Ahmed
</h5> </h5>
<span className="text-yellow-400"> <span className="text-yellow-400">Founder of roadmap.sh</span>
Founder of roadmap.sh
</span>
</div> </div>
<div className="flex-1 space-y-8"> <div className="flex-1 space-y-8">
@@ -54,7 +52,10 @@ export function MeetYourInstructor() {
{features.map((feature, index) => { {features.map((feature, index) => {
const IconComponent = feature.icon; const IconComponent = feature.icon;
return ( return (
<div key={index} className="flex items-center gap-3 rounded-lg border border-yellow-500/20 bg-gradient-to-r from-yellow-500/10 to-yellow-500/5 p-3"> <div
key={index}
className="flex items-center gap-3 rounded-lg border border-yellow-500/20 bg-gradient-to-r from-yellow-500/10 to-yellow-500/5 p-3"
>
<IconComponent className="size-4 shrink-0 text-yellow-400" /> <IconComponent className="size-4 shrink-0 text-yellow-400" />
<span className="text-sm font-medium text-zinc-300"> <span className="text-sm font-medium text-zinc-300">
{feature.text} {feature.text}

View File

@@ -80,6 +80,7 @@ const courses = roadmapData.courses || [];
coursesCount={courses.length} coursesCount={courses.length}
projectCount={projects.length} projectCount={projects.length}
activeTab='courses' activeTab='courses'
hasAIChat={true}
/> />
<div class='container'> <div class='container'>

View File

@@ -86,6 +86,7 @@ const { response: userCounts } =
activeTab='projects' activeTab='projects'
projectCount={projects.length} projectCount={projects.length}
coursesCount={roadmapData.courses?.length || 0} coursesCount={roadmapData.courses?.length || 0}
hasAIChat={true}
/> />
<div class='container'> <div class='container'>