From 57ac28b277e85b371e5c9df9d5fa683d5a613f80 Mon Sep 17 00:00:00 2001 From: Tan Yeong Sheng Date: Sat, 16 May 2026 15:47:20 +0800 Subject: [PATCH 01/32] chore: upgrade to daisyUI v5.5 & tailwindcss v4.3 --- frontend/biome.json | 5 + frontend/package.json | 6 +- frontend/postcss.config.ts | 6 - frontend/src/DoughnutApp.vue | 10 +- frontend/src/assets/daisyui.css | 29 +- .../components/admin/DataMigrationPanel.vue | 14 +- .../components/admin/FailureReportList.vue | 46 +- .../src/components/admin/ManageModelInner.vue | 2 +- frontend/src/components/admin/UserListing.vue | 2 +- .../bazaar/BazaarNotebookButtons.vue | 2 +- .../src/components/bazaar/SubscribeForm.vue | 4 +- .../BookLayoutReorganizePreviewDialog.vue | 8 +- .../book-reading/BookLayoutToggleButton.vue | 6 +- .../book-reading/BookReadingBookLayout.vue | 66 +- .../book-reading/BookReadingContent.vue | 16 +- .../book-reading/BookReadingEpubView.vue | 8 +- .../components/book-reading/CalloutCard.vue | 4 +- .../CurrentBlockNavigationBar.vue | 10 +- .../book-reading/EpubBookViewer.vue | 4 +- .../book-reading/NewBookBlockTitleDialog.vue | 4 +- .../components/book-reading/PdfControl.vue | 8 +- .../book-reading/ReadingControlPanel.vue | 10 +- .../commons/AcceptRejectButtons.vue | 6 +- .../components/commons/BasicBreadcrumb.vue | 12 +- .../src/components/commons/CopyButton.vue | 2 +- frontend/src/components/commons/DiffView.vue | 18 +- .../components/commons/JsonExportSection.vue | 6 +- frontend/src/components/commons/Modal.vue | 6 +- .../src/components/commons/Popups/Popups.vue | 8 +- .../src/components/commons/ProgressBar.vue | 4 +- .../components/conversations/AiResponse.vue | 24 +- .../conversations/ConversationComponent.vue | 6 +- .../ConversationExportDialog.vue | 6 +- .../conversations/ConversationInner.vue | 16 +- .../conversations/ConversationTemplate.vue | 16 +- frontend/src/components/form/FileInput.vue | 2 +- .../src/components/form/InputWithType.vue | 8 +- frontend/src/components/form/RadioButtons.vue | 12 +- .../RichFrontmatterEditablePropertyRow.vue | 38 +- .../form/RichFrontmatterInsertForm.vue | 32 +- .../form/RichFrontmatterProperties.vue | 20 +- .../RichFrontmatterPropertyExternalLink.vue | 8 +- .../RichFrontmatterPropertyKeyPresets.vue | 4 +- .../form/RichFrontmatterReadOnlyList.vue | 14 +- .../components/form/RichMarkdownEditor.vue | 4 +- frontend/src/components/form/Select.vue | 2 +- frontend/src/components/form/TextArea.vue | 2 +- frontend/src/components/form/TextInput.vue | 2 +- .../form/WikiPropertyValueField.vue | 2 +- .../links/AddRelationshipFinalize.vue | 4 +- .../components/links/LinkInsertionChoice.vue | 6 +- .../components/links/RelationTypeSelect.vue | 20 +- .../components/navigation/NavigationItem.vue | 14 +- .../NotebookAssistantManagementForm.vue | 2 +- .../notebook/NotebookAttachedBookSection.vue | 8 +- .../components/notebook/NotebookButtons.vue | 14 +- .../notebook/NotebookCardsWithButtons.vue | 6 +- .../notebook/NotebookCatalogGroupPanel.vue | 24 +- .../NotebookCatalogMoveToGroupForm.vue | 16 +- .../notebook/NotebookCatalogSection.vue | 8 +- .../components/notebook/NotebookListRow.vue | 18 +- .../components/notebook/NotebookMoveForm.vue | 2 +- .../components/notebook/NotebookNewButton.vue | 2 +- .../notebook/NotebookPageNameEditor.vue | 8 +- .../notebook/NotebookPageReadonlySummary.vue | 6 +- .../notebook/ScopedIndexNoteEditor.vue | 6 +- .../src/components/notebooks/NotebookCard.vue | 6 +- frontend/src/components/notes/Card.vue | 8 +- frontend/src/components/notes/Cards.vue | 16 +- .../src/components/notes/FolderNewForm.vue | 8 +- .../src/components/notes/FolderSearchForm.vue | 30 +- .../src/components/notes/FolderSelector.vue | 16 +- .../src/components/notes/NoteAddQuestion.vue | 8 +- .../notes/NoteDeadLinkCreateModal.vue | 6 +- frontend/src/components/notes/NoteNewForm.vue | 10 +- .../notes/NoteRecentUpdateIndicator.vue | 2 +- .../src/components/notes/NoteReferences.vue | 10 +- frontend/src/components/notes/NoteShow.vue | 12 +- .../notes/NoteWikidataAssociation.vue | 4 +- .../src/components/notes/NotebookLink.vue | 2 +- .../components/notes/QuestionExportDialog.vue | 6 +- frontend/src/components/notes/Questions.vue | 8 +- frontend/src/components/notes/Sidebar.vue | 4 +- .../SidebarNotebookTreeScrollportPathHint.vue | 6 +- .../src/components/notes/SidebarToolbar.vue | 26 +- .../notes/WikidataAssociationDialogBody.vue | 24 +- .../notes/WikidataSearchByLabel.vue | 6 +- .../notes/core/NoteDeleteButton.vue | 2 +- .../components/notes/core/NoteExportForm.vue | 18 +- .../src/components/notes/core/NoteToolbar.vue | 14 +- .../components/notes/core/PathNameEditor.vue | 16 +- .../notes/core/TextContentWrapper.vue | 6 +- .../notes/noteChromeToolbarNavClass.ts | 2 +- .../notes/widgets/NoteMoreOptionsForm.vue | 20 +- .../components/notes/widgets/ShowImage.vue | 2 +- .../src/components/recall/Assimilation.vue | 2 +- .../recall/AssimilationSettings.vue | 28 +- .../components/recall/ContestableQuestion.vue | 14 +- .../components/recall/InactiveRecallMask.vue | 8 +- .../src/components/recall/NoteRefinement.vue | 26 +- .../components/recall/NoteUnderQuestion.vue | 4 +- .../src/components/recall/QuestionChoices.vue | 14 +- .../src/components/recall/QuestionDisplay.vue | 20 +- frontend/src/components/recall/Quiz.vue | 6 +- .../components/recall/RecallProgressBar.vue | 8 +- .../recall/RecallPromptComponent.vue | 8 +- .../recall/RecallSessionOptionsDialog.vue | 18 +- .../recall/SpellingQuestionDisplay.vue | 8 +- .../recall/SpellingVerificationPopup.vue | 8 +- .../recall/ViewMemoryTrackerLink.vue | 2 +- .../search/SearchDropdownHitList.vue | 24 +- .../search/SearchForNoteAndFolder.vue | 20 +- .../components/search/SearchResultList.vue | 2 +- .../search/SearchResultListItem.vue | 20 +- .../subscriptions/SubscriptionNoteButtons.vue | 18 +- .../components/toolbars/AccountMenuItem.vue | 24 +- .../src/components/toolbars/GlobalBar.vue | 12 +- .../components/toolbars/HorizontalMenu.vue | 21 +- .../components/toolbars/NoteUndoButton.vue | 2 +- .../toolbars/UndoConfirmationForm.vue | 6 +- .../src/components/toolbars/VerticalMenu.vue | 12 +- .../src/layouts/NotebookSidebarLayout.vue | 24 +- frontend/src/pages/AdminDashboardPage.vue | 4 +- .../pages/AssimilateSingleNotePageView.vue | 6 +- frontend/src/pages/AssimilationPageView.vue | 28 +- frontend/src/pages/BookReadingPage.vue | 10 +- frontend/src/pages/CircleShowPage.vue | 50 +- frontend/src/pages/FailureReportPage.vue | 40 +- frontend/src/pages/FolderPage.vue | 28 +- frontend/src/pages/ManageAccessTokensPage.vue | 22 +- frontend/src/pages/MemoryTrackerPageView.vue | 54 +- frontend/src/pages/MessageCenterPage.vue | 10 +- .../src/pages/NonproductionOnlyLoginPage.vue | 12 +- frontend/src/pages/NoteShowPage.vue | 4 +- frontend/src/pages/NotebookGroupPage.vue | 8 +- frontend/src/pages/NotebookGroupPageView.vue | 16 +- frontend/src/pages/NotebookPage.vue | 2 +- frontend/src/pages/NotebookPageView.vue | 26 +- frontend/src/pages/NotebooksPageView.vue | 60 +- frontend/src/pages/RecallPage.vue | 6 +- frontend/src/pages/RecentPage.vue | 2 +- frontend/src/pages/commons/ContainerPage.vue | 4 +- frontend/tailwind.config.ts | 19 - .../BookReadingContentAiReorganize.spec.ts | 4 +- .../tests/components/commons/DiffView.spec.ts | 2 +- .../RichMarkdownEditor.properties.spec.ts | 6 +- .../notes/core/PathNameEditor.spec.ts | 16 +- .../components/recall/Assimilation.spec.ts | 2 +- .../recall/RecallPromptComponent.spec.ts | 4 +- .../recall/ViewMemoryTrackerLink.spec.ts | 2 +- frontend/tests/links/SearchDialog.spec.ts | 4 +- frontend/tests/notes/NoteTextContent.spec.ts | 14 +- .../notes/WikidataAssociationDialog.spec.ts | 2 +- frontend/tests/pages/NotebookPageView.spec.ts | 2 +- frontend/tests/toolbars/MainMenu.spec.ts | 2 +- frontend/vite.config.ts | 12 +- frontend/vitest.config.ts | 14 +- pnpm-lock.yaml | 622 ++++++------------ 158 files changed, 1135 insertions(+), 1355 deletions(-) delete mode 100644 frontend/postcss.config.ts delete mode 100644 frontend/tailwind.config.ts diff --git a/frontend/biome.json b/frontend/biome.json index f35ae8cf0c..01ed6c0943 100644 --- a/frontend/biome.json +++ b/frontend/biome.json @@ -225,6 +225,11 @@ } } }, + "css": { + "parser": { + "tailwindDirectives": true + } + }, "javascript": { "formatter": { "trailingCommas": "es5", diff --git a/frontend/package.json b/frontend/package.json index 0f31b04fa0..2b9a680c2e 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -39,6 +39,7 @@ "@storybook/addon-docs": "10.4.0", "@storybook/vue3": "10.4.0", "@storybook/vue3-vite": "10.4.0", + "@tailwindcss/vite": "^4.3.0", "@testing-library/user-event": "^14.6.1", "@testing-library/vue": "^8.1.0", "@types/node": "25.7.0", @@ -50,8 +51,7 @@ "@vue/compiler-core": "3.5.34", "@vue/server-renderer": "^3.5.34", "@vue/test-utils": "2.4.10", - "autoprefixer": "^10.5.0", - "daisyui": "4.12.24", + "daisyui": "5.5.19", "doughnut-test-fixtures": "workspace:*", "es-toolkit": "^1.46.0", "esbuild": "0.28.0", @@ -63,7 +63,7 @@ "postcss-load-config": "6.0.1", "sass": "1.99.0", "storybook": "10.4.0", - "tailwindcss": "3.4.19", + "tailwindcss": "4.3.0", "terser": "^5.47.1", "typescript": "6.0.3", "unimport": "^6.2.0", diff --git a/frontend/postcss.config.ts b/frontend/postcss.config.ts deleted file mode 100644 index f0fdc6fd54..0000000000 --- a/frontend/postcss.config.ts +++ /dev/null @@ -1,6 +0,0 @@ -import autoprefixer from "autoprefixer" -import tailwindcss from "tailwindcss" - -export default { - plugins: [tailwindcss(), autoprefixer()], -} diff --git a/frontend/src/DoughnutApp.vue b/frontend/src/DoughnutApp.vue index 9f51e6adca..d6dc6cb32d 100644 --- a/frontend/src/DoughnutApp.vue +++ b/frontend/src/DoughnutApp.vue @@ -57,14 +57,14 @@ onMounted(async () => {