diff options
| author | atsuchan <83960488+atsu1125@users.noreply.github.com> | 2023-04-08 17:42:08 +0900 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-04-08 17:42:08 +0900 |
| commit | 5cd93834d1763e404ff3dcca48be03e5c8974f0b (patch) | |
| tree | 71657a089e1cd3b1bb16883f432f5f09f6f58180 /packages/frontend/src | |
| parent | fix(frontend): URLに他のクエリがあるときにもZen UIが適用さ... (diff) | |
| download | misskey-5cd93834d1763e404ff3dcca48be03e5c8974f0b.tar.gz misskey-5cd93834d1763e404ff3dcca48be03e5c8974f0b.tar.bz2 misskey-5cd93834d1763e404ff3dcca48be03e5c8974f0b.zip | |
enhance(client): 広告・お知らせが新規登録時に増殖しないように (#10412)
Diffstat (limited to 'packages/frontend/src')
| -rw-r--r-- | packages/frontend/src/pages/admin/ads.vue | 44 | ||||
| -rw-r--r-- | packages/frontend/src/pages/admin/announcements.vue | 9 |
2 files changed, 51 insertions, 2 deletions
diff --git a/packages/frontend/src/pages/admin/ads.vue b/packages/frontend/src/pages/admin/ads.vue index 828bfe6007..803e8cb7b0 100644 --- a/packages/frontend/src/pages/admin/ads.vue +++ b/packages/frontend/src/pages/admin/ads.vue @@ -113,16 +113,37 @@ function remove(ad) { function save(ad) { if (ad.id == null) { - os.apiWithDialog('admin/ad/create', { + os.api('admin/ad/create', { ...ad, expiresAt: new Date(ad.expiresAt).getTime(), startsAt: new Date(ad.startsAt).getTime(), + }).then(() => { + os.alert({ + type: 'success', + text: i18n.ts.saved, + }); + refresh(); + }).catch(err => { + os.alert({ + type: 'error', + text: err, + }); }); } else { - os.apiWithDialog('admin/ad/update', { + os.api('admin/ad/update', { ...ad, expiresAt: new Date(ad.expiresAt).getTime(), startsAt: new Date(ad.startsAt).getTime(), + }).then(() => { + os.alert({ + type: 'success', + text: i18n.ts.saved, + }); + }).catch(err => { + os.alert({ + type: 'error', + text: err, + }); }); } } @@ -141,6 +162,25 @@ function more() { })); }); } + +function refresh() { + os.api('admin/ad/list').then(adsResponse => { + ads = adsResponse.map(r => { + const exdate = new Date(r.expiresAt); + const stdate = new Date(r.startsAt); + exdate.setMilliseconds(exdate.getMilliseconds() - localTimeDiff); + stdate.setMilliseconds(stdate.getMilliseconds() - localTimeDiff); + return { + ...r, + expiresAt: exdate.toISOString().slice(0, 16), + startsAt: stdate.toISOString().slice(0, 16), + }; + }); + }); +} + +refresh(); + const headerActions = $computed(() => [{ asFullButton: true, icon: 'ti ti-plus', diff --git a/packages/frontend/src/pages/admin/announcements.vue b/packages/frontend/src/pages/admin/announcements.vue index d5d177bf76..b76e4b9114 100644 --- a/packages/frontend/src/pages/admin/announcements.vue +++ b/packages/frontend/src/pages/admin/announcements.vue @@ -69,6 +69,7 @@ function save(announcement) { type: 'success', text: i18n.ts.saved, }); + refresh(); }).catch(err => { os.alert({ type: 'error', @@ -90,6 +91,14 @@ function save(announcement) { } } +function refresh() { + os.api('admin/announcements/list').then(announcementResponse => { + announcements = announcementResponse; + }); +} + +refresh(); + const headerActions = $computed(() => [{ asFullButton: true, icon: 'ti ti-plus', |