@parhelia/core 0.1.12889 → 0.1.12891
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/agents-view/AgentCard.js +7 -12
- package/dist/agents-view/AgentCard.js.map +1 -1
- package/dist/agents-view/AgentGalleryCard.js +2 -3
- package/dist/agents-view/AgentGalleryCard.js.map +1 -1
- package/dist/agents-view/AgentGalleryView.js +6 -6
- package/dist/agents-view/AgentGalleryView.js.map +1 -1
- package/dist/agents-view/AgentProfileIcon.d.ts +9 -0
- package/dist/agents-view/AgentProfileIcon.js +28 -0
- package/dist/agents-view/AgentProfileIcon.js.map +1 -0
- package/dist/agents-view/AgentsSidebar.js +2 -2
- package/dist/agents-view/AgentsSidebar.js.map +1 -1
- package/dist/agents-view/AgentsTitlebar.d.ts +1 -2
- package/dist/agents-view/AgentsTitlebar.js +5 -6
- package/dist/agents-view/AgentsTitlebar.js.map +1 -1
- package/dist/agents-view/AgentsView.d.ts +8 -1
- package/dist/agents-view/AgentsView.js +8 -8
- package/dist/agents-view/AgentsView.js.map +1 -1
- package/dist/agents-view/AgentsWorkspaceView.js +30 -22
- package/dist/agents-view/AgentsWorkspaceView.js.map +1 -1
- package/dist/agents-view/CreateAgentView.js +1 -1
- package/dist/agents-view/CreateAgentView.js.map +1 -1
- package/dist/agents-view/DateAgentsGroup.js +1 -1
- package/dist/agents-view/DateAgentsGroup.js.map +1 -1
- package/dist/agents-view/ProfileAgentsGroup.js +3 -6
- package/dist/agents-view/ProfileAgentsGroup.js.map +1 -1
- package/dist/components/FilterInput.d.ts +2 -0
- package/dist/components/FilterInput.js +2 -2
- package/dist/components/FilterInput.js.map +1 -1
- package/dist/components/MarkdownDisplay.js +4 -4
- package/dist/components/MarkdownDisplay.js.map +1 -1
- package/dist/components/PageHeader.js +1 -1
- package/dist/components/PageHeader.js.map +1 -1
- package/dist/components/ui/LanguageSelectionGrid.js +1 -1
- package/dist/components/ui/LanguageSelectionGrid.js.map +1 -1
- package/dist/components/ui/alert-dialog.js +1 -1
- package/dist/components/ui/alert-dialog.js.map +1 -1
- package/dist/components/ui/card.d.ts +2 -1
- package/dist/components/ui/card.js +2 -2
- package/dist/components/ui/card.js.map +1 -1
- package/dist/components/ui/multi-switch-button.d.ts +22 -0
- package/dist/components/ui/multi-switch-button.js +12 -0
- package/dist/components/ui/multi-switch-button.js.map +1 -0
- package/dist/components/ui/styled-dialog-title.js +1 -1
- package/dist/components/ui/styled-dialog-title.js.map +1 -1
- package/dist/config/config.js +6 -4
- package/dist/config/config.js.map +1 -1
- package/dist/config/types/sidebar.d.ts +2 -0
- package/dist/config/types.d.ts +1 -0
- package/dist/config/types.js.map +1 -1
- package/dist/editor/AdminRequiredView.js +1 -1
- package/dist/editor/AdminRequiredView.js.map +1 -1
- package/dist/editor/ContentTree.js +1 -1
- package/dist/editor/ContentTree.js.map +1 -1
- package/dist/editor/FieldActionsOverlay.js +2 -2
- package/dist/editor/FieldActionsOverlay.js.map +1 -1
- package/dist/editor/FieldHistory.js +2 -2
- package/dist/editor/FieldHistory.js.map +1 -1
- package/dist/editor/GlobalMenuBar.js +3 -1
- package/dist/editor/GlobalMenuBar.js.map +1 -1
- package/dist/editor/LinkEditorDialog.js +10 -9
- package/dist/editor/LinkEditorDialog.js.map +1 -1
- package/dist/editor/MainLayout.js +11 -9
- package/dist/editor/MainLayout.js.map +1 -1
- package/dist/editor/MigrationsView.js +4 -4
- package/dist/editor/MigrationsView.js.map +1 -1
- package/dist/editor/Titlebar.d.ts +1 -1
- package/dist/editor/Titlebar.js +2 -2
- package/dist/editor/Titlebar.js.map +1 -1
- package/dist/editor/WorkspaceTitleSwitcher.d.ts +5 -0
- package/dist/editor/WorkspaceTitleSwitcher.js +86 -0
- package/dist/editor/WorkspaceTitleSwitcher.js.map +1 -0
- package/dist/editor/ai/AgentProfileSelector.js +2 -2
- package/dist/editor/ai/AgentProfileSelector.js.map +1 -1
- package/dist/editor/ai/Agents.js +155 -43
- package/dist/editor/ai/Agents.js.map +1 -1
- package/dist/editor/ai/HeartbeatDiagnosticsPanel.js +1 -1
- package/dist/editor/ai/HeartbeatDiagnosticsPanel.js.map +1 -1
- package/dist/editor/ai/InlineAiDialog.js +4 -4
- package/dist/editor/ai/InlineAiDialog.js.map +1 -1
- package/dist/editor/ai/InlineAiTextEditTooltip.js +1 -1
- package/dist/editor/ai/InlineAiTextEditTooltip.js.map +1 -1
- package/dist/editor/ai/InlineAiTrigger.js +1 -1
- package/dist/editor/ai/InlineAiTrigger.js.map +1 -1
- package/dist/editor/ai/agentMessageMarkdown.js +3 -3
- package/dist/editor/ai/agentMessageMarkdown.js.map +1 -1
- package/dist/editor/ai/dialogs/ComponentTypeSelectorInline.js +2 -2
- package/dist/editor/ai/dialogs/ComponentTypeSelectorInline.js.map +1 -1
- package/dist/editor/ai/dialogs/QuestionnaireInline.js +2 -2
- package/dist/editor/ai/dialogs/QuestionnaireInline.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentBanners.js +2 -2
- package/dist/editor/ai/terminal/components/AgentBanners.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentBrowserClaimBanner.js +1 -1
- package/dist/editor/ai/terminal/components/AgentBrowserClaimBanner.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentCostDisplay.js +1 -1
- package/dist/editor/ai/terminal/components/AgentCostDisplay.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentFullPromptControls.js +1 -1
- package/dist/editor/ai/terminal/components/AgentFullPromptControls.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentGreeting.js +1 -1
- package/dist/editor/ai/terminal/components/AgentGreeting.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentProjectProgress.js +1 -1
- package/dist/editor/ai/terminal/components/AgentProjectProgress.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentPromptActionButtons.js +3 -3
- package/dist/editor/ai/terminal/components/AgentPromptActionButtons.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentPromptComposer.d.ts +2 -1
- package/dist/editor/ai/terminal/components/AgentPromptComposer.js +5 -2
- package/dist/editor/ai/terminal/components/AgentPromptComposer.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentPromptInputArea.d.ts +2 -1
- package/dist/editor/ai/terminal/components/AgentPromptInputArea.js +5 -3
- package/dist/editor/ai/terminal/components/AgentPromptInputArea.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentTerminalFullLayout.js +3 -1
- package/dist/editor/ai/terminal/components/AgentTerminalFullLayout.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentTerminalStatusBar.js +3 -3
- package/dist/editor/ai/terminal/components/AgentTerminalStatusBar.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentTerminalSummaryLayout.js +2 -1
- package/dist/editor/ai/terminal/components/AgentTerminalSummaryLayout.js.map +1 -1
- package/dist/editor/ai/terminal/components/AiResponseMessage.js +8 -8
- package/dist/editor/ai/terminal/components/AiResponseMessage.js.map +1 -1
- package/dist/editor/ai/terminal/components/QuestionnaireRecap.js +2 -2
- package/dist/editor/ai/terminal/components/QuestionnaireRecap.js.map +1 -1
- package/dist/editor/ai/terminal/components/ToolCallDisplay.js +5 -5
- package/dist/editor/ai/terminal/components/ToolCallDisplay.js.map +1 -1
- package/dist/editor/ai-image-editor/AiImageEditorDialog.js +3 -3
- package/dist/editor/ai-image-editor/AiImageEditorDialog.js.map +1 -1
- package/dist/editor/bridge/protocol.d.ts +0 -5
- package/dist/editor/bridge/protocol.js.map +1 -1
- package/dist/editor/client/AboutDialog.js +1 -1
- package/dist/editor/client/AboutDialog.js.map +1 -1
- package/dist/editor/client/EditorShell.js +15 -8
- package/dist/editor/client/EditorShell.js.map +1 -1
- package/dist/editor/client/operations.js +1 -1
- package/dist/editor/client/operations.js.map +1 -1
- package/dist/editor/client/pageModelBuilder.d.ts +1 -0
- package/dist/editor/client/pageModelBuilder.js +22 -13
- package/dist/editor/client/pageModelBuilder.js.map +1 -1
- package/dist/editor/content-tree/IndicatorSettings.js +3 -2
- package/dist/editor/content-tree/IndicatorSettings.js.map +1 -1
- package/dist/editor/media-selector/Preview.js +1 -1
- package/dist/editor/media-selector/Preview.js.map +1 -1
- package/dist/editor/media-selector/TreeSelector.js +1 -1
- package/dist/editor/media-selector/TreeSelector.js.map +1 -1
- package/dist/editor/menubar/ItemLanguageVersion.js +3 -14
- package/dist/editor/menubar/ItemLanguageVersion.js.map +1 -1
- package/dist/editor/menubar/VersionSelector.d.ts +3 -2
- package/dist/editor/menubar/VersionSelector.js +28 -12
- package/dist/editor/menubar/VersionSelector.js.map +1 -1
- package/dist/editor/menubar/WorkflowButton.js +9 -8
- package/dist/editor/menubar/WorkflowButton.js.map +1 -1
- package/dist/editor/menubar/toolbar-sections/ManualBrowser.js +7 -7
- package/dist/editor/menubar/toolbar-sections/ManualBrowser.js.map +1 -1
- package/dist/editor/notifications/NotificationCenter.js +1 -1
- package/dist/editor/notifications/NotificationCenter.js.map +1 -1
- package/dist/editor/notifications/NotificationItem.js +4 -3
- package/dist/editor/notifications/NotificationItem.js.map +1 -1
- package/dist/editor/notifications/watchEventOptions.js +3 -2
- package/dist/editor/notifications/watchEventOptions.js.map +1 -1
- package/dist/editor/page-editor-chrome/BridgeInlineFormatOverlay.js +10 -4
- package/dist/editor/page-editor-chrome/BridgeInlineFormatOverlay.js.map +1 -1
- package/dist/editor/page-editor-chrome/FeedbackHighlightBadge.js +1 -1
- package/dist/editor/page-editor-chrome/FeedbackHighlightBadge.js.map +1 -1
- package/dist/editor/page-viewer/EditorFormHintPopover.js +1 -1
- package/dist/editor/page-viewer/EditorFormHintPopover.js.map +1 -1
- package/dist/editor/page-viewer/PageViewerFrame.js +67 -0
- package/dist/editor/page-viewer/PageViewerFrame.js.map +1 -1
- package/dist/editor/page-viewer/RenderingParametersSection.js +1 -1
- package/dist/editor/page-viewer/RenderingParametersSection.js.map +1 -1
- package/dist/editor/personalization/PersonalizationPanel.js +3 -3
- package/dist/editor/personalization/PersonalizationPanel.js.map +1 -1
- package/dist/editor/personalization/RuleElementPicker.js +1 -1
- package/dist/editor/personalization/RuleElementPicker.js.map +1 -1
- package/dist/editor/reviews/CommentDisplayPopover.js +1 -1
- package/dist/editor/reviews/CommentDisplayPopover.js.map +1 -1
- package/dist/editor/reviews/CommentEditor.js +1 -1
- package/dist/editor/reviews/CommentEditor.js.map +1 -1
- package/dist/editor/reviews/CommentPopover.js +1 -1
- package/dist/editor/reviews/CommentPopover.js.map +1 -1
- package/dist/editor/reviews/CommentView.js +2 -2
- package/dist/editor/reviews/CommentView.js.map +1 -1
- package/dist/editor/reviews/CreateReviewConfirmStep.js +2 -2
- package/dist/editor/reviews/CreateReviewConfirmStep.js.map +1 -1
- package/dist/editor/reviews/CreateReviewDetailsStep.js +6 -6
- package/dist/editor/reviews/CreateReviewDetailsStep.js.map +1 -1
- package/dist/editor/reviews/CreateReviewSuccessStep.js +2 -2
- package/dist/editor/reviews/CreateReviewSuccessStep.js.map +1 -1
- package/dist/editor/reviews/DecisionsMatrix.js +3 -3
- package/dist/editor/reviews/DecisionsMatrix.js.map +1 -1
- package/dist/editor/reviews/EditReviewSettingsDialog.js +7 -7
- package/dist/editor/reviews/EditReviewSettingsDialog.js.map +1 -1
- package/dist/editor/reviews/LatestFeedback.js +1 -1
- package/dist/editor/reviews/LatestFeedback.js.map +1 -1
- package/dist/editor/reviews/ReviewDetail.js +2 -2
- package/dist/editor/reviews/ReviewDetail.js.map +1 -1
- package/dist/editor/reviews/ReviewersPanel.js +1 -1
- package/dist/editor/reviews/ReviewersPanel.js.map +1 -1
- package/dist/editor/reviews/SuggestedEdit.js +5 -5
- package/dist/editor/reviews/SuggestedEdit.js.map +1 -1
- package/dist/editor/reviews/SuggestionDisplayPopover.js +1 -1
- package/dist/editor/reviews/SuggestionDisplayPopover.js.map +1 -1
- package/dist/editor/settings/About.js +4 -4
- package/dist/editor/settings/About.js.map +1 -1
- package/dist/editor/settings/QuotaInfo.js +6 -6
- package/dist/editor/settings/QuotaInfo.js.map +1 -1
- package/dist/editor/settings/SettingsCard.d.ts +4 -0
- package/dist/editor/settings/SettingsCard.js +7 -0
- package/dist/editor/settings/SettingsCard.js.map +1 -0
- package/dist/editor/settings/SettingsView.js +1 -1
- package/dist/editor/settings/SettingsView.js.map +1 -1
- package/dist/editor/settings/index/AdvancedSettings.js +1 -1
- package/dist/editor/settings/index/AdvancedSettings.js.map +1 -1
- package/dist/editor/settings/index/EmbeddingProviderInfo.js +1 -1
- package/dist/editor/settings/index/EmbeddingProviderInfo.js.map +1 -1
- package/dist/editor/settings/index/IndexStatusCards.js +1 -1
- package/dist/editor/settings/index/IndexStatusCards.js.map +1 -1
- package/dist/editor/settings/index/LatestEmbeddingsList.js +1 -1
- package/dist/editor/settings/index/LatestEmbeddingsList.js.map +1 -1
- package/dist/editor/settings/index/RebuildIndexSection.js +1 -1
- package/dist/editor/settings/index/RebuildIndexSection.js.map +1 -1
- package/dist/editor/settings/index/RecentBatchesList.js +1 -1
- package/dist/editor/settings/index/RecentBatchesList.js.map +1 -1
- package/dist/editor/settings/panels/AgentProfileConfigPanel.js +3 -2
- package/dist/editor/settings/panels/AgentProfileConfigPanel.js.map +1 -1
- package/dist/editor/settings/panels/AgentToolsPanel.js +1 -1
- package/dist/editor/settings/panels/AgentToolsPanel.js.map +1 -1
- package/dist/editor/settings/panels/AgentsPanel.js +1 -1
- package/dist/editor/settings/panels/AgentsPanel.js.map +1 -1
- package/dist/editor/settings/panels/ClusterInstancesPanel.js +3 -3
- package/dist/editor/settings/panels/ClusterInstancesPanel.js.map +1 -1
- package/dist/editor/settings/panels/FieldTypeSerializersPanel.js +1 -1
- package/dist/editor/settings/panels/FieldTypeSerializersPanel.js.map +1 -1
- package/dist/editor/settings/panels/GroupedFieldConfigPanel.js +2 -2
- package/dist/editor/settings/panels/GroupedFieldConfigPanel.js.map +1 -1
- package/dist/editor/settings/panels/JavaScriptToolAgentPanel.js +3 -2
- package/dist/editor/settings/panels/JavaScriptToolAgentPanel.js.map +1 -1
- package/dist/editor/settings/panels/JavaScriptToolsPanel.js +2 -2
- package/dist/editor/settings/panels/JavaScriptToolsPanel.js.map +1 -1
- package/dist/editor/settings/panels/McpToolsPanel.js +1 -1
- package/dist/editor/settings/panels/McpToolsPanel.js.map +1 -1
- package/dist/editor/settings/panels/ModelConfigPanel.js +1 -1
- package/dist/editor/settings/panels/ModelConfigPanel.js.map +1 -1
- package/dist/editor/settings/panels/ModelsPanel.js +2 -2
- package/dist/editor/settings/panels/ModelsPanel.js.map +1 -1
- package/dist/editor/settings/panels/NotificationSubscriptionsPanel.js +1 -1
- package/dist/editor/settings/panels/NotificationSubscriptionsPanel.js.map +1 -1
- package/dist/editor/settings/panels/PersistentLogsPanel.js +3 -3
- package/dist/editor/settings/panels/PersistentLogsPanel.js.map +1 -1
- package/dist/editor/settings/panels/ProjectTemplateAgentPanel.js +3 -2
- package/dist/editor/settings/panels/ProjectTemplateAgentPanel.js.map +1 -1
- package/dist/editor/settings/panels/ProjectTemplateSelector.js +1 -1
- package/dist/editor/settings/panels/ProjectTemplateSelector.js.map +1 -1
- package/dist/editor/settings/panels/ProjectTemplatesPanel.js +3 -3
- package/dist/editor/settings/panels/ProjectTemplatesPanel.js.map +1 -1
- package/dist/editor/settings/panels/ProviderIcon.js +1 -1
- package/dist/editor/settings/panels/ProviderIcon.js.map +1 -1
- package/dist/editor/settings/panels/SearchConfigPanel.js +1 -1
- package/dist/editor/settings/panels/SearchConfigPanel.js.map +1 -1
- package/dist/editor/settings/panels/SettingsPanel.js +1 -1
- package/dist/editor/settings/panels/SettingsPanel.js.map +1 -1
- package/dist/editor/settings/panels/StatusPanel.js +1 -1
- package/dist/editor/settings/panels/StatusPanel.js.map +1 -1
- package/dist/editor/settings/panels/SystemSettingsPanel.js +1 -1
- package/dist/editor/settings/panels/SystemSettingsPanel.js.map +1 -1
- package/dist/editor/settings/panels/UserPreferencesPanel.js +1 -1
- package/dist/editor/settings/panels/UserPreferencesPanel.js.map +1 -1
- package/dist/editor/setup-wizard/steps/CreateSettingsStep.js +1 -1
- package/dist/editor/setup-wizard/steps/CreateSettingsStep.js.map +1 -1
- package/dist/editor/setup-wizard/steps/LicenseActivationStep.js +1 -1
- package/dist/editor/setup-wizard/steps/LicenseActivationStep.js.map +1 -1
- package/dist/editor/setup-wizard/steps/ProviderStep.js +6 -6
- package/dist/editor/setup-wizard/steps/ProviderStep.js.map +1 -1
- package/dist/editor/sidebar/Favorites.js +1 -1
- package/dist/editor/sidebar/Favorites.js.map +1 -1
- package/dist/editor/sidebar/SidebarPanel.js +3 -1
- package/dist/editor/sidebar/SidebarPanel.js.map +1 -1
- package/dist/editor/sidebar/SidebarStack.js +1 -0
- package/dist/editor/sidebar/SidebarStack.js.map +1 -1
- package/dist/editor/sidebar/Workbox.js +1 -1
- package/dist/editor/sidebar/Workbox.js.map +1 -1
- package/dist/editor/template-wizard/TemplateStructureInlineEditor.js +12 -11
- package/dist/editor/template-wizard/TemplateStructureInlineEditor.js.map +1 -1
- package/dist/editor/tree-indicators/GutterColumns.js +3 -2
- package/dist/editor/tree-indicators/GutterColumns.js.map +1 -1
- package/dist/editor/ui/Icons.js +1 -1
- package/dist/editor/ui/Icons.js.map +1 -1
- package/dist/editor/ui/ItemCollectionEditor.js +2 -2
- package/dist/editor/ui/ItemCollectionEditor.js.map +1 -1
- package/dist/editor/ui/PublishItemDialog.js +2 -2
- package/dist/editor/ui/PublishItemDialog.js.map +1 -1
- package/dist/editor/ui/PublishRestrictionsDialog.js +5 -5
- package/dist/editor/ui/PublishRestrictionsDialog.js.map +1 -1
- package/dist/editor/ui/Section.js +1 -1
- package/dist/editor/ui/Section.js.map +1 -1
- package/dist/editor/ui/SimpleMenu.js +3 -3
- package/dist/editor/ui/SimpleMenu.js.map +1 -1
- package/dist/editor/ui/SimpleTabs.d.ts +2 -1
- package/dist/editor/ui/SimpleTabs.js +23 -5
- package/dist/editor/ui/SimpleTabs.js.map +1 -1
- package/dist/editor/ui/Splitter.js +120 -3
- package/dist/editor/ui/Splitter.js.map +1 -1
- package/dist/editor/ui/TemplateSelectorDialog.js +2 -2
- package/dist/editor/ui/TemplateSelectorDialog.js.map +1 -1
- package/dist/editor/ui/splitterResizeEvent.d.ts +7 -0
- package/dist/editor/ui/splitterResizeEvent.js +6 -0
- package/dist/editor/ui/splitterResizeEvent.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/licensing/LicenseOverlay.js +2 -2
- package/dist/licensing/LicenseOverlay.js.map +1 -1
- package/dist/revision.d.ts +2 -2
- package/dist/revision.js +2 -2
- package/dist/setup/wizard/steps/ImportModelDialog.js +3 -3
- package/dist/setup/wizard/steps/ImportModelDialog.js.map +1 -1
- package/dist/splash-screen/ModernSplashScreen.js +26 -17
- package/dist/splash-screen/ModernSplashScreen.js.map +1 -1
- package/dist/splash-screen/ParheliaAssistantChat.js +2 -2
- package/dist/splash-screen/ParheliaAssistantChat.js.map +1 -1
- package/dist/splash-screen/RecentPages.js +2 -2
- package/dist/splash-screen/RecentPages.js.map +1 -1
- package/dist/task-board/TaskBoardWorkspace.js +153 -164
- package/dist/task-board/TaskBoardWorkspace.js.map +1 -1
- package/dist/task-board/components/CommentsList.js +1 -1
- package/dist/task-board/components/CommentsList.js.map +1 -1
- package/dist/task-board/components/CreateTaskDialog.js +10 -6
- package/dist/task-board/components/CreateTaskDialog.js.map +1 -1
- package/dist/task-board/components/ItemCollectionEditorDialog.js +1 -1
- package/dist/task-board/components/ItemCollectionEditorDialog.js.map +1 -1
- package/dist/task-board/components/ProjectDashboard.d.ts +12 -22
- package/dist/task-board/components/ProjectDashboard.js +121 -109
- package/dist/task-board/components/ProjectDashboard.js.map +1 -1
- package/dist/task-board/components/ProjectListContent.js +5 -5
- package/dist/task-board/components/ProjectListContent.js.map +1 -1
- package/dist/task-board/components/ProjectOverviewContent.js +7 -4
- package/dist/task-board/components/ProjectOverviewContent.js.map +1 -1
- package/dist/task-board/components/ProjectPropertiesPanel.d.ts +2 -0
- package/dist/task-board/components/ProjectPropertiesPanel.js +12 -9
- package/dist/task-board/components/ProjectPropertiesPanel.js.map +1 -1
- package/dist/task-board/components/ProjectSettingsDialog.d.ts +18 -0
- package/dist/task-board/components/ProjectSettingsDialog.js +57 -47
- package/dist/task-board/components/ProjectSettingsDialog.js.map +1 -1
- package/dist/task-board/components/TaskAgentPanel.js +6 -5
- package/dist/task-board/components/TaskAgentPanel.js.map +1 -1
- package/dist/task-board/components/TaskAssigneePicker.js +3 -2
- package/dist/task-board/components/TaskAssigneePicker.js.map +1 -1
- package/dist/task-board/components/TaskAttachmentsSection.js +2 -2
- package/dist/task-board/components/TaskAttachmentsSection.js.map +1 -1
- package/dist/task-board/components/TaskBoardHomeView.d.ts +1 -21
- package/dist/task-board/components/TaskBoardHomeView.js +18 -155
- package/dist/task-board/components/TaskBoardHomeView.js.map +1 -1
- package/dist/task-board/components/TaskBoardMyTasksSidebar.js +4 -4
- package/dist/task-board/components/TaskBoardMyTasksSidebar.js.map +1 -1
- package/dist/task-board/components/TaskBoardProjectListSidebar.js +71 -14
- package/dist/task-board/components/TaskBoardProjectListSidebar.js.map +1 -1
- package/dist/task-board/components/TaskBoardTitlebar.js +9 -52
- package/dist/task-board/components/TaskBoardTitlebar.js.map +1 -1
- package/dist/task-board/components/TaskCard.js +7 -24
- package/dist/task-board/components/TaskCard.js.map +1 -1
- package/dist/task-board/components/TaskDetailPanel.js +18 -12
- package/dist/task-board/components/TaskDetailPanel.js.map +1 -1
- package/dist/task-board/components/TaskRow.js +19 -18
- package/dist/task-board/components/TaskRow.js.map +1 -1
- package/dist/task-board/components/TaskboardPersistentLogPanel.js +1 -1
- package/dist/task-board/components/TaskboardPersistentLogPanel.js.map +1 -1
- package/dist/task-board/components/WizardCommunicationCards.js +4 -4
- package/dist/task-board/components/WizardCommunicationCards.js.map +1 -1
- package/dist/task-board/components/WizardCommunicationShared.js +3 -3
- package/dist/task-board/components/WizardTaskDetailsPanel.js +2 -2
- package/dist/task-board/components/WizardTaskDetailsPanel.js.map +1 -1
- package/dist/task-board/taskBoardNavStore.d.ts +0 -2
- package/dist/task-board/taskBoardNavStore.js +0 -2
- package/dist/task-board/taskBoardNavStore.js.map +1 -1
- package/dist/task-board/taskStatus.js +2 -2
- package/dist/task-board/taskStatus.js.map +1 -1
- package/dist/task-board/views/DependencyGraphView.js +19 -8
- package/dist/task-board/views/DependencyGraphView.js.map +1 -1
- package/dist/task-board/views/KanbanView.js +240 -39
- package/dist/task-board/views/KanbanView.js.map +1 -1
- package/dist/task-board/views/ListView.js +2 -3
- package/dist/task-board/views/ListView.js.map +1 -1
- package/dist/task-board/views/WizardView.d.ts +2 -0
- package/dist/task-board/views/WizardView.js +11 -8
- package/dist/task-board/views/WizardView.js.map +1 -1
- package/package.json +2 -1
- package/styles.css +6 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TaskAssigneePicker.js","sourceRoot":"","sources":["../../../src/task-board/components/TaskAssigneePicker.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC7D,OAAO,EACL,
|
|
1
|
+
{"version":3,"file":"TaskAssigneePicker.js","sourceRoot":"","sources":["../../../src/task-board/components/TaskAssigneePicker.tsx"],"names":[],"mappings":"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"}
|
|
@@ -132,9 +132,9 @@ export function TaskAttachmentsSection(props) {
|
|
|
132
132
|
className,
|
|
133
133
|
]
|
|
134
134
|
.filter(Boolean)
|
|
135
|
-
.join(" "), children: [_jsxs("div", { className: "flex flex-wrap items-center justify-between gap-2", children: [_jsxs("div", { className: "flex items-center gap-2", children: [_jsx(Paperclip, { className: "text-neutral-grey-50 h-4 w-4" }), _jsx("span", { className: sectionHeadingClass, children: "Attachments" }), _jsx("span", { className: "rounded-badge badge-pad-sm text-2xs border-border-default text-neutral-grey-50 border bg-white font-
|
|
135
|
+
.join(" "), children: [_jsxs("div", { className: "flex flex-wrap items-center justify-between gap-2", children: [_jsxs("div", { className: "flex items-center gap-2", children: [_jsx(Paperclip, { className: "text-neutral-grey-50 h-4 w-4" }), _jsx("span", { className: sectionHeadingClass, children: "Attachments" }), _jsx("span", { className: "rounded-badge badge-pad-sm text-2xs border-border-default text-neutral-grey-50 border bg-white font-medium", children: attachments.length })] }), _jsxs("div", { className: "flex items-center gap-1", children: [_jsxs(Button, { type: "button", size: "sm", variant: "ghost", onClick: () => setAttachmentRefreshKey((key) => key + 1), disabled: attachmentsLoading, className: "text-neutral-grey-50 hover:text-neutral-grey-50 h-7 px-2 text-xs", children: [_jsx(RefreshCw, { className: `h-3 w-3 ${attachmentsLoading ? "animate-spin" : ""}` }), "Refresh"] }), canEdit ? (_jsxs(Button, { type: "button", size: "sm", onClick: openAttachmentPicker, disabled: uploadingAttachment, className: "h-7 px-3 text-xs", children: [uploadingAttachment ? (_jsx(Loader2, { className: "h-3 w-3 animate-spin" })) : (_jsx(Plus, { className: "h-3 w-3" })), "Upload"] })) : null] })] }), _jsx("input", { ref: attachmentInputRef, type: "file", multiple: true, className: "hidden", onChange: (event) => void handleAttachmentFilesSelected(event) }), attachments.length === 0 ? (_jsx("div", { className: "border-border-default text-neutral-grey-50 rounded-xl border border-dashed bg-white/70 px-4 py-6 text-center text-xs italic", children: attachmentsLoading
|
|
136
136
|
? "Loading attachments..."
|
|
137
|
-
: "No attachments yet." })) : (_jsx("div", { className: "grid gap-2", children: attachments.map((attachment) => (_jsxs("div", { className: "border-border-default flex items-center justify-between gap-3 rounded-lg border bg-white p-3
|
|
137
|
+
: "No attachments yet." })) : (_jsx("div", { className: "grid gap-2", children: attachments.map((attachment) => (_jsxs("div", { className: "border-border-default flex items-center justify-between gap-3 rounded-lg border bg-white p-3", children: [_jsxs("div", { className: "min-w-0 flex-1", children: [_jsx("button", { type: "button", onClick: () => handleDownloadAttachment(attachment.attachmentId), className: "text-neutral-grey-100 hover:text-feedback-blue truncate text-left text-sm font-medium transition-colors", children: attachment.fileName }), _jsxs("div", { className: "text-neutral-grey-50 mt-0.5 text-[11px]", children: [formatFileSize(attachment.fileSize), " |", " ", new Date(attachment.uploadedAt).toLocaleString(undefined, {
|
|
138
138
|
dateStyle: "medium",
|
|
139
139
|
timeStyle: "short",
|
|
140
140
|
}), " ", "| ", attachment.uploadedBy] })] }), _jsxs("div", { className: "flex items-center gap-1", children: [_jsxs(Button, { type: "button", size: "sm", variant: "ghost", onClick: () => handleDownloadAttachment(attachment.attachmentId), className: "text-neutral-grey-50 hover:text-neutral-grey-100 h-7 px-2 text-xs", children: [_jsx(Download, { className: "mr-1 h-3 w-3" }), "Download"] }), canEdit ? (_jsxs(Button, { type: "button", size: "sm", variant: "ghost", onClick: () => void handleDeleteAttachment(attachment), disabled: deletingAttachmentId === attachment.attachmentId, className: "text-neutral-grey-50 hover:bg-neutral-grey-5 hover:text-neutral-grey-50 h-7 px-2 text-xs", children: [_jsx(DeleteIcon, { size: "sm", className: "mr-1" }), "Delete"] })) : null] })] }, attachment.attachmentId))) }))] }));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TaskAttachmentsSection.js","sourceRoot":"","sources":["../../../src/task-board/components/TaskAttachmentsSection.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"TaskAttachmentsSection.js","sourceRoot":"","sources":["../../../src/task-board/components/TaskAttachmentsSection.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,27 +1,7 @@
|
|
|
1
|
-
import type { TaskBoardMyTaskOption, TaskBoardProjectOption } from "../taskBoardNavStore";
|
|
2
1
|
type TaskBoardHomeNav = {
|
|
3
|
-
selectedProjectId: string | null;
|
|
4
|
-
isAdministrator: boolean;
|
|
5
|
-
showAllProjects: boolean;
|
|
6
|
-
isProjectsLoading: boolean;
|
|
7
|
-
projectOptions: TaskBoardProjectOption[];
|
|
8
|
-
myTasks: TaskBoardMyTaskOption[];
|
|
9
|
-
myTasksLoading: boolean;
|
|
10
|
-
selectedTaskId: string | null;
|
|
11
|
-
onSelectProject?: (projectId: string | null) => void;
|
|
12
2
|
onCreateProject?: () => void;
|
|
13
|
-
onOpenProjectSettings?: (projectId: string) => void;
|
|
14
|
-
onDeleteProject?: (projectId: string, title: string) => void;
|
|
15
|
-
onToggleShowAllProjects?: (enabled: boolean) => void;
|
|
16
|
-
onSelectMyTask?: (task: {
|
|
17
|
-
projectId: string;
|
|
18
|
-
taskId: string;
|
|
19
|
-
}) => void;
|
|
20
3
|
};
|
|
21
|
-
export declare function TaskBoardHomeView({ nav
|
|
4
|
+
export declare function TaskBoardHomeView({ nav }: {
|
|
22
5
|
nav: TaskBoardHomeNav;
|
|
23
|
-
activeTab: number;
|
|
24
|
-
setActiveTab: (index: number) => void;
|
|
25
|
-
userFirstName?: string;
|
|
26
6
|
}): import("react/jsx-runtime").JSX.Element;
|
|
27
7
|
export {};
|
|
@@ -1,158 +1,21 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { useMemo
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
label: hour < 12 ? "Good morning" : "Hello",
|
|
21
|
-
when: hour >= 5 && hour < 12,
|
|
22
|
-
lines: [
|
|
23
|
-
"The backlog brought a sensible hat.",
|
|
24
|
-
"Tiny checkboxes, unusually large ambitions.",
|
|
25
|
-
"The tasks have formed an orderly queue. Suspicious, but useful.",
|
|
26
|
-
],
|
|
27
|
-
},
|
|
28
|
-
{
|
|
29
|
-
label: "Good afternoon",
|
|
30
|
-
when: hour >= 12 && hour < 18,
|
|
31
|
-
lines: [
|
|
32
|
-
"The board is pretending to be calm.",
|
|
33
|
-
"A little progress parade is forming.",
|
|
34
|
-
"Tiny tickets, big main-character energy.",
|
|
35
|
-
],
|
|
36
|
-
},
|
|
37
|
-
{
|
|
38
|
-
label: "Good evening",
|
|
39
|
-
when: hour >= 18 && hour < 23,
|
|
40
|
-
lines: [
|
|
41
|
-
"The backlog is wearing slippers now.",
|
|
42
|
-
"One last neat column before dinner glory.",
|
|
43
|
-
"Evening mode: polish, nudge, done.",
|
|
44
|
-
],
|
|
45
|
-
},
|
|
46
|
-
];
|
|
47
|
-
const slot = slots.find((entry) => entry.when) ?? slots[0];
|
|
48
|
-
const line = slot.lines[Math.floor(Math.random() * slot.lines.length)] ?? "";
|
|
49
|
-
return {
|
|
50
|
-
label: `${slot.label}${userFirstName ? `, ${userFirstName}` : ""}.`,
|
|
51
|
-
line,
|
|
52
|
-
};
|
|
53
|
-
}
|
|
54
|
-
function renderCountBadge(count) {
|
|
55
|
-
if (count <= 0)
|
|
56
|
-
return undefined;
|
|
57
|
-
return (_jsx("span", { className: "rounded-badge bg-neutral-grey-10 badge-pad-sm text-2xs text-neutral-grey-100 font-semibold", children: count }));
|
|
58
|
-
}
|
|
59
|
-
function formatUpdatedDate(value) {
|
|
60
|
-
if (!value)
|
|
61
|
-
return null;
|
|
62
|
-
const date = new Date(value);
|
|
63
|
-
if (!Number.isFinite(date.getTime()))
|
|
64
|
-
return null;
|
|
65
|
-
return date.toLocaleDateString();
|
|
66
|
-
}
|
|
67
|
-
function taskStatusBadgeClass(status) {
|
|
68
|
-
const normalized = status.toLowerCase();
|
|
69
|
-
if (normalized.includes("done")) {
|
|
70
|
-
return "bg-feedback-green-light text-feedback-green";
|
|
71
|
-
}
|
|
72
|
-
if (normalized.includes("progress")) {
|
|
73
|
-
return "bg-feedback-green-light text-feedback-green";
|
|
74
|
-
}
|
|
75
|
-
if (normalized.includes("review") || normalized.includes("waiting")) {
|
|
76
|
-
return "bg-feedback-orange-light text-feedback-orange";
|
|
77
|
-
}
|
|
78
|
-
return "bg-neutral-grey-5 text-neutral-grey-100";
|
|
79
|
-
}
|
|
80
|
-
function SmallBadge({ children, className, }) {
|
|
81
|
-
return (_jsx("span", { className: cn("badge-pad-sm shrink-0 rounded-[4px] text-[10px] font-medium", className), children: children }));
|
|
82
|
-
}
|
|
83
|
-
function EmptyGalleryState({ title, description, }) {
|
|
84
|
-
return (_jsxs("div", { className: "flex flex-col items-center justify-center py-16 text-center", children: [_jsx("div", { className: "bg-neutral-grey-5 text-neutral-grey-50 mb-3 flex size-12 items-center justify-center rounded", children: _jsx(SearchX, { size: 24 }) }), _jsx("h4", { className: "text-neutral-grey-100 text-sm font-semibold", children: title }), _jsx("p", { className: "text-neutral-grey-50 mt-1 text-xs", children: description })] }));
|
|
85
|
-
}
|
|
86
|
-
function ProjectGalleryCard({ project, layout, onSelect, }) {
|
|
87
|
-
const counts = project.overview?.taskCounts ?? {
|
|
88
|
-
total: 0,
|
|
89
|
-
todo: 0,
|
|
90
|
-
waiting: 0,
|
|
91
|
-
inProgress: 0,
|
|
92
|
-
review: 0,
|
|
93
|
-
done: 0,
|
|
94
|
-
};
|
|
95
|
-
const completion = counts.total > 0 ? `${counts.done}/${counts.total} done` : "No tasks yet";
|
|
96
|
-
const depth = Math.max(0, Math.min(project.depth ?? 0, 3));
|
|
97
|
-
const updatedLabel = formatUpdatedDate(project.updatedAt);
|
|
98
|
-
return (_jsxs("button", { type: "button", className: cn("group border-border-default hover:border-neutral-grey-50/40 relative flex cursor-pointer items-start gap-4 rounded-lg border bg-white p-4 text-left transition-all duration-200 hover:shadow-md", layout === "grid" ? "min-h-[124px] flex-col sm:flex-row" : "flex-row"), onClick: () => onSelect?.(project.projectId), "data-testid": `taskboard-home-project-card-${project.projectId}`, children: [_jsx("div", { className: "bg-neutral-grey-5 text-neutral-grey-100 flex size-12 shrink-0 items-center justify-center rounded-lg", children: _jsx(LayoutGrid, { className: "size-6", strokeWidth: 1.5 }) }), _jsxs("div", { className: "flex min-w-0 flex-1 flex-col gap-2", children: [_jsxs("div", { className: "min-w-0", children: [_jsxs("h3", { className: "text-neutral-grey-100 truncate text-sm font-bold tracking-tight", children: [depth > 0 ? `${"> ".repeat(depth)}` : "", project.title] }), _jsx("p", { className: cn("text-neutral-grey-50 mt-1 text-xs leading-relaxed", layout === "grid" ? "line-clamp-2" : "line-clamp-1"), title: project.description?.trim() || "No description", children: project.description?.trim() || "No description" })] }), _jsxs("div", { className: "space-y-2", children: [_jsxs("div", { className: "text-neutral-grey-50 flex items-center justify-between gap-3 text-[11px]", children: [_jsx("span", { children: "Progress" }), _jsx("span", { children: completion })] }), _jsx(TaskStateProgressBar, { counts: counts })] }), _jsxs("div", { className: "text-neutral-grey-50 flex flex-wrap items-center gap-2 text-[11px]", children: [_jsxs("span", { className: "inline-flex items-center gap-1", children: [_jsx(Shield, { className: "size-3" }), project.permission] }), project.status ? (_jsx(SmallBadge, { className: "bg-neutral-grey-5 text-neutral-grey-100", children: project.status })) : null, updatedLabel ? (_jsxs("span", { className: "inline-flex items-center gap-1", children: [_jsx(Clock, { className: "size-3" }), updatedLabel] })) : null, project.overview?.directSubprojectCount ? (_jsxs("span", { children: [project.overview.directSubprojectCount, " subproject", project.overview.directSubprojectCount === 1 ? "" : "s"] })) : null] })] })] }));
|
|
99
|
-
}
|
|
100
|
-
function CreateProjectCard({ layout, onCreateProject, }) {
|
|
101
|
-
return (_jsxs("button", { type: "button", onClick: () => onCreateProject?.(), className: cn("group border-border-default/70 relative flex cursor-pointer items-start gap-4 rounded-lg border bg-neutral-grey-10/70 p-4 text-left transition-all duration-200 hover:border-neutral-grey-50/40 hover:bg-neutral-grey-10 hover:shadow-md", layout === "grid" ? "min-h-[124px] flex-col sm:flex-row" : "flex-row"), "data-testid": "taskboard-home-create-project-card", children: [_jsx("div", { className: "bg-neutral-grey-100/10 text-neutral-grey-100 flex size-12 shrink-0 items-center justify-center rounded-lg", children: _jsx(FolderPlus, { className: "size-6", strokeWidth: 1.5 }) }), _jsxs("div", { className: "flex min-w-0 flex-1 flex-col gap-1", children: [_jsx("h3", { className: "text-neutral-grey-100 truncate text-sm font-bold tracking-tight", children: "Create a new project" }), _jsx("p", { className: "text-neutral-grey-100/80 line-clamp-3 text-xs leading-relaxed", children: "Start a new taskboard project and gather the work in one place." })] })] }));
|
|
102
|
-
}
|
|
103
|
-
function TaskGalleryCard({ task, layout, selected, onSelect, }) {
|
|
104
|
-
const updatedLabel = formatUpdatedDate(task.updatedAt);
|
|
105
|
-
return (_jsxs("button", { type: "button", className: cn("group border-border-default hover:border-neutral-grey-50/40 relative flex cursor-pointer items-start gap-4 rounded-lg border bg-white p-4 text-left transition-all duration-200 hover:shadow-md", layout === "grid" ? "min-h-[108px] flex-col sm:flex-row" : "flex-row", selected && "border-neutral-grey-50/40 bg-neutral-grey-5"), onClick: () => onSelect?.({
|
|
106
|
-
projectId: task.projectId,
|
|
107
|
-
taskId: task.taskId,
|
|
108
|
-
}), "data-testid": `taskboard-home-my-task-option-${task.taskId}`, children: [_jsx("div", { className: "bg-neutral-grey-5 text-neutral-grey-100 flex size-12 shrink-0 items-center justify-center rounded-lg", children: _jsx(ClipboardCheck, { className: "size-6", strokeWidth: 1.5 }) }), _jsxs("div", { className: "flex min-w-0 flex-1 flex-col gap-1", children: [_jsx("h3", { className: "text-neutral-grey-100 truncate text-sm font-bold tracking-tight", children: task.title }), _jsxs("p", { className: cn("text-neutral-grey-50 text-xs leading-relaxed", layout === "grid" ? "line-clamp-2" : "line-clamp-1"), title: task.projectTitle, children: [task.projectTitle || "Untitled project", updatedLabel ? ` - ${updatedLabel}` : ""] }), _jsx("div", { className: "mt-1", children: _jsx(SmallBadge, { className: taskStatusBadgeClass(task.status), children: task.status }) })] })] }));
|
|
109
|
-
}
|
|
110
|
-
function TaskBoardGalleryContent({ nav, activeTabId, layout, }) {
|
|
111
|
-
const visibleProjects = nav.projectOptions;
|
|
112
|
-
if (activeTabId === "my-tasks") {
|
|
113
|
-
if (nav.myTasksLoading) {
|
|
114
|
-
return (_jsxs("div", { className: "flex flex-col items-center justify-center py-16 text-center", children: [_jsx(Loader2, { className: "text-neutral-grey-50 size-8 animate-spin" }), _jsx("p", { className: "text-neutral-grey-50 mt-4 text-sm font-medium", children: "Loading tasks..." })] }));
|
|
115
|
-
}
|
|
116
|
-
if (nav.myTasks.length === 0) {
|
|
117
|
-
return (_jsx(EmptyGalleryState, { title: "No tasks assigned", description: "Your personal task queue is blissfully quiet." }));
|
|
118
|
-
}
|
|
119
|
-
return (_jsx("div", { className: cn("mt-6 gap-4", layout === "grid"
|
|
120
|
-
? "@lg:grid-cols-2 @3xl:grid-cols-3 @5xl:grid-cols-4 grid grid-cols-1"
|
|
121
|
-
: "flex flex-col"), children: nav.myTasks.map((task) => (_jsx(TaskGalleryCard, { task: task, layout: layout, selected: nav.selectedProjectId === task.projectId &&
|
|
122
|
-
nav.selectedTaskId === task.taskId, onSelect: nav.onSelectMyTask }, `${task.projectId}:${task.taskId}`))) }));
|
|
123
|
-
}
|
|
124
|
-
if (nav.isProjectsLoading && nav.projectOptions.length === 0) {
|
|
125
|
-
return (_jsxs("div", { className: "flex flex-col items-center justify-center py-16 text-center", children: [_jsx(Loader2, { className: "text-neutral-grey-50 size-8 animate-spin" }), _jsx("p", { className: "text-neutral-grey-50 mt-4 text-sm font-medium", children: "Loading projects..." })] }));
|
|
126
|
-
}
|
|
127
|
-
if (visibleProjects.length === 0) {
|
|
128
|
-
return (_jsxs("div", { children: [_jsx(EmptyGalleryState, { title: "No projects yet", description: "Create your first project and give those tasks somewhere to live." }), nav.onCreateProject ? (_jsx("div", { className: "mx-auto mt-2 max-w-sm", children: _jsx(CreateProjectCard, { layout: "grid", onCreateProject: nav.onCreateProject }) })) : null] }));
|
|
129
|
-
}
|
|
130
|
-
return (_jsxs("div", { className: cn("mt-6 gap-4", layout === "grid"
|
|
131
|
-
? "@lg:grid-cols-2 @3xl:grid-cols-3 @5xl:grid-cols-4 grid grid-cols-1"
|
|
132
|
-
: "flex flex-col"), children: [visibleProjects.map((project) => (_jsx(ProjectGalleryCard, { project: project, layout: layout, onSelect: (projectId) => nav.onSelectProject?.(projectId) }, project.projectId))), nav.onCreateProject ? (_jsx(CreateProjectCard, { layout: layout, onCreateProject: nav.onCreateProject })) : null] }));
|
|
133
|
-
}
|
|
134
|
-
export function TaskBoardHomeView({ nav, activeTab, setActiveTab, userFirstName, }) {
|
|
135
|
-
const [layout, setLayout] = useState("grid");
|
|
136
|
-
const greeting = useMemo(() => getTaskBoardGreeting(userFirstName), [userFirstName]);
|
|
137
|
-
const tabs = useMemo(() => [
|
|
138
|
-
{
|
|
139
|
-
id: "projects",
|
|
140
|
-
label: "Projects",
|
|
141
|
-
content: null,
|
|
142
|
-
badge: renderCountBadge(nav.projectOptions.length),
|
|
143
|
-
},
|
|
144
|
-
{
|
|
145
|
-
id: "my-tasks",
|
|
146
|
-
label: "My Tasks",
|
|
147
|
-
content: null,
|
|
148
|
-
badge: renderCountBadge(nav.myTasks.length),
|
|
149
|
-
},
|
|
150
|
-
], [nav.myTasks.length, nav.projectOptions.length]);
|
|
151
|
-
const activeTabId = tabs[activeTab]?.id ?? "projects";
|
|
152
|
-
return (_jsx("div", { className: "@container bg-neutral-grey-5 h-full overflow-y-auto px-8 py-10 lg:px-14", "data-testid": "taskboard-home-view", children: _jsxs("div", { className: "mx-auto max-w-6xl", children: [_jsxs("header", { children: [_jsx("p", { className: "text-neutral-grey-50 text-base font-normal", children: greeting.label }), _jsx("h1", { className: "text-neutral-grey-100 mt-3 text-3xl font-semibold tracking-tight", children: greeting.line }), _jsx("p", { className: "text-neutral-grey-50 mt-2 text-sm", children: "Pick a project or jump straight into the tasks waiting for you." })] }), _jsxs("div", { className: "border-border-default mt-6 flex items-end justify-between gap-4 border-b", children: [_jsx(SimpleTabs, { tabs: tabs, activeTab: activeTab, setActiveTab: setActiveTab, hideContent: true, variant: "large", className: "min-w-0", testId: "taskboard-home-tab-switcher" }), _jsxs("div", { className: "mb-2 flex shrink-0 items-center gap-0.5", children: [_jsx("button", { type: "button", onClick: () => setLayout("list"), className: cn("flex size-8 items-center justify-center rounded transition-colors", layout === "list"
|
|
153
|
-
? "text-neutral-grey-100 bg-neutral-grey-5"
|
|
154
|
-
: "text-neutral-grey-50 hover:text-neutral-grey-100"), title: "List view", "aria-label": "List view", "data-testid": "taskboard-home-list-toggle", children: _jsx(List, { className: "size-4.5", strokeWidth: 2 }) }), _jsx("button", { type: "button", onClick: () => setLayout("grid"), className: cn("flex size-8 items-center justify-center rounded transition-colors", layout === "grid"
|
|
155
|
-
? "text-neutral-grey-100 bg-neutral-grey-5"
|
|
156
|
-
: "text-neutral-grey-50 hover:text-neutral-grey-100"), title: "Grid view", "aria-label": "Grid view", "data-testid": "taskboard-home-grid-toggle", children: _jsx(LayoutGrid, { className: "size-4.5", strokeWidth: 2 }) })] })] }), _jsx(TaskBoardGalleryContent, { nav: nav, activeTabId: activeTabId, layout: layout })] }) }));
|
|
2
|
+
import { useMemo } from "react";
|
|
3
|
+
import { Plus } from "lucide-react";
|
|
4
|
+
import { Button } from "../../components/ui/button";
|
|
5
|
+
const TASKBOARD_EMPTY_SLOGANS = [
|
|
6
|
+
"A fresh board. Suspiciously clean.",
|
|
7
|
+
"Backlog, meet destiny.",
|
|
8
|
+
"Tiny tasks, big main character energy.",
|
|
9
|
+
"No cards yet. The calm before the columns.",
|
|
10
|
+
"One more project? Famous last words.",
|
|
11
|
+
"Kanban't stop, won't stop.",
|
|
12
|
+
"The board is empty. Bold move.",
|
|
13
|
+
"Give those sticky notes a purpose.",
|
|
14
|
+
"New project smell, zero dependencies.",
|
|
15
|
+
"Somewhere, a checklist is waiting.",
|
|
16
|
+
];
|
|
17
|
+
export function TaskBoardHomeView({ nav }) {
|
|
18
|
+
const slogan = useMemo(() => TASKBOARD_EMPTY_SLOGANS[Math.floor(Math.random() * TASKBOARD_EMPTY_SLOGANS.length)] ?? TASKBOARD_EMPTY_SLOGANS[0], []);
|
|
19
|
+
return (_jsx("div", { className: "bg-neutral-grey-5 flex h-full min-h-[420px] w-full items-center justify-center px-6 py-10", "data-testid": "taskboard-home-view", children: _jsxs("div", { className: "flex w-full max-w-[560px] flex-col items-center text-center", children: [_jsx("h1", { className: "text-neutral-grey-100 text-5xl leading-tight font-medium tracking-normal", children: slogan }), _jsxs(Button, { type: "button", variant: "outline", className: "border-border-default hover:border-neutral-grey-15 group active:bg-neutral-grey-5 mt-12 flex h-[134px] w-full max-w-[300px] flex-col items-center justify-center gap-4 rounded-md bg-white px-6 text-base font-medium shadow-none transition-all duration-150 hover:bg-white active:translate-y-px active:scale-[0.985] active:shadow-inner", onClick: () => nav.onCreateProject?.(), disabled: !nav.onCreateProject, "data-testid": "taskboard-home-create-project-card", children: [_jsx("span", { className: "bg-neutral-grey-5 text-neutral-grey-100 group-hover:bg-neutral-grey-10 flex size-11 items-center justify-center rounded-md transition-colors duration-150", children: _jsx(Plus, { className: "size-6", strokeWidth: 1.5 }) }), _jsx("span", { children: "Start your next project" })] })] }) }));
|
|
157
20
|
}
|
|
158
21
|
//# sourceMappingURL=TaskBoardHomeView.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TaskBoardHomeView.js","sourceRoot":"","sources":["../../../src/task-board/components/TaskBoardHomeView.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAkB,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC1D,OAAO,EACL,cAAc,EACd,KAAK,EACL,UAAU,EACV,UAAU,EACV,IAAI,EACJ,OAAO,EACP,OAAO,EACP,MAAM,GACP,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,UAAU,EAAY,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAE,EAAE,EAAE,MAAM,iBAAiB,CAAC;AAKrC,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAqB1D,SAAS,oBAAoB,CAAC,aAAiC;IAC7D,MAAM,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC,QAAQ,EAAE,CAAC;IACnC,MAAM,KAAK,GAAG;QACZ;YACE,KAAK,EAAE,UAAU;YACjB,IAAI,EAAE,IAAI,IAAI,EAAE,IAAI,IAAI,GAAG,CAAC;YAC5B,KAAK,EAAE;gBACL,gDAAgD;gBAChD,kDAAkD;gBAClD,sDAAsD;aACvD;SACF;QACD;YACE,KAAK,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,OAAO;YAC3C,IAAI,EAAE,IAAI,IAAI,CAAC,IAAI,IAAI,GAAG,EAAE;YAC5B,KAAK,EAAE;gBACL,qCAAqC;gBACrC,6CAA6C;gBAC7C,iEAAiE;aAClE;SACF;QACD;YACE,KAAK,EAAE,gBAAgB;YACvB,IAAI,EAAE,IAAI,IAAI,EAAE,IAAI,IAAI,GAAG,EAAE;YAC7B,KAAK,EAAE;gBACL,qCAAqC;gBACrC,sCAAsC;gBACtC,0CAA0C;aAC3C;SACF;QACD;YACE,KAAK,EAAE,cAAc;YACrB,IAAI,EAAE,IAAI,IAAI,EAAE,IAAI,IAAI,GAAG,EAAE;YAC7B,KAAK,EAAE;gBACL,sCAAsC;gBACtC,2CAA2C;gBAC3C,oCAAoC;aACrC;SACF;KACF,CAAC;IAEF,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC;IAC3D,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;IAC7E,OAAO;QACL,KAAK,EAAE,GAAG,IAAI,CAAC,KAAK,GAAG,aAAa,CAAC,CAAC,CAAC,KAAK,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG;QACnE,IAAI;KACL,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAa;IACrC,IAAI,KAAK,IAAI,CAAC;QAAE,OAAO,SAAS,CAAC;IACjC,OAAO,CACL,eAAM,SAAS,EAAC,4FAA4F,YACzG,KAAK,GACD,CACR,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAyB;IAClD,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IACxB,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC;IAC7B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;QAAE,OAAO,IAAI,CAAC;IAClD,OAAO,IAAI,CAAC,kBAAkB,EAAE,CAAC;AACnC,CAAC;AAED,SAAS,oBAAoB,CAAC,MAAc;IAC1C,MAAM,UAAU,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;IACxC,IAAI,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QAChC,OAAO,6CAA6C,CAAC;IACvD,CAAC;IACD,IAAI,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;QACpC,OAAO,6CAA6C,CAAC;IACvD,CAAC;IACD,IAAI,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;QACpE,OAAO,+CAA+C,CAAC;IACzD,CAAC;IACD,OAAO,yCAAyC,CAAC;AACnD,CAAC;AAED,SAAS,UAAU,CAAC,EAClB,QAAQ,EACR,SAAS,GAIV;IACC,OAAO,CACL,eACE,SAAS,EAAE,EAAE,CACX,6DAA6D,EAC7D,SAAS,CACV,YAEA,QAAQ,GACJ,CACR,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CAAC,EACzB,KAAK,EACL,WAAW,GAIZ;IACC,OAAO,CACL,eAAK,SAAS,EAAC,6DAA6D,aAC1E,cAAK,SAAS,EAAC,8FAA8F,YAC3G,KAAC,OAAO,IAAC,IAAI,EAAE,EAAE,GAAI,GACjB,EACN,aAAI,SAAS,EAAC,6CAA6C,YAAE,KAAK,GAAM,EACxE,YAAG,SAAS,EAAC,mCAAmC,YAAE,WAAW,GAAK,IAC9D,CACP,CAAC;AACJ,CAAC;AAED,SAAS,kBAAkB,CAAC,EAC1B,OAAO,EACP,MAAM,EACN,QAAQ,GAKT;IACC,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,EAAE,UAAU,IAAI;QAC7C,KAAK,EAAE,CAAC;QACR,IAAI,EAAE,CAAC;QACP,OAAO,EAAE,CAAC;QACV,UAAU,EAAE,CAAC;QACb,MAAM,EAAE,CAAC;QACT,IAAI,EAAE,CAAC;KACR,CAAC;IACF,MAAM,UAAU,GACd,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,cAAc,CAAC;IAC5E,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC3D,MAAM,YAAY,GAAG,iBAAiB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAE1D,OAAO,CACL,kBACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAE,EAAE,CACX,iMAAiM,EACjM,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,oCAAoC,CAAC,CAAC,CAAC,UAAU,CACtE,EACD,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,iBAC/B,+BAA+B,OAAO,CAAC,SAAS,EAAE,aAE/D,cAAK,SAAS,EAAC,sGAAsG,YACnH,KAAC,UAAU,IAAC,SAAS,EAAC,QAAQ,EAAC,WAAW,EAAE,GAAG,GAAI,GAC/C,EAEN,eAAK,SAAS,EAAC,oCAAoC,aACjD,eAAK,SAAS,EAAC,SAAS,aACtB,cAAI,SAAS,EAAC,iEAAiE,aAC5E,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EACxC,OAAO,CAAC,KAAK,IACX,EACL,YACE,SAAS,EAAE,EAAE,CACX,mDAAmD,EACnD,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,cAAc,CACpD,EACD,KAAK,EAAE,OAAO,CAAC,WAAW,EAAE,IAAI,EAAE,IAAI,gBAAgB,YAErD,OAAO,CAAC,WAAW,EAAE,IAAI,EAAE,IAAI,gBAAgB,GAC9C,IACA,EAEN,eAAK,SAAS,EAAC,WAAW,aACxB,eAAK,SAAS,EAAC,0EAA0E,aACvF,sCAAqB,EACrB,yBAAO,UAAU,GAAQ,IACrB,EACN,KAAC,oBAAoB,IAAC,MAAM,EAAE,MAAM,GAAI,IACpC,EAEN,eAAK,SAAS,EAAC,oEAAoE,aACjF,gBAAM,SAAS,EAAC,gCAAgC,aAC9C,KAAC,MAAM,IAAC,SAAS,EAAC,QAAQ,GAAG,EAC5B,OAAO,CAAC,UAAU,IACd,EACN,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAChB,KAAC,UAAU,IAAC,SAAS,EAAC,yCAAyC,YAC5D,OAAO,CAAC,MAAM,GACJ,CACd,CAAC,CAAC,CAAC,IAAI,EACP,YAAY,CAAC,CAAC,CAAC,CACd,gBAAM,SAAS,EAAC,gCAAgC,aAC9C,KAAC,KAAK,IAAC,SAAS,EAAC,QAAQ,GAAG,EAC3B,YAAY,IACR,CACR,CAAC,CAAC,CAAC,IAAI,EACP,OAAO,CAAC,QAAQ,EAAE,qBAAqB,CAAC,CAAC,CAAC,CACzC,2BACG,OAAO,CAAC,QAAQ,CAAC,qBAAqB,iBACtC,OAAO,CAAC,QAAQ,CAAC,qBAAqB,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,IACnD,CACR,CAAC,CAAC,CAAC,IAAI,IACJ,IACF,IACC,CACV,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CAAC,EACzB,MAAM,EACN,eAAe,GAIhB;IACC,OAAO,CACL,kBACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,GAAG,EAAE,CAAC,eAAe,EAAE,EAAE,EAClC,SAAS,EAAE,EAAE,CACX,0OAA0O,EAC1O,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,oCAAoC,CAAC,CAAC,CAAC,UAAU,CACtE,iBACW,oCAAoC,aAEhD,cAAK,SAAS,EAAC,2GAA2G,YACxH,KAAC,UAAU,IAAC,SAAS,EAAC,QAAQ,EAAC,WAAW,EAAE,GAAG,GAAI,GAC/C,EACN,eAAK,SAAS,EAAC,oCAAoC,aACjD,aAAI,SAAS,EAAC,iEAAiE,qCAE1E,EACL,YAAG,SAAS,EAAC,+DAA+D,gFAExE,IACA,IACC,CACV,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CAAC,EACvB,IAAI,EACJ,MAAM,EACN,QAAQ,EACR,QAAQ,GAMT;IACC,MAAM,YAAY,GAAG,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAEvD,OAAO,CACL,kBACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAE,EAAE,CACX,iMAAiM,EACjM,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,oCAAoC,CAAC,CAAC,CAAC,UAAU,EACrE,QAAQ,IAAI,6CAA6C,CAC1D,EACD,OAAO,EAAE,GAAG,EAAE,CACZ,QAAQ,EAAE,CAAC;YACT,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,MAAM,EAAE,IAAI,CAAC,MAAM;SACpB,CAAC,iBAES,iCAAiC,IAAI,CAAC,MAAM,EAAE,aAE3D,cAAK,SAAS,EAAC,sGAAsG,YACnH,KAAC,cAAc,IAAC,SAAS,EAAC,QAAQ,EAAC,WAAW,EAAE,GAAG,GAAI,GACnD,EAEN,eAAK,SAAS,EAAC,oCAAoC,aACjD,aAAI,SAAS,EAAC,iEAAiE,YAC5E,IAAI,CAAC,KAAK,GACR,EACL,aACE,SAAS,EAAE,EAAE,CACX,8CAA8C,EAC9C,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,cAAc,CACpD,EACD,KAAK,EAAE,IAAI,CAAC,YAAY,aAEvB,IAAI,CAAC,YAAY,IAAI,kBAAkB,EACvC,YAAY,CAAC,CAAC,CAAC,MAAM,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,IACvC,EACJ,cAAK,SAAS,EAAC,MAAM,YACnB,KAAC,UAAU,IAAC,SAAS,EAAE,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC,YACrD,IAAI,CAAC,MAAM,GACD,GACT,IACF,IACC,CACV,CAAC;AACJ,CAAC;AAED,SAAS,uBAAuB,CAAC,EAC/B,GAAG,EACH,WAAW,EACX,MAAM,GAKP;IACC,MAAM,eAAe,GAAG,GAAG,CAAC,cAAc,CAAC;IAE3C,IAAI,WAAW,KAAK,UAAU,EAAE,CAAC;QAC/B,IAAI,GAAG,CAAC,cAAc,EAAE,CAAC;YACvB,OAAO,CACL,eAAK,SAAS,EAAC,6DAA6D,aAC1E,KAAC,OAAO,IAAC,SAAS,EAAC,0CAA0C,GAAG,EAChE,YAAG,SAAS,EAAC,+CAA+C,iCAExD,IACA,CACP,CAAC;QACJ,CAAC;QAED,IAAI,GAAG,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC7B,OAAO,CACL,KAAC,iBAAiB,IAChB,KAAK,EAAC,mBAAmB,EACzB,WAAW,EAAC,+CAA+C,GAC3D,CACH,CAAC;QACJ,CAAC;QAED,OAAO,CACL,cACE,SAAS,EAAE,EAAE,CACX,YAAY,EACZ,MAAM,KAAK,MAAM;gBACf,CAAC,CAAC,oEAAoE;gBACtE,CAAC,CAAC,eAAe,CACpB,YAEA,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CACzB,KAAC,eAAe,IAEd,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,MAAM,EACd,QAAQ,EACN,GAAG,CAAC,iBAAiB,KAAK,IAAI,CAAC,SAAS;oBACxC,GAAG,CAAC,cAAc,KAAK,IAAI,CAAC,MAAM,EAEpC,QAAQ,EAAE,GAAG,CAAC,cAAc,IAPvB,GAAG,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,MAAM,EAAE,CAQvC,CACH,CAAC,GACE,CACP,CAAC;IACJ,CAAC;IAED,IAAI,GAAG,CAAC,iBAAiB,IAAI,GAAG,CAAC,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7D,OAAO,CACL,eAAK,SAAS,EAAC,6DAA6D,aAC1E,KAAC,OAAO,IAAC,SAAS,EAAC,0CAA0C,GAAG,EAChE,YAAG,SAAS,EAAC,+CAA+C,oCAExD,IACA,CACP,CAAC;IACJ,CAAC;IAED,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACjC,OAAO,CACL,0BACE,KAAC,iBAAiB,IAChB,KAAK,EAAC,iBAAiB,EACvB,WAAW,EAAC,mEAAmE,GAC/E,EACD,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,CACrB,cAAK,SAAS,EAAC,uBAAuB,YACpC,KAAC,iBAAiB,IAChB,MAAM,EAAC,MAAM,EACb,eAAe,EAAE,GAAG,CAAC,eAAe,GACpC,GACE,CACP,CAAC,CAAC,CAAC,IAAI,IACJ,CACP,CAAC;IACJ,CAAC;IAED,OAAO,CACL,eACE,SAAS,EAAE,EAAE,CACX,YAAY,EACZ,MAAM,KAAK,MAAM;YACf,CAAC,CAAC,oEAAoE;YACtE,CAAC,CAAC,eAAe,CACpB,aAEA,eAAe,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAChC,KAAC,kBAAkB,IAEjB,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC,SAAS,CAAC,IAHpD,OAAO,CAAC,SAAS,CAItB,CACH,CAAC,EACD,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,CACrB,KAAC,iBAAiB,IAChB,MAAM,EAAE,MAAM,EACd,eAAe,EAAE,GAAG,CAAC,eAAe,GACpC,CACH,CAAC,CAAC,CAAC,IAAI,IACJ,CACP,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,EAChC,GAAG,EACH,SAAS,EACT,YAAY,EACZ,aAAa,GAMd;IACC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAyB,MAAM,CAAC,CAAC;IACrE,MAAM,QAAQ,GAAG,OAAO,CACtB,GAAG,EAAE,CAAC,oBAAoB,CAAC,aAAa,CAAC,EACzC,CAAC,aAAa,CAAC,CAChB,CAAC;IAEF,MAAM,IAAI,GAAU,OAAO,CACzB,GAAG,EAAE,CAAC;QACJ;YACE,EAAE,EAAE,UAAU;YACd,KAAK,EAAE,UAAU;YACjB,OAAO,EAAE,IAAI;YACb,KAAK,EAAE,gBAAgB,CAAC,GAAG,CAAC,cAAc,CAAC,MAAM,CAAC;SACnD;QACD;YACE,EAAE,EAAE,UAAU;YACd,KAAK,EAAE,UAAU;YACjB,OAAO,EAAE,IAAI;YACb,KAAK,EAAE,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC;SAC5C;KACF,EACD,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,cAAc,CAAC,MAAM,CAAC,CAChD,CAAC;IACF,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,IAAI,UAAU,CAAC;IAEtD,OAAO,CACL,cACE,SAAS,EAAC,yEAAyE,iBACvE,qBAAqB,YAEjC,eAAK,SAAS,EAAC,mBAAmB,aAChC,6BACE,YAAG,SAAS,EAAC,4CAA4C,YACtD,QAAQ,CAAC,KAAK,GACb,EACJ,aAAI,SAAS,EAAC,kEAAkE,YAC7E,QAAQ,CAAC,IAAI,GACX,EACL,YAAG,SAAS,EAAC,mCAAmC,gFAE5C,IACG,EAET,eAAK,SAAS,EAAC,0EAA0E,aACvF,KAAC,UAAU,IACT,IAAI,EAAE,IAAI,EACV,SAAS,EAAE,SAAS,EACpB,YAAY,EAAE,YAAY,EAC1B,WAAW,QACX,OAAO,EAAC,OAAO,EACf,SAAS,EAAC,SAAS,EACnB,MAAM,EAAC,6BAA6B,GACpC,EACF,eAAK,SAAS,EAAC,yCAAyC,aACtD,iBACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,EAChC,SAAS,EAAE,EAAE,CACX,mEAAmE,EACnE,MAAM,KAAK,MAAM;wCACf,CAAC,CAAC,yCAAyC;wCAC3C,CAAC,CAAC,kDAAkD,CACvD,EACD,KAAK,EAAC,WAAW,gBACN,WAAW,iBACV,4BAA4B,YAExC,KAAC,IAAI,IAAC,SAAS,EAAC,UAAU,EAAC,WAAW,EAAE,CAAC,GAAI,GACtC,EACT,iBACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,EAChC,SAAS,EAAE,EAAE,CACX,mEAAmE,EACnE,MAAM,KAAK,MAAM;wCACf,CAAC,CAAC,yCAAyC;wCAC3C,CAAC,CAAC,kDAAkD,CACvD,EACD,KAAK,EAAC,WAAW,gBACN,WAAW,iBACV,4BAA4B,YAExC,KAAC,UAAU,IAAC,SAAS,EAAC,UAAU,EAAC,WAAW,EAAE,CAAC,GAAI,GAC5C,IACL,IACF,EAEN,KAAC,uBAAuB,IACtB,GAAG,EAAE,GAAG,EACR,WAAW,EAAE,WAAW,EACxB,MAAM,EAAE,MAAM,GACd,IACE,GACF,CACP,CAAC;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"TaskBoardHomeView.js","sourceRoot":"","sources":["../../../src/task-board/components/TaskBoardHomeView.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAChC,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAEpC,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AAMpD,MAAM,uBAAuB,GAAG;IAC9B,oCAAoC;IACpC,wBAAwB;IACxB,wCAAwC;IACxC,4CAA4C;IAC5C,sCAAsC;IACtC,4BAA4B;IAC5B,gCAAgC;IAChC,oCAAoC;IACpC,uCAAuC;IACvC,oCAAoC;CACrC,CAAC;AAEF,MAAM,UAAU,iBAAiB,CAAC,EAAE,GAAG,EAA6B;IAClE,MAAM,MAAM,GAAG,OAAO,CACpB,GAAG,EAAE,CACH,uBAAuB,CACrB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,uBAAuB,CAAC,MAAM,CAAC,CAC3D,IAAI,uBAAuB,CAAC,CAAC,CAAC,EACjC,EAAE,CACH,CAAC;IAEF,OAAO,CACL,cACE,SAAS,EAAC,2FAA2F,iBACzF,qBAAqB,YAEjC,eAAK,SAAS,EAAC,6DAA6D,aAC1E,aAAI,SAAS,EAAC,0EAA0E,YACrF,MAAM,GACJ,EAEL,MAAC,MAAM,IACL,IAAI,EAAC,QAAQ,EACb,OAAO,EAAC,SAAS,EACjB,SAAS,EAAC,6UAA6U,EACvV,OAAO,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,eAAe,EAAE,EAAE,EACtC,QAAQ,EAAE,CAAC,GAAG,CAAC,eAAe,iBAClB,oCAAoC,aAEhD,eAAM,SAAS,EAAC,2JAA2J,YACzK,KAAC,IAAI,IAAC,SAAS,EAAC,QAAQ,EAAC,WAAW,EAAE,GAAG,GAAI,GACxC,EACP,qDAAoC,IAC7B,IACL,GACF,CACP,CAAC;AACJ,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { useEffect, useMemo, useState, useSyncExternalStore } from "react";
|
|
3
|
-
import { ClipboardCheck
|
|
4
|
-
import {
|
|
3
|
+
import { ClipboardCheck } from "lucide-react";
|
|
4
|
+
import { FilterInput } from "../../components/FilterInput";
|
|
5
5
|
import { cn } from "../../lib/utils";
|
|
6
6
|
import { getTaskBoardNavSnapshot, setTaskBoardNavState, subscribeTaskBoardNav, } from "../taskBoardNavStore";
|
|
7
7
|
import { useEditContext } from "../../editor/client/editContext";
|
|
@@ -60,7 +60,7 @@ export function TaskBoardMyTasksSidebar() {
|
|
|
60
60
|
task.status.toLowerCase().includes(query));
|
|
61
61
|
});
|
|
62
62
|
}, [nav.myTasks, search]);
|
|
63
|
-
return (_jsxs("div", { className: "flex h-full min-h-0 flex-col bg-white", "data-testid": "taskboard-my-tasks-sidebar", children: [_jsx("div", { className: "border-border-default border-b px-3 py-2.5", children:
|
|
63
|
+
return (_jsxs("div", { className: "flex h-full min-h-0 flex-col bg-white", "data-testid": "taskboard-my-tasks-sidebar", children: [_jsx("div", { className: "border-border-default border-b px-3 py-2.5", children: _jsx(FilterInput, { value: search, onChange: setSearch, placeholder: "Search my tasks...", size: "md", searchIconPosition: "left", testId: "taskboard-my-tasks-search" }) }), _jsx("div", { className: "min-h-0 flex-1 overflow-y-auto p-2", children: nav.myTasksLoading ? (_jsx("div", { className: "text-neutral-grey-50 rounded-md border border-dashed px-3 py-8 text-center text-xs", children: "Loading my tasks..." })) : items.length === 0 ? (_jsx("div", { className: "text-neutral-grey-50 rounded-md border border-dashed px-3 py-8 text-center text-xs", children: "No tasks assigned to you" })) : (_jsx("div", { className: "flex flex-col gap-1", children: items.map((task) => {
|
|
64
64
|
const selected = nav.selectedProjectId === task.projectId &&
|
|
65
65
|
nav.selectedTaskId === task.taskId;
|
|
66
66
|
return (_jsxs("button", { type: "button", className: cn("w-full rounded-md border px-2 py-2 text-left transition-colors", selected
|
|
@@ -68,7 +68,7 @@ export function TaskBoardMyTasksSidebar() {
|
|
|
68
68
|
: "hover:border-border-default hover:bg-neutral-grey-5/70 border-transparent"), onClick: () => nav.onSelectMyTask?.({
|
|
69
69
|
projectId: task.projectId,
|
|
70
70
|
taskId: task.taskId,
|
|
71
|
-
}), "data-testid": `taskboard-my-task-option-${task.taskId}`, children: [_jsxs("div", { className: "flex items-center gap-1.5", children: [_jsx(ClipboardCheck, { className: "text-neutral-grey-50 h-3.5 w-3.5" }), _jsx("span", { className: "text-neutral-grey-100 truncate text-xs font-medium", children: task.title })] }), _jsx("div", { className: "text-neutral-grey-50 mt-0.5 truncate pl-5 text-[10px]", children: task.projectTitle }), _jsx("div", { className: "text-neutral-grey-50 mt-1 pl-5 text-[10px] font-
|
|
71
|
+
}), "data-testid": `taskboard-my-task-option-${task.taskId}`, children: [_jsxs("div", { className: "flex items-center gap-1.5", children: [_jsx(ClipboardCheck, { className: "text-neutral-grey-50 h-3.5 w-3.5" }), _jsx("span", { className: "text-neutral-grey-100 truncate text-xs font-medium", children: task.title })] }), _jsx("div", { className: "text-neutral-grey-50 mt-0.5 truncate pl-5 text-[10px]", children: task.projectTitle }), _jsx("div", { className: "text-neutral-grey-50 mt-1 pl-5 text-[10px] font-medium tracking-wider", children: task.status })] }, task.taskId));
|
|
72
72
|
}) })) })] }));
|
|
73
73
|
}
|
|
74
74
|
//# sourceMappingURL=TaskBoardMyTasksSidebar.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TaskBoardMyTasksSidebar.js","sourceRoot":"","sources":["../../../src/task-board/components/TaskBoardMyTasksSidebar.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,oBAAoB,EAAE,MAAM,OAAO,CAAC;AAC3E,OAAO,EAAE,cAAc,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"TaskBoardMyTasksSidebar.js","sourceRoot":"","sources":["../../../src/task-board/components/TaskBoardMyTasksSidebar.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,oBAAoB,EAAE,MAAM,OAAO,CAAC;AAC3E,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAAE,EAAE,EAAE,MAAM,iBAAiB,CAAC;AACrC,OAAO,EACL,uBAAuB,EACvB,oBAAoB,EACpB,qBAAqB,GAEtB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAEpD,MAAM,UAAU,uBAAuB;IACrC,MAAM,WAAW,GAAG,cAAc,EAAE,CAAC;IACrC,MAAM,GAAG,GAAG,oBAAoB,CAC9B,qBAAqB,EACrB,uBAAuB,EACvB,uBAAuB,CACxB,CAAC;IACF,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IAEzC,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;YAC7B,oBAAoB,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC,CAAC;YAC7D,OAAO;QACT,CAAC;QAED,IAAI,SAAS,GAAG,KAAK,CAAC;QACtB,oBAAoB,CAAC,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC;QAE/C,CAAC,KAAK,IAAI,EAAE;YACV,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;YACvD,IAAI,SAAS;gBAAE,OAAO;YACtB,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBAC9B,oBAAoB,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC,CAAC;gBAC7D,OAAO;YACT,CAAC;YACD,MAAM,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;iBAC7B,GAAG,CAAwB,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBACrC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM;gBACxB,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS;gBAC9B,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK;gBACtB,YAAY,EAAE,IAAI,CAAC,YAAY,IAAI,EAAE;gBACrC,MAAM,EAAE,mBAAmB,CACzB,IAAI,CAAC,IAAI,CAAC,MAAM,EAChB,IAAI,CAAC,IAAI,CAAC,cAAc,CACzB;gBACD,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS;aAC/B,CAAC,CAAC;iBACF,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;gBACb,MAAM,KAAK,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;gBAChE,MAAM,KAAK,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;gBAChE,OAAO,KAAK,GAAG,KAAK,CAAC;YACvB,CAAC,CAAC,CAAC;YACL,oBAAoB,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC,CAAC;QACjE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE;YACd,IAAI,SAAS;gBAAE,OAAO;YACtB,oBAAoB,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC,CAAC;QAC/D,CAAC,CAAC,CAAC;QAEH,OAAO,GAAG,EAAE;YACV,SAAS,GAAG,IAAI,CAAC;QACnB,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,WAAW,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;IAE9B,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,EAAE;QACzB,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAC1C,IAAI,CAAC,KAAK;YAAE,OAAO,GAAG,CAAC,OAAO,CAAC;QAC/B,OAAO,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;YACjC,OAAO,CACL,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC;gBACxC,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC;gBAC/C,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAC1C,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;IAE1B,OAAO,CACL,eACE,SAAS,EAAC,uCAAuC,iBACrC,4BAA4B,aAExC,cAAK,SAAS,EAAC,4CAA4C,YACzD,KAAC,WAAW,IACV,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,SAAS,EACnB,WAAW,EAAC,oBAAoB,EAChC,IAAI,EAAC,IAAI,EACT,kBAAkB,EAAC,MAAM,EACzB,MAAM,EAAC,2BAA2B,GAClC,GACE,EAEN,cAAK,SAAS,EAAC,oCAAoC,YAChD,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,CACpB,cAAK,SAAS,EAAC,oFAAoF,oCAE7F,CACP,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CACvB,cAAK,SAAS,EAAC,oFAAoF,yCAE7F,CACP,CAAC,CAAC,CAAC,CACF,cAAK,SAAS,EAAC,qBAAqB,YACjC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;wBAClB,MAAM,QAAQ,GACZ,GAAG,CAAC,iBAAiB,KAAK,IAAI,CAAC,SAAS;4BACxC,GAAG,CAAC,cAAc,KAAK,IAAI,CAAC,MAAM,CAAC;wBACrC,OAAO,CACL,kBAEE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAE,EAAE,CACX,gEAAgE,EAChE,QAAQ;gCACN,CAAC,CAAC,yCAAyC;gCAC3C,CAAC,CAAC,2EAA2E,CAChF,EACD,OAAO,EAAE,GAAG,EAAE,CACZ,GAAG,CAAC,cAAc,EAAE,CAAC;gCACnB,SAAS,EAAE,IAAI,CAAC,SAAS;gCACzB,MAAM,EAAE,IAAI,CAAC,MAAM;6BACpB,CAAC,iBAES,4BAA4B,IAAI,CAAC,MAAM,EAAE,aAEtD,eAAK,SAAS,EAAC,2BAA2B,aACxC,KAAC,cAAc,IAAC,SAAS,EAAC,kCAAkC,GAAG,EAC/D,eAAM,SAAS,EAAC,oDAAoD,YACjE,IAAI,CAAC,KAAK,GACN,IACH,EACN,cAAK,SAAS,EAAC,uDAAuD,YACnE,IAAI,CAAC,YAAY,GACd,EACN,cAAK,SAAS,EAAC,uEAAuE,YACnF,IAAI,CAAC,MAAM,GACR,KA3BD,IAAI,CAAC,MAAM,CA4BT,CACV,CAAC;oBACJ,CAAC,CAAC,GACE,CACP,GACG,IACF,CACP,CAAC;AACJ,CAAC"}
|
|
@@ -1,21 +1,67 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { useMemo, useState, useSyncExternalStore } from "react";
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
3
|
+
import { Check, Folder, FolderOpen, Loader2, Plus, } from "lucide-react";
|
|
4
|
+
import { Button } from "../../components/ui/button";
|
|
5
|
+
import { FilterInput } from "../../components/FilterInput";
|
|
5
6
|
import { cn } from "../../lib/utils";
|
|
6
|
-
import {
|
|
7
|
-
import { SimpleToolbar } from "../../editor/ui/SimpleToolbar";
|
|
7
|
+
import { SimpleTabs } from "../../editor/ui/SimpleTabs";
|
|
8
8
|
import { getTaskBoardNavSnapshot, subscribeTaskBoardNav, } from "../taskBoardNavStore";
|
|
9
|
+
function ProjectProgressIndicator({ done, total, }) {
|
|
10
|
+
if (!total || total <= 0) {
|
|
11
|
+
return null;
|
|
12
|
+
}
|
|
13
|
+
const progress = Math.max(0, Math.min(100, Math.round(((done ?? 0) / total) * 100)));
|
|
14
|
+
if (progress >= 100) {
|
|
15
|
+
return (_jsx("span", { className: "bg-feedback-green flex size-4 shrink-0 items-center justify-center rounded-full text-white", title: "Completed", "aria-label": "Completed", children: _jsx(Check, { className: "size-2.5", strokeWidth: 3 }) }));
|
|
16
|
+
}
|
|
17
|
+
return (_jsxs("span", { className: "text-neutral-grey-50 shrink-0 text-xs font-medium tabular-nums", children: [progress, "%"] }));
|
|
18
|
+
}
|
|
9
19
|
export function TaskBoardProjectListSidebar() {
|
|
10
20
|
const nav = useSyncExternalStore(subscribeTaskBoardNav, getTaskBoardNavSnapshot, getTaskBoardNavSnapshot);
|
|
11
21
|
const [search, setSearch] = useState("");
|
|
12
|
-
const [
|
|
22
|
+
const [filterMode, setFilterMode] = useState("active");
|
|
23
|
+
const filterTabs = useMemo(() => [
|
|
24
|
+
{
|
|
25
|
+
id: "active",
|
|
26
|
+
label: "All projects",
|
|
27
|
+
content: null,
|
|
28
|
+
testId: "taskboard-project-list-filter-active",
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
id: "archived",
|
|
32
|
+
label: "Archive",
|
|
33
|
+
content: null,
|
|
34
|
+
testId: "taskboard-project-list-filter-archived",
|
|
35
|
+
},
|
|
36
|
+
], []);
|
|
37
|
+
const expandedProjectIds = useMemo(() => {
|
|
38
|
+
if (!nav.selectedProjectId)
|
|
39
|
+
return new Set();
|
|
40
|
+
const projectById = new Map(nav.projectOptions.map((project) => [project.projectId, project]));
|
|
41
|
+
const expanded = new Set();
|
|
42
|
+
const visited = new Set();
|
|
43
|
+
let currentProjectId = nav.selectedProjectId;
|
|
44
|
+
while (currentProjectId && !visited.has(currentProjectId)) {
|
|
45
|
+
visited.add(currentProjectId);
|
|
46
|
+
expanded.add(currentProjectId);
|
|
47
|
+
const parentProjectId = projectById.get(currentProjectId)?.parentProjectId ?? null;
|
|
48
|
+
currentProjectId = parentProjectId;
|
|
49
|
+
}
|
|
50
|
+
return expanded;
|
|
51
|
+
}, [nav.projectOptions, nav.selectedProjectId]);
|
|
52
|
+
const scopedProjectOptions = useMemo(() => {
|
|
53
|
+
return nav.projectOptions.filter((project) => !project.parentProjectId ||
|
|
54
|
+
(project.depth ?? 0) === 0 ||
|
|
55
|
+
expandedProjectIds.has(project.parentProjectId));
|
|
56
|
+
}, [expandedProjectIds, nav.projectOptions]);
|
|
13
57
|
const projects = useMemo(() => {
|
|
14
58
|
const query = search.trim().toLowerCase();
|
|
15
|
-
return
|
|
16
|
-
|
|
59
|
+
return scopedProjectOptions.filter((project) => {
|
|
60
|
+
const isArchived = project.status?.toLowerCase() === "archived";
|
|
61
|
+
if (filterMode === "active" && isArchived)
|
|
62
|
+
return false;
|
|
63
|
+
if (filterMode === "archived" && !isArchived)
|
|
17
64
|
return false;
|
|
18
|
-
}
|
|
19
65
|
if (!query)
|
|
20
66
|
return true;
|
|
21
67
|
const title = project.title?.toLowerCase() ?? "";
|
|
@@ -25,13 +71,24 @@ export function TaskBoardProjectListSidebar() {
|
|
|
25
71
|
description.includes(query) ||
|
|
26
72
|
status.includes(query));
|
|
27
73
|
});
|
|
28
|
-
}, [
|
|
29
|
-
|
|
74
|
+
}, [filterMode, scopedProjectOptions, search]);
|
|
75
|
+
const emptyMessage = useMemo(() => {
|
|
76
|
+
if (filterMode === "archived")
|
|
77
|
+
return "No archived projects";
|
|
78
|
+
if (search.trim())
|
|
79
|
+
return "No matching projects";
|
|
80
|
+
return "No projects found";
|
|
81
|
+
}, [filterMode, search]);
|
|
82
|
+
return (_jsxs("div", { className: "flex h-full min-h-0 flex-col bg-white", "data-testid": "taskboard-project-list-sidebar", children: [_jsxs("div", { className: "flex shrink-0 flex-col gap-3 px-4 pt-3", children: [_jsxs(Button, { variant: "outline", size: "sm", className: "h-10 w-full justify-center gap-3 rounded-md bg-white px-4 text-sm font-medium shadow-none", onClick: () => nav.onCreateProject?.(), "data-testid": "taskboard-project-list-create-button", children: [_jsx("span", { className: "truncate", children: "Create new project" }), _jsx(Plus, { className: "h-4 w-4", strokeWidth: 1.5 })] }), _jsx(FilterInput, { value: search, onChange: setSearch, placeholder: "Search projects...", size: "md", searchIconPosition: "left", testId: "taskboard-project-list-search" }), _jsx("div", { className: "border-border-default border-b", children: _jsx(SimpleTabs, { tabs: filterTabs, activeTab: filterMode === "archived" ? 1 : 0, setActiveTab: (index) => setFilterMode(index === 1 ? "archived" : "active"), hideContent: true, className: "w-full gap-0", tabClassName: "w-1/2 px-0 pt-3 pb-[9px] text-xs font-medium", underlineTarget: "label", testId: "taskboard-project-list-filter-tabs" }) }), nav.isAdministrator ? (_jsxs("div", { className: "border-border-default border-b pb-3", children: [_jsxs("label", { className: "text-neutral-grey-50 flex items-center gap-2 text-xs", children: [_jsx("input", { type: "checkbox", checked: nav.showAllProjects, onChange: (event) => nav.onToggleShowAllProjects?.(event.target.checked), "data-testid": "taskboard-show-all-projects-checkbox" }), "Show all projects"] }), _jsx("p", { className: "text-neutral-grey-50 mt-1 pl-5 text-[10px]", "data-testid": "taskboard-show-all-projects-hint", children: "Admin feature: includes projects across all users." })] })) : null] }), _jsx("div", { className: "min-h-0 flex-1 overflow-y-auto px-3 pt-6 pb-3", children: nav.isProjectsLoading && nav.projectOptions.length === 0 ? (_jsxs("div", { className: "text-neutral-grey-50 flex items-center justify-center gap-2 rounded-md border border-dashed px-3 py-8 text-xs", "data-testid": "taskboard-project-list-loading", children: [_jsx(Loader2, { className: "h-3.5 w-3.5 animate-spin" }), "Loading projects..."] })) : projects.length === 0 ? (_jsx("div", { className: "text-neutral-grey-50 rounded-md border border-dashed px-3 py-8 text-center text-xs", children: emptyMessage })) : (_jsx("div", { className: "flex flex-col gap-1", children: projects.map((project) => {
|
|
30
83
|
const selected = project.projectId === nav.selectedProjectId;
|
|
31
|
-
const depth = Math.max(0, Math.min(project.depth ?? 0, 6));
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
84
|
+
const depth = Math.max(0, Math.min(project.depth ?? (project.parentProjectId ? 1 : 0), 6));
|
|
85
|
+
const ProjectIcon = selected ? FolderOpen : Folder;
|
|
86
|
+
const counts = project.overview?.taskCounts;
|
|
87
|
+
return (_jsxs("button", { type: "button", className: cn("group flex min-h-9 w-full items-center gap-2 rounded-md px-3 py-2 text-left transition-colors", selected
|
|
88
|
+
? "bg-neutral-grey-5 text-neutral-grey-100"
|
|
89
|
+
: "text-neutral-grey-100 hover:bg-neutral-grey-5/70"), style: { paddingLeft: `${12 + depth * 20}px` }, onClick: () => nav.onSelectProject?.(project.projectId), "data-testid": `taskboard-project-list-option-${project.projectId}`, children: [_jsx("span", { className: "flex h-4 w-4 shrink-0 items-center justify-center", children: _jsx(ProjectIcon, { className: cn("h-4 w-4 shrink-0", selected
|
|
90
|
+
? "text-neutral-grey-100"
|
|
91
|
+
: "text-neutral-grey-50 group-hover:text-neutral-grey-100"), strokeWidth: 1.5 }) }), _jsx("span", { className: cn("min-w-0 flex-1 truncate", "text-xs font-medium"), children: project.title }), _jsx(ProjectProgressIndicator, { done: counts?.done, total: counts?.total })] }, project.projectId));
|
|
35
92
|
}) })) })] }));
|
|
36
93
|
}
|
|
37
94
|
//# sourceMappingURL=TaskBoardProjectListSidebar.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TaskBoardProjectListSidebar.js","sourceRoot":"","sources":["../../../src/task-board/components/TaskBoardProjectListSidebar.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,oBAAoB,EAAE,MAAM,OAAO,CAAC;AAChE,OAAO,
|
|
1
|
+
{"version":3,"file":"TaskBoardProjectListSidebar.js","sourceRoot":"","sources":["../../../src/task-board/components/TaskBoardProjectListSidebar.tsx"],"names":[],"mappings":"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"}
|