@igamingcareer/igaming-components 1.2.22 → 1.2.25
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +1536 -1536
- package/dist/index.mjs +22630 -23064
- package/dist/types/components/ui/alert-dialog.d.ts +20 -0
- package/dist/types/components/ui/alert.d.ts +8 -0
- package/dist/types/components/ui/avatar.d.ts +6 -0
- package/dist/types/components/ui/badge.d.ts +9 -0
- package/dist/types/components/ui/button.d.ts +11 -0
- package/dist/types/components/ui/card.d.ts +8 -0
- package/dist/types/components/ui/checkbox.d.ts +4 -0
- package/dist/types/components/ui/city-input.d.ts +12 -0
- package/dist/types/components/ui/collapsible.d.ts +5 -0
- package/dist/types/components/ui/command.d.ts +82 -0
- package/dist/types/components/ui/country-select.d.ts +14 -0
- package/dist/types/components/ui/dialog.d.ts +19 -0
- package/dist/types/components/ui/drawer.d.ts +22 -0
- package/dist/types/components/ui/dropdown-menu.d.ts +27 -0
- package/dist/types/components/ui/form.d.ts +23 -0
- package/dist/types/components/ui/input.d.ts +3 -0
- package/dist/types/components/ui/label.d.ts +5 -0
- package/dist/types/components/ui/phone-input.d.ts +13 -0
- package/dist/types/components/ui/popover.d.ts +7 -0
- package/dist/types/components/ui/progress.d.ts +4 -0
- package/dist/types/components/ui/radio-group.d.ts +5 -0
- package/dist/types/components/ui/scroll-area.d.ts +5 -0
- package/dist/types/components/ui/select.d.ts +13 -0
- package/dist/types/components/ui/separator.d.ts +4 -0
- package/dist/types/components/ui/slider.d.ts +4 -0
- package/dist/types/components/ui/switch.d.ts +4 -0
- package/dist/types/components/ui/tabs.d.ts +7 -0
- package/dist/types/components/ui/textarea.d.ts +5 -0
- package/dist/types/components/ui/toast.d.ts +15 -0
- package/dist/types/hooks/use-toast.d.ts +45 -0
- package/dist/types/lib/utils.d.ts +2 -0
- package/dist/types/src/components/App/App.d.ts +2 -0
- package/dist/types/src/components/Auth/ForgotPassword.d.ts +26 -0
- package/dist/types/src/components/Auth/ForgotPasswordForm.d.ts +16 -0
- package/dist/types/src/components/Auth/Login.d.ts +43 -0
- package/dist/types/src/components/Auth/Login.stories.d.ts +11 -0
- package/dist/types/src/components/Auth/LoginForm.d.ts +30 -0
- package/dist/types/src/components/Auth/Register.d.ts +33 -0
- package/dist/types/src/components/Auth/RegisterForm.d.ts +29 -0
- package/dist/types/src/components/Auth/RegisterFormV2.d.ts +27 -0
- package/dist/types/src/components/Auth/RegisterV2.d.ts +25 -0
- package/dist/types/src/components/Auth/RegisterV2.stories.d.ts +14 -0
- package/dist/types/src/components/Auth/SignInPromptModal.d.ts +23 -0
- package/dist/types/src/components/Auth/SignInPromptModal.stories.d.ts +7 -0
- package/dist/types/src/components/Auth/SocialButton.d.ts +11 -0
- package/dist/types/src/components/Auth/SocialButton.stories.d.ts +11 -0
- package/dist/types/src/components/Auth/SocialDivider.d.ts +6 -0
- package/dist/types/src/components/Auth/VerificationBanner.d.ts +11 -0
- package/dist/types/src/components/Auth/VerificationBanner.stories.d.ts +9 -0
- package/dist/types/src/components/Auth/__tests__/Login.social.test.d.ts +1 -0
- package/dist/types/src/components/Auth/__tests__/LoginForm.social.test.d.ts +1 -0
- package/dist/types/src/components/Auth/__tests__/RegisterV2.social.test.d.ts +1 -0
- package/dist/types/src/components/Auth/__tests__/SocialButton.test.d.ts +1 -0
- package/dist/types/src/components/Auth/__tests__/SocialDivider.test.d.ts +1 -0
- package/dist/types/src/components/Button/Button.d.ts +5 -0
- package/dist/types/src/components/Button/Button.stories.d.ts +7 -0
- package/dist/types/src/components/CandidateProfile/CandidateProfile.d.ts +49 -0
- package/dist/types/src/components/CareerAssistant/CareerAssistant.d.ts +11 -0
- package/dist/types/src/components/CareerAssistant/MessageBubble.d.ts +15 -0
- package/dist/types/src/components/CareerAssistant/WelcomeScreen.d.ts +7 -0
- package/dist/types/src/components/CareerAssistant/mockCareerAssistant.d.ts +8 -0
- package/dist/types/src/components/Companies/CompaniesList.d.ts +31 -0
- package/dist/types/src/components/Companies/CompanyAdminPage.d.ts +0 -0
- package/dist/types/src/components/Companies/CompanyCard.stories.d.ts +7 -0
- package/dist/types/src/components/Companies/CompanyDetail.d.ts +33 -0
- package/dist/types/src/components/Companies/CompanyDetail.similarCompanies.test.d.ts +1 -0
- package/dist/types/src/components/Companies/CompanyDirectory.d.ts +27 -0
- package/dist/types/src/components/Companies/CompanyDirectoryContainer.d.ts +23 -0
- package/dist/types/src/components/Companies/CompanyFilters.test.d.ts +1 -0
- package/dist/types/src/components/Companies/CompanyGroupDetail.d.ts +6 -0
- package/dist/types/src/components/Companies/CompanyGroupDetail.stories.d.ts +6 -0
- package/dist/types/src/components/Companies/CompanyHeader.stories.d.ts +7 -0
- package/dist/types/src/components/Companies/CompanyPublicPage.d.ts +0 -0
- package/dist/types/src/components/Companies/CompanyReviewsTab.d.ts +13 -0
- package/dist/types/src/components/Companies/LoadingCompanyShadowCard.stories.d.ts +7 -0
- package/dist/types/src/components/Companies/admin/CompanyJobsAdmin.d.ts +0 -0
- package/dist/types/src/components/Companies/admin/CompanyPeopleAdmin.d.ts +0 -0
- package/dist/types/src/components/Companies/admin/CompanyProfileEditor.d.ts +0 -0
- package/dist/types/src/components/Companies/companiesListFilters.d.ts +19 -0
- package/dist/types/src/components/Companies/companiesListFilters.test.d.ts +1 -0
- package/dist/types/src/components/Companies/components/ClaimProfileDialog.d.ts +10 -0
- package/dist/types/src/components/Companies/components/CompaniesHeader.d.ts +2 -0
- package/dist/types/src/components/Companies/components/CompanyAdminEditDialog.d.ts +15 -0
- package/dist/types/src/components/Companies/components/CompanyAdminShell.d.ts +38 -0
- package/dist/types/src/components/Companies/components/CompanyCard.d.ts +25 -0
- package/dist/types/src/components/Companies/components/CompanyClaim.d.ts +7 -0
- package/dist/types/src/components/Companies/components/CompanyComparison.d.ts +12 -0
- package/dist/types/src/components/Companies/components/CompanyFilters.d.ts +10 -0
- package/dist/types/src/components/Companies/components/CompanyHeader.d.ts +35 -0
- package/dist/types/src/components/Companies/components/CompanyMetaHighlights.d.ts +11 -0
- package/dist/types/src/components/Companies/components/LoadingCompanyShadowCard.d.ts +5 -0
- package/dist/types/src/components/Companies/components/ViewControls.d.ts +14 -0
- package/dist/types/src/components/Companies/components/admin/CandidateCard.d.ts +11 -0
- package/dist/types/src/components/Companies/components/admin/CompanyAdminCandidates.d.ts +13 -0
- package/dist/types/src/components/Companies/components/admin/CompanyAdminCandidates.stories.d.ts +5 -0
- package/dist/types/src/components/Companies/components/admin/CompanyAdminEvents.d.ts +10 -0
- package/dist/types/src/components/Companies/components/admin/CompanyAdminJobs.d.ts +10 -0
- package/dist/types/src/components/Companies/components/admin/CompanyAdminJobs.stories.d.ts +6 -0
- package/dist/types/src/components/Companies/components/admin/CompanyAdminNews.d.ts +10 -0
- package/dist/types/src/components/Companies/components/admin/CompanyAdminOverview.d.ts +10 -0
- package/dist/types/src/components/Companies/components/admin/CompanyAdminPeople.d.ts +11 -0
- package/dist/types/src/components/Companies/components/admin/CompanyAdminPeople.stories.d.ts +5 -0
- package/dist/types/src/components/Companies/components/admin/CompanyAdminProducts.d.ts +10 -0
- package/dist/types/src/components/Companies/components/admin/CompanyAdminSettings.d.ts +9 -0
- package/dist/types/src/components/Companies/components/admin/CompanyAdminSettings.stories.d.ts +5 -0
- package/dist/types/src/components/Companies/components/admin/InviteModal.d.ts +9 -0
- package/dist/types/src/components/Companies/components/admin/ProfileStrengthWidget.d.ts +7 -0
- package/dist/types/src/components/Companies/components/admin/modals/AddEventModal.d.ts +16 -0
- package/dist/types/src/components/Companies/components/admin/modals/AddJobModal.d.ts +17 -0
- package/dist/types/src/components/Companies/components/admin/modals/AddPersonModal.d.ts +15 -0
- package/dist/types/src/components/Companies/components/admin/modals/AddProductModal.d.ts +15 -0
- package/dist/types/src/components/Companies/components/tabs/CompanyEventsTab.d.ts +8 -0
- package/dist/types/src/components/Companies/components/tabs/CompanyInsightsTab.d.ts +2 -0
- package/dist/types/src/components/Companies/components/tabs/CompanyJobsTab.d.ts +9 -0
- package/dist/types/src/components/Companies/components/tabs/CompanyNewsTab.d.ts +8 -0
- package/dist/types/src/components/Companies/components/tabs/CompanyOverviewTab.d.ts +9 -0
- package/dist/types/src/components/Companies/components/tabs/CompanyPeopleTab.d.ts +6 -0
- package/dist/types/src/components/Companies/components/tabs/CompanyProductsTab.d.ts +6 -0
- package/dist/types/src/components/Companies/components/tabs/CompanySidebar.d.ts +7 -0
- package/dist/types/src/components/Companies/components/tabs/CompanyTabsList.d.ts +7 -0
- package/dist/types/src/components/Companies/components/tabs/CompanyTrustTab.d.ts +7 -0
- package/dist/types/src/components/Companies/data/companies.d.ts +18 -0
- package/dist/types/src/components/Companies/data/company-group-preview.d.ts +3 -0
- package/dist/types/src/components/Companies/data/countries.d.ts +9 -0
- package/dist/types/src/components/Companies/hooks/useCompaniesQuery.d.ts +10 -0
- package/dist/types/src/components/Companies/reviews/LeaveReviewModal.d.ts +11 -0
- package/dist/types/src/components/Companies/reviews/ReviewCard.d.ts +9 -0
- package/dist/types/src/components/Companies/reviews/ReviewStars.d.ts +9 -0
- package/dist/types/src/components/Companies/reviews/ReviewSummaryBar.d.ts +7 -0
- package/dist/types/src/components/Companies/reviews/index.d.ts +4 -0
- package/dist/types/src/components/Companies/types/companyAdmin.d.ts +81 -0
- package/dist/types/src/components/Companies/types/index.d.ts +390 -0
- package/dist/types/src/components/Companies/utils/companiesQuery.d.ts +6 -0
- package/dist/types/src/components/Companies/utils/companyFilters.d.ts +53 -0
- package/dist/types/src/components/Companies/utils/companyFilters.test.d.ts +1 -0
- package/dist/types/src/components/Companies/utils/normalizeCompanies.d.ts +15 -0
- package/dist/types/src/components/Companies/utils/normalizeCompaniesResponse.test.d.ts +1 -0
- package/dist/types/src/components/Companies/utils/permissions.d.ts +9 -0
- package/dist/types/src/components/Companies/utils/safeArray.d.ts +1 -0
- package/dist/types/src/components/Companies/utils/similarCompanies.d.ts +2 -0
- package/dist/types/src/components/CompanyOnboarding/CompanyOnboardingModal.d.ts +18 -0
- package/dist/types/src/components/CompanyOnboarding/index.d.ts +1 -0
- package/dist/types/src/components/Complaints/Complaints.d.ts +8 -0
- package/dist/types/src/components/Complaints/SubmitComplaintModal.d.ts +16 -0
- package/dist/types/src/components/Consent/Analytics.d.ts +9 -0
- package/dist/types/src/components/Consent/ConsentAnalytics.stories.d.ts +9 -0
- package/dist/types/src/components/Consent/ConsentBanner.d.ts +11 -0
- package/dist/types/src/components/Consent/ConsentContext.d.ts +20 -0
- package/dist/types/src/components/ContactForm/ContactFormHybrid.d.ts +8 -0
- package/dist/types/src/components/Courses/CoursesList.d.ts +9 -0
- package/dist/types/src/components/Dashboard/AddExperienceModal.d.ts +33 -0
- package/dist/types/src/components/Dashboard/AddJobDetailModal.d.ts +9 -0
- package/dist/types/src/components/Dashboard/AddLanguageModal.d.ts +10 -0
- package/dist/types/src/components/Dashboard/AddPreferenceTopicModal.d.ts +7 -0
- package/dist/types/src/components/Dashboard/AddSkillModal.d.ts +7 -0
- package/dist/types/src/components/Dashboard/Alerts/AlertCard.d.ts +12 -0
- package/dist/types/src/components/Dashboard/Alerts/AlertEmptyState.d.ts +5 -0
- package/dist/types/src/components/Dashboard/Alerts/AlertForm.d.ts +10 -0
- package/dist/types/src/components/Dashboard/Alerts/AlertInsightsWidget.d.ts +8 -0
- package/dist/types/src/components/Dashboard/Alerts/AlertStatusBadge.d.ts +8 -0
- package/dist/types/src/components/Dashboard/Alerts/DashboardAlerts.d.ts +11 -0
- package/dist/types/src/components/Dashboard/CVUploadDialog.d.ts +8 -0
- package/dist/types/src/components/Dashboard/CompanyDashboard.d.ts +16 -0
- package/dist/types/src/components/Dashboard/CompanyEmployeeOverview.d.ts +29 -0
- package/dist/types/src/components/Dashboard/CompanyOwnerOverview.d.ts +20 -0
- package/dist/types/src/components/Dashboard/CompanyRecruiterOverview.d.ts +31 -0
- package/dist/types/src/components/Dashboard/Dashboard.d.ts +56 -0
- package/dist/types/src/components/Dashboard/DashboardCourses.d.ts +32 -0
- package/dist/types/src/components/Dashboard/DashboardJobCard.d.ts +13 -0
- package/dist/types/src/components/Dashboard/DashboardJobs.d.ts +17 -0
- package/dist/types/src/components/Dashboard/DashboardLayout.d.ts +15 -0
- package/dist/types/src/components/Dashboard/DashboardNews.d.ts +15 -0
- package/dist/types/src/components/Dashboard/DashboardNewsCard.d.ts +12 -0
- package/dist/types/src/components/Dashboard/DashboardOverview.d.ts +46 -0
- package/dist/types/src/components/Dashboard/DashboardProfile.d.ts +64 -0
- package/dist/types/src/components/Dashboard/DashboardSettings.d.ts +84 -0
- package/dist/types/src/components/Dashboard/DashboardStats.d.ts +17 -0
- package/dist/types/src/components/Dashboard/FreelancerActivationCard.d.ts +6 -0
- package/dist/types/src/components/Dashboard/FreelancerDashboardSection.d.ts +10 -0
- package/dist/types/src/components/Dashboard/FreelancerOnboardingModal.d.ts +10 -0
- package/dist/types/src/components/Dashboard/OnboardingChecklist.d.ts +16 -0
- package/dist/types/src/components/Dashboard/OnboardingChecklist.stories.d.ts +8 -0
- package/dist/types/src/components/Dashboard/OnboardingDashboard.d.ts +19 -0
- package/dist/types/src/components/Dashboard/OnboardingDashboard.stories.d.ts +9 -0
- package/dist/types/src/components/Events/EventCalendarCard.d.ts +7 -0
- package/dist/types/src/components/Events/EventsList.d.ts +11 -0
- package/dist/types/src/components/Events/SubmitEventModal.d.ts +22 -0
- package/dist/types/src/components/Events/mockEvents.d.ts +2 -0
- package/dist/types/src/components/Events/types.d.ts +22 -0
- package/dist/types/src/components/Footer/Footer.d.ts +32 -0
- package/dist/types/src/components/Footer/Footer.stories.d.ts +7 -0
- package/dist/types/src/components/Freelancer/FreelancerProfile.d.ts +19 -0
- package/dist/types/src/components/Freelancer/FreelancerProfileContainer.d.ts +2 -0
- package/dist/types/src/components/Freelancer/Freelancers.d.ts +30 -0
- package/dist/types/src/components/Freelancer/FreelancersContainer.d.ts +2 -0
- package/dist/types/src/components/Freelancer/FreelancersList.d.ts +10 -0
- package/dist/types/src/components/Freelancer/mockFreelancers.d.ts +6 -0
- package/dist/types/src/components/GenericListing/Banner.d.ts +9 -0
- package/dist/types/src/components/GenericListing/DateFilter.d.ts +13 -0
- package/dist/types/src/components/GenericListing/LastVisitedJobs.d.ts +8 -0
- package/dist/types/src/components/GenericListing/Listing.d.ts +32 -0
- package/dist/types/src/components/GenericListing/ListingGrid.d.ts +16 -0
- package/dist/types/src/components/GenericListing/ListingHeader.d.ts +6 -0
- package/dist/types/src/components/GenericListing/ListingSort.d.ts +14 -0
- package/dist/types/src/components/GenericListing/MobileFilterDrawer.d.ts +21 -0
- package/dist/types/src/components/GenericListing/MobileNav.d.ts +3 -0
- package/dist/types/src/components/GenericListing/Pagination.d.ts +8 -0
- package/dist/types/src/components/GenericListing/PaginationControls.d.ts +8 -0
- package/dist/types/src/components/GenericListing/SearchBar.d.ts +10 -0
- package/dist/types/src/components/GenericListing/SearchableSelect.d.ts +10 -0
- package/dist/types/src/components/GenericListing/Sidebar.d.ts +11 -0
- package/dist/types/src/components/GenericListing/SidebarFilter.d.ts +31 -0
- package/dist/types/src/components/GenericListing/SidebarFilters.d.ts +12 -0
- package/dist/types/src/components/GenericListing/accessControl.d.ts +22 -0
- package/dist/types/src/components/GenericListing/generateMockJobs.d.ts +3 -0
- package/dist/types/src/components/GenericListing/useJobDataHook.d.ts +6 -0
- package/dist/types/src/components/GenericListing/useLocalStorageState.d.ts +1 -0
- package/dist/types/src/components/Header/Header.d.ts +2 -0
- package/dist/types/src/components/Header/Header.stories.d.ts +6 -0
- package/dist/types/src/components/Header/HeaderAlternative.d.ts +13 -0
- package/dist/types/src/components/HomePage/Advantages.d.ts +15 -0
- package/dist/types/src/components/HomePage/Cart.d.ts +12 -0
- package/dist/types/src/components/HomePage/Chatbot.d.ts +6 -0
- package/dist/types/src/components/HomePage/Contact.d.ts +22 -0
- package/dist/types/src/components/HomePage/CourseTypes.d.ts +26 -0
- package/dist/types/src/components/HomePage/Courses.d.ts +16 -0
- package/dist/types/src/components/HomePage/Destinations.d.ts +12 -0
- package/dist/types/src/components/HomePage/FAQ.d.ts +11 -0
- package/dist/types/src/components/HomePage/FeatureJobs.d.ts +19 -0
- package/dist/types/src/components/HomePage/Features.d.ts +13 -0
- package/dist/types/src/components/HomePage/ForEmployers.d.ts +10 -0
- package/dist/types/src/components/HomePage/Gallery.d.ts +13 -0
- package/dist/types/src/components/HomePage/Hero.d.ts +11 -0
- package/dist/types/src/components/HomePage/HeroAlternative.d.ts +14 -0
- package/dist/types/src/components/HomePage/HeroSection.d.ts +2 -0
- package/dist/types/src/components/HomePage/HomePage.d.ts +3 -0
- package/dist/types/src/components/HomePage/IgamingCareerHome.d.ts +33 -0
- package/dist/types/src/components/HomePage/ImageSlider.d.ts +11 -0
- package/dist/types/src/components/HomePage/JobSearch.d.ts +2 -0
- package/dist/types/src/components/HomePage/JobsSearchWidget.d.ts +22 -0
- package/dist/types/src/components/HomePage/Navbar.d.ts +19 -0
- package/dist/types/src/components/HomePage/Newsletter.d.ts +11 -0
- package/dist/types/src/components/HomePage/NewsletterV2.d.ts +21 -0
- package/dist/types/src/components/HomePage/NotificationModal.d.ts +7 -0
- package/dist/types/src/components/HomePage/Partners.d.ts +2 -0
- package/dist/types/src/components/HomePage/Services.d.ts +13 -0
- package/dist/types/src/components/HomePage/ServicesNoIcons.d.ts +16 -0
- package/dist/types/src/components/HomePage/SidebarNewsletter.d.ts +9 -0
- package/dist/types/src/components/HomePage/SidebarNewsletterV2.d.ts +18 -0
- package/dist/types/src/components/HomePage/Testimonials.d.ts +14 -0
- package/dist/types/src/components/HomePage/TestimonialsVariant.d.ts +2 -0
- package/dist/types/src/components/HomePage/TrustSignals.d.ts +21 -0
- package/dist/types/src/components/HomePage/ValueProposition.d.ts +12 -0
- package/dist/types/src/components/HomePage/Videos.d.ts +13 -0
- package/dist/types/src/components/HomePage/context/CartContext.d.ts +22 -0
- package/dist/types/src/components/IgamingCoursesPage/CourseCard.d.ts +12 -0
- package/dist/types/src/components/IgamingCoursesPage/CourseFilters.d.ts +19 -0
- package/dist/types/src/components/IgamingCoursesPage/CourseNavigation.d.ts +11 -0
- package/dist/types/src/components/IgamingCoursesPage/CourseSearch.d.ts +10 -0
- package/dist/types/src/components/IgamingCoursesPage/CourseSidebarFilters.d.ts +23 -0
- package/dist/types/src/components/IgamingCoursesPage/CoursesListingCards.d.ts +17 -0
- package/dist/types/src/components/IgamingCoursesPage/FeaturedCourses.d.ts +12 -0
- package/dist/types/src/components/IgamingCoursesPage/HeroSection.d.ts +9 -0
- package/dist/types/src/components/IgamingCoursesPage/IgamingCoursesPage.d.ts +12 -0
- package/dist/types/src/components/IgamingCoursesPage/MobileCourseSearch.d.ts +10 -0
- package/dist/types/src/components/IgamingCoursesPage/Statistics.d.ts +8 -0
- package/dist/types/src/components/IgamingCoursesPage/data/courses.d.ts +3 -0
- package/dist/types/src/components/IgamingCoursesPage/types/course.d.ts +63 -0
- package/dist/types/src/components/JobListing/JobListing.d.ts +24 -0
- package/dist/types/src/components/JobListing/components/Filters.d.ts +17 -0
- package/dist/types/src/components/JobListing/components/Footer.d.ts +12 -0
- package/dist/types/src/components/JobListing/components/JobCard.d.ts +14 -0
- package/dist/types/src/components/JobListing/components/JobList.d.ts +12 -0
- package/dist/types/src/components/JobListing/components/MobileFilterDrawer.d.ts +21 -0
- package/dist/types/src/components/JobListing/components/Navbar.d.ts +13 -0
- package/dist/types/src/components/JobListing/components/PromoCard.d.ts +11 -0
- package/dist/types/src/components/JobListing/components/SearchBar.d.ts +10 -0
- package/dist/types/src/components/JobListing/types/Job.d.ts +1 -0
- package/dist/types/src/components/Jobs/JobsList.d.ts +39 -0
- package/dist/types/src/components/Jobs/jobsListFilters.d.ts +13 -0
- package/dist/types/src/components/Jobs/jobsListFilters.test.d.ts +1 -0
- package/dist/types/src/components/JobsDetails/JobDetail.d.ts +9 -0
- package/dist/types/src/components/JobsDetails/utils/navigation.d.ts +2 -0
- package/dist/types/src/components/JobsDetails/utils/types.d.ts +37 -0
- package/dist/types/src/components/JobsDetails/utils/useJobSlug.d.ts +1 -0
- package/dist/types/src/components/LanguageSchools/LanguageSchoolDetail.d.ts +16 -0
- package/dist/types/src/components/LanguageSchools/LanguageSchoolsList.d.ts +17 -0
- package/dist/types/src/components/LanguageSchools/components/SchoolCard.d.ts +10 -0
- package/dist/types/src/components/LanguageSchools/schoolsListFilters.d.ts +6 -0
- package/dist/types/src/components/LeadForm.d.ts +45 -0
- package/dist/types/src/components/LeadForm.stories.d.ts +51 -0
- package/dist/types/src/components/LeadForm.test.d.ts +4 -0
- package/dist/types/src/components/MaltaEvents/MaltaEventDetail.d.ts +8 -0
- package/dist/types/src/components/MaltaEvents/MaltaEventsList.d.ts +17 -0
- package/dist/types/src/components/MaltaEvents/components/MaltaEventCard.d.ts +10 -0
- package/dist/types/src/components/MaltaEvents/eventsListFilters.d.ts +22 -0
- package/dist/types/src/components/MaltaEvents/index.d.ts +5 -0
- package/dist/types/src/components/MaltaEvents/mockMaltaEvents.d.ts +2 -0
- package/dist/types/src/components/MaltaPlaces/MaltaPlaceDetail.d.ts +8 -0
- package/dist/types/src/components/MaltaPlaces/MaltaPlacesList.d.ts +17 -0
- package/dist/types/src/components/MaltaPlaces/components/MaltaPlaceCard.d.ts +10 -0
- package/dist/types/src/components/MaltaPlaces/index.d.ts +5 -0
- package/dist/types/src/components/MaltaPlaces/mockMaltaPlaces.d.ts +2 -0
- package/dist/types/src/components/MaltaPlaces/placesListFilters.d.ts +14 -0
- package/dist/types/src/components/MarketDetail/MarketDetail.d.ts +6 -0
- package/dist/types/src/components/Markets/MarketsList.d.ts +17 -0
- package/dist/types/src/components/Markets/SuggestMarketModal.d.ts +8 -0
- package/dist/types/src/components/Markets/mockMarkets.d.ts +3 -0
- package/dist/types/src/components/Modal/Modal.d.ts +10 -0
- package/dist/types/src/components/News/NewsList.d.ts +7 -0
- package/dist/types/src/components/NewsPage/BreakingNews.d.ts +7 -0
- package/dist/types/src/components/NewsPage/NewsCard.d.ts +15 -0
- package/dist/types/src/components/NewsPage/NewsFilters.d.ts +14 -0
- package/dist/types/src/components/NewsPage/NewsPage.d.ts +19 -0
- package/dist/types/src/components/NewsPage/NewsSearch.d.ts +9 -0
- package/dist/types/src/components/NewsPage/NewsSidebarFilters.d.ts +19 -0
- package/dist/types/src/components/NewsPage/TrendingNews.d.ts +8 -0
- package/dist/types/src/components/NewsPage/data/news.d.ts +3 -0
- package/dist/types/src/components/NewsPage/types/news.d.ts +35 -0
- package/dist/types/src/components/Notification/Notification.stories.d.ts +6 -0
- package/dist/types/src/components/Notification/NotificationItem.d.ts +15 -0
- package/dist/types/src/components/Notification/NotificationProvider.d.ts +20 -0
- package/dist/types/src/components/Notification/NotificationTester.d.ts +21 -0
- package/dist/types/src/components/Notification/NotificationTester.stories.d.ts +6 -0
- package/dist/types/src/components/Notification/NotificationViewport.d.ts +20 -0
- package/dist/types/src/components/Notification/index.d.ts +4 -0
- package/dist/types/src/components/Notification/notificationStore.d.ts +51 -0
- package/dist/types/src/components/Onboarding/DashboardOnboardingSection.d.ts +12 -0
- package/dist/types/src/components/Onboarding/OnboardingChecklist.d.ts +8 -0
- package/dist/types/src/components/Onboarding/OnboardingContext.d.ts +6 -0
- package/dist/types/src/components/Onboarding/OnboardingDashboard.d.ts +11 -0
- package/dist/types/src/components/Onboarding/OnboardingModal.d.ts +19 -0
- package/dist/types/src/components/Onboarding/OnboardingPopup.d.ts +6 -0
- package/dist/types/src/components/Onboarding/ShieldedActionButton.d.ts +15 -0
- package/dist/types/src/components/Onboarding/VerificationBanner.d.ts +12 -0
- package/dist/types/src/components/Onboarding/index.d.ts +13 -0
- package/dist/types/src/components/Places/PlacesList.d.ts +7 -0
- package/dist/types/src/components/Places/mockPlaces.d.ts +2 -0
- package/dist/types/src/components/Places/types.d.ts +16 -0
- package/dist/types/src/components/Prices/Group/GroupPrices.d.ts +10 -0
- package/dist/types/src/components/Prices/PricingComponents.stories.d.ts +6 -0
- package/dist/types/src/components/Prices/Summary/SlidingSummary.d.ts +7 -0
- package/dist/types/src/components/ProductCategories/ProductCategoriesList.d.ts +9 -0
- package/dist/types/src/components/ProductCategories/ProductCategoryDetail.d.ts +7 -0
- package/dist/types/src/components/ProductCategories/mockProductCategories.d.ts +3 -0
- package/dist/types/src/components/ProductCategories/types.d.ts +47 -0
- package/dist/types/src/components/QualityCompounderFramework/QualityCompounderFramework.d.ts +11 -0
- package/dist/types/src/components/QualityCompounderFramework/ResearchPage.d.ts +1 -0
- package/dist/types/src/components/QualityCompounderFramework/Savedevaluations.d.ts +6 -0
- package/dist/types/src/components/QualityCompounderFramework/WatchlistDashboard.d.ts +6 -0
- package/dist/types/src/components/RegulatorDetail/RegulatorDetail.d.ts +6 -0
- package/dist/types/src/components/Regulators/JurisdictionsList.d.ts +6 -0
- package/dist/types/src/components/Regulators/RegulatorsList.d.ts +9 -0
- package/dist/types/src/components/Regulators/mockJurisdictions.d.ts +3 -0
- package/dist/types/src/components/Regulators/mockRegulators.d.ts +3 -0
- package/dist/types/src/components/Regulators/types.d.ts +55 -0
- package/dist/types/src/components/Research/ResearchPage.d.ts +5 -0
- package/dist/types/src/components/Research/index.d.ts +1 -0
- package/dist/types/src/components/Reviews/LeaveReviewStandaloneModal.d.ts +23 -0
- package/dist/types/src/components/Reviews/Reviews.d.ts +8 -0
- package/dist/types/src/components/Shared/ActiveFiltersDisplay.d.ts +15 -0
- package/dist/types/src/components/Shared/Cards/CareerPathCard.d.ts +20 -0
- package/dist/types/src/components/Shared/Cards/ChannelCard.d.ts +9 -0
- package/dist/types/src/components/Shared/Cards/CompanyCardMobile.d.ts +30 -0
- package/dist/types/src/components/Shared/Cards/CompanyTypeCard.d.ts +9 -0
- package/dist/types/src/components/Shared/Cards/CourseCard.d.ts +37 -0
- package/dist/types/src/components/Shared/Cards/DepartmentCard.d.ts +15 -0
- package/dist/types/src/components/Shared/Cards/DepartmentEntityCard.d.ts +9 -0
- package/dist/types/src/components/Shared/Cards/DirectoryDetailCard.d.ts +13 -0
- package/dist/types/src/components/Shared/Cards/DirectoryInfoPanel.d.ts +25 -0
- package/dist/types/src/components/Shared/Cards/DirectoryKeyRolesList.d.ts +11 -0
- package/dist/types/src/components/Shared/Cards/EventsCard.d.ts +19 -0
- package/dist/types/src/components/Shared/Cards/FreelancerCard.d.ts +23 -0
- package/dist/types/src/components/Shared/Cards/GamblingVerticalCard.d.ts +9 -0
- package/dist/types/src/components/Shared/Cards/JobCard.d.ts +31 -0
- package/dist/types/src/components/Shared/Cards/JurisdictionCard.d.ts +8 -0
- package/dist/types/src/components/Shared/Cards/MarketsCard.d.ts +8 -0
- package/dist/types/src/components/Shared/Cards/NewsCard.d.ts +32 -0
- package/dist/types/src/components/Shared/Cards/PlacesCard.d.ts +18 -0
- package/dist/types/src/components/Shared/Cards/PlaybookCard.d.ts +17 -0
- package/dist/types/src/components/Shared/Cards/ProductCategoriesCard.d.ts +26 -0
- package/dist/types/src/components/Shared/Cards/RegulatorsCard.d.ts +21 -0
- package/dist/types/src/components/Shared/Cards/RoleGuideCard.d.ts +17 -0
- package/dist/types/src/components/Shared/Cards/TermCard.d.ts +14 -0
- package/dist/types/src/components/Shared/Cards/VideoCard.d.ts +21 -0
- package/dist/types/src/components/Shared/Cards/index.d.ts +10 -0
- package/dist/types/src/components/Shared/CompanyCardMobile.stories.d.ts +7 -0
- package/dist/types/src/components/Shared/Directory/DirectoryBanner.d.ts +8 -0
- package/dist/types/src/components/Shared/Directory/DirectoryShell.d.ts +30 -0
- package/dist/types/src/components/Shared/Directory/DirectoryShowcase.d.ts +3 -0
- package/dist/types/src/components/Shared/Directory/DirectoryToolbar.d.ts +20 -0
- package/dist/types/src/components/Shared/Directory/ViewModeToggle.d.ts +1 -0
- package/dist/types/src/components/Shared/Directory/index.d.ts +5 -0
- package/dist/types/src/components/Shared/Directory/types.d.ts +73 -0
- package/dist/types/src/components/Shared/GenericFilter.d.ts +17 -0
- package/dist/types/src/components/Shared/GenericPagination.d.ts +8 -0
- package/dist/types/src/components/Shared/GenericPagination.stories.d.ts +7 -0
- package/dist/types/src/components/Shared/ItemsPerPageSelector.d.ts +10 -0
- package/dist/types/src/components/Shared/ItemsPerPageSelector.stories.d.ts +7 -0
- package/dist/types/src/components/Shared/Listing/ListingActiveFilters.d.ts +16 -0
- package/dist/types/src/components/Shared/Listing/ListingEmptyState.d.ts +16 -0
- package/dist/types/src/components/Shared/Listing/ListingHeader.d.ts +17 -0
- package/dist/types/src/components/Shared/Listing/ListingMobileFilters.d.ts +24 -0
- package/dist/types/src/components/Shared/Listing/ListingPagination.d.ts +15 -0
- package/dist/types/src/components/Shared/Listing/ListingSearchBar.d.ts +20 -0
- package/dist/types/src/components/Shared/Listing/ListingSidebar.d.ts +25 -0
- package/dist/types/src/components/Shared/Listing/ListingToolbar.d.ts +24 -0
- package/dist/types/src/components/Shared/Listing/index.d.ts +9 -0
- package/dist/types/src/components/Shared/Listing/types.d.ts +50 -0
- package/dist/types/src/components/Shared/LoadingShadowCard.d.ts +5 -0
- package/dist/types/src/components/Shared/LoadingShadowCard.stories.d.ts +7 -0
- package/dist/types/src/components/Shared/Mobile/BottomSheetFilter.d.ts +23 -0
- package/dist/types/src/components/Shared/Mobile/FloatingActionButton.d.ts +22 -0
- package/dist/types/src/components/Shared/Mobile/HorizontalTagSlider.d.ts +22 -0
- package/dist/types/src/components/Shared/Mobile/StickyFilterChips.d.ts +20 -0
- package/dist/types/src/components/Shared/Mobile/UserIdentityMenu.d.ts +36 -0
- package/dist/types/src/components/Shared/Mobile/index.d.ts +5 -0
- package/dist/types/src/components/Shared/MobileDrawer.d.ts +9 -0
- package/dist/types/src/components/Shared/PageTitleHeader.d.ts +16 -0
- package/dist/types/src/components/Shared/SearchBox.d.ts +11 -0
- package/dist/types/src/components/Shared/ShieldedActionButton.d.ts +14 -0
- package/dist/types/src/components/Shared/ShieldedActionButton.stories.d.ts +8 -0
- package/dist/types/src/components/Shared/SubscriptionModal.d.ts +10 -0
- package/dist/types/src/components/Shared/Taxonomy/ExamplesPanel.d.ts +7 -0
- package/dist/types/src/components/Shared/Taxonomy/TaxonomyApproveForm.d.ts +15 -0
- package/dist/types/src/components/Shared/Taxonomy/TaxonomySuggestionDetail.d.ts +11 -0
- package/dist/types/src/components/Shared/Taxonomy/TaxonomySuggestionTable.d.ts +12 -0
- package/dist/types/src/components/Shared/Taxonomy/types.d.ts +18 -0
- package/dist/types/src/components/Shared/ViewControls.d.ts +13 -0
- package/dist/types/src/components/Shared/ViewModeToggle.d.ts +9 -0
- package/dist/types/src/components/Shared/extractTagsFromTitle.d.ts +3 -0
- package/dist/types/src/components/Shared/helpers/api.d.ts +21 -0
- package/dist/types/src/components/Shared/helpers/filters.d.ts +10 -0
- package/dist/types/src/components/Shared/helpers/jobsHelpers.d.ts +6 -0
- package/dist/types/src/components/Shared/types/shared-types.d.ts +125 -0
- package/dist/types/src/components/Shared/useSavedJobs.d.ts +5 -0
- package/dist/types/src/components/TagBadge/TagBadge.d.ts +12 -0
- package/dist/types/src/components/TagPicker/TagPicker.d.ts +20 -0
- package/dist/types/src/components/hooks/use-lead-form.d.ts +30 -0
- package/dist/types/src/components/hooks/useFilters.d.ts +5 -0
- package/dist/types/src/components/hooks/useOnboarding.d.ts +19 -0
- package/dist/types/src/components/hooks/usePagination.d.ts +6 -0
- package/dist/types/src/components/hooks/useSubscription.d.ts +4 -0
- package/dist/types/src/components/services/lead-validation.d.ts +30 -0
- package/dist/types/src/components/types/lead.d.ts +43 -0
- package/dist/types/src/components/ui/button.d.ts +57 -0
- package/dist/types/src/components/ui/button.stories.d.ts +105 -0
- package/dist/types/src/components/ui/button.test.d.ts +1 -0
- package/dist/types/src/components/ui/index.d.ts +17 -0
- package/dist/types/src/data/mockCandidates.d.ts +2 -0
- package/dist/types/src/data/mockCareerAssistant.d.ts +6 -0
- package/dist/types/src/data/mockComplaints.d.ts +2 -0
- package/dist/types/src/data/mockReviews.d.ts +6 -0
- package/dist/types/src/hooks/use-lead-form.d.ts +21 -0
- package/dist/types/src/hooks/useCareerAssistant.d.ts +7 -0
- package/dist/types/src/hooks/useLocalStorage.d.ts +36 -0
- package/dist/types/src/index.d.ts +170 -0
- package/dist/types/src/lib/utils.d.ts +15 -0
- package/dist/types/src/services/alphaVantageResearch.d.ts +32 -0
- package/dist/types/src/services/careerAssistant.mock.d.ts +53 -0
- package/dist/types/src/services/fmpService.d.ts +74 -0
- package/dist/types/src/services/lead-validation.d.ts +105 -0
- package/dist/types/src/services/research.d.ts +71 -0
- package/dist/types/src/services/scoringEngine.d.ts +35 -0
- package/dist/types/src/services/watchlistStore.d.ts +18 -0
- package/dist/types/src/stories/PageComponents.stories.d.ts +7 -0
- package/dist/types/src/types/candidate.d.ts +27 -0
- package/dist/types/src/types/chat-messages.d.ts +6 -0
- package/dist/types/src/types/company-user.d.ts +33 -0
- package/dist/types/src/types/company-user.test.d.ts +1 -0
- package/dist/types/src/types/company.d.ts +252 -0
- package/dist/types/src/types/complaint.d.ts +21 -0
- package/dist/types/src/types/conference.d.ts +21 -0
- package/dist/types/src/types/dashboard.d.ts +252 -0
- package/dist/types/src/types/events.courses.d.ts +49 -0
- package/dist/types/src/types/events.d.ts +23 -0
- package/dist/types/src/types/events.freelancers.d.ts +11 -0
- package/dist/types/src/types/events.jobs.d.ts +70 -0
- package/dist/types/src/types/events.news.d.ts +57 -0
- package/dist/types/src/types/events.newsletter.d.ts +6 -0
- package/dist/types/src/types/freelancer.d.ts +128 -0
- package/dist/types/src/types/general.d.ts +20 -0
- package/dist/types/src/types/icon-utils.d.ts +3 -0
- package/dist/types/src/types/item.d.ts +10 -0
- package/dist/types/src/types/job-alert.d.ts +64 -0
- package/dist/types/src/types/job.d.ts +70 -0
- package/dist/types/src/types/lead.d.ts +128 -0
- package/dist/types/src/types/maltaevent.d.ts +50 -0
- package/dist/types/src/types/maltaplace.d.ts +52 -0
- package/dist/types/src/types/market.d.ts +86 -0
- package/dist/types/src/types/news.d.ts +15 -0
- package/dist/types/src/types/onboarding.d.ts +42 -0
- package/dist/types/src/types/review.d.ts +61 -0
- package/dist/types/src/types/school.d.ts +89 -0
- package/dist/types/src/types/user.d.ts +34 -0
- package/dist/types/src/utils/safeArray.d.ts +1 -0
- package/dist/types/src/utils/safeArray.test.d.ts +1 -0
- package/package.json +4 -4
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
export type CandidateStatus = "new" | "reviewed" | "shortlisted" | "rejected";
|
|
2
|
+
export type CandidateRating = 1 | 2 | 3 | 4 | 5 | null;
|
|
3
|
+
export type CandidateNote = {
|
|
4
|
+
id: string;
|
|
5
|
+
author: string;
|
|
6
|
+
note: string;
|
|
7
|
+
createdAt: string;
|
|
8
|
+
isInternal: boolean;
|
|
9
|
+
};
|
|
10
|
+
export type Candidate = {
|
|
11
|
+
id: string;
|
|
12
|
+
firstName: string;
|
|
13
|
+
lastName: string;
|
|
14
|
+
title: string;
|
|
15
|
+
location: string;
|
|
16
|
+
appliedDate: string;
|
|
17
|
+
lastActive: string;
|
|
18
|
+
source: string;
|
|
19
|
+
yearsExperience: number;
|
|
20
|
+
status: CandidateStatus;
|
|
21
|
+
rating: CandidateRating;
|
|
22
|
+
skills: string[];
|
|
23
|
+
licenses: string[];
|
|
24
|
+
appliedJobs: string[];
|
|
25
|
+
notes: CandidateNote[];
|
|
26
|
+
resumeUrl?: string;
|
|
27
|
+
};
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
export type CompanyUserRole = "COMPANY_OWNER" | "COMPANY_RECRUITER" | "COMPANY_EMPLOYEE";
|
|
2
|
+
export type CompanyAssociationType = "create" | "join" | "suggest";
|
|
3
|
+
export interface CompanyOnboardingData {
|
|
4
|
+
associationType: CompanyAssociationType;
|
|
5
|
+
companyId?: string;
|
|
6
|
+
companyName?: string;
|
|
7
|
+
companyWebsite?: string;
|
|
8
|
+
companyLinkedinUrl?: string;
|
|
9
|
+
companyType?: string;
|
|
10
|
+
verticals?: string[];
|
|
11
|
+
headquarters?: {
|
|
12
|
+
city: string;
|
|
13
|
+
country: string;
|
|
14
|
+
};
|
|
15
|
+
jobTitle: string;
|
|
16
|
+
department: string;
|
|
17
|
+
teamSize?: string;
|
|
18
|
+
isComplete: boolean;
|
|
19
|
+
isDraft: boolean;
|
|
20
|
+
createdAt: string;
|
|
21
|
+
updatedAt: string;
|
|
22
|
+
}
|
|
23
|
+
export declare const ASSOCIATION_RULES: Record<CompanyUserRole, CompanyAssociationType[]>;
|
|
24
|
+
export declare const DEFAULT_ASSOCIATION_BY_ROLE: Record<CompanyUserRole, CompanyAssociationType>;
|
|
25
|
+
export declare const ROLE_PERMISSIONS: {
|
|
26
|
+
COMPANY_OWNER: string[];
|
|
27
|
+
COMPANY_RECRUITER: string[];
|
|
28
|
+
COMPANY_EMPLOYEE: string[];
|
|
29
|
+
};
|
|
30
|
+
export declare const hasPermission: (role: CompanyUserRole, permission: string) => boolean;
|
|
31
|
+
export declare const COMPANY_DEPARTMENTS: string[];
|
|
32
|
+
export declare const TEAM_SIZE_OPTIONS: string[];
|
|
33
|
+
export declare const isCompanyRole: (role: string) => role is CompanyUserRole;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,252 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Canonical CompanyDTO — iGaming Career platform
|
|
3
|
+
*
|
|
4
|
+
* Source of truth: generic-backend/companies/views.py → build_company_response()
|
|
5
|
+
* Contract document: generic-backend/docs/company-contract.md
|
|
6
|
+
*
|
|
7
|
+
* Status: Draft — pending BE + FE tech-lead sign-off
|
|
8
|
+
* Last updated: 2026-04-01
|
|
9
|
+
*
|
|
10
|
+
* Endpoints:
|
|
11
|
+
* GET /companies/api/ → CompanyListResponse
|
|
12
|
+
* GET /companies/api/{slug}/ → CompanyDTO
|
|
13
|
+
*/
|
|
14
|
+
export interface CompanyTypeRef {
|
|
15
|
+
slug: string;
|
|
16
|
+
name: string;
|
|
17
|
+
label: string;
|
|
18
|
+
}
|
|
19
|
+
export interface VerticalRef {
|
|
20
|
+
slug: string;
|
|
21
|
+
name: string;
|
|
22
|
+
label: string;
|
|
23
|
+
}
|
|
24
|
+
export interface ChannelRef {
|
|
25
|
+
slug: string;
|
|
26
|
+
name: string;
|
|
27
|
+
label: string;
|
|
28
|
+
}
|
|
29
|
+
export interface MarketRef {
|
|
30
|
+
slug: string;
|
|
31
|
+
name: string;
|
|
32
|
+
region: string;
|
|
33
|
+
relationType: string;
|
|
34
|
+
confidence: number;
|
|
35
|
+
source: string;
|
|
36
|
+
}
|
|
37
|
+
export interface RegulatorRef {
|
|
38
|
+
slug: string;
|
|
39
|
+
name: string;
|
|
40
|
+
acronym: string;
|
|
41
|
+
country: string;
|
|
42
|
+
licenseType: string;
|
|
43
|
+
confidence: number;
|
|
44
|
+
source: string;
|
|
45
|
+
}
|
|
46
|
+
export interface DepartmentRef {
|
|
47
|
+
slug: string;
|
|
48
|
+
name: string;
|
|
49
|
+
jobCount: number;
|
|
50
|
+
source: string;
|
|
51
|
+
}
|
|
52
|
+
export interface ProductCategoryRef {
|
|
53
|
+
slug: string;
|
|
54
|
+
name: string;
|
|
55
|
+
parentCategory: string;
|
|
56
|
+
confidence: number;
|
|
57
|
+
source: string;
|
|
58
|
+
}
|
|
59
|
+
export interface ProductRef {
|
|
60
|
+
name: string;
|
|
61
|
+
category: string;
|
|
62
|
+
description: string;
|
|
63
|
+
targetCustomers: string[];
|
|
64
|
+
integrationModel: string;
|
|
65
|
+
keyDifferentiators: string[];
|
|
66
|
+
}
|
|
67
|
+
export interface LicenseRef {
|
|
68
|
+
jurisdiction: string;
|
|
69
|
+
authority: string;
|
|
70
|
+
}
|
|
71
|
+
export interface CertificationRef {
|
|
72
|
+
name: string;
|
|
73
|
+
issuer: string;
|
|
74
|
+
}
|
|
75
|
+
export interface AwardRef {
|
|
76
|
+
name: string;
|
|
77
|
+
year: number | null;
|
|
78
|
+
}
|
|
79
|
+
export interface EventRef {
|
|
80
|
+
slug: string;
|
|
81
|
+
name: string;
|
|
82
|
+
/** ISO 8601 date (YYYY-MM-DD) or null */
|
|
83
|
+
date: string | null;
|
|
84
|
+
confidence: number;
|
|
85
|
+
source: string;
|
|
86
|
+
}
|
|
87
|
+
export interface ScrapedEventRef {
|
|
88
|
+
eventName: string;
|
|
89
|
+
eventSlug: string;
|
|
90
|
+
location: string;
|
|
91
|
+
stand: string;
|
|
92
|
+
link: string;
|
|
93
|
+
source: string;
|
|
94
|
+
/** Shape not yet guaranteed — pass-through from scraper */
|
|
95
|
+
socialLinks: unknown[];
|
|
96
|
+
scrapedAt: string;
|
|
97
|
+
}
|
|
98
|
+
export interface EnrichmentScoreRef {
|
|
99
|
+
/** Float 0–100 */
|
|
100
|
+
total: number;
|
|
101
|
+
/** camelCase signal name → whether the signal is present */
|
|
102
|
+
breakdown: Record<string, boolean>;
|
|
103
|
+
/** ISO 8601 datetime */
|
|
104
|
+
computedAt: string;
|
|
105
|
+
}
|
|
106
|
+
export interface HeadquartersRef {
|
|
107
|
+
/** Stripped string; may be "" when unknown */
|
|
108
|
+
city: string;
|
|
109
|
+
country: string;
|
|
110
|
+
}
|
|
111
|
+
export interface ContactRef {
|
|
112
|
+
/** Pass-through from scraper; shape not guaranteed */
|
|
113
|
+
addresses: unknown[];
|
|
114
|
+
phone: string | null;
|
|
115
|
+
/** Absolute URL or null */
|
|
116
|
+
contactPage: string | null;
|
|
117
|
+
hasForm: boolean;
|
|
118
|
+
}
|
|
119
|
+
export interface ClassificationDTO {
|
|
120
|
+
companyType: CompanyTypeRef | null;
|
|
121
|
+
businessModel: string;
|
|
122
|
+
/**
|
|
123
|
+
* ⚠ Inconsistent type: VerticalRef[] when sourced from DB, string[] when derived.
|
|
124
|
+
* Treat as (VerticalRef | string)[]. Will be unified in v2.
|
|
125
|
+
*/
|
|
126
|
+
verticals: (VerticalRef | string)[];
|
|
127
|
+
/** Same caveat as verticals */
|
|
128
|
+
channels: (ChannelRef | string)[];
|
|
129
|
+
/** String names only (derived). Full objects available at top-level productCategories. */
|
|
130
|
+
productCategories: string[];
|
|
131
|
+
/** Display names only. Full objects available at top-level markets. */
|
|
132
|
+
markets: string[];
|
|
133
|
+
/** Display names only. Full objects available at top-level regulators. */
|
|
134
|
+
regulators: string[];
|
|
135
|
+
departments: DepartmentRef[];
|
|
136
|
+
/** Float 0–100 */
|
|
137
|
+
enrichmentScore: number;
|
|
138
|
+
}
|
|
139
|
+
export interface OverviewDTO {
|
|
140
|
+
shortDescription: string;
|
|
141
|
+
longDescription: string;
|
|
142
|
+
foundedYear: number | null;
|
|
143
|
+
/** null when both city and country are blank */
|
|
144
|
+
headquarters: HeadquartersRef | null;
|
|
145
|
+
/** Reserved — always [] */
|
|
146
|
+
officeLocations: never[];
|
|
147
|
+
employeeRange: string | null;
|
|
148
|
+
/** Reserved — always false */
|
|
149
|
+
publicCompany: boolean;
|
|
150
|
+
/** Reserved — always "" */
|
|
151
|
+
stockTicker: string;
|
|
152
|
+
/** Absolute URL or "" — never null */
|
|
153
|
+
website: string;
|
|
154
|
+
/** Keys: "twitter", "linkedin", "facebook", "instagram", etc. Values: absolute URLs */
|
|
155
|
+
socialLinks: Record<string, string>;
|
|
156
|
+
contact: ContactRef;
|
|
157
|
+
}
|
|
158
|
+
export interface TrustAndComplianceDTO {
|
|
159
|
+
licenses: LicenseRef[];
|
|
160
|
+
certifications: CertificationRef[];
|
|
161
|
+
awards: AwardRef[];
|
|
162
|
+
}
|
|
163
|
+
/** Reserved section — always the static shape below */
|
|
164
|
+
export interface PeopleDTO {
|
|
165
|
+
departmentDistribution: Record<string, never>;
|
|
166
|
+
members: never[];
|
|
167
|
+
}
|
|
168
|
+
/** Reserved section — always the static shape below. Live jobs: GET /api/companies/{slug}/jobs */
|
|
169
|
+
export interface JobsDTO {
|
|
170
|
+
openRoles: never[];
|
|
171
|
+
departmentsHiring: never[];
|
|
172
|
+
locationsHiring: never[];
|
|
173
|
+
remotePolicy: string;
|
|
174
|
+
}
|
|
175
|
+
/** Reserved section — always the static shape below */
|
|
176
|
+
export interface NewsAndMediaDTO {
|
|
177
|
+
pressMentions: never[];
|
|
178
|
+
employeePosts: never[];
|
|
179
|
+
}
|
|
180
|
+
export interface EventsDTO {
|
|
181
|
+
/** DB-linked upcoming events */
|
|
182
|
+
upcoming: EventRef[];
|
|
183
|
+
/** DB-linked past events */
|
|
184
|
+
attended: EventRef[];
|
|
185
|
+
/** Scraped from CompanyRelations */
|
|
186
|
+
upcomingEvents: ScrapedEventRef[];
|
|
187
|
+
/** Reserved — always false */
|
|
188
|
+
bookMeetingEnabled: boolean;
|
|
189
|
+
}
|
|
190
|
+
export interface SignalsAndInsightsDTO {
|
|
191
|
+
profileViews30d: number;
|
|
192
|
+
followsCount: number;
|
|
193
|
+
/** "Low" | "Medium" | "High" — default "Low" */
|
|
194
|
+
hiringIntensity: string;
|
|
195
|
+
topSkillsHiring: string[];
|
|
196
|
+
topViewingCountries: string[];
|
|
197
|
+
/** Raw from CompanyRelations.often_compared_with */
|
|
198
|
+
oftenComparedWith: unknown[];
|
|
199
|
+
/** Reserved — always [] */
|
|
200
|
+
similarCompanies: never[];
|
|
201
|
+
}
|
|
202
|
+
export interface VisibilityMetricsDTO {
|
|
203
|
+
searchImpressions: number;
|
|
204
|
+
profileClicks: number;
|
|
205
|
+
externalClicks: number;
|
|
206
|
+
}
|
|
207
|
+
export interface CompanyDTO {
|
|
208
|
+
id: string;
|
|
209
|
+
name: string;
|
|
210
|
+
/** URL-safe identifier — primary lookup key */
|
|
211
|
+
slug: string;
|
|
212
|
+
group_id: number | null;
|
|
213
|
+
group_name: string | null;
|
|
214
|
+
group_slug: string | null;
|
|
215
|
+
is_primary: boolean;
|
|
216
|
+
/**
|
|
217
|
+
* @deprecated Use classification.companyType instead
|
|
218
|
+
*/
|
|
219
|
+
companyType: string | null;
|
|
220
|
+
claimedStatus: 'claimed' | 'unclaimed' | 'verified';
|
|
221
|
+
/** Absolute URL or "" — never null */
|
|
222
|
+
logo: string;
|
|
223
|
+
classification: ClassificationDTO;
|
|
224
|
+
overview: OverviewDTO;
|
|
225
|
+
productsAndServices: ProductRef[];
|
|
226
|
+
/** Full MarketRef objects (contrast with classification.markets which is string[]) */
|
|
227
|
+
markets: MarketRef[];
|
|
228
|
+
/** Full RegulatorRef objects */
|
|
229
|
+
regulators: RegulatorRef[];
|
|
230
|
+
/** Full ProductCategoryRef objects (contrast with classification.productCategories which is string[]) */
|
|
231
|
+
productCategories: ProductCategoryRef[];
|
|
232
|
+
trustAndCompliance: TrustAndComplianceDTO;
|
|
233
|
+
people: PeopleDTO;
|
|
234
|
+
jobs: JobsDTO;
|
|
235
|
+
newsAndMedia: NewsAndMediaDTO;
|
|
236
|
+
events: EventsDTO;
|
|
237
|
+
signalsAndInsights: SignalsAndInsightsDTO;
|
|
238
|
+
visibilityMetrics: VisibilityMetricsDTO;
|
|
239
|
+
/** null when enrichment score has not yet been computed */
|
|
240
|
+
enrichmentScore: EnrichmentScoreRef | null;
|
|
241
|
+
}
|
|
242
|
+
export interface CompanyListResponse {
|
|
243
|
+
/** Total items across all pages */
|
|
244
|
+
count: number;
|
|
245
|
+
/** Current 1-based page number */
|
|
246
|
+
page: number;
|
|
247
|
+
/** Items per page (max 200) */
|
|
248
|
+
page_size: number;
|
|
249
|
+
total_pages: number;
|
|
250
|
+
/** Full CompanyDTO objects — list shape is identical to detail shape */
|
|
251
|
+
results: CompanyDTO[];
|
|
252
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
export type ComplaintStatus = "resolved" | "open" | "unresolved";
|
|
2
|
+
export interface Complaint {
|
|
3
|
+
id: string;
|
|
4
|
+
companyId: string;
|
|
5
|
+
companySlug: string;
|
|
6
|
+
companyName: string;
|
|
7
|
+
title: string;
|
|
8
|
+
body: string;
|
|
9
|
+
amount?: string;
|
|
10
|
+
currency?: string;
|
|
11
|
+
status: ComplaintStatus;
|
|
12
|
+
createdAt: string;
|
|
13
|
+
updatedAt?: string;
|
|
14
|
+
authorDisplayName: string;
|
|
15
|
+
isAnonymous: boolean;
|
|
16
|
+
}
|
|
17
|
+
export type ComplaintSortOption = "newest" | "oldest" | "amount-high" | "amount-low";
|
|
18
|
+
export interface ComplaintFiltersState {
|
|
19
|
+
status?: ComplaintStatus;
|
|
20
|
+
sort: ComplaintSortOption;
|
|
21
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
export interface ConferenceEvent {
|
|
2
|
+
_id?: string;
|
|
3
|
+
name: string;
|
|
4
|
+
conference: string;
|
|
5
|
+
conference_slug: string;
|
|
6
|
+
slug: string;
|
|
7
|
+
status: number;
|
|
8
|
+
scraped_at: string;
|
|
9
|
+
address?: string;
|
|
10
|
+
description?: string;
|
|
11
|
+
link?: string;
|
|
12
|
+
website?: string;
|
|
13
|
+
logo?: string;
|
|
14
|
+
source?: string;
|
|
15
|
+
stand?: string;
|
|
16
|
+
category?: string;
|
|
17
|
+
event_slug?: string;
|
|
18
|
+
event_year?: number;
|
|
19
|
+
email?: string;
|
|
20
|
+
social_links?: string[];
|
|
21
|
+
}
|
|
@@ -0,0 +1,252 @@
|
|
|
1
|
+
import { DashboardJob } from "./job";
|
|
2
|
+
import { FreelancerOnboardingData } from "@/types/freelancer";
|
|
3
|
+
import { CompanyUserRole } from "./company-user";
|
|
4
|
+
export type CoursesUpdatePayload = {
|
|
5
|
+
action: "enroll";
|
|
6
|
+
courseId: string;
|
|
7
|
+
} | {
|
|
8
|
+
action: "continue";
|
|
9
|
+
courseId: string;
|
|
10
|
+
} | {
|
|
11
|
+
action: "explore";
|
|
12
|
+
} | {
|
|
13
|
+
action: "save";
|
|
14
|
+
courseId: string;
|
|
15
|
+
} | {
|
|
16
|
+
action: "remove-saved";
|
|
17
|
+
courseId: string;
|
|
18
|
+
} | {
|
|
19
|
+
action: "remove-recommended";
|
|
20
|
+
courseId: string;
|
|
21
|
+
};
|
|
22
|
+
export type NewsUpdatePayload = {
|
|
23
|
+
action: "read";
|
|
24
|
+
articleId: string;
|
|
25
|
+
} | {
|
|
26
|
+
action: "save";
|
|
27
|
+
articleId: string;
|
|
28
|
+
} | {
|
|
29
|
+
action: "remove-saved";
|
|
30
|
+
articleId: string;
|
|
31
|
+
} | {
|
|
32
|
+
action: "remove-recommended";
|
|
33
|
+
articleId: string;
|
|
34
|
+
} | {
|
|
35
|
+
action: "category";
|
|
36
|
+
category: string;
|
|
37
|
+
} | {
|
|
38
|
+
action: "manage-preferences";
|
|
39
|
+
};
|
|
40
|
+
export interface NotificationSettings {
|
|
41
|
+
emailNotifications: boolean;
|
|
42
|
+
pushNotifications: boolean;
|
|
43
|
+
weeklyDigest: boolean;
|
|
44
|
+
jobAlerts: boolean;
|
|
45
|
+
courseUpdates: boolean;
|
|
46
|
+
newsDigest: boolean;
|
|
47
|
+
}
|
|
48
|
+
export interface ConnectedAccount {
|
|
49
|
+
id: string;
|
|
50
|
+
platform: string;
|
|
51
|
+
connected: boolean;
|
|
52
|
+
email?: string;
|
|
53
|
+
}
|
|
54
|
+
export interface SubscriptionSettings {
|
|
55
|
+
isPremium: boolean;
|
|
56
|
+
plan?: string;
|
|
57
|
+
renewalDate?: string | null;
|
|
58
|
+
}
|
|
59
|
+
export interface PasswordUpdateDetails {
|
|
60
|
+
currentPassword: string;
|
|
61
|
+
newPassword: string;
|
|
62
|
+
confirmPassword: string;
|
|
63
|
+
}
|
|
64
|
+
export interface UserSettings {
|
|
65
|
+
notifications: NotificationSettings;
|
|
66
|
+
connectedAccounts: ConnectedAccount[];
|
|
67
|
+
subscription: SubscriptionSettings;
|
|
68
|
+
}
|
|
69
|
+
export type SettingsUpdatePayload = {
|
|
70
|
+
action: "notifications";
|
|
71
|
+
updates: Partial<NotificationSettings>;
|
|
72
|
+
} | {
|
|
73
|
+
action: "connect-account";
|
|
74
|
+
platform: string;
|
|
75
|
+
} | {
|
|
76
|
+
action: "disconnect-account";
|
|
77
|
+
accountId: string;
|
|
78
|
+
} | {
|
|
79
|
+
action: "upgrade";
|
|
80
|
+
plan?: string;
|
|
81
|
+
} | {
|
|
82
|
+
action: "update-password";
|
|
83
|
+
details: PasswordUpdateDetails;
|
|
84
|
+
} | {
|
|
85
|
+
action: "change-password";
|
|
86
|
+
} | {
|
|
87
|
+
action: "delete-account";
|
|
88
|
+
};
|
|
89
|
+
export interface JobsDashboardData {
|
|
90
|
+
savedJobs: DashboardJob[];
|
|
91
|
+
recommendedJobs: DashboardJob[];
|
|
92
|
+
applications: DashboardJob[];
|
|
93
|
+
}
|
|
94
|
+
export interface CompanyOwnerDashboardData {
|
|
95
|
+
stats: {
|
|
96
|
+
openRoles: number;
|
|
97
|
+
totalApplicants: number;
|
|
98
|
+
profileViews: number;
|
|
99
|
+
teamMembers: number;
|
|
100
|
+
};
|
|
101
|
+
profileStrength?: number;
|
|
102
|
+
recentActivity?: Array<{
|
|
103
|
+
id: string;
|
|
104
|
+
title: string;
|
|
105
|
+
subtitle: string;
|
|
106
|
+
badge: string;
|
|
107
|
+
badgeVariant?: "default" | "secondary" | "destructive" | "outline";
|
|
108
|
+
}>;
|
|
109
|
+
}
|
|
110
|
+
export interface CompanyRecruiterDashboardData {
|
|
111
|
+
stats: {
|
|
112
|
+
activeJobs: number;
|
|
113
|
+
newApplicants: number;
|
|
114
|
+
interviewsThisWeek: number;
|
|
115
|
+
pendingReviews: number;
|
|
116
|
+
};
|
|
117
|
+
pipeline: Array<{
|
|
118
|
+
stage: string;
|
|
119
|
+
count: number;
|
|
120
|
+
color: string;
|
|
121
|
+
}>;
|
|
122
|
+
upcomingInterviews?: Array<{
|
|
123
|
+
id: string;
|
|
124
|
+
candidateName: string;
|
|
125
|
+
role: string;
|
|
126
|
+
scheduleLabel: string;
|
|
127
|
+
}>;
|
|
128
|
+
activeListings?: Array<{
|
|
129
|
+
id: string;
|
|
130
|
+
title: string;
|
|
131
|
+
location: string;
|
|
132
|
+
applicantsLabel: string;
|
|
133
|
+
badgeVariant?: "default" | "secondary" | "destructive" | "outline";
|
|
134
|
+
}>;
|
|
135
|
+
}
|
|
136
|
+
export interface CompanyEmployeeDashboardData {
|
|
137
|
+
announcements: Array<{
|
|
138
|
+
id: string;
|
|
139
|
+
title: string;
|
|
140
|
+
date: string;
|
|
141
|
+
isNew: boolean;
|
|
142
|
+
}>;
|
|
143
|
+
coursesInProgress: Array<{
|
|
144
|
+
id: string;
|
|
145
|
+
title: string;
|
|
146
|
+
progress: number;
|
|
147
|
+
provider: string;
|
|
148
|
+
}>;
|
|
149
|
+
upcomingEvents: Array<{
|
|
150
|
+
id: string;
|
|
151
|
+
title: string;
|
|
152
|
+
date: string;
|
|
153
|
+
location: string;
|
|
154
|
+
type: string;
|
|
155
|
+
}>;
|
|
156
|
+
colleagueCount: number;
|
|
157
|
+
}
|
|
158
|
+
export interface CompanyDashboardData {
|
|
159
|
+
owner?: CompanyOwnerDashboardData;
|
|
160
|
+
recruiter?: CompanyRecruiterDashboardData;
|
|
161
|
+
employee?: CompanyEmployeeDashboardData;
|
|
162
|
+
}
|
|
163
|
+
export interface ProfileData {
|
|
164
|
+
personalDetails: {
|
|
165
|
+
fullName?: string;
|
|
166
|
+
email?: string;
|
|
167
|
+
phone?: string;
|
|
168
|
+
location?: string;
|
|
169
|
+
dob?: string;
|
|
170
|
+
address?: string;
|
|
171
|
+
nationality?: string;
|
|
172
|
+
summary?: string | null;
|
|
173
|
+
};
|
|
174
|
+
workExperience: Array<{
|
|
175
|
+
id: string;
|
|
176
|
+
title: string;
|
|
177
|
+
company: string;
|
|
178
|
+
period: string;
|
|
179
|
+
summary?: string;
|
|
180
|
+
location?: string;
|
|
181
|
+
tags: string[];
|
|
182
|
+
}>;
|
|
183
|
+
jobSearchDetails: {
|
|
184
|
+
desiredRoles: string[];
|
|
185
|
+
locations: string[];
|
|
186
|
+
employmentType: string[];
|
|
187
|
+
};
|
|
188
|
+
skills: string[];
|
|
189
|
+
languages: Array<{
|
|
190
|
+
name: string;
|
|
191
|
+
proficiency: "Native" | "Fluent" | "Intermediate" | "Basic";
|
|
192
|
+
}>;
|
|
193
|
+
alerts: {
|
|
194
|
+
jobAlerts: boolean;
|
|
195
|
+
courseAlerts: boolean;
|
|
196
|
+
newsAlerts: boolean;
|
|
197
|
+
};
|
|
198
|
+
preferences: {
|
|
199
|
+
topics: string[];
|
|
200
|
+
language: string;
|
|
201
|
+
emailNotifications: boolean;
|
|
202
|
+
};
|
|
203
|
+
jobsDashboard?: JobsDashboardData;
|
|
204
|
+
}
|
|
205
|
+
export type FreelancerUpdatePayload = {
|
|
206
|
+
action: "start-onboarding";
|
|
207
|
+
} | {
|
|
208
|
+
action: "complete-step-1";
|
|
209
|
+
data: Partial<FreelancerOnboardingData>;
|
|
210
|
+
} | {
|
|
211
|
+
action: "complete-step-2";
|
|
212
|
+
data: Partial<FreelancerOnboardingData>;
|
|
213
|
+
} | {
|
|
214
|
+
action: "go-public";
|
|
215
|
+
} | {
|
|
216
|
+
action: "save-draft";
|
|
217
|
+
data: Partial<FreelancerOnboardingData>;
|
|
218
|
+
} | {
|
|
219
|
+
action: "toggle-visibility";
|
|
220
|
+
visible: boolean;
|
|
221
|
+
} | {
|
|
222
|
+
action: "edit-profile";
|
|
223
|
+
};
|
|
224
|
+
export type DashboardUpdateEvent = {
|
|
225
|
+
type: "jobs";
|
|
226
|
+
payload: JobsDashboardData;
|
|
227
|
+
} | {
|
|
228
|
+
type: "profile";
|
|
229
|
+
payload: Partial<ProfileData>;
|
|
230
|
+
} | {
|
|
231
|
+
type: "courses";
|
|
232
|
+
payload: CoursesUpdatePayload;
|
|
233
|
+
} | {
|
|
234
|
+
type: "news";
|
|
235
|
+
payload: NewsUpdatePayload;
|
|
236
|
+
} | {
|
|
237
|
+
type: "settings";
|
|
238
|
+
payload: SettingsUpdatePayload;
|
|
239
|
+
} | {
|
|
240
|
+
type: "freelancer";
|
|
241
|
+
payload: FreelancerUpdatePayload;
|
|
242
|
+
} | {
|
|
243
|
+
type: "alerts" | "overview";
|
|
244
|
+
payload: unknown;
|
|
245
|
+
};
|
|
246
|
+
export type DashboardTab = "overview" | "profile" | "jobs" | "alerts" | "courses" | "news" | "settings";
|
|
247
|
+
export type DashboardRole = "jobSeeker" | "freelancer" | "owner" | "recruiter" | "companyEmployee";
|
|
248
|
+
export declare const DASHBOARD_ROLE_TO_COMPANY_USER_ROLE: Record<Exclude<DashboardRole, "jobSeeker" | "freelancer">, CompanyUserRole>;
|
|
249
|
+
export interface DashboardTabChangeEvent {
|
|
250
|
+
tab: DashboardTab;
|
|
251
|
+
path?: string;
|
|
252
|
+
}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import type { BaseListingEvent } from "./events";
|
|
2
|
+
export interface CoursesFilterStatePayload {
|
|
3
|
+
category?: string;
|
|
4
|
+
subcategory?: string;
|
|
5
|
+
levels: string[];
|
|
6
|
+
languages: string[];
|
|
7
|
+
features: string[];
|
|
8
|
+
rating: number;
|
|
9
|
+
priceRange: [number, number];
|
|
10
|
+
favoritesOnly: boolean;
|
|
11
|
+
}
|
|
12
|
+
export interface CoursesListingMetaPayload {
|
|
13
|
+
page: number;
|
|
14
|
+
pageSize: number;
|
|
15
|
+
totalResults?: number;
|
|
16
|
+
sortBy: "relevance" | "price-low-high" | "price-high-low" | "rating" | "newest" | "most-enrolled";
|
|
17
|
+
viewMode: "grid" | "list";
|
|
18
|
+
}
|
|
19
|
+
export type CoursesListingEvent = BaseListingEvent<"courses", "courses_listing_viewed", CoursesFilterStatePayload & CoursesListingMetaPayload> | BaseListingEvent<"courses", "courses_listing_viewmode_changed", {
|
|
20
|
+
viewMode: "grid" | "list";
|
|
21
|
+
}> | BaseListingEvent<"courses", "courses_listing_items_per_page_changed", {
|
|
22
|
+
pageSize: number;
|
|
23
|
+
}> | BaseListingEvent<"courses", "courses_listing_page_changed", {
|
|
24
|
+
page: number;
|
|
25
|
+
pageSize: number;
|
|
26
|
+
totalResults?: number;
|
|
27
|
+
}> | BaseListingEvent<"courses", "courses_search_submitted", {
|
|
28
|
+
query: string;
|
|
29
|
+
} & CoursesFilterStatePayload> | BaseListingEvent<"courses", "courses_filter_changed", {
|
|
30
|
+
changedKey: "category" | "subcategory" | "levels" | "languages" | "features" | "rating" | "priceRange" | "favoritesOnly";
|
|
31
|
+
} & CoursesFilterStatePayload> | BaseListingEvent<"courses", "courses_filters_cleared_all", {}> | BaseListingEvent<"courses", "courses_category_selected", {
|
|
32
|
+
category: string | null;
|
|
33
|
+
}> | BaseListingEvent<"courses", "courses_subcategory_selected", {
|
|
34
|
+
subcategory: string | null;
|
|
35
|
+
}> | BaseListingEvent<"courses", "course_opened", {
|
|
36
|
+
courseId: string;
|
|
37
|
+
positionInList?: number;
|
|
38
|
+
openedFrom: "listing" | "hero" | "featured" | "other";
|
|
39
|
+
openedIn: "same_tab" | "new_tab" | "external";
|
|
40
|
+
}> | BaseListingEvent<"courses", "course_favorited", {
|
|
41
|
+
courseId: string;
|
|
42
|
+
positionInList?: number;
|
|
43
|
+
}> | BaseListingEvent<"courses", "course_unfavorited", {
|
|
44
|
+
courseId: string;
|
|
45
|
+
positionInList?: number;
|
|
46
|
+
}> | BaseListingEvent<"courses", "course_enroll_clicked", {
|
|
47
|
+
courseId: string;
|
|
48
|
+
positionInList?: number;
|
|
49
|
+
}>;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
export type ListingDomain = "jobs" | "courses" | "news" | "freelancers" | "newsletter";
|
|
2
|
+
export interface ListingEventContext {
|
|
3
|
+
component: "Listing" | "IGamingCoursePage" | "NewsPage" | "Freelancers" | "FreelancerProfile" | "IgamingCareerHome";
|
|
4
|
+
route?: string;
|
|
5
|
+
sessionId?: string;
|
|
6
|
+
userId?: string | null;
|
|
7
|
+
source?: string;
|
|
8
|
+
[key: string]: unknown;
|
|
9
|
+
}
|
|
10
|
+
export interface BaseListingEvent<TDomain extends ListingDomain, TName extends string, TPayload> {
|
|
11
|
+
domain: TDomain;
|
|
12
|
+
name: TName;
|
|
13
|
+
payload: TPayload;
|
|
14
|
+
timestamp: string;
|
|
15
|
+
context?: ListingEventContext;
|
|
16
|
+
}
|
|
17
|
+
export type JobsListingEvent = import("./events.jobs").JobsListingEvent;
|
|
18
|
+
export type CoursesListingEvent = import("./events.courses").CoursesListingEvent;
|
|
19
|
+
export type NewsListingEvent = import("./events.news").NewsListingEvent;
|
|
20
|
+
export type FreelancersListingEvent = import("./events.freelancers").FreelancersListingEvent;
|
|
21
|
+
export type NewsletterEvent = import("./events.newsletter").NewsletterEvent;
|
|
22
|
+
export type EmittedEvent = JobsListingEvent | CoursesListingEvent | NewsListingEvent | FreelancersListingEvent | NewsletterEvent;
|
|
23
|
+
export type EmittedEventHandler = (event: EmittedEvent) => void;
|