diff --git a/public/images/partners/nginx.png b/public/images/partners/nginx.png new file mode 100644 index 000000000..8522893be Binary files /dev/null and b/public/images/partners/nginx.png differ diff --git a/public/images/roadmap-editor.jpeg b/public/images/roadmap-editor.jpeg new file mode 100644 index 000000000..39fa63007 Binary files /dev/null and b/public/images/roadmap-editor.jpeg differ diff --git a/readme.md b/readme.md index 8e095c591..06acfc2eb 100644 --- a/readme.md +++ b/readme.md @@ -24,7 +24,7 @@ Roadmaps are now interactive, you can click the nodes to read more about the topics. -### [View all Roadmaps](https://roadmap.sh) +### [View all Roadmaps](https://roadmap.sh)  ·  [Best Practices](https://roadmap.sh/best-practices)  ·  [Questions](https://roadmap.sh/questions) ![](https://i.imgur.com/waxVImv.png) @@ -67,13 +67,18 @@ Here is the list of available roadmaps with more being actively worked upon. - [Docker Roadmap](https://roadmap.sh/docker) - [Prompt Engineering Roadmap](https://roadmap.sh/prompt-engineering) -We have also added a new form of visual content covering best practices: +There are also interactive best practices: - [Code Review Best Practices](https://roadmap.sh/best-practices/code-review) - [Frontend Performance Best Practices](https://roadmap.sh/best-practices/frontend-performance) - [API Security Best Practices](https://roadmap.sh/best-practices/api-security) - [AWS Best Practices](https://roadmap.sh/best-practices/aws) +..and questions to help you test, rate and improve your knowledge + +- [JavaScript Questions](https://roadmap.sh/questions/javascript) +- [React Questions](https://roadmap.sh/questions/react) + ![](https://i.imgur.com/waxVImv.png) ## Share with the community diff --git a/src/components/CustomRoadmap/CreateRoadmap/CreateRoadmapModal.tsx b/src/components/CustomRoadmap/CreateRoadmap/CreateRoadmapModal.tsx index 84497af25..b7cf3ea05 100644 --- a/src/components/CustomRoadmap/CreateRoadmap/CreateRoadmapModal.tsx +++ b/src/components/CustomRoadmap/CreateRoadmap/CreateRoadmapModal.tsx @@ -145,7 +145,7 @@ export function CreateRoadmapModal(props: CreateRoadmapModalProps) { name="title" id="title" required - className="block w-full rounded-md border border-gray-300 px-2.5 py-2 outline-none focus:border-black sm:text-sm" + className="block text-black w-full rounded-md border border-gray-300 px-2.5 py-2 outline-none focus:border-black sm:text-sm" placeholder="Enter Title" value={title} onChange={(e) => setTitle(e.target.value)} @@ -165,8 +165,8 @@ export function CreateRoadmapModal(props: CreateRoadmapModalProps) { name="description" required className={cn( - 'block h-24 w-full resize-none rounded-md border border-gray-300 px-2.5 py-2 outline-none focus:border-black sm:text-sm', - isInvalidDescription && 'border-red-300 bg-red-100', + 'block text-black h-24 w-full resize-none rounded-md border border-gray-300 px-2.5 py-2 outline-none focus:border-black sm:text-sm', + isInvalidDescription && 'border-red-300 bg-red-100' )} placeholder="Enter Description" value={description} diff --git a/src/components/Navigation/AccountDropdown.tsx b/src/components/Navigation/AccountDropdown.tsx index 0bd114714..23571d5c7 100644 --- a/src/components/Navigation/AccountDropdown.tsx +++ b/src/components/Navigation/AccountDropdown.tsx @@ -4,12 +4,14 @@ import { isLoggedIn } from '../../lib/jwt'; import { AccountDropdownList } from './AccountDropdownList'; import { DropdownTeamList } from './DropdownTeamList'; import { useOutsideClick } from '../../hooks/use-outside-click'; +import { CreateRoadmapModal } from '../CustomRoadmap/CreateRoadmap/CreateRoadmapModal.tsx'; export function AccountDropdown() { const dropdownRef = useRef(null); const [showDropdown, setShowDropdown] = useState(false); const [isTeamsOpen, setIsTeamsOpen] = useState(false); + const [isCreatingRoadmap, setIsCreatingRoadmap] = useState(false); useOutsideClick(dropdownRef, () => { setShowDropdown(false); @@ -22,6 +24,14 @@ export function AccountDropdown() { return (
+ {isCreatingRoadmap && ( + { + setIsCreatingRoadmap(false); + }} + /> + )} +
)} diff --git a/src/components/Navigation/AccountDropdownList.tsx b/src/components/Navigation/AccountDropdownList.tsx index c2856f31b..395b67339 100644 --- a/src/components/Navigation/AccountDropdownList.tsx +++ b/src/components/Navigation/AccountDropdownList.tsx @@ -1,54 +1,76 @@ -import { ChevronRight } from 'lucide-react'; +import { ChevronRight, LogOut, Map, Plus, User2, Users2 } from 'lucide-react'; import { logout } from './navigation'; +import { CreateRoadmapModal } from '../CustomRoadmap/CreateRoadmap/CreateRoadmapModal.tsx'; +import { useState } from 'react'; type AccountDropdownListProps = { + onCreateRoadmap: () => void; setIsTeamsOpen: (isOpen: boolean) => void; }; export function AccountDropdownList(props: AccountDropdownListProps) { - const { setIsTeamsOpen } = props; + const { setIsTeamsOpen, onCreateRoadmap } = props; + const [isCreatingRoadmap, setIsCreatingRoadmap] = useState(false); return (