@burdenoff/microfe-technospam 2026.509.101

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.
Files changed (202) hide show
  1. package/README.md +12 -0
  2. package/dist/dev/main.d.ts +2 -0
  3. package/dist/dev/main.d.ts.map +1 -0
  4. package/dist/generated/global-operations.d.ts +2 -0
  5. package/dist/generated/global-operations.d.ts.map +1 -0
  6. package/dist/generated/global-types.d.ts +18199 -0
  7. package/dist/generated/global-types.d.ts.map +1 -0
  8. package/dist/generated/wspace-operations.d.ts +2 -0
  9. package/dist/generated/wspace-operations.d.ts.map +1 -0
  10. package/dist/generated/wspace-types.d.ts +43046 -0
  11. package/dist/generated/wspace-types.d.ts.map +1 -0
  12. package/dist/index.d.ts +2 -0
  13. package/dist/index.d.ts.map +1 -0
  14. package/dist/index.js +5 -0
  15. package/dist/technospam/TechnoSpamRoot.d.ts +5 -0
  16. package/dist/technospam/TechnoSpamRoot.d.ts.map +1 -0
  17. package/dist/technospam/TechnoSpamRoot.js +482 -0
  18. package/dist/technospam/TechnoSpamRoot.js.map +1 -0
  19. package/dist/technospam/TechnoSpamRoutes.d.ts +2 -0
  20. package/dist/technospam/TechnoSpamRoutes.d.ts.map +1 -0
  21. package/dist/technospam/TechnoSpamRoutes.js +191 -0
  22. package/dist/technospam/TechnoSpamRoutes.js.map +1 -0
  23. package/dist/technospam/index.d.ts +5 -0
  24. package/dist/technospam/index.d.ts.map +1 -0
  25. package/dist/technospam/index.js +3 -0
  26. package/dist/technospam/pages/AdminAdminDashboardPagePage.d.ts +2 -0
  27. package/dist/technospam/pages/AdminAdminDashboardPagePage.d.ts.map +1 -0
  28. package/dist/technospam/pages/AdminAdminDashboardPagePage.js +269 -0
  29. package/dist/technospam/pages/AdminAdminDashboardPagePage.js.map +1 -0
  30. package/dist/technospam/pages/AdminAuditReportsPagePage.d.ts +2 -0
  31. package/dist/technospam/pages/AdminAuditReportsPagePage.d.ts.map +1 -0
  32. package/dist/technospam/pages/AdminAuditReportsPagePage.js +179 -0
  33. package/dist/technospam/pages/AdminAuditReportsPagePage.js.map +1 -0
  34. package/dist/technospam/pages/AnalyticsAchievementsPagePage.d.ts +2 -0
  35. package/dist/technospam/pages/AnalyticsAchievementsPagePage.d.ts.map +1 -0
  36. package/dist/technospam/pages/AnalyticsAchievementsPagePage.js +149 -0
  37. package/dist/technospam/pages/AnalyticsAchievementsPagePage.js.map +1 -0
  38. package/dist/technospam/pages/AnalyticsAnalyticsPagePage.d.ts +2 -0
  39. package/dist/technospam/pages/AnalyticsAnalyticsPagePage.d.ts.map +1 -0
  40. package/dist/technospam/pages/AnalyticsAnalyticsPagePage.js +260 -0
  41. package/dist/technospam/pages/AnalyticsAnalyticsPagePage.js.map +1 -0
  42. package/dist/technospam/pages/AnalyticsProgressPagePage.d.ts +2 -0
  43. package/dist/technospam/pages/AnalyticsProgressPagePage.d.ts.map +1 -0
  44. package/dist/technospam/pages/AnalyticsProgressPagePage.js +215 -0
  45. package/dist/technospam/pages/AnalyticsProgressPagePage.js.map +1 -0
  46. package/dist/technospam/pages/AnalyticsReportsPagePage.d.ts +2 -0
  47. package/dist/technospam/pages/AnalyticsReportsPagePage.d.ts.map +1 -0
  48. package/dist/technospam/pages/AnalyticsReportsPagePage.js +145 -0
  49. package/dist/technospam/pages/AnalyticsReportsPagePage.js.map +1 -0
  50. package/dist/technospam/pages/ApplicationsPortfolioPagePage.d.ts +2 -0
  51. package/dist/technospam/pages/ApplicationsPortfolioPagePage.d.ts.map +1 -0
  52. package/dist/technospam/pages/ApplicationsPortfolioPagePage.js +227 -0
  53. package/dist/technospam/pages/ApplicationsPortfolioPagePage.js.map +1 -0
  54. package/dist/technospam/pages/ApplicationsProblemDetailsPagePage.d.ts +2 -0
  55. package/dist/technospam/pages/ApplicationsProblemDetailsPagePage.d.ts.map +1 -0
  56. package/dist/technospam/pages/ApplicationsProblemDetailsPagePage.js +194 -0
  57. package/dist/technospam/pages/ApplicationsProblemDetailsPagePage.js.map +1 -0
  58. package/dist/technospam/pages/ApplicationsProblemsPagePage.d.ts +2 -0
  59. package/dist/technospam/pages/ApplicationsProblemsPagePage.d.ts.map +1 -0
  60. package/dist/technospam/pages/ApplicationsProblemsPagePage.js +203 -0
  61. package/dist/technospam/pages/ApplicationsProblemsPagePage.js.map +1 -0
  62. package/dist/technospam/pages/ApplicationsSolutionsPagePage.d.ts +2 -0
  63. package/dist/technospam/pages/ApplicationsSolutionsPagePage.d.ts.map +1 -0
  64. package/dist/technospam/pages/ApplicationsSolutionsPagePage.js +182 -0
  65. package/dist/technospam/pages/ApplicationsSolutionsPagePage.js.map +1 -0
  66. package/dist/technospam/pages/CoursesCourseDetailsPagePage.d.ts +2 -0
  67. package/dist/technospam/pages/CoursesCourseDetailsPagePage.d.ts.map +1 -0
  68. package/dist/technospam/pages/CoursesCourseDetailsPagePage.js +261 -0
  69. package/dist/technospam/pages/CoursesCourseDetailsPagePage.js.map +1 -0
  70. package/dist/technospam/pages/CoursesCoursesPagePage.d.ts +2 -0
  71. package/dist/technospam/pages/CoursesCoursesPagePage.d.ts.map +1 -0
  72. package/dist/technospam/pages/CoursesCoursesPagePage.js +179 -0
  73. package/dist/technospam/pages/CoursesCoursesPagePage.js.map +1 -0
  74. package/dist/technospam/pages/CoursesInstructorProfilePagePage.d.ts +2 -0
  75. package/dist/technospam/pages/CoursesInstructorProfilePagePage.d.ts.map +1 -0
  76. package/dist/technospam/pages/CoursesInstructorProfilePagePage.js +346 -0
  77. package/dist/technospam/pages/CoursesInstructorProfilePagePage.js.map +1 -0
  78. package/dist/technospam/pages/CoursesInstructorsPagePage.d.ts +2 -0
  79. package/dist/technospam/pages/CoursesInstructorsPagePage.d.ts.map +1 -0
  80. package/dist/technospam/pages/CoursesInstructorsPagePage.js +104 -0
  81. package/dist/technospam/pages/CoursesInstructorsPagePage.js.map +1 -0
  82. package/dist/technospam/pages/CoursesMyLearningPagePage.d.ts +2 -0
  83. package/dist/technospam/pages/CoursesMyLearningPagePage.d.ts.map +1 -0
  84. package/dist/technospam/pages/CoursesMyLearningPagePage.js +187 -0
  85. package/dist/technospam/pages/CoursesMyLearningPagePage.js.map +1 -0
  86. package/dist/technospam/pages/DashboardDashboardPagePage.d.ts +2 -0
  87. package/dist/technospam/pages/DashboardDashboardPagePage.d.ts.map +1 -0
  88. package/dist/technospam/pages/DashboardDashboardPagePage.js +344 -0
  89. package/dist/technospam/pages/DashboardDashboardPagePage.js.map +1 -0
  90. package/dist/technospam/pages/HackathonsEventsPagePage.d.ts +2 -0
  91. package/dist/technospam/pages/HackathonsEventsPagePage.d.ts.map +1 -0
  92. package/dist/technospam/pages/HackathonsEventsPagePage.js +121 -0
  93. package/dist/technospam/pages/HackathonsEventsPagePage.js.map +1 -0
  94. package/dist/technospam/pages/HackathonsHackathonDetailsPagePage.d.ts +2 -0
  95. package/dist/technospam/pages/HackathonsHackathonDetailsPagePage.d.ts.map +1 -0
  96. package/dist/technospam/pages/HackathonsHackathonDetailsPagePage.js +250 -0
  97. package/dist/technospam/pages/HackathonsHackathonDetailsPagePage.js.map +1 -0
  98. package/dist/technospam/pages/HackathonsHackathonsPagePage.d.ts +2 -0
  99. package/dist/technospam/pages/HackathonsHackathonsPagePage.d.ts.map +1 -0
  100. package/dist/technospam/pages/HackathonsHackathonsPagePage.js +162 -0
  101. package/dist/technospam/pages/HackathonsHackathonsPagePage.js.map +1 -0
  102. package/dist/technospam/pages/HackathonsTeamsPagePage.d.ts +2 -0
  103. package/dist/technospam/pages/HackathonsTeamsPagePage.d.ts.map +1 -0
  104. package/dist/technospam/pages/HackathonsTeamsPagePage.js +185 -0
  105. package/dist/technospam/pages/HackathonsTeamsPagePage.js.map +1 -0
  106. package/dist/technospam/pages/KnowledgeBaseArticleDetailsPagePage.d.ts +2 -0
  107. package/dist/technospam/pages/KnowledgeBaseArticleDetailsPagePage.d.ts.map +1 -0
  108. package/dist/technospam/pages/KnowledgeBaseArticleDetailsPagePage.js +181 -0
  109. package/dist/technospam/pages/KnowledgeBaseArticleDetailsPagePage.js.map +1 -0
  110. package/dist/technospam/pages/KnowledgeBaseArticlesPagePage.d.ts +2 -0
  111. package/dist/technospam/pages/KnowledgeBaseArticlesPagePage.d.ts.map +1 -0
  112. package/dist/technospam/pages/KnowledgeBaseArticlesPagePage.js +112 -0
  113. package/dist/technospam/pages/KnowledgeBaseArticlesPagePage.js.map +1 -0
  114. package/dist/technospam/pages/KnowledgeBaseCategoriesPagePage.d.ts +2 -0
  115. package/dist/technospam/pages/KnowledgeBaseCategoriesPagePage.d.ts.map +1 -0
  116. package/dist/technospam/pages/KnowledgeBaseCategoriesPagePage.js +105 -0
  117. package/dist/technospam/pages/KnowledgeBaseCategoriesPagePage.js.map +1 -0
  118. package/dist/technospam/pages/KnowledgeBaseKnowledgeBasePagePage.d.ts +2 -0
  119. package/dist/technospam/pages/KnowledgeBaseKnowledgeBasePagePage.d.ts.map +1 -0
  120. package/dist/technospam/pages/KnowledgeBaseKnowledgeBasePagePage.js +165 -0
  121. package/dist/technospam/pages/KnowledgeBaseKnowledgeBasePagePage.js.map +1 -0
  122. package/dist/technospam/pages/MentorshipBookingsPagePage.d.ts +2 -0
  123. package/dist/technospam/pages/MentorshipBookingsPagePage.d.ts.map +1 -0
  124. package/dist/technospam/pages/MentorshipBookingsPagePage.js +188 -0
  125. package/dist/technospam/pages/MentorshipBookingsPagePage.js.map +1 -0
  126. package/dist/technospam/pages/MentorshipMentorProfilePagePage.d.ts +2 -0
  127. package/dist/technospam/pages/MentorshipMentorProfilePagePage.d.ts.map +1 -0
  128. package/dist/technospam/pages/MentorshipMentorProfilePagePage.js +310 -0
  129. package/dist/technospam/pages/MentorshipMentorProfilePagePage.js.map +1 -0
  130. package/dist/technospam/pages/MentorshipMentorsPagePage.d.ts +2 -0
  131. package/dist/technospam/pages/MentorshipMentorsPagePage.d.ts.map +1 -0
  132. package/dist/technospam/pages/MentorshipMentorsPagePage.js +128 -0
  133. package/dist/technospam/pages/MentorshipMentorsPagePage.js.map +1 -0
  134. package/dist/technospam/pages/MentorshipMentorshipPagePage.d.ts +2 -0
  135. package/dist/technospam/pages/MentorshipMentorshipPagePage.d.ts.map +1 -0
  136. package/dist/technospam/pages/MentorshipMentorshipPagePage.js +209 -0
  137. package/dist/technospam/pages/MentorshipMentorshipPagePage.js.map +1 -0
  138. package/dist/technospam/pages/MentorshipSessionsPagePage.d.ts +2 -0
  139. package/dist/technospam/pages/MentorshipSessionsPagePage.d.ts.map +1 -0
  140. package/dist/technospam/pages/MentorshipSessionsPagePage.js +170 -0
  141. package/dist/technospam/pages/MentorshipSessionsPagePage.js.map +1 -0
  142. package/dist/technospam/pages/OpenSourceContributionsPagePage.d.ts +2 -0
  143. package/dist/technospam/pages/OpenSourceContributionsPagePage.d.ts.map +1 -0
  144. package/dist/technospam/pages/OpenSourceContributionsPagePage.js +191 -0
  145. package/dist/technospam/pages/OpenSourceContributionsPagePage.js.map +1 -0
  146. package/dist/technospam/pages/OpenSourceOpenSourcePagePage.d.ts +2 -0
  147. package/dist/technospam/pages/OpenSourceOpenSourcePagePage.d.ts.map +1 -0
  148. package/dist/technospam/pages/OpenSourceOpenSourcePagePage.js +216 -0
  149. package/dist/technospam/pages/OpenSourceOpenSourcePagePage.js.map +1 -0
  150. package/dist/technospam/pages/OpenSourceProjectsPagePage.d.ts +2 -0
  151. package/dist/technospam/pages/OpenSourceProjectsPagePage.d.ts.map +1 -0
  152. package/dist/technospam/pages/OpenSourceProjectsPagePage.js +150 -0
  153. package/dist/technospam/pages/OpenSourceProjectsPagePage.js.map +1 -0
  154. package/dist/technospam/pages/StudyPlannerGoalsPagePage.d.ts +2 -0
  155. package/dist/technospam/pages/StudyPlannerGoalsPagePage.d.ts.map +1 -0
  156. package/dist/technospam/pages/StudyPlannerGoalsPagePage.js +161 -0
  157. package/dist/technospam/pages/StudyPlannerGoalsPagePage.js.map +1 -0
  158. package/dist/technospam/pages/StudyPlannerLearningPathDetailsPagePage.d.ts +2 -0
  159. package/dist/technospam/pages/StudyPlannerLearningPathDetailsPagePage.d.ts.map +1 -0
  160. package/dist/technospam/pages/StudyPlannerLearningPathDetailsPagePage.js +198 -0
  161. package/dist/technospam/pages/StudyPlannerLearningPathDetailsPagePage.js.map +1 -0
  162. package/dist/technospam/pages/StudyPlannerLearningPathsPagePage.d.ts +2 -0
  163. package/dist/technospam/pages/StudyPlannerLearningPathsPagePage.d.ts.map +1 -0
  164. package/dist/technospam/pages/StudyPlannerLearningPathsPagePage.js +105 -0
  165. package/dist/technospam/pages/StudyPlannerLearningPathsPagePage.js.map +1 -0
  166. package/dist/technospam/pages/StudyPlannerStudyPlanDetailsPagePage.d.ts +2 -0
  167. package/dist/technospam/pages/StudyPlannerStudyPlanDetailsPagePage.d.ts.map +1 -0
  168. package/dist/technospam/pages/StudyPlannerStudyPlanDetailsPagePage.js +161 -0
  169. package/dist/technospam/pages/StudyPlannerStudyPlanDetailsPagePage.js.map +1 -0
  170. package/dist/technospam/pages/StudyPlannerStudyPlanEditPagePage.d.ts +2 -0
  171. package/dist/technospam/pages/StudyPlannerStudyPlanEditPagePage.d.ts.map +1 -0
  172. package/dist/technospam/pages/StudyPlannerStudyPlanEditPagePage.js +127 -0
  173. package/dist/technospam/pages/StudyPlannerStudyPlanEditPagePage.js.map +1 -0
  174. package/dist/technospam/pages/StudyPlannerStudyPlannerPagePage.d.ts +2 -0
  175. package/dist/technospam/pages/StudyPlannerStudyPlannerPagePage.d.ts.map +1 -0
  176. package/dist/technospam/pages/StudyPlannerStudyPlannerPagePage.js +238 -0
  177. package/dist/technospam/pages/StudyPlannerStudyPlannerPagePage.js.map +1 -0
  178. package/dist/technospam/pages/StudyPlannerStudyPlansPagePage.d.ts +2 -0
  179. package/dist/technospam/pages/StudyPlannerStudyPlansPagePage.d.ts.map +1 -0
  180. package/dist/technospam/pages/StudyPlannerStudyPlansPagePage.js +113 -0
  181. package/dist/technospam/pages/StudyPlannerStudyPlansPagePage.js.map +1 -0
  182. package/dist/technospam/providers/TechnoSpamProvider.d.ts +6 -0
  183. package/dist/technospam/providers/TechnoSpamProvider.d.ts.map +1 -0
  184. package/dist/technospam/providers/TechnoSpamProvider.js +27 -0
  185. package/dist/technospam/providers/TechnoSpamProvider.js.map +1 -0
  186. package/dist/technospam/store/technospamStore.d.ts +190 -0
  187. package/dist/technospam/store/technospamStore.d.ts.map +1 -0
  188. package/dist/technospam/store/technospamStore.js +912 -0
  189. package/dist/technospam/store/technospamStore.js.map +1 -0
  190. package/dist/technospam/types/index.d.ts +51 -0
  191. package/dist/technospam/types/index.d.ts.map +1 -0
  192. package/dist/technospam/utils/cn.d.ts +4 -0
  193. package/dist/technospam/utils/cn.d.ts.map +1 -0
  194. package/dist/technospam/utils/i18n.d.ts +6 -0
  195. package/dist/technospam/utils/i18n.d.ts.map +1 -0
  196. package/dist/technospam/utils/i18n.js +15 -0
  197. package/dist/technospam/utils/i18n.js.map +1 -0
  198. package/dist/technospam/utils/navigation.d.ts +2 -0
  199. package/dist/technospam/utils/navigation.d.ts.map +1 -0
  200. package/dist/technospam/utils/navigation.js +8 -0
  201. package/dist/technospam/utils/navigation.js.map +1 -0
  202. package/package.json +107 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"technospamStore.js","names":[],"sources":["../../../src/technospam/store/technospamStore.ts"],"sourcesContent":["import { create } from 'zustand';\n\n// ─── Domain Types ───────────────────────────────────────────────────────────\nexport interface Course {\n id: string;\n title: string;\n slug: string;\n category: string;\n level: 'beginner' | 'intermediate' | 'advanced' | 'expert';\n rating: number;\n enrollmentCount: number;\n duration: number;\n price: number;\n instructor: string;\n tags: string[];\n thumbnail: string;\n isFeatured: boolean;\n certificateAvailable: boolean;\n}\n\nexport interface CodingProblem {\n id: string;\n title: string;\n difficulty: 'easy' | 'medium' | 'hard';\n category: string;\n tags: string[];\n acceptanceRate: number;\n solvedCount: number;\n company?: string;\n isSolved: boolean;\n}\n\nexport interface Hackathon {\n id: string;\n title: string;\n description: string;\n status: 'upcoming' | 'registration_open' | 'ongoing' | 'judging' | 'completed';\n mode: 'online' | 'offline' | 'hybrid';\n startDate: string;\n endDate: string;\n prizePool: number;\n currentParticipants: number;\n maxParticipants: number;\n themes: string[];\n technologies: string[];\n}\n\nexport interface Mentor {\n id: string;\n name: string;\n avatar: string;\n title: string;\n company: string;\n rating: number;\n totalSessions: number;\n hourlyRate: number;\n expertise: string[];\n bio: string;\n isAvailable: boolean;\n}\n\nexport interface LearningPath {\n id: string;\n title: string;\n description: string;\n category: string;\n coursesCount: number;\n estimatedHours: number;\n enrolledCount: number;\n level: 'beginner' | 'intermediate' | 'advanced';\n progress: number;\n}\n\nexport interface StudyPlan {\n id: string;\n title: string;\n description: string;\n startDate: string;\n endDate: string;\n status: 'active' | 'paused' | 'completed';\n dailyGoalMinutes: number;\n completedDays: number;\n totalDays: number;\n topics: string[];\n}\n\nexport interface Article {\n id: string;\n title: string;\n slug: string;\n excerpt: string;\n category: string;\n author: string;\n publishedAt: string;\n readTime: number;\n views: number;\n likes: number;\n tags: string[];\n}\n\nexport interface OpenSourceProject {\n id: string;\n name: string;\n description: string;\n stars: number;\n forks: number;\n openIssues: number;\n contributors: number;\n languages: string[];\n topics: string[];\n difficulty: 'beginner' | 'intermediate' | 'advanced';\n lastActivity: string;\n githubUrl: string;\n}\n\nexport interface Achievement {\n id: string;\n title: string;\n description: string;\n icon: string;\n category: string;\n rarity: 'common' | 'rare' | 'epic' | 'legendary';\n progress: number;\n maxProgress: number;\n unlockedAt?: string;\n reward: string;\n}\n\nexport interface UserStats {\n coursesEnrolled: number;\n coursesCompleted: number;\n problemsSolved: number;\n studyStreak: number;\n totalLearningHours: number;\n mentorshipSessions: number;\n hackathonsJoined: number;\n contributionsMade: number;\n certificatesEarned: number;\n totalPoints: number;\n rank: number;\n}\n\nexport interface Notification {\n id: string;\n title: string;\n message: string;\n type: 'course' | 'mentorship' | 'hackathon' | 'achievement' | 'system' | 'community';\n read: boolean;\n createdAt: string;\n link?: string;\n}\n\nexport interface SupportTicket {\n id: string;\n subject: string;\n status: 'open' | 'in_progress' | 'resolved' | 'closed';\n priority: 'low' | 'medium' | 'high' | 'urgent';\n createdAt: string;\n lastUpdated: string;\n}\n\nexport interface AuditEvent {\n id: string;\n action: string;\n actor: string;\n target: string;\n timestamp: string;\n details: string;\n severity: 'info' | 'warning' | 'critical';\n}\n\nexport interface AdminStats {\n totalUsers: number;\n activeUsers: number;\n totalCourses: number;\n totalProblems: number;\n totalRevenue: number;\n newUsersToday: number;\n serverLoad: number;\n}\n\n// ─── Mock Data ──────────────────────────────────────────────────────────────\nconst mockCourses: Course[] = [\n {\n id: 'c1',\n title: 'Advanced React Patterns & Architecture',\n slug: 'react-patterns',\n category: 'Web Development',\n level: 'advanced',\n rating: 4.9,\n enrollmentCount: 12540,\n duration: 42,\n price: 79.99,\n instructor: 'Sarah Chen',\n tags: ['React', 'TypeScript', 'Design Patterns'],\n thumbnail: '/courses/react.jpg',\n isFeatured: true,\n certificateAvailable: true,\n },\n {\n id: 'c2',\n title: 'Data Structures & Algorithms Masterclass',\n slug: 'dsa-masterclass',\n category: 'Computer Science',\n level: 'intermediate',\n rating: 4.8,\n enrollmentCount: 28390,\n duration: 65,\n price: 49.99,\n instructor: 'James Rodriguez',\n tags: ['DSA', 'Python', 'Algorithms'],\n thumbnail: '/courses/dsa.jpg',\n isFeatured: true,\n certificateAvailable: true,\n },\n {\n id: 'c3',\n title: 'Machine Learning with Python',\n slug: 'ml-python',\n category: 'Data Science',\n level: 'intermediate',\n rating: 4.7,\n enrollmentCount: 18200,\n duration: 55,\n price: 89.99,\n instructor: 'Dr. Priya Sharma',\n tags: ['ML', 'Python', 'TensorFlow'],\n thumbnail: '/courses/ml.jpg',\n isFeatured: true,\n certificateAvailable: true,\n },\n {\n id: 'c4',\n title: 'System Design for Senior Engineers',\n slug: 'system-design',\n category: 'Architecture',\n level: 'expert',\n rating: 4.9,\n enrollmentCount: 8700,\n duration: 38,\n price: 99.99,\n instructor: 'Alex Morgan',\n tags: ['System Design', 'Scalability', 'Distributed Systems'],\n thumbnail: '/courses/sysdesign.jpg',\n isFeatured: false,\n certificateAvailable: true,\n },\n {\n id: 'c5',\n title: 'Rust Programming from Scratch',\n slug: 'rust-programming',\n category: 'Systems Programming',\n level: 'beginner',\n rating: 4.6,\n enrollmentCount: 6200,\n duration: 30,\n price: 0,\n instructor: 'Mike Johnson',\n tags: ['Rust', 'Systems', 'Memory Safety'],\n thumbnail: '/courses/rust.jpg',\n isFeatured: false,\n certificateAvailable: false,\n },\n {\n id: 'c6',\n title: 'Cloud Architecture on AWS',\n slug: 'aws-cloud',\n category: 'Cloud',\n level: 'intermediate',\n rating: 4.8,\n enrollmentCount: 15300,\n duration: 48,\n price: 69.99,\n instructor: 'Emily Davis',\n tags: ['AWS', 'Cloud', 'DevOps'],\n thumbnail: '/courses/aws.jpg',\n isFeatured: true,\n certificateAvailable: true,\n },\n];\n\nconst mockProblems: CodingProblem[] = [\n {\n id: 'p1',\n title: 'Two Sum',\n difficulty: 'easy',\n category: 'Arrays',\n tags: ['Hash Table', 'Array'],\n acceptanceRate: 72.3,\n solvedCount: 45230,\n company: 'Google',\n isSolved: true,\n },\n {\n id: 'p2',\n title: 'Valid Parentheses',\n difficulty: 'easy',\n category: 'Stack',\n tags: ['Stack', 'String'],\n acceptanceRate: 68.1,\n solvedCount: 38100,\n company: 'Meta',\n isSolved: true,\n },\n {\n id: 'p3',\n title: 'Merge Intervals',\n difficulty: 'medium',\n category: 'Arrays',\n tags: ['Sorting', 'Array'],\n acceptanceRate: 45.7,\n solvedCount: 22400,\n company: 'Amazon',\n isSolved: false,\n },\n {\n id: 'p4',\n title: 'LRU Cache',\n difficulty: 'medium',\n category: 'Design',\n tags: ['Hash Table', 'Linked List', 'Design'],\n acceptanceRate: 41.2,\n solvedCount: 19800,\n company: 'Apple',\n isSolved: false,\n },\n {\n id: 'p5',\n title: 'Binary Tree Maximum Path Sum',\n difficulty: 'hard',\n category: 'Trees',\n tags: ['Dynamic Programming', 'Tree', 'DFS'],\n acceptanceRate: 38.5,\n solvedCount: 12600,\n company: 'Microsoft',\n isSolved: false,\n },\n {\n id: 'p6',\n title: 'Median of Two Sorted Arrays',\n difficulty: 'hard',\n category: 'Binary Search',\n tags: ['Array', 'Binary Search', 'Divide and Conquer'],\n acceptanceRate: 35.9,\n solvedCount: 15200,\n company: 'Google',\n isSolved: false,\n },\n {\n id: 'p7',\n title: 'Course Schedule',\n difficulty: 'medium',\n category: 'Graph',\n tags: ['Graph', 'BFS', 'Topological Sort'],\n acceptanceRate: 46.8,\n solvedCount: 17500,\n company: 'Uber',\n isSolved: true,\n },\n {\n id: 'p8',\n title: 'Longest Substring Without Repeating Characters',\n difficulty: 'medium',\n category: 'Sliding Window',\n tags: ['Hash Table', 'String', 'Sliding Window'],\n acceptanceRate: 53.2,\n solvedCount: 34100,\n company: 'Amazon',\n isSolved: true,\n },\n];\n\nconst mockHackathons: Hackathon[] = [\n {\n id: 'h1',\n title: 'AI Innovation Challenge 2026',\n description: 'Build AI-powered solutions for real-world problems',\n status: 'registration_open',\n mode: 'online',\n startDate: '2026-03-01',\n endDate: '2026-03-03',\n prizePool: 25000,\n currentParticipants: 342,\n maxParticipants: 500,\n themes: ['AI/ML', 'Healthcare', 'Education'],\n technologies: ['Python', 'TensorFlow', 'PyTorch'],\n },\n {\n id: 'h2',\n title: 'Web3 DeFi Hackathon',\n description: 'Create decentralized finance applications on Ethereum',\n status: 'ongoing',\n mode: 'hybrid',\n startDate: '2026-02-15',\n endDate: '2026-02-17',\n prizePool: 50000,\n currentParticipants: 280,\n maxParticipants: 300,\n themes: ['DeFi', 'Smart Contracts', 'DAOs'],\n technologies: ['Solidity', 'React', 'ethers.js'],\n },\n {\n id: 'h3',\n title: 'Green Tech Sustainability Hack',\n description: 'Technology solutions for a sustainable future',\n status: 'upcoming',\n mode: 'online',\n startDate: '2026-04-10',\n endDate: '2026-04-12',\n prizePool: 15000,\n currentParticipants: 0,\n maxParticipants: 400,\n themes: ['Climate', 'Energy', 'IoT'],\n technologies: ['Python', 'React', 'Arduino'],\n },\n {\n id: 'h4',\n title: 'Mobile App Sprint',\n description: 'Build cross-platform mobile apps in 48 hours',\n status: 'completed',\n mode: 'offline',\n startDate: '2026-01-20',\n endDate: '2026-01-22',\n prizePool: 10000,\n currentParticipants: 200,\n maxParticipants: 200,\n themes: ['Mobile', 'UX', 'Accessibility'],\n technologies: ['React Native', 'Flutter', 'Swift'],\n },\n];\n\nconst mockMentors: Mentor[] = [\n {\n id: 'm1',\n name: 'Sarah Chen',\n avatar: '',\n title: 'Principal Engineer',\n company: 'Google',\n rating: 4.9,\n totalSessions: 340,\n hourlyRate: 120,\n expertise: ['System Design', 'React', 'TypeScript', 'Cloud Architecture'],\n bio: 'Ex-Google Principal Engineer with 15 years of experience building large-scale distributed systems.',\n isAvailable: true,\n },\n {\n id: 'm2',\n name: 'James Rodriguez',\n avatar: '',\n title: 'ML Lead',\n company: 'OpenAI',\n rating: 4.8,\n totalSessions: 215,\n hourlyRate: 150,\n expertise: ['Machine Learning', 'Python', 'Deep Learning', 'NLP'],\n bio: 'Leading ML research at OpenAI. PhD in Computer Science from Stanford.',\n isAvailable: true,\n },\n {\n id: 'm3',\n name: 'Emily Davis',\n avatar: '',\n title: 'Staff Engineer',\n company: 'Netflix',\n rating: 4.7,\n totalSessions: 189,\n hourlyRate: 100,\n expertise: ['Backend', 'Java', 'Microservices', 'Kafka'],\n bio: 'Staff Engineer at Netflix focusing on streaming infrastructure and real-time data pipelines.',\n isAvailable: false,\n },\n {\n id: 'm4',\n name: 'Alex Morgan',\n avatar: '',\n title: 'CTO',\n company: 'TechStartup',\n rating: 4.9,\n totalSessions: 156,\n hourlyRate: 0,\n expertise: ['Career Guidance', 'Startup', 'Leadership', 'Architecture'],\n bio: 'Serial CTO who has scaled 3 startups from 0 to IPO. Free mentorship for aspiring tech leaders.',\n isAvailable: true,\n },\n {\n id: 'm5',\n name: 'Dr. Priya Sharma',\n avatar: '',\n title: 'Data Science Director',\n company: 'Meta',\n rating: 4.8,\n totalSessions: 278,\n hourlyRate: 130,\n expertise: ['Data Science', 'Statistics', 'Python', 'A/B Testing'],\n bio: 'Director of Data Science at Meta. Building data-driven products at scale.',\n isAvailable: true,\n },\n];\n\nconst mockLearningPaths: LearningPath[] = [\n {\n id: 'lp1',\n title: 'Full-Stack Web Developer',\n description: 'Master frontend and backend development from HTML to deployment',\n category: 'Web Development',\n coursesCount: 12,\n estimatedHours: 180,\n enrolledCount: 8400,\n level: 'beginner',\n progress: 65,\n },\n {\n id: 'lp2',\n title: 'Machine Learning Engineer',\n description: 'From Python basics to deploying production ML models',\n category: 'Data Science',\n coursesCount: 8,\n estimatedHours: 220,\n enrolledCount: 5200,\n level: 'intermediate',\n progress: 30,\n },\n {\n id: 'lp3',\n title: 'DevOps & Cloud Engineering',\n description: 'CI/CD, Docker, Kubernetes, and cloud-native architecture',\n category: 'DevOps',\n coursesCount: 10,\n estimatedHours: 150,\n enrolledCount: 6100,\n level: 'intermediate',\n progress: 0,\n },\n {\n id: 'lp4',\n title: 'Competitive Programming',\n description: 'Master algorithms, data structures, and problem-solving techniques',\n category: 'Computer Science',\n coursesCount: 6,\n estimatedHours: 120,\n enrolledCount: 3800,\n level: 'advanced',\n progress: 45,\n },\n];\n\nconst mockStudyPlans: StudyPlan[] = [\n {\n id: 'sp1',\n title: 'React Mastery - Q1 2026',\n description: 'Complete React advanced patterns and build 3 projects',\n startDate: '2026-01-01',\n endDate: '2026-03-31',\n status: 'active',\n dailyGoalMinutes: 60,\n completedDays: 35,\n totalDays: 90,\n topics: ['React', 'TypeScript', 'Testing'],\n },\n {\n id: 'sp2',\n title: 'DSA Interview Prep',\n description: 'Solve 200 problems across all categories before interviews',\n startDate: '2026-02-01',\n endDate: '2026-04-30',\n status: 'active',\n dailyGoalMinutes: 90,\n completedDays: 8,\n totalDays: 89,\n topics: ['Arrays', 'Trees', 'Dynamic Programming', 'Graphs'],\n },\n {\n id: 'sp3',\n title: 'AWS Certification Prep',\n description: 'Prepare for AWS Solutions Architect Professional exam',\n startDate: '2025-11-01',\n endDate: '2026-01-31',\n status: 'completed',\n dailyGoalMinutes: 45,\n completedDays: 82,\n totalDays: 92,\n topics: ['EC2', 'S3', 'Lambda', 'VPC', 'IAM'],\n },\n];\n\nconst mockArticles: Article[] = [\n {\n id: 'a1',\n title: 'Understanding React Server Components',\n slug: 'react-server-components',\n excerpt: 'A deep dive into how React Server Components work and when to use them',\n category: 'React',\n author: 'Sarah Chen',\n publishedAt: '2026-02-05',\n readTime: 12,\n views: 15420,\n likes: 892,\n tags: ['React', 'RSC', 'Next.js'],\n },\n {\n id: 'a2',\n title: 'The Complete Guide to System Design Interviews',\n slug: 'system-design-guide',\n excerpt: 'Everything you need to know to ace system design interviews at FAANG',\n category: 'Career',\n author: 'Alex Morgan',\n publishedAt: '2026-01-28',\n readTime: 18,\n views: 28300,\n likes: 2140,\n tags: ['System Design', 'Interview', 'Architecture'],\n },\n {\n id: 'a3',\n title: 'Rust vs Go: When to Use Which',\n slug: 'rust-vs-go',\n excerpt: 'Practical comparison of Rust and Go for different use cases',\n category: 'Languages',\n author: 'Mike Johnson',\n publishedAt: '2026-02-01',\n readTime: 10,\n views: 9800,\n likes: 567,\n tags: ['Rust', 'Go', 'Systems Programming'],\n },\n {\n id: 'a4',\n title: 'Building Production ML Pipelines',\n slug: 'ml-pipelines',\n excerpt: 'How to build and maintain machine learning pipelines at scale',\n category: 'Machine Learning',\n author: 'Dr. Priya Sharma',\n publishedAt: '2026-01-15',\n readTime: 15,\n views: 12100,\n likes: 743,\n tags: ['ML', 'MLOps', 'Python'],\n },\n {\n id: 'a5',\n title: 'Git Workflow Best Practices for Teams',\n slug: 'git-workflow',\n excerpt: 'Effective branching strategies and collaboration patterns for development teams',\n category: 'DevOps',\n author: 'Emily Davis',\n publishedAt: '2026-02-08',\n readTime: 8,\n views: 7500,\n likes: 412,\n tags: ['Git', 'DevOps', 'Collaboration'],\n },\n];\n\nconst mockOpenSourceProjects: OpenSourceProject[] = [\n {\n id: 'os1',\n name: 'code-playground',\n description:\n 'An interactive coding playground supporting 20+ languages with real-time collaboration',\n stars: 8420,\n forks: 1230,\n openIssues: 45,\n contributors: 89,\n languages: ['TypeScript', 'Rust'],\n topics: ['editor', 'wasm', 'collaboration'],\n difficulty: 'intermediate',\n lastActivity: '2026-02-09',\n githubUrl: 'https://github.com/example/code-playground',\n },\n {\n id: 'os2',\n name: 'algo-visualizer',\n description: 'Visualize algorithms and data structures with step-by-step animations',\n stars: 12300,\n forks: 2100,\n openIssues: 23,\n contributors: 156,\n languages: ['JavaScript', 'React'],\n topics: ['algorithms', 'visualization', 'education'],\n difficulty: 'beginner',\n lastActivity: '2026-02-08',\n githubUrl: 'https://github.com/example/algo-visualizer',\n },\n {\n id: 'os3',\n name: 'ml-toolkit',\n description:\n 'A lightweight machine learning toolkit for Python with scikit-learn compatible API',\n stars: 5600,\n forks: 890,\n openIssues: 67,\n contributors: 42,\n languages: ['Python', 'C++'],\n topics: ['machine-learning', 'python', 'data-science'],\n difficulty: 'advanced',\n lastActivity: '2026-02-07',\n githubUrl: 'https://github.com/example/ml-toolkit',\n },\n {\n id: 'os4',\n name: 'devops-starter',\n description: 'Production-ready DevOps templates for Kubernetes, Terraform, and CI/CD',\n stars: 3200,\n forks: 780,\n openIssues: 12,\n contributors: 34,\n languages: ['Go', 'HCL'],\n topics: ['devops', 'kubernetes', 'terraform'],\n difficulty: 'intermediate',\n lastActivity: '2026-02-06',\n githubUrl: 'https://github.com/example/devops-starter',\n },\n];\n\nconst mockAchievements: Achievement[] = [\n {\n id: 'ach1',\n title: 'First Steps',\n description: 'Complete your first course',\n icon: 'GraduationCap',\n category: 'Learning',\n rarity: 'common',\n progress: 1,\n maxProgress: 1,\n unlockedAt: '2025-11-15',\n reward: '100 points',\n },\n {\n id: 'ach2',\n title: 'Problem Solver',\n description: 'Solve 50 coding problems',\n icon: 'Code',\n category: 'Problem Solving',\n rarity: 'rare',\n progress: 42,\n maxProgress: 50,\n reward: '500 points + Rare Badge',\n },\n {\n id: 'ach3',\n title: 'Streak Master',\n description: 'Maintain a 30-day learning streak',\n icon: 'Flame',\n category: 'Consistency',\n rarity: 'epic',\n progress: 15,\n maxProgress: 30,\n reward: '1000 points + Epic Badge',\n },\n {\n id: 'ach4',\n title: 'Open Source Champion',\n description: 'Make 10 merged pull requests',\n icon: 'GitPullRequest',\n category: 'Open Source',\n rarity: 'rare',\n progress: 7,\n maxProgress: 10,\n reward: '750 points + Rare Badge',\n },\n {\n id: 'ach5',\n title: 'Hackathon Hero',\n description: 'Win a hackathon',\n icon: 'Trophy',\n category: 'Competition',\n rarity: 'legendary',\n progress: 0,\n maxProgress: 1,\n reward: '2000 points + Legendary Badge',\n },\n {\n id: 'ach6',\n title: 'Knowledge Sharer',\n description: 'Write 5 articles',\n icon: 'BookOpen',\n category: 'Community',\n rarity: 'rare',\n progress: 3,\n maxProgress: 5,\n reward: '600 points',\n },\n];\n\nconst mockNotifications: Notification[] = [\n {\n id: 'n1',\n title: 'New Course Available',\n message: 'Advanced React Patterns course is now live! Enroll today.',\n type: 'course',\n read: false,\n createdAt: '2026-02-10T08:00:00Z',\n link: '/courses',\n },\n {\n id: 'n2',\n title: 'Mentorship Session Reminder',\n message: 'Your session with Sarah Chen starts in 1 hour.',\n type: 'mentorship',\n read: false,\n createdAt: '2026-02-10T06:30:00Z',\n link: '/mentorship/sessions',\n },\n {\n id: 'n3',\n title: 'Achievement Unlocked!',\n message: 'You earned the \"Problem Solver\" badge. Keep going!',\n type: 'achievement',\n read: true,\n createdAt: '2026-02-09T14:20:00Z',\n },\n {\n id: 'n4',\n title: 'Hackathon Registration Open',\n message: 'AI Innovation Challenge 2026 is accepting registrations.',\n type: 'hackathon',\n read: false,\n createdAt: '2026-02-08T10:00:00Z',\n link: '/hackathons',\n },\n {\n id: 'n5',\n title: 'Study Plan Update',\n message: 'You completed 5 consecutive days. Great progress!',\n type: 'system',\n read: true,\n createdAt: '2026-02-07T18:00:00Z',\n },\n];\n\nconst mockUserStats: UserStats = {\n coursesEnrolled: 12,\n coursesCompleted: 5,\n problemsSolved: 156,\n studyStreak: 15,\n totalLearningHours: 342,\n mentorshipSessions: 8,\n hackathonsJoined: 3,\n contributionsMade: 28,\n certificatesEarned: 4,\n totalPoints: 12450,\n rank: 127,\n};\n\n// ─── Store ──────────────────────────────────────────────────────────────────\ninterface TechnoSpamState {\n // Data\n courses: Course[];\n problems: CodingProblem[];\n hackathons: Hackathon[];\n mentors: Mentor[];\n learningPaths: LearningPath[];\n studyPlans: StudyPlan[];\n articles: Article[];\n openSourceProjects: OpenSourceProject[];\n achievements: Achievement[];\n notifications: Notification[];\n userStats: UserStats;\n adminStats: AdminStats;\n auditEvents: AuditEvent[];\n supportTickets: SupportTicket[];\n\n // UI State\n selectedView: string;\n searchQuery: string;\n\n // Actions\n setSelectedView: (view: string) => void;\n setSearchQuery: (query: string) => void;\n markNotificationRead: (id: string) => void;\n markAllNotificationsRead: () => void;\n deleteNotification: (id: string) => void;\n}\n\nexport const useTechnoSpamStore = create<TechnoSpamState>((set) => ({\n courses: mockCourses,\n problems: mockProblems,\n hackathons: mockHackathons,\n mentors: mockMentors,\n learningPaths: mockLearningPaths,\n studyPlans: mockStudyPlans,\n articles: mockArticles,\n openSourceProjects: mockOpenSourceProjects,\n achievements: mockAchievements,\n notifications: mockNotifications,\n userStats: mockUserStats,\n adminStats: {\n totalUsers: 15234,\n activeUsers: 8921,\n totalCourses: 156,\n totalProblems: 892,\n totalRevenue: 125430,\n newUsersToday: 47,\n serverLoad: 65,\n },\n auditEvents: [\n {\n id: 'ae1',\n action: 'User Registration',\n actor: 'system',\n target: 'user:alice@example.com',\n timestamp: '2026-02-10T08:23:45Z',\n details: 'New user registered via OAuth',\n severity: 'info',\n },\n {\n id: 'ae2',\n action: 'Course Published',\n actor: 'instructor:sarah.chen',\n target: 'course:react-patterns',\n timestamp: '2026-02-10T07:15:00Z',\n details: 'Advanced React Patterns course published',\n severity: 'info',\n },\n {\n id: 'ae3',\n action: 'Failed Login Attempt',\n actor: 'unknown',\n target: 'user:admin@technospam.com',\n timestamp: '2026-02-10T05:30:22Z',\n details: 'Multiple failed login attempts detected from IP 192.168.1.100',\n severity: 'warning',\n },\n {\n id: 'ae4',\n action: 'Data Export',\n actor: 'admin:vignesh',\n target: 'report:monthly-analytics',\n timestamp: '2026-02-09T16:45:00Z',\n details: 'Monthly analytics report exported',\n severity: 'info',\n },\n {\n id: 'ae5',\n action: 'Permission Escalation',\n actor: 'system',\n target: 'user:bob@example.com',\n timestamp: '2026-02-09T14:20:00Z',\n details: 'User role upgraded to instructor',\n severity: 'warning',\n },\n ],\n supportTickets: [\n {\n id: 'st1',\n subject: 'Cannot access course materials',\n status: 'open',\n priority: 'high',\n createdAt: '2026-02-10T09:00:00Z',\n lastUpdated: '2026-02-10T09:00:00Z',\n },\n {\n id: 'st2',\n subject: 'Payment processing error',\n status: 'in_progress',\n priority: 'urgent',\n createdAt: '2026-02-09T14:30:00Z',\n lastUpdated: '2026-02-10T07:15:00Z',\n },\n {\n id: 'st3',\n subject: 'Video playback issues',\n status: 'resolved',\n priority: 'medium',\n createdAt: '2026-02-08T11:20:00Z',\n lastUpdated: '2026-02-09T16:00:00Z',\n },\n {\n id: 'st4',\n subject: 'Feature request: dark mode for code editor',\n status: 'open',\n priority: 'low',\n createdAt: '2026-02-07T08:45:00Z',\n lastUpdated: '2026-02-07T08:45:00Z',\n },\n ],\n selectedView: 'overview',\n searchQuery: '',\n setSelectedView: (view) => set({ selectedView: view }),\n setSearchQuery: (query) => set({ searchQuery: query }),\n markNotificationRead: (id) =>\n set((state) => ({\n notifications: state.notifications.map((n) => (n.id === id ? { ...n, read: true } : n)),\n })),\n markAllNotificationsRead: () =>\n set((state) => ({\n notifications: state.notifications.map((n) => ({ ...n, read: true })),\n })),\n deleteNotification: (id) =>\n set((state) => ({\n notifications: state.notifications.filter((n) => n.id !== id),\n })),\n}));\n"],"mappings":"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"}
@@ -0,0 +1,51 @@
1
+ import { default as React } from 'react';
2
+
3
+ export interface NavItem {
4
+ id: string;
5
+ label: string;
6
+ path: string;
7
+ icon?: React.ReactNode;
8
+ order?: number;
9
+ group?: string;
10
+ children?: NavItem[];
11
+ }
12
+ export interface FooterItem {
13
+ id: string;
14
+ label: string;
15
+ type: 'status' | 'action';
16
+ order?: number;
17
+ section: 'left' | 'center' | 'right';
18
+ }
19
+ export interface TechnoSpamRootProps {
20
+ basePath?: string;
21
+ workspaceId?: string;
22
+ tenantId?: string;
23
+ apiGatewayUrl?: string;
24
+ authToken?: string;
25
+ navigate?: (path: string) => void;
26
+ currentUser?: {
27
+ id: string;
28
+ email: string;
29
+ firstName?: string;
30
+ lastName?: string;
31
+ avatar?: string;
32
+ username?: string;
33
+ name?: string;
34
+ role?: string;
35
+ } | null;
36
+ registerNavItems?: (items: NavItem | NavItem[]) => () => void;
37
+ registerFooterItems?: (items: FooterItem | FooterItem[]) => () => void;
38
+ }
39
+ export interface OverviewMetric {
40
+ label: string;
41
+ value: string;
42
+ trend: string;
43
+ }
44
+ export interface WorkItem {
45
+ id: string;
46
+ title: string;
47
+ status: 'active' | 'planned' | 'at_risk' | 'completed';
48
+ owner: string;
49
+ updatedAt: string;
50
+ }
51
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/technospam/types/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;CACtC;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,WAAW,CAAC,EAAE;QACZ,EAAE,EAAE,MAAM,CAAC;QACX,KAAK,EAAE,MAAM,CAAC;QACd,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,GAAG,IAAI,CAAC;IACT,gBAAgB,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,EAAE,KAAK,MAAM,IAAI,CAAC;IAC9D,mBAAmB,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,GAAG,UAAU,EAAE,KAAK,MAAM,IAAI,CAAC;CACxE;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,QAAQ,GAAG,SAAS,GAAG,SAAS,GAAG,WAAW,CAAC;IACvD,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;CACnB"}
@@ -0,0 +1,4 @@
1
+ import { ClassValue } from 'clsx';
2
+
3
+ export declare function cn(...inputs: ClassValue[]): string;
4
+ //# sourceMappingURL=cn.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cn.d.ts","sourceRoot":"","sources":["../../../src/technospam/utils/cn.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,UAAU,EAAQ,MAAM,MAAM,CAAC;AAG7C,wBAAgB,EAAE,CAAC,GAAG,MAAM,EAAE,UAAU,EAAE,UAEzC"}
@@ -0,0 +1,6 @@
1
+ import { I18nContextValue } from '@burdenoff/fe-libs/shared/providers/shell/I18nProvider';
2
+
3
+ type TranslationParams = Record<string, string | number>;
4
+ export declare function tWithFallback(t: I18nContextValue['t'], key: string, fallback: string, params?: TranslationParams): string;
5
+ export {};
6
+ //# sourceMappingURL=i18n.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"i18n.d.ts","sourceRoot":"","sources":["../../../src/technospam/utils/i18n.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wDAAwD,CAAC;AAE/F,KAAK,iBAAiB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC;AAazD,wBAAgB,aAAa,CAC3B,CAAC,EAAE,gBAAgB,CAAC,GAAG,CAAC,EACxB,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,MAAM,EAChB,MAAM,CAAC,EAAE,iBAAiB,GACzB,MAAM,CAOR"}
@@ -0,0 +1,15 @@
1
+ //#region src/technospam/utils/i18n.ts
2
+ function e(e, t) {
3
+ return t ? e.replace(/\{\{\s*(\w+)\s*\}\}/g, (e, n) => {
4
+ let r = t[n];
5
+ return r === void 0 ? `{{${n}}}` : String(r);
6
+ }) : e;
7
+ }
8
+ function t(t, n, r, i) {
9
+ let a = t(n, i);
10
+ return a === n ? e(r, i) : a;
11
+ }
12
+ //#endregion
13
+ export { t as tWithFallback };
14
+
15
+ //# sourceMappingURL=i18n.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"i18n.js","names":[],"sources":["../../../src/technospam/utils/i18n.ts"],"sourcesContent":["import type { I18nContextValue } from '@burdenoff/fe-libs/shared/providers/shell/I18nProvider';\n\ntype TranslationParams = Record<string, string | number>;\n\nfunction interpolateFallback(fallback: string, params?: TranslationParams): string {\n if (!params) {\n return fallback;\n }\n\n return fallback.replace(/\\{\\{\\s*(\\w+)\\s*\\}\\}/g, (_, key: string) => {\n const value = params[key];\n return value === undefined ? `{{${key}}}` : String(value);\n });\n}\n\nexport function tWithFallback(\n t: I18nContextValue['t'],\n key: string,\n fallback: string,\n params?: TranslationParams\n): string {\n const translated = t(key, params);\n if (translated === key) {\n return interpolateFallback(fallback, params);\n }\n\n return translated;\n}\n"],"mappings":";AAIA,SAAS,EAAoB,GAAkB,GAAoC;AAKjF,QAJK,IAIE,EAAS,QAAQ,yBAAyB,GAAG,MAAgB;EAClE,IAAM,IAAQ,EAAO;AACrB,SAAO,MAAU,KAAA,IAAY,KAAK,EAAI,MAAM,OAAO,EAAM;GACzD,GANO;;AASX,SAAgB,EACd,GACA,GACA,GACA,GACQ;CACR,IAAM,IAAa,EAAE,GAAK,EAAO;AAKjC,QAJI,MAAe,IACV,EAAoB,GAAU,EAAO,GAGvC"}
@@ -0,0 +1,2 @@
1
+ export declare function joinPath(basePath: string, relativePath: string): string;
2
+ //# sourceMappingURL=navigation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"navigation.d.ts","sourceRoot":"","sources":["../../../src/technospam/utils/navigation.ts"],"names":[],"mappings":"AAAA,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM,CAIvE"}
@@ -0,0 +1,8 @@
1
+ //#region src/technospam/utils/navigation.ts
2
+ function e(e, t) {
3
+ return (e.endsWith("/") ? e.slice(0, -1) : e) + (t.startsWith("/") ? t : `/${t}`);
4
+ }
5
+ //#endregion
6
+ export { e as joinPath };
7
+
8
+ //# sourceMappingURL=navigation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"navigation.js","names":[],"sources":["../../../src/technospam/utils/navigation.ts"],"sourcesContent":["export function joinPath(basePath: string, relativePath: string): string {\n const cleanBase = basePath.endsWith('/') ? basePath.slice(0, -1) : basePath;\n const cleanPath = relativePath.startsWith('/') ? relativePath : `/${relativePath}`;\n return cleanBase + cleanPath;\n}\n"],"mappings":";AAAA,SAAgB,EAAS,GAAkB,GAA8B;AAGvE,SAFkB,EAAS,SAAS,IAAI,GAAG,EAAS,MAAM,GAAG,GAAG,GAAG,MACjD,EAAa,WAAW,IAAI,GAAG,IAAe,IAAI"}
package/package.json ADDED
@@ -0,0 +1,107 @@
1
+ {
2
+ "name": "@burdenoff/microfe-technospam",
3
+ "version": "2026.509.101",
4
+ "description": "Burdenoff TechnoSpam Microfrontend",
5
+ "type": "module",
6
+ "files": [
7
+ "dist",
8
+ "package.json",
9
+ "README.md"
10
+ ],
11
+ "imports": {
12
+ "#src/*": "./src/*",
13
+ "#technospam/*": "./src/technospam/*"
14
+ },
15
+ "exports": {
16
+ ".": {
17
+ "types": "./dist/index.d.ts",
18
+ "import": "./dist/index.js"
19
+ }
20
+ },
21
+ "main": "./dist/index.js",
22
+ "types": "./dist/index.d.ts",
23
+ "scripts": {
24
+ "dev": "vite",
25
+ "build": "tsc && vite build",
26
+ "lint": "eslint .",
27
+ "format": "prettier --write \"src/**/*.{ts,tsx}\"",
28
+ "type:check": "tsc --noEmit",
29
+ "sanity": "bun run codegen && bun run lint && bun run format && bun run type:check && bun run build",
30
+ "schema:pull": "graphql-codegen --project schema-wspace && graphql-codegen --project schema-global",
31
+ "codegen": "graphql-codegen --project wspace && graphql-codegen --project global",
32
+ "codegen:all": "bun run schema:pull && bun run codegen",
33
+ "switch:status": "bun scripts/deps-mode.ts status",
34
+ "switch:remote": "bun scripts/deps-mode.ts remote",
35
+ "switch:local": "bun scripts/deps-mode.ts local",
36
+ "switch:check": "bun scripts/deps-mode.ts check",
37
+ "prepare": "lefthook install || true",
38
+ "format:check": "prettier --check \"src/**/*.{ts,tsx}\""
39
+ },
40
+ "dependencies": {
41
+ "@apollo/client": "^4.0.11",
42
+ "@burdenoff/fe-libs": "2026.507.125",
43
+ "@tanstack/react-query": "^5.90.16",
44
+ "clsx": "^2.1.1",
45
+ "graphql": "^16.10.0",
46
+ "lucide-react": "^0.468.0",
47
+ "react": "^19.0.0",
48
+ "react-dom": "^19.0.0",
49
+ "react-router-dom": "^7.1.3",
50
+ "tailwind-merge": "^3.4.0",
51
+ "zustand": "^5.0.3",
52
+ "recharts": "^2.15.0",
53
+ "framer-motion": "^12.0.0"
54
+ },
55
+ "devDependencies": {
56
+ "@eslint/js": "^9.39.2",
57
+ "@graphql-codegen/add": "^5.0.0",
58
+ "@graphql-codegen/cli": "^5.0.0",
59
+ "@graphql-codegen/import-types-preset": "^3.0.0",
60
+ "@graphql-codegen/schema-ast": "^4.0.0",
61
+ "@graphql-codegen/typescript": "^4.0.0",
62
+ "@graphql-codegen/typescript-operations": "^4.0.0",
63
+ "@graphql-codegen/typescript-react-apollo": "^4.0.0",
64
+ "@types/react": "^19.0.2",
65
+ "@types/react-dom": "^19.0.2",
66
+ "@vitejs/plugin-react": "^4.3.4",
67
+ "autoprefixer": "^10.4.20",
68
+ "eslint": "^9.18.0",
69
+ "eslint-plugin-react": "^7.37.5",
70
+ "eslint-plugin-react-hooks": "^7.0.1",
71
+ "eslint-plugin-react-refresh": "^0.4.26",
72
+ "lefthook": "^2.1.1",
73
+ "postcss": "^8.4.49",
74
+ "prettier": "^3.4.2",
75
+ "tailwindcss": "^4.0.0",
76
+ "typescript": "^5.9.0",
77
+ "typescript-eslint": "^8.54.0",
78
+ "vite": "8.0.8",
79
+ "vite-plugin-dts": "3.9.1"
80
+ },
81
+ "peerDependencies": {
82
+ "@apollo/client": "^4.0.11",
83
+ "react": "^19.0.0",
84
+ "react-dom": "^19.0.0",
85
+ "zustand": "^5.0.0"
86
+ },
87
+ "publishConfig": {
88
+ "access": "restricted"
89
+ },
90
+ "overrides": {
91
+ "lodash": ">=4.17.21",
92
+ "lodash-es": ">=4.17.21",
93
+ "dompurify": ">=3.3.4",
94
+ "fast-xml-parser": ">=4.5.5",
95
+ "@xmldom/xmldom": ">=0.8.12",
96
+ "swiper": ">=12.1.2",
97
+ "brace-expansion": ">=1.1.13",
98
+ "follow-redirects": ">=1.15.12",
99
+ "smol-toml": ">=1.6.1",
100
+ "axios": ">=1.15.0",
101
+ "flatted": ">=3.4.1",
102
+ "yaml": ">=2.8.3",
103
+ "picomatch": ">=2.3.2",
104
+ "immutable": ">=3.8.3",
105
+ "minimatch": ">=3.1.3"
106
+ }
107
+ }