mirror of
https://github.com/toeverything/AFFiNE.git
synced 2026-02-15 05:37:32 +00:00
feat(core): duplicated calendar subscription notification (#12364)
This commit is contained in:
@@ -55,9 +55,20 @@ const AddSubscription = () => {
|
||||
}, []);
|
||||
|
||||
const handleAddSub = useCallback(() => {
|
||||
const _url = url.trim();
|
||||
const exists = calendar.getSubscription(_url);
|
||||
if (exists) {
|
||||
notify.error({
|
||||
title: t['com.affine.integration.calendar.new-duplicate-error-title'](),
|
||||
message:
|
||||
t['com.affine.integration.calendar.new-duplicate-error-content'](),
|
||||
});
|
||||
return;
|
||||
}
|
||||
|
||||
setVerifying(true);
|
||||
calendar
|
||||
.createSubscription(url)
|
||||
.createSubscription(_url)
|
||||
.then(() => {
|
||||
setOpen(false);
|
||||
setUrl('');
|
||||
|
||||
@@ -106,6 +106,10 @@ export class CalendarIntegration extends Entity {
|
||||
}
|
||||
}
|
||||
|
||||
getSubscription(url: string) {
|
||||
return this.store.getSubscription(url);
|
||||
}
|
||||
|
||||
deleteSubscription(url: string) {
|
||||
this.store.removeSubscription(url);
|
||||
}
|
||||
|
||||
@@ -99,6 +99,10 @@ export class CalendarStore extends Store {
|
||||
);
|
||||
}
|
||||
|
||||
getSubscription(url: string) {
|
||||
return this.getSubscriptionMap()[url];
|
||||
}
|
||||
|
||||
watchSubscriptionCache(url: string) {
|
||||
return this.cacheStorage.watch<string>(this.getCacheKey(url));
|
||||
}
|
||||
|
||||
@@ -7906,6 +7906,14 @@ export function useAFFiNEI18N(): {
|
||||
* `Calendar URL`
|
||||
*/
|
||||
["com.affine.integration.calendar.new-url-label"](): string;
|
||||
/**
|
||||
* `This is a duplicate calendar`
|
||||
*/
|
||||
["com.affine.integration.calendar.new-duplicate-error-title"](): string;
|
||||
/**
|
||||
* `This subscription calendar already exists in the account of subscribed calendars.`
|
||||
*/
|
||||
["com.affine.integration.calendar.new-duplicate-error-content"](): string;
|
||||
/**
|
||||
* `An error occurred while adding the calendar`
|
||||
*/
|
||||
|
||||
@@ -1979,6 +1979,8 @@
|
||||
"com.affine.integration.calendar.unsubscribe": "Unsubscribe",
|
||||
"com.affine.integration.calendar.new-title": "Add a calendar by URL",
|
||||
"com.affine.integration.calendar.new-url-label": "Calendar URL",
|
||||
"com.affine.integration.calendar.new-duplicate-error-title": "This is a duplicate calendar",
|
||||
"com.affine.integration.calendar.new-duplicate-error-content": "This subscription calendar already exists in the account of subscribed calendars.",
|
||||
"com.affine.integration.calendar.new-error": "An error occurred while adding the calendar",
|
||||
"com.affine.integration.calendar.all-day": "All day",
|
||||
"com.affine.integration.calendar.new-doc": "New doc",
|
||||
|
||||
Reference in New Issue
Block a user