summaryrefslogtreecommitdiff
path: root/packages/frontend/src/boot
diff options
context:
space:
mode:
authorかっこかり <67428053+kakkokari-gtyih@users.noreply.github.com>2024-03-07 17:21:57 +0900
committerGitHub <noreply@github.com>2024-03-07 17:21:57 +0900
commitf4a57404120be713d5fec4fc8e882b09927deca2 (patch)
tree957195c911934d5e1de8ac97d5712b00bad8e512 /packages/frontend/src/boot
parentenhance(frontend): 広告が同一ドメインの場合はRouterで遷移す... (diff)
downloadsharkey-f4a57404120be713d5fec4fc8e882b09927deca2.tar.gz
sharkey-f4a57404120be713d5fec4fc8e882b09927deca2.tar.bz2
sharkey-f4a57404120be713d5fec4fc8e882b09927deca2.zip
fix(frontend): 周年の実績が閏年を考慮するように (#13525)
* fix(frontend): 周年の実績が閏年を考慮するように * まちがえた * Update Changelog * 変数の定義回数を減らす
Diffstat (limited to 'packages/frontend/src/boot')
-rw-r--r--packages/frontend/src/boot/main-boot.ts28
1 files changed, 20 insertions, 8 deletions
diff --git a/packages/frontend/src/boot/main-boot.ts b/packages/frontend/src/boot/main-boot.ts
index 61f04678bf..8016e8b0e0 100644
--- a/packages/frontend/src/boot/main-boot.ts
+++ b/packages/frontend/src/boot/main-boot.ts
@@ -187,14 +187,26 @@ export async function mainBoot() {
if ($i.followersCount >= 500) claimAchievement('followers500');
if ($i.followersCount >= 1000) claimAchievement('followers1000');
- if (Date.now() - new Date($i.createdAt).getTime() > 1000 * 60 * 60 * 24 * 365) {
- claimAchievement('passedSinceAccountCreated1');
- }
- if (Date.now() - new Date($i.createdAt).getTime() > 1000 * 60 * 60 * 24 * 365 * 2) {
- claimAchievement('passedSinceAccountCreated2');
- }
- if (Date.now() - new Date($i.createdAt).getTime() > 1000 * 60 * 60 * 24 * 365 * 3) {
+ const createdAt = new Date($i.createdAt);
+ const createdAtThreeYearsLater = new Date($i.createdAt);
+ createdAtThreeYearsLater.setFullYear(createdAtThreeYearsLater.getFullYear() + 3);
+ if (now >= createdAtThreeYearsLater) {
claimAchievement('passedSinceAccountCreated3');
+ claimAchievement('passedSinceAccountCreated2');
+ claimAchievement('passedSinceAccountCreated1');
+ } else {
+ const createdAtTwoYearsLater = new Date($i.createdAt);
+ createdAtTwoYearsLater.setFullYear(createdAtTwoYearsLater.getFullYear() + 2);
+ if (now >= createdAtTwoYearsLater) {
+ claimAchievement('passedSinceAccountCreated2');
+ claimAchievement('passedSinceAccountCreated1');
+ } else {
+ const createdAtOneYearLater = new Date($i.createdAt);
+ createdAtOneYearLater.setFullYear(createdAtOneYearLater.getFullYear() + 1);
+ if (now >= createdAtOneYearLater) {
+ claimAchievement('passedSinceAccountCreated1');
+ }
+ }
}
if (claimedAchievements.length >= 30) {
@@ -229,7 +241,7 @@ export async function mainBoot() {
const latestDonationInfoShownAt = miLocalStorage.getItem('latestDonationInfoShownAt');
const neverShowDonationInfo = miLocalStorage.getItem('neverShowDonationInfo');
- if (neverShowDonationInfo !== 'true' && (new Date($i.createdAt).getTime() < (Date.now() - (1000 * 60 * 60 * 24 * 3))) && !location.pathname.startsWith('/miauth')) {
+ if (neverShowDonationInfo !== 'true' && (createdAt.getTime() < (Date.now() - (1000 * 60 * 60 * 24 * 3))) && !location.pathname.startsWith('/miauth')) {
if (latestDonationInfoShownAt == null || (new Date(latestDonationInfoShownAt).getTime() < (Date.now() - (1000 * 60 * 60 * 24 * 30)))) {
popup(defineAsyncComponent(() => import('@/components/MkDonation.vue')), {}, {}, 'closed');
}