Skip to content

Commit

Permalink
feat(core): at menu loading state
Browse files Browse the repository at this point in the history
  • Loading branch information
pengx17 committed Dec 24, 2024
1 parent cd830d6 commit 14d12ad
Show file tree
Hide file tree
Showing 3 changed files with 30 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
import { LoadingIcon } from '@affine/core/blocksuite/presets/blocks/_common/icon';
import { fuzzyMatch } from '@affine/core/utils/fuzzy-match';
import { I18n, i18nTime } from '@affine/i18n';
import track from '@affine/track';
Expand Down Expand Up @@ -123,6 +124,30 @@ export class AtMenuConfigService extends Service {
const showRecent = query.trim().length === 0;

(async () => {
const isIndexerLoading =
this.docsSearch.indexer.status$.value.remaining !== undefined &&
this.docsSearch.indexer.status$.value.remaining > 0;

if (!showRecent && isIndexerLoading) {
// add a loading item
docItems.value = [
{
key: 'loading',
name: I18n.t('com.affine.editor.at-menu.loading'),
icon: LoadingIcon,
action: () => {
// no action
},
},
];
// wait for indexer to finish
await this.docsSearch.indexer.status$.waitFor(
status => status.remaining === 0
);
// remove the loading item
docItems.value = [];
}

const docMetas = (
showRecent
? this.recentDocsService.getRecentDocs()
Expand Down
4 changes: 4 additions & 0 deletions packages/frontend/i18n/src/i18n.gen.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6299,6 +6299,10 @@ export function useAFFiNEI18N(): {
* `Recent`
*/
["com.affine.editor.at-menu.recent-docs"](): string;
/**
* `Loading...`
*/
["com.affine.editor.at-menu.recent-docs.loading"](): string;
/**
* `New`
*/
Expand Down
1 change: 1 addition & 0 deletions packages/frontend/i18n/src/resources/en.json
Original file line number Diff line number Diff line change
Expand Up @@ -1572,6 +1572,7 @@
"com.affine.editor.journal-conflict.title": "Duplicate Entries in Today's Journal",
"com.affine.editor.at-menu.link-to-doc": "Search for \"{{query}}\"",
"com.affine.editor.at-menu.recent-docs": "Recent",
"com.affine.editor.at-menu.loading": "Loading...",
"com.affine.editor.at-menu.new-doc": "New",
"com.affine.editor.at-menu.create-page": "New \"{{name}}\" page",
"com.affine.editor.at-menu.create-edgeless": "New \"{{name}}\" edgeless",
Expand Down

0 comments on commit 14d12ad

Please sign in to comment.