From a920668699e1bfeacb4f9c0db919983c87dec4ee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?B=C3=B6rge=20Kiss?= Date: Thu, 2 Apr 2026 13:34:35 +0200 Subject: [PATCH 1/2] Switch to Lucide icons Closes #1700 --- Tekst-Web/i18n/ui/deDE.yml | 6 +- Tekst-Web/i18n/ui/enUS.yml | 10 +- Tekst-Web/package-lock.json | 19 +- Tekst-Web/package.json | 2 +- Tekst-Web/src/components/AudioPlayer.vue | 4 +- Tekst-Web/src/components/HelpButtonWidget.vue | 8 +- .../src/components/InsertItemSeparator.vue | 4 +- Tekst-Web/src/components/ListingsFilters.vue | 4 +- Tekst-Web/src/components/TasksWidget.vue | 4 +- .../src/components/browse/BookmarksWidget.vue | 17 +- .../browse/BrowseLocationControls.vue | 6 +- .../browse/BrowseSearchResultsToolbar.vue | 4 +- .../browse/ContentArchiveWidget.vue | 4 +- .../browse/ContentCitationWidget.vue | 4 +- .../browse/ContentCitationWidgetContent.vue | 38 +- .../content/ExternalReferencesContent.vue | 4 +- .../src/components/content/ImagesContent.vue | 4 +- .../content/TextAnnotationContent.vue | 4 +- .../src/components/editors/WysiwygEditor.vue | 21 +- .../src/components/generic/IconHeading.vue | 5 +- .../src/components/navigation/HelpWidget.vue | 10 +- .../components/navigation/LocaleSwitcher.vue | 4 +- .../navigation/TextSelectOption.vue | 4 +- .../navigation/UserActionsButton.vue | 14 +- .../components/navigation/navMenuOptions.ts | 7 +- .../components/resource/DeepLLinksWidget.vue | 4 +- .../resource/OtherCorrectionsListItem.vue | 6 +- .../resource/ResourceInfoContent.vue | 18 +- .../components/resource/ResourceInfoTags.vue | 4 +- .../components/resource/ResourceListItem.vue | 4 +- .../src/components/search/LocationRange.vue | 4 +- .../src/components/search/SearchResult.vue | 4 +- .../src/components/user/UserListItem.vue | 6 +- .../userMessages/MessagingModal.vue | 4 +- Tekst-Web/src/forms/DynamicInputControls.vue | 4 +- .../ResourceSettingsPropertiesFormItems.vue | 4 +- .../src/forms/texts/TextLocationsForm.vue | 24 +- Tekst-Web/src/icons.ts | 467 +++++++++--------- Tekst-Web/src/router.ts | 4 +- Tekst-Web/src/stores/theme.ts | 1 - Tekst-Web/src/views/CommunityView.vue | 4 +- Tekst-Web/src/views/ContentsView.vue | 18 +- Tekst-Web/src/views/CorrectionsView.vue | 4 +- Tekst-Web/src/views/HelpView.vue | 4 +- Tekst-Web/src/views/ResourceCreateView.vue | 4 +- Tekst-Web/src/views/ResourceSettingsView.vue | 4 +- Tekst-Web/src/views/ResourcesView.vue | 6 +- Tekst-Web/src/views/SearchView.vue | 4 +- Tekst-Web/src/views/UserView.vue | 4 +- Tekst-Web/src/views/VerifyView.vue | 4 +- .../src/views/account/AccountMessagesView.vue | 4 +- .../admin/AdminSystemMaintenanceView.vue | 14 +- .../views/admin/AdminSystemSegmentsView.vue | 4 +- .../src/views/admin/AdminSystemUsersView.vue | 4 +- Tekst-Web/src/views/admin/TextView.vue | 4 +- 55 files changed, 420 insertions(+), 435 deletions(-) diff --git a/Tekst-Web/i18n/ui/deDE.yml b/Tekst-Web/i18n/ui/deDE.yml index 848bc5078..5f96f8d96 100644 --- a/Tekst-Web/i18n/ui/deDE.yml +++ b/Tekst-Web/i18n/ui/deDE.yml @@ -236,9 +236,9 @@ browse: activateCategory: Zeige alle Ressourcen dieser Kategorie deactivateCategory: Verstecke alle Ressourcen dieser Kategorie contentCitation: - title: Inhalt zitieren - full: Volle Ressourcen-Zitation mit Inhalts-URL - urlOnly: URL zu diesem Inhalt + full: Volle Ressourcen-Zitation mit Belegstellen-URL + resOnly: Ressourcen-Zitation + urlOnly: URL zu Inhalt/Belegstelle uncategorized: Unkategorisiert locationResourceNoData: Keine Daten für diese Belegstelle textNoLocations: Die Einrichtung dieses Textes scheint unvollständig. Es wurden keine Belegstellen definiert. diff --git a/Tekst-Web/i18n/ui/enUS.yml b/Tekst-Web/i18n/ui/enUS.yml index 47d10b29f..e05af5ae7 100644 --- a/Tekst-Web/i18n/ui/enUS.yml +++ b/Tekst-Web/i18n/ui/enUS.yml @@ -232,9 +232,9 @@ browse: activateCategory: Show all resources in this category deactivateCategory: Hide all resources in this category contentCitation: - title: Content Citation - full: Full resource citation with content URL - urlOnly: URL for this content + full: Full resource citation with location URL + resOnly: Resource citation + urlOnly: URL of content/location archiveWidgetTitle: Content Archive uncategorized: Uncategorized locationResourceNoData: No data for this location @@ -597,8 +597,8 @@ contents: tipBtnCompare: Select other resource to compare with tipBtnCopyOriginal: Copy from original resource tipBtnApplyChanges: Copy content for this location - tipBtnPrevChange: Go to previous content - tipBtnNextChange: Go to next content + tipBtnPrevChange: Skip to previous content + tipBtnNextChange: Skip to next content forComparison: '{title} (for comparison)' fromOriginalResourceHint: | This is a resource patch. diff --git a/Tekst-Web/package-lock.json b/Tekst-Web/package-lock.json index 3f1fbd8d2..6678f46af 100644 --- a/Tekst-Web/package-lock.json +++ b/Tekst-Web/package-lock.json @@ -39,13 +39,13 @@ "@babel/types": "^7.25.6", "@intlify/eslint-plugin-vue-i18n": "^4.0.0", "@intlify/unplugin-vue-i18n": "^11.0.0", + "@lucide/vue": "^1.7.0", "@rushstack/eslint-patch": "^1.10.4", "@tsconfig/node24": "^24.0.0", "@types/color": "^4.0.0", "@types/js-cookie": "^3.0.6", "@types/jsdom": "^28.0.0", "@types/node": "^24.0.0", - "@vicons/material": "^0.13.0", "@vitejs/plugin-vue": "^6.0.0", "@vue/eslint-config-prettier": "^10.0.0", "@vue/eslint-config-typescript": "^14.0.1", @@ -1738,6 +1738,16 @@ "@lezer/common": "^1.0.0" } }, + "node_modules/@lucide/vue": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/@lucide/vue/-/vue-1.7.0.tgz", + "integrity": "sha512-X3gTarOkNh2ThNK7IaDa4gdjFAtZyoKH/eoScklvmtNTWE5uxkycBQOuchGExY5swCqh1WptEIAWrmbuQcy2fA==", + "dev": true, + "license": "ISC", + "peerDependencies": { + "vue": ">=3.0.1" + } + }, "node_modules/@marijn/find-cluster-break": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/@marijn/find-cluster-break/-/find-cluster-break-1.0.2.tgz", @@ -3095,13 +3105,6 @@ "url": "https://opencollective.com/eslint" } }, - "node_modules/@vicons/material": { - "version": "0.13.0", - "resolved": "https://registry.npmjs.org/@vicons/material/-/material-0.13.0.tgz", - "integrity": "sha512-lKVxFNprM+CaBkUH3gt6VjIeiMsKQl2zARQMwTCZruQl2vRHzyeZiKeCflWS99CEfv2JzX/6y697smxlzyxcVw==", - "dev": true, - "license": "Apache 2.0" - }, "node_modules/@vitejs/plugin-vue": { "version": "6.0.5", "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-6.0.5.tgz", diff --git a/Tekst-Web/package.json b/Tekst-Web/package.json index 9109572ef..03464bfe7 100644 --- a/Tekst-Web/package.json +++ b/Tekst-Web/package.json @@ -47,13 +47,13 @@ "@babel/types": "^7.25.6", "@intlify/eslint-plugin-vue-i18n": "^4.0.0", "@intlify/unplugin-vue-i18n": "^11.0.0", + "@lucide/vue": "^1.7.0", "@rushstack/eslint-patch": "^1.10.4", "@tsconfig/node24": "^24.0.0", "@types/color": "^4.0.0", "@types/js-cookie": "^3.0.6", "@types/jsdom": "^28.0.0", "@types/node": "^24.0.0", - "@vicons/material": "^0.13.0", "@vitejs/plugin-vue": "^6.0.0", "@vue/eslint-config-prettier": "^10.0.0", "@vue/eslint-config-typescript": "^14.0.1", diff --git a/Tekst-Web/src/components/AudioPlayer.vue b/Tekst-Web/src/components/AudioPlayer.vue index 5bd999e3a..211060876 100644 --- a/Tekst-Web/src/components/AudioPlayer.vue +++ b/Tekst-Web/src/components/AudioPlayer.vue @@ -1,5 +1,5 @@