diff --git a/.eslintrc b/.eslintrc index 295a72d2..e4d6a3f2 100644 --- a/.eslintrc +++ b/.eslintrc @@ -20,6 +20,7 @@ "vue/no-v-html": "off", "vue/no-template-shadow": "off", "vue/valid-template-root": "off", + "vue/no-unused-vars": "off", "no-tabs": [ "error", { diff --git a/ios/App/App.xcodeproj/project.pbxproj b/ios/App/App.xcodeproj/project.pbxproj index eb399b25..07b41b15 100644 --- a/ios/App/App.xcodeproj/project.pbxproj +++ b/ios/App/App.xcodeproj/project.pbxproj @@ -12,6 +12,8 @@ 3A001AC62599230E0078A265 /* Settings.bundle in Resources */ = {isa = PBXBuildFile; fileRef = 3A001AC52599230E0078A265 /* Settings.bundle */; }; 3A001AD32599A4A60078A265 /* ConsentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3A001AD22599A4A50078A265 /* ConsentView.swift */; }; 3A001AD72599A68A0078A265 /* Helpers.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3A001AD62599A68A0078A265 /* Helpers.swift */; }; + 3A06777F26281BB600C9CB98 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 3A06777D26281BB600C9CB98 /* Main.storyboard */; }; + 3A06778026281BB600C9CB98 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 3A06777E26281BB600C9CB98 /* LaunchScreen.storyboard */; }; 3A06C1102597112E00B81F31 /* SiteStats.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3A06C10F2597112E00B81F31 /* SiteStats.swift */; }; 3A06C118259720D600B81F31 /* PenguinWidget.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3A06C117259720D600B81F31 /* PenguinWidget.swift */; }; 3A06C1252597447200B81F31 /* StageView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3A06C1242597447200B81F31 /* StageView.swift */; }; @@ -26,8 +28,6 @@ 3A1157BA258F2B5E00F4C6FD /* PenguinWidgetExtension.appex in Embed App Extensions */ = {isa = PBXBuildFile; fileRef = 3A1157AC258F2B5C00F4C6FD /* PenguinWidgetExtension.appex */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; }; 3A20895A25C26EFB001D7490 /* Alamofire in Frameworks */ = {isa = PBXBuildFile; productRef = 3A20895925C26EFB001D7490 /* Alamofire */; }; 3A20895D25C2ACC5001D7490 /* Helpers.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3A001AD62599A68A0078A265 /* Helpers.swift */; }; - 3A33A3D825D3DA96001867F0 /* Intents.intentdefinition in Sources */ = {isa = PBXBuildFile; fileRef = 3A33A3DB25D3DA96001867F0 /* Intents.intentdefinition */; }; - 3A33A3D925D3DA96001867F0 /* Intents.intentdefinition in Sources */ = {isa = PBXBuildFile; fileRef = 3A33A3DB25D3DA96001867F0 /* Intents.intentdefinition */; }; 3A3F035B25C0B3D000DEED16 /* PersistenceManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3A3F035A25C0B3D000DEED16 /* PersistenceManager.swift */; }; 3A4D4431259AC0BA000807F8 /* InitialLaunch.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3A4D4430259AC0BA000807F8 /* InitialLaunch.swift */; }; 3A4FAF192626B189001C9907 /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = 3A4FAF1B2626B189001C9907 /* Localizable.strings */; }; @@ -40,12 +40,13 @@ 3A616162259B2D2D00FA06A2 /* Debugger.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3A616161259B2D2D00FA06A2 /* Debugger.swift */; }; 3A616168259C698B00FA06A2 /* NotificationPreferences.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3A616167259C698B00FA06A2 /* NotificationPreferences.swift */; }; 3A61616C259C7B8D00FA06A2 /* HapticButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3A61616B259C7B8D00FA06A2 /* HapticButton.swift */; }; - 3A65B09725C662EE00E1AE2A /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 3A65B09525C662EE00E1AE2A /* LaunchScreen.storyboard */; }; 3A679B012599166C00A685E9 /* WelcomeView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3A679B002599166C00A685E9 /* WelcomeView.swift */; }; 3A885ACA25A43F0400247AED /* RxBus in Frameworks */ = {isa = PBXBuildFile; productRef = 3A885AC925A43F0400247AED /* RxBus */; }; 3A885ACE25A443D600247AED /* EventBus.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3A885ACD25A443D600247AED /* EventBus.swift */; }; 3A8EFF992599BBC100B6A788 /* alert1.caf in Resources */ = {isa = PBXBuildFile; fileRef = 3A8EFF982599BBC100B6A788 /* alert1.caf */; }; 3A8EFFA0259A1BB900B6A788 /* Alamofire in Frameworks */ = {isa = PBXBuildFile; productRef = 3A8EFF9F259A1BB900B6A788 /* Alamofire */; }; + 3A9323B62626C5A700E42CA4 /* Intents.intentdefinition in Sources */ = {isa = PBXBuildFile; fileRef = 3A9323B92626C5A700E42CA4 /* Intents.intentdefinition */; }; + 3A9323B72626C5A700E42CA4 /* Intents.intentdefinition in Sources */ = {isa = PBXBuildFile; fileRef = 3A9323B92626C5A700E42CA4 /* Intents.intentdefinition */; }; 3A968BB02597A3D5005266F2 /* TwoColumnStageStats.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3A968BAF2597A3D5005266F2 /* TwoColumnStageStats.swift */; }; 3A968BB52597A54E005266F2 /* LargeWidgetView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3A968BB42597A54E005266F2 /* LargeWidgetView.swift */; }; 3A968BBA2597A738005266F2 /* ExternalService.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3A968BB92597A738005266F2 /* ExternalService.swift */; }; @@ -54,7 +55,6 @@ 3AA7E3462521F70B00387971 /* PenguinPlugin.m in Sources */ = {isa = PBXBuildFile; fileRef = 3AA7E3452521F70B00387971 /* PenguinPlugin.m */; }; 50379B232058CBB4000EE86E /* capacitor.config.json in Resources */ = {isa = PBXBuildFile; fileRef = 50379B222058CBB4000EE86E /* capacitor.config.json */; }; 504EC3081FED79650016851F /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 504EC3071FED79650016851F /* AppDelegate.swift */; }; - 504EC30D1FED79650016851F /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 504EC30B1FED79650016851F /* Main.storyboard */; }; 504EC30F1FED79650016851F /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 504EC30E1FED79650016851F /* Assets.xcassets */; }; 50B271D11FEDC1A000F3C39B /* public in Resources */ = {isa = PBXBuildFile; fileRef = 50B271D01FEDC1A000F3C39B /* public */; }; A084ECDBA7D38E1E42DFC39D /* Pods_App.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF277DCFFFF123FFC6DF26C7 /* Pods_App.framework */; }; @@ -92,6 +92,8 @@ 3A001AD62599A68A0078A265 /* Helpers.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Helpers.swift; sourceTree = ""; }; 3A00D83125266410007308FB /* WidgetKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = WidgetKit.framework; path = System/Library/Frameworks/WidgetKit.framework; sourceTree = SDKROOT; }; 3A00D83325266410007308FB /* SwiftUI.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SwiftUI.framework; path = System/Library/Frameworks/SwiftUI.framework; sourceTree = SDKROOT; }; + 3A06777D26281BB600C9CB98 /* Main.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; path = Main.storyboard; sourceTree = ""; }; + 3A06777E26281BB600C9CB98 /* LaunchScreen.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; path = LaunchScreen.storyboard; sourceTree = ""; }; 3A06C10F2597112E00B81F31 /* SiteStats.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SiteStats.swift; sourceTree = ""; }; 3A06C117259720D600B81F31 /* PenguinWidget.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PenguinWidget.swift; sourceTree = ""; }; 3A06C1242597447200B81F31 /* StageView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StageView.swift; sourceTree = ""; }; @@ -103,8 +105,6 @@ 3A1157B0258F2B5C00F4C6FD /* SmallWidgetView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SmallWidgetView.swift; sourceTree = ""; }; 3A1157B3258F2B5E00F4C6FD /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; 3A1157B5258F2B5E00F4C6FD /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 3A33A3DA25D3DA96001867F0 /* en */ = {isa = PBXFileReference; lastKnownFileType = file.intentdefinition; name = en; path = en.lproj/Intents.intentdefinition; sourceTree = ""; }; - 3A33A3DF25D3DAA2001867F0 /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/Intents.strings"; sourceTree = ""; }; 3A3F035A25C0B3D000DEED16 /* PersistenceManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PersistenceManager.swift; sourceTree = ""; }; 3A4D4430259AC0BA000807F8 /* InitialLaunch.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = InitialLaunch.swift; sourceTree = ""; }; 3A4FAF1A2626B189001C9907 /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/Localizable.strings"; sourceTree = ""; }; @@ -119,11 +119,10 @@ 3A616161259B2D2D00FA06A2 /* Debugger.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Debugger.swift; sourceTree = ""; }; 3A616167259C698B00FA06A2 /* NotificationPreferences.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NotificationPreferences.swift; sourceTree = ""; }; 3A61616B259C7B8D00FA06A2 /* HapticButton.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HapticButton.swift; sourceTree = ""; }; - 3A65B09625C662EE00E1AE2A /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; 3A679B002599166C00A685E9 /* WelcomeView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WelcomeView.swift; sourceTree = ""; }; 3A885ACD25A443D600247AED /* EventBus.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EventBus.swift; sourceTree = ""; }; - 3A885AD125A4477600247AED /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; 3A8EFF982599BBC100B6A788 /* alert1.caf */ = {isa = PBXFileReference; lastKnownFileType = file; path = alert1.caf; sourceTree = ""; }; + 3A9323B82626C5A700E42CA4 /* en */ = {isa = PBXFileReference; lastKnownFileType = file.intentdefinition; name = en; path = en.lproj/Intents.intentdefinition; sourceTree = ""; }; 3A968BAF2597A3D5005266F2 /* TwoColumnStageStats.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TwoColumnStageStats.swift; sourceTree = ""; }; 3A968BB42597A54E005266F2 /* LargeWidgetView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LargeWidgetView.swift; sourceTree = ""; }; 3A968BB92597A738005266F2 /* ExternalService.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ExternalService.swift; sourceTree = ""; }; @@ -206,7 +205,7 @@ 3A06C117259720D600B81F31 /* PenguinWidget.swift */, 3A06C132259766C400B81F31 /* WidgetEntry.swift */, 3A968BB92597A738005266F2 /* ExternalService.swift */, - 3A33A3DB25D3DA96001867F0 /* Intents.intentdefinition */, + 3A9323B92626C5A700E42CA4 /* Intents.intentdefinition */, ); path = PenguinWidget; sourceTree = ""; @@ -261,10 +260,10 @@ 3A8EFFB2259AB69200B6A788 /* Meta */ = { isa = PBXGroup; children = ( + 3A06777E26281BB600C9CB98 /* LaunchScreen.storyboard */, + 3A06777D26281BB600C9CB98 /* Main.storyboard */, 3AA7E34B2522510700387971 /* App.entitlements */, 504EC3071FED79650016851F /* AppDelegate.swift */, - 504EC30B1FED79650016851F /* Main.storyboard */, - 3A65B09525C662EE00E1AE2A /* LaunchScreen.storyboard */, 504EC3131FED79650016851F /* Info.plist */, 2FAD9762203C412B000D30F8 /* config.xml */, ); @@ -411,7 +410,6 @@ knownRegions = ( en, "zh-Hans", - Base, ); mainGroup = 504EC2FB1FED79650016851F; packageReferences = ( @@ -445,14 +443,14 @@ buildActionMask = 2147483647; files = ( 3A8EFF992599BBC100B6A788 /* alert1.caf in Resources */, + 3A06777F26281BB600C9CB98 /* Main.storyboard in Resources */, 50B271D11FEDC1A000F3C39B /* public in Resources */, 3A4FAF192626B189001C9907 /* Localizable.strings in Resources */, 504EC30F1FED79650016851F /* Assets.xcassets in Resources */, - 3A65B09725C662EE00E1AE2A /* LaunchScreen.storyboard in Resources */, 3AA7E33725211FD500387971 /* InfoPlist.strings in Resources */, 50379B232058CBB4000EE86E /* capacitor.config.json in Resources */, - 504EC30D1FED79650016851F /* Main.storyboard in Resources */, 2FAD9763203C412B000D30F8 /* config.xml in Resources */, + 3A06778026281BB600C9CB98 /* LaunchScreen.storyboard in Resources */, 3A001AC62599230E0078A265 /* Settings.bundle in Resources */, ); runOnlyForDeploymentPostprocessing = 0; @@ -478,7 +476,7 @@ ); runOnlyForDeploymentPostprocessing = 1; shellPath = /bin/sh; - shellScript = "#buildNumber=$(/usr/libexec/PlistBuddy -c \"Print CFBundleVersion\" \"${PROJECT_DIR}/${INFOPLIST_FILE}\")\n#buildNumber=$(($buildNumber + 1))\n#/usr/libexec/PlistBuddy -c \"Set :CFBundleVersion $buildNumber\" \"${PROJECT_DIR}/${INFOPLIST_FILE}\"\n\n# Adds the current version to Settings.bundle\nversion=\"$MARKETING_VERSION\"\nbuild=\"$CURRENT_PROJECT_VERSION\"\n/usr/libexec/PlistBuddy -c \"Set PreferenceSpecifiers:1:DefaultValue $version ($build)\" \"$SRCROOT/Settings.bundle/Root.plist\"\n"; + shellScript = "#buildNumber=$(/usr/libexec/PlistBuddy -c \"Print CFBundleVersion\" \"${PROJECT_DIR}/${INFOPLIST_FILE}\")\n#buildNumber=$(($buildNumber + 1))\n#/usr/libexec/PlistBuddy -c \"Set :CFBundleVersion $buildNumber\" \"${PROJECT_DIR}/${INFOPLIST_FILE}\"\n\n# Adds the current version to Settings.bundle\nversion=\"$MARKETING_VERSION\"\nbuild=\"$CURRENT_PROJECT_VERSION\"\n/usr/libexec/PlistBuddy -c \"Set PreferenceSpecifiers:0:DefaultValue $version ($build)\" \"$SRCROOT/Settings.bundle/Root.plist\"\n"; }; 6634F4EFEBD30273BCE97C65 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; @@ -531,7 +529,7 @@ 3A1157B1258F2B5C00F4C6FD /* SmallWidgetView.swift in Sources */, 3A06C12D2597454600B81F31 /* WidgetFooter.swift in Sources */, 3A06C1252597447200B81F31 /* StageView.swift in Sources */, - 3A33A3D925D3DA96001867F0 /* Intents.intentdefinition in Sources */, + 3A9323B72626C5A700E42CA4 /* Intents.intentdefinition in Sources */, 3A06C1102597112E00B81F31 /* SiteStats.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; @@ -544,10 +542,10 @@ 3A885ACE25A443D600247AED /* EventBus.swift in Sources */, 3A55B6842599056000699BBA /* Constants.swift in Sources */, 3A3F035B25C0B3D000DEED16 /* PersistenceManager.swift in Sources */, - 3A33A3D825D3DA96001867F0 /* Intents.intentdefinition in Sources */, 3A001AD32599A4A60078A265 /* ConsentView.swift in Sources */, 3A001AC225991E2C0078A265 /* WhatsNew.swift in Sources */, 3A679B012599166C00A685E9 /* WelcomeView.swift in Sources */, + 3A9323B62626C5A700E42CA4 /* Intents.intentdefinition in Sources */, 3A61615A259B0ED200FA06A2 /* ToggleNotificationPreference.swift in Sources */, 3A61616C259C7B8D00FA06A2 /* HapticButton.swift in Sources */, 3A001AD72599A68A0078A265 /* Helpers.swift in Sources */, @@ -571,15 +569,6 @@ /* End PBXTargetDependency section */ /* Begin PBXVariantGroup section */ - 3A33A3DB25D3DA96001867F0 /* Intents.intentdefinition */ = { - isa = PBXVariantGroup; - children = ( - 3A33A3DA25D3DA96001867F0 /* en */, - 3A33A3DF25D3DAA2001867F0 /* zh-Hans */, - ); - name = Intents.intentdefinition; - sourceTree = ""; - }; 3A4FAF1B2626B189001C9907 /* Localizable.strings */ = { isa = PBXVariantGroup; children = ( @@ -598,12 +587,12 @@ name = Localizable.strings; sourceTree = ""; }; - 3A65B09525C662EE00E1AE2A /* LaunchScreen.storyboard */ = { + 3A9323B92626C5A700E42CA4 /* Intents.intentdefinition */ = { isa = PBXVariantGroup; children = ( - 3A65B09625C662EE00E1AE2A /* Base */, + 3A9323B82626C5A700E42CA4 /* en */, ); - name = LaunchScreen.storyboard; + name = Intents.intentdefinition; sourceTree = ""; }; 3AA7E33925211FD500387971 /* InfoPlist.strings */ = { @@ -615,14 +604,6 @@ name = InfoPlist.strings; sourceTree = ""; }; - 504EC30B1FED79650016851F /* Main.storyboard */ = { - isa = PBXVariantGroup; - children = ( - 3A885AD125A4477600247AED /* Base */, - ); - name = Main.storyboard; - sourceTree = ""; - }; /* End PBXVariantGroup section */ /* Begin XCBuildConfiguration section */ @@ -637,7 +618,7 @@ CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; CODE_SIGN_ENTITLEMENTS = PenguinWidgetExtension.entitlements; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 2; + CURRENT_PROJECT_VERSION = 0; DEVELOPMENT_TEAM = SY8Y8N4TPM; INFOPLIST_FILE = PenguinWidget/Info.plist; IPHONEOS_DEPLOYMENT_TARGET = 14.0; @@ -646,7 +627,7 @@ "@executable_path/Frameworks", "@executable_path/../../Frameworks", ); - MARKETING_VERSION = 3.5.0; + MARKETING_VERSION = 3.5.2; MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; MTL_FAST_MATH = YES; PRODUCT_BUNDLE_IDENTIFIER = io.penguinstats.app.PenguinWidget; @@ -669,7 +650,7 @@ CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; CODE_SIGN_ENTITLEMENTS = PenguinWidgetExtension.entitlements; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 2; + CURRENT_PROJECT_VERSION = 0; DEVELOPMENT_TEAM = SY8Y8N4TPM; INFOPLIST_FILE = PenguinWidget/Info.plist; IPHONEOS_DEPLOYMENT_TARGET = 14.0; @@ -678,7 +659,7 @@ "@executable_path/Frameworks", "@executable_path/../../Frameworks", ); - MARKETING_VERSION = 3.5.0; + MARKETING_VERSION = 3.5.2; MTL_FAST_MATH = YES; PRODUCT_BUNDLE_IDENTIFIER = io.penguinstats.app.PenguinWidget; PRODUCT_NAME = "$(TARGET_NAME)"; @@ -808,7 +789,7 @@ CLANG_ENABLE_MODULES = YES; CODE_SIGN_ENTITLEMENTS = App/App.entitlements; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 3; + CURRENT_PROJECT_VERSION = 0; DEVELOPMENT_TEAM = SY8Y8N4TPM; "ENABLE_HARDENED_RUNTIME[sdk=macosx*]" = YES; INFOPLIST_FILE = App/Info.plist; @@ -817,7 +798,7 @@ "$(inherited)", "@executable_path/Frameworks", ); - MARKETING_VERSION = 3.5.0; + MARKETING_VERSION = 3.5.2; OTHER_SWIFT_FLAGS = "$(inherited) \"-D\" \"COCOAPODS\" \"-DDEBUG\""; PRODUCT_BUNDLE_IDENTIFIER = io.penguinstats.app; PRODUCT_NAME = "$(TARGET_NAME)"; @@ -840,7 +821,7 @@ CLANG_ENABLE_MODULES = YES; CODE_SIGN_ENTITLEMENTS = App/App.entitlements; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 3; + CURRENT_PROJECT_VERSION = 0; DEVELOPMENT_TEAM = SY8Y8N4TPM; "ENABLE_HARDENED_RUNTIME[sdk=macosx*]" = YES; INFOPLIST_FILE = App/Info.plist; @@ -849,7 +830,7 @@ "$(inherited)", "@executable_path/Frameworks", ); - MARKETING_VERSION = 3.5.0; + MARKETING_VERSION = 3.5.2; PRODUCT_BUNDLE_IDENTIFIER = io.penguinstats.app; PRODUCT_NAME = "$(TARGET_NAME)"; SUPPORTS_MACCATALYST = NO; diff --git a/ios/App/App/AppDelegate.swift b/ios/App/App/AppDelegate.swift index ce5d0c2c..6e0db904 100644 --- a/ios/App/App/AppDelegate.swift +++ b/ios/App/App/AppDelegate.swift @@ -96,10 +96,10 @@ class AppDelegate: UIResponder, UIApplicationDelegate { debuggerBtn.setTitleColor(UIColor.blue, for: .normal) debuggerBtn.titleLabel?.font = UIFont.boldSystemFont(ofSize: 12.0) debuggerBtn.layer.cornerRadius = 4 - debuggerBtn.layer.shadowRadius = 4 + debuggerBtn.layer.shadowRadius = 8 debuggerBtn.layer.shadowOffset = CGSize(width: 0, height: 0) debuggerBtn.layer.shadowColor = CGColor.init(gray: 0.0, alpha: 1.0) - debuggerBtn.layer.shadowOpacity = 0.8 + debuggerBtn.layer.shadowOpacity = 0.6 debuggerBtn.layer.shouldRasterize = true debuggerBtn.layer.rasterizationScale = UIScreen.main.scale @@ -108,6 +108,7 @@ class AppDelegate: UIResponder, UIApplicationDelegate { root?.view.addSubview(debuggerBtn) } + #endif if #available(iOS 12.0, *) { @@ -139,31 +140,31 @@ class AppDelegate: UIResponder, UIApplicationDelegate { // MARK: CSSearchableItemAttributeSet for CSSearchableItem - var searchableItemAttributeSet: CSSearchableItemAttributeSet - if #available(iOS 14.0, *) { - searchableItemAttributeSet = CSSearchableItemAttributeSet(contentType: .url) - } else { - searchableItemAttributeSet = CSSearchableItemAttributeSet() - } - - - let url = URL(string: "https://penguin-stats.io/report") - searchableItemAttributeSet.url = url - searchableItemAttributeSet.title = "PenguinTestReport" - searchableItemAttributeSet.contentDescription = "Penguin Test Report!" - - // MARK: CSSearchableItem - - let item = CSSearchableItem(uniqueIdentifier: "PenguinTest", domainIdentifier: "io.penguinstats.app.PenguinTest", attributeSet: searchableItemAttributeSet) - - CSSearchableIndex.default().deleteAllSearchableItems() - CSSearchableIndex.default().indexSearchableItems([item]) { error in - if let error = error { - print("Indexing error: \(error.localizedDescription)") - } else { - print("Search item successfully indexed!") - } - } +// var searchableItemAttributeSet: CSSearchableItemAttributeSet +// if #available(iOS 14.0, *) { +// searchableItemAttributeSet = CSSearchableItemAttributeSet(contentType: .url) +// } else { +// searchableItemAttributeSet = CSSearchableItemAttributeSet() +// } +// +// +// let url = URL(string: "https://penguin-stats.io/report") +// searchableItemAttributeSet.url = url +// searchableItemAttributeSet.title = "PenguinTestReport" +// searchableItemAttributeSet.contentDescription = "Penguin Test Report!" +// +// // MARK: CSSearchableItem +// +// let item = CSSearchableItem(uniqueIdentifier: "PenguinTest", domainIdentifier: "io.penguinstats.app.PenguinTest", attributeSet: searchableItemAttributeSet) +// +// CSSearchableIndex.default().deleteAllSearchableItems() +// CSSearchableIndex.default().indexSearchableItems([item]) { error in +// if let error = error { +// print("Indexing error: \(error.localizedDescription)") +// } else { +// print("Search item successfully indexed!") +// } +// } #endif diff --git a/ios/App/App/Info.plist b/ios/App/App/Info.plist index c1ae3308..53246d7c 100644 --- a/ios/App/App/Info.plist +++ b/ios/App/App/Info.plist @@ -63,6 +63,7 @@ NSUserActivityTypes SelectServerIntent + StatisticsOverviewIntent UIApplicationSceneManifest diff --git a/ios/App/App/Base.lproj/LaunchScreen.storyboard b/ios/App/App/LaunchScreen.storyboard similarity index 100% rename from ios/App/App/Base.lproj/LaunchScreen.storyboard rename to ios/App/App/LaunchScreen.storyboard diff --git a/ios/App/App/Base.lproj/Main.storyboard b/ios/App/App/Main.storyboard similarity index 100% rename from ios/App/App/Base.lproj/Main.storyboard rename to ios/App/App/Main.storyboard diff --git a/ios/App/App/Views/HapticButton.swift b/ios/App/App/Views/HapticButton.swift index 15744192..d7e751d8 100644 --- a/ios/App/App/Views/HapticButton.swift +++ b/ios/App/App/Views/HapticButton.swift @@ -22,7 +22,7 @@ struct HapticButton : View { var body: some View { Button(action: { - UIImpactFeedbackGenerator.init(style: .soft).impactOccurred() + UIImpactFeedbackGenerator.init(style: .rigid).impactOccurred() self.action() }) { content() diff --git a/ios/App/App/Views/WelcomeView.swift b/ios/App/App/Views/WelcomeView.swift index 23b6a68a..6e7953e6 100644 --- a/ios/App/App/Views/WelcomeView.swift +++ b/ios/App/App/Views/WelcomeView.swift @@ -76,11 +76,12 @@ struct WelcomeView: View { } }) { HStack { - Text("Get Started") + Image(systemName: "checkmark.circle.fill") + .imageScale(.medium) + + Text(NSLocalizedString("done", comment: "")) .font(.system(size: 20)) .bold() - - Image(systemName: "chevron.right") } .foregroundColor(.white) .padding() diff --git a/ios/App/App/en.lproj/LaunchScreen.storyboard b/ios/App/App/en.lproj/LaunchScreen.storyboard new file mode 100644 index 00000000..e7ae5d78 --- /dev/null +++ b/ios/App/App/en.lproj/LaunchScreen.storyboard @@ -0,0 +1,32 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ios/App/App/en.lproj/Localizable.strings b/ios/App/App/en.lproj/Localizable.strings index 4da71765..a8506222 100644 --- a/ios/App/App/en.lproj/Localizable.strings +++ b/ios/App/App/en.lproj/Localizable.strings @@ -14,3 +14,4 @@ "feature.performance.subtitle" = "Get your desired data without the frustration of page buffering"; "welcome.title" = "Welcome to"; "welcome.subtitle" = "Penguin Statistics"; +"done" = "Done"; diff --git a/ios/App/App/en.lproj/Main.storyboard b/ios/App/App/en.lproj/Main.storyboard new file mode 100644 index 00000000..b44df7be --- /dev/null +++ b/ios/App/App/en.lproj/Main.storyboard @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + + diff --git a/ios/App/App/zh-Hans.lproj/Localizable.strings b/ios/App/App/zh-Hans.lproj/Localizable.strings index 1d2c16e3..767d318f 100644 --- a/ios/App/App/zh-Hans.lproj/Localizable.strings +++ b/ios/App/App/zh-Hans.lproj/Localizable.strings @@ -14,3 +14,4 @@ "feature.performance.subtitle" = "快速获得所需数据而无需等待网页缓冲"; "welcome.title" = "欢迎使用"; "welcome.subtitle" = "企鹅物流 App"; +"done" = "开始使用"; diff --git a/ios/App/PenguinWidget/PenguinWidget.swift b/ios/App/PenguinWidget/PenguinWidget.swift index db4420a7..bcd11b1d 100644 --- a/ios/App/PenguinWidget/PenguinWidget.swift +++ b/ios/App/PenguinWidget/PenguinWidget.swift @@ -17,7 +17,7 @@ struct PenguinWidget: Widget { var body: some WidgetConfiguration { IntentConfiguration( kind: kind, - intent: SelectServerIntent.self, + intent: StatisticsOverviewIntent.self, provider: SiteStatsProvider() ) { entry in WidgetEntry(entry: entry) diff --git a/ios/App/PenguinWidget/Views/StageView.swift b/ios/App/PenguinWidget/Views/StageView.swift index 032a7015..acbd273f 100644 --- a/ios/App/PenguinWidget/Views/StageView.swift +++ b/ios/App/PenguinWidget/Views/StageView.swift @@ -29,7 +29,6 @@ struct StageView: View { .frame(minHeight: 0, maxHeight: 36) .minimumScaleFactor(0.3) .lineLimit(3) - .unredacted() if showRecentTimes { Text("× " + String(stage.recentTimes)) diff --git a/ios/App/PenguinWidget/WidgetEntry.swift b/ios/App/PenguinWidget/WidgetEntry.swift index 9c9e70b5..814daf52 100644 --- a/ios/App/PenguinWidget/WidgetEntry.swift +++ b/ios/App/PenguinWidget/WidgetEntry.swift @@ -19,7 +19,7 @@ struct SiteStatsProvider: IntentTimelineProvider { ) } - func getSnapshot(for configuration: SelectServerIntent, in context: Context, completion: @escaping (WidgetTimelineEntry) -> ()) { + func getSnapshot(for configuration: StatisticsOverviewIntent, in context: Context, completion: @escaping (WidgetTimelineEntry) -> ()) { print("serverSelection snapshot", configuration) let entry = WidgetTimelineEntry( @@ -29,7 +29,7 @@ struct SiteStatsProvider: IntentTimelineProvider { completion(entry) } - func getTimeline(for configuration: SelectServerIntent, in context: Context, completion: @escaping (Timeline) -> ()) { + func getTimeline(for configuration: StatisticsOverviewIntent, in context: Context, completion: @escaping (Timeline) -> ()) { print("serverSelection timeline with configured server:", configuration.server.string()) print("doing network request") diff --git a/ios/App/PenguinWidget/en.lproj/Intents.intentdefinition b/ios/App/PenguinWidget/en.lproj/Intents.intentdefinition index 00a1c88f..c9d4e2f2 100644 --- a/ios/App/PenguinWidget/en.lproj/Intents.intentdefinition +++ b/ios/App/PenguinWidget/en.lproj/Intents.intentdefinition @@ -8,7 +8,7 @@ INEnumDisplayName Servers INEnumDisplayNameID - 52E7Hb + IGb6i4 INEnumGeneratesHeader INEnumName @@ -19,9 +19,9 @@ INEnumValueDisplayName - 未选定 + unknown INEnumValueDisplayNameID - XOt22U + zu5ZX5 INEnumValueName unknown @@ -29,125 +29,41 @@ INEnumValueDisplayName CN INEnumValueDisplayNameID - 9d0RSG + IVWGR6 INEnumValueIndex 1 INEnumValueName cn - INEnumValueSynonyms - - - INEnumValueSynonymSynonym - 官服 - INEnumValueSynonymSynonymID - wz6Ksv - - - INEnumValueSynonymSynonym - B服 - INEnumValueSynonymSynonymID - nX6Phw - - - INEnumValueSynonymSynonym - 中国服务器 - INEnumValueSynonymSynonymID - TDXoqS - - - INEnumValueSynonymSynonym - China Mainland - INEnumValueSynonymSynonymID - bAzUxC - - - INEnumValueSynonymSynonym - PRC - INEnumValueSynonymSynonymID - dtIn76 - - INEnumValueDisplayName US INEnumValueDisplayNameID - lWYm9I + hRdAmy INEnumValueIndex 2 INEnumValueName us - INEnumValueSynonyms - - - INEnumValueSynonymSynonym - 美国服务器 - INEnumValueSynonymSynonymID - 3oZzZR - - - INEnumValueSynonymSynonym - United States - INEnumValueSynonymSynonymID - ucZOUF - - - INEnumValueSynonymSynonym - USA - INEnumValueSynonymSynonymID - X0MOCd - - INEnumValueDisplayName JP INEnumValueDisplayNameID - 4a3hjt + z06YbB INEnumValueIndex 3 INEnumValueName jp - INEnumValueSynonyms - - - INEnumValueSynonymSynonym - 日本服务器 - INEnumValueSynonymSynonymID - Room6v - - - INEnumValueSynonymSynonym - Japan - INEnumValueSynonymSynonymID - NRPXVk - - INEnumValueDisplayName KR INEnumValueDisplayNameID - rcOAZO + valxsU INEnumValueIndex 4 INEnumValueName kr - INEnumValueSynonyms - - - INEnumValueSynonymSynonym - 韩国服务器 - INEnumValueSynonymSynonymID - d2cdqi - - - INEnumValueSynonymSynonym - Korea - INEnumValueSynonymSynonymID - GXoUkl - - @@ -155,9 +71,9 @@ INIntentDefinitionModelVersion 1.2 INIntentDefinitionNamespace - plOCob + ZSA94M INIntentDefinitionSystemVersion - 20C69 + 20D74 INIntentDefinitionToolsBuildVersion 12C33 INIntentDefinitionToolsVersion @@ -167,10 +83,14 @@ INIntentCategory information + INIntentConfigurable + + INIntentDefaultImageName + Logo INIntentDescription View the Statistics Overview INIntentDescriptionID - rSZt9G + 2SWQYn INIntentEligibleForWidgets INIntentIneligibleForSuggestions @@ -179,8 +99,22 @@ server INIntentLastParameterTag 2 + INIntentManagedParameterCombinations + + server + + INIntentParameterCombinationSupportsBackgroundExecution + + INIntentParameterCombinationTitle + View Statistics Overview of ${server} + INIntentParameterCombinationTitleID + dW9aMP + INIntentParameterCombinationUpdatesLinked + + + INIntentName - SelectServer + StatisticsOverview INIntentParameters @@ -189,13 +123,13 @@ INIntentParameterDisplayName Server INIntentParameterDisplayNameID - 438Dca + Yb45to INIntentParameterDisplayPriority 1 INIntentParameterEnumType Servers INIntentParameterEnumTypeNamespace - plOCob + ZSA94M INIntentParameterMetadata INIntentParameterMetadataDefaultValue @@ -221,9 +155,9 @@ INIntentParameterPromptDialogCustom INIntentParameterPromptDialogFormatString - Other ${count} also looks like ‘${server}’ + There are ${count} options matching ‘${server}’. INIntentParameterPromptDialogFormatStringID - KwfSyY + 5Lp0W0 INIntentParameterPromptDialogType DisambiguationIntroduction @@ -231,29 +165,9 @@ INIntentParameterPromptDialogCustom INIntentParameterPromptDialogFormatString - Which one do you mean? - INIntentParameterPromptDialogFormatStringID - zgN72s - INIntentParameterPromptDialogType - DisambiguationSelection - - - INIntentParameterPromptDialogCustom - - INIntentParameterPromptDialogFormatString - and - INIntentParameterPromptDialogFormatStringID - uDltiy - INIntentParameterPromptDialogType - SubsequentIntroduction - - - INIntentParameterPromptDialogCustom - - INIntentParameterPromptDialogFormatString - 请确认你要查询的是 ‘${server}’? + Just to confirm, you wanted ‘${server}’? INIntentParameterPromptDialogFormatStringID - M0nUbM + 4eICjs INIntentParameterPromptDialogType Confirmation @@ -283,7 +197,7 @@ INIntentTitle Statistics Overview INIntentTitleID - vD918a + xSMBZF INIntentType Custom INIntentVerb diff --git a/ios/App/PenguinWidget/zh-Hans.lproj/Intents.strings b/ios/App/PenguinWidget/zh-Hans.lproj/Intents.strings index 54d8209b..fb7951c0 100644 --- a/ios/App/PenguinWidget/zh-Hans.lproj/Intents.strings +++ b/ios/App/PenguinWidget/zh-Hans.lproj/Intents.strings @@ -1,42 +1,42 @@ -"438Dca" = "服务器"; +"2SWQYn" = "查看数据概览"; -"4a3hjt" = "日服"; +"4eICjs-IVWGR6" = "Just to confirm, you wanted ‘CN’?"; -"52E7Hb" = "服务器"; +"4eICjs-hRdAmy" = "Just to confirm, you wanted ‘US’?"; -"9d0RSG" = "国服"; +"4eICjs-valxsU" = "Just to confirm, you wanted ‘KR’?"; -"KwfSyY-4a3hjt" = "有其他${count}个选项与 ‘日服’ 匹配相近"; +"4eICjs-z06YbB" = "Just to confirm, you wanted ‘JP’?"; -"KwfSyY-9d0RSG" = "有其他${count}个选项与 ‘国服’ 匹配相近"; +"5Lp0W0-IVWGR6" = "There are ${count} options matching ‘CN’."; -"KwfSyY-XOt22U" = "有其他${count}个选项与 ‘未选定’ 匹配相近"; +"5Lp0W0-hRdAmy" = "There are ${count} options matching ‘US’."; -"KwfSyY-lWYm9I" = "有其他${count}个选项与 ‘美服’ 匹配相近"; +"5Lp0W0-valxsU" = "There are ${count} options matching ‘KR’."; -"KwfSyY-rcOAZO" = "有其他${count}个选项与 ‘韩服’ 匹配相近"; +"5Lp0W0-z06YbB" = "There are ${count} options matching ‘JP’."; -"M0nUbM-4a3hjt" = "请确认你要查询的是 ‘日服’?"; +"BhJuaY-IVWGR6" = "View Statistics Overview of CN"; -"M0nUbM-9d0RSG" = "请确认你要查询的是 ‘国服’?"; +"BhJuaY-hRdAmy" = "View Statistics Overview of US"; -"M0nUbM-XOt22U" = "请确认你要查询的是 ‘未选定’?"; +"BhJuaY-valxsU" = "View Statistics Overview of KR"; -"M0nUbM-lWYm9I" = "请确认你要查询的是 ‘美服’?"; +"BhJuaY-z06YbB" = "View Statistics Overview of JP"; -"M0nUbM-rcOAZO" = "请确认你要查询的是 ‘韩服’?"; +"IGb6i4" = "服务器"; -"XOt22U" = "未选定"; +"IVWGR6" = "国服"; -"lWYm9I" = "美服"; +"Yb45to" = "服务器"; -"rSZt9G" = "查看数据概览"; +"dW9aMP" = "查看数据概览"; -"rcOAZO" = "韩服"; +"hRdAmy" = "美服"; -"uDltiy" = "还有"; +"valxsU" = "韩服"; -"vD918a" = "数据概览"; +"xSMBZF" = "数据概览"; -"zgN72s" = "请问是哪一个?"; +"z06YbB" = "日服"; diff --git a/ios/App/Settings.bundle/Root.plist b/ios/App/Settings.bundle/Root.plist index 14be1051..4f8712b2 100644 --- a/ios/App/Settings.bundle/Root.plist +++ b/ios/App/Settings.bundle/Root.plist @@ -6,7 +6,7 @@ DefaultValue - 3.5.0 (1) + 3.5.2 (0) Key version Title diff --git a/package.json b/package.json index ef75f272..4922cd1e 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "penguin-stats-frontend", - "version": "3.5.1", + "version": "3.5.2", "private": true, "author": "Penguin Statistics Contributors (https://github.com/orgs/penguin-statistics/people)", "scripts": { diff --git a/public/items.zip b/public/items.zip index 89ea05dd..30db664c 100644 Binary files a/public/items.zip and b/public/items.zip differ diff --git a/src/components/stats/PreviewItemCard.vue b/src/components/stats/PreviewItemCard.vue index 2590cffa..6caa3f9d 100644 --- a/src/components/stats/PreviewItemCard.vue +++ b/src/components/stats/PreviewItemCard.vue @@ -26,9 +26,11 @@ - {{ $t('stats.headers.quantity') }} - / - {{ $t('stats.headers.times') }} + {{ $t('stats.headers.apPPR') }} + + + {{ $t('stats.headers.quantity') }} + / {{ $t('stats.headers.times') }} @@ -60,20 +62,27 @@ {{ stat.percentageText }} - {{ stat.quantity }} / {{ stat.times }} + {{ stat.apPPR }} + + + {{ stat.quantity | thousandSeparator }} / {{ stat.times | thousandSeparator }} mdi-dots-horizontal + + + {{ $t('stats.itemPreview.more', { count: stats.more }) }} + @@ -130,7 +139,7 @@ export default { stageCode: strings.translate(el.stage, 'code') } }), - more: data.length > pagination + more: data.length - pagination } }, highlight () { diff --git a/src/components/stats/StageSelector.vue b/src/components/stats/StageSelector.vue index a9a1cec3..5f38c4b1 100644 --- a/src/components/stats/StageSelector.vue +++ b/src/components/stats/StageSelector.vue @@ -208,101 +208,14 @@ md="6" lg="6" xl="6" + class="mt-n4" > -
- - - - - - - - {{ category.zones[0].icon }} - - - {{ $t(["zone.types", category.id].join(".")) }} - - - - - - - - {{ $t("zone.status." + zone.timeValid) }} - - - {{ $t("zone.status.permanentOpen") }} - - - - {{ strings.translate(zone, "zoneName") }} - - - - - - - - - - - - - - -
- {{ genActivityTime(zone) }} -
-
- -
-
-
-
-
+ :category="category" + @select="e => selectStage(e.zoneId, e.stageId)" + /> @@ -326,10 +239,11 @@ import CDN from '@/mixins/CDN' import existUtils from '@/utils/existUtils' import BackButton from '@/components/stats/BackButton' import Theme from '@/mixins/Theme' +import StageSelectorCategory from "@/components/stats/StageSelectorCategory"; export default { name: 'StageSelector', - components: { BackButton, StageCard }, + components: {StageSelectorCategory, BackButton, StageCard }, mixins: [CDN, Theme], props: { name: { @@ -366,39 +280,10 @@ export default { stage: null }, stageImages: { - // act5d0_zone1: this.cdnDeliver('/backgrounds/zones/act5d0_zone1.jpg'), - // act6d5_zone1: this.cdnDeliver('/backgrounds/zones/act6d5_zone1.jpg'), - // act7d5_zone1: this.cdnDeliver('/backgrounds/zones/act7d5_zone1.jpg'), - // act9d0_zone1: this.cdnDeliver('/backgrounds/zones/act9d0_zone1.jpg'), - // act10d5_zone1: this.cdnDeliver('/backgrounds/zones/act10d5_zone1.jpg'), - // act11d0_zone1: this.cdnDeliver('/backgrounds/zones/act11d0_zone1.jpg'), - // '1stact_zone1': this.cdnDeliver('/backgrounds/zones/A001_zone1.jpg'), - // act3d0_zone1: this.cdnDeliver('/backgrounds/zones/A003_zone1.jpg'), - // act4d0_zone1: this.cdnDeliver('/backgrounds/zones/main_e0.jpg'), - // main_0: this.cdnDeliver('/backgrounds/zones/main_0.jpg'), - // main_1: this.cdnDeliver('/backgrounds/zones/main_1.jpg'), - // main_2: this.cdnDeliver('/backgrounds/zones/main_2.jpg'), - // main_3: this.cdnDeliver('/backgrounds/zones/main_3.jpg'), - // main_4: this.cdnDeliver('/backgrounds/zones/main_4.jpg'), - // main_5: this.cdnDeliver('/backgrounds/zones/main_5.jpg'), - // main_6: this.cdnDeliver('/backgrounds/zones/main_6.jpg'), - // main_7: this.cdnDeliver('/backgrounds/zones/main_7.jpg'), - // main_8: this.cdnDeliver('/backgrounds/zones/main_8.jpg'), - // gachabox: this.cdnDeliver('/backgrounds/zones/gachabox.jpg'), - // act12d0_zone1: this.cdnDeliver('/backgrounds/zones/act12d0_zone1.jpg'), - // act13d0_zone1: this.cdnDeliver('/backgrounds/zones/act13d0_zone1.jpg'), - // act13d5_zone1: this.cdnDeliver('/backgrounds/zones/act13d5_zone1.jpg'), - // act14d7_zone1: this.cdnDeliver('/backgrounds/zones/act5d0_zone1.jpg'), - // act15d0_zone1: this.cdnDeliver('/backgrounds/zones/act15d0_zone1.jpg'), - // act15d5_zone1: this.cdnDeliver('/backgrounds/zones/act15d5_zone1.jpg'), - // // "act13d5_zone1": require("@/assets/zonePageBackgrounds/png/act13d5_zone1.png"), - // - // // 骑兵与猎人 复刻:复用原活动(1stact_zone1) - // act13d2_zone1: this.cdnDeliver('/backgrounds/zones/A001_zone1.jpg'), - // - // // 选择页面背景 + // 选择页面背景 _default: this.cdnDeliver('/backgrounds/zones/default.jpg') - } + }, + activeTabs: {} } }, computed: { @@ -440,22 +325,22 @@ export default { const categoriesSet = this.hideClosed ? [ // Report [ - ['ACTIVITY_OPEN', 'MAINLINE'], - ['ACTIVITY_PERMANENT', 'WEEKLY'] + ['ACTIVITY_OPEN', 'ACTIVITY_PENDING', 'MAINLINE', 'ACTIVITY_PERMANENT'], + ['GACHABOX', 'WEEKLY'] ], // md, lg & xl [ - ['ACTIVITY_OPEN', 'MAINLINE'], - ['ACTIVITY_PERMANENT', 'WEEKLY'] + ['ACTIVITY_OPEN', 'ACTIVITY_PENDING', 'MAINLINE', 'ACTIVITY_PERMANENT'], + ['GACHABOX', 'WEEKLY'] ] // xs & sm ] : [ // Show Statistics [ - ['ACTIVITY_OPEN', 'MAINLINE', 'WEEKLY'], - ['ACTIVITY_PERMANENT', 'ACTIVITY_PENDING', 'ACTIVITY_CLOSED'] + ['ACTIVITY_OPEN', 'ACTIVITY_PENDING', 'MAINLINE', 'ACTIVITY_PERMANENT'], + ['GACHABOX', 'ACTIVITY_CLOSED', 'WEEKLY'] ], // md, lg & xl [ - ['ACTIVITY_PENDING', 'ACTIVITY_OPEN', 'MAINLINE'], - ['ACTIVITY_PERMANENT', 'WEEKLY', 'ACTIVITY_CLOSED'] + ['ACTIVITY_OPEN', 'ACTIVITY_PENDING', 'MAINLINE', 'ACTIVITY_PERMANENT'], + ['GACHABOX', 'ACTIVITY_CLOSED', 'WEEKLY'] ] // xs & sm ] @@ -463,7 +348,7 @@ export default { for (const [index, categories] of categoriesSet[this.small ? 1 : 0].entries()) { for (const category of categories) { let filter - let zones = get.zones.byType(category.startsWith('ACTIVITY') ? 'ACTIVITY' : category, false) + let zones = get.zones.byType((category.startsWith('ACTIVITY') && category !== 'ACTIVITY_PERMANENT') ? 'ACTIVITY' : category, false) zones = zones.filter(el => existUtils.existence(el)) if (category === 'ACTIVITY_OPEN') { @@ -472,8 +357,6 @@ export default { filter = zone => zone.timeValid === 1 } else if (category === 'ACTIVITY_PENDING') { filter = zone => zone.timeValid === -1 - } else if (category === 'ACTIVITY_PERMANENT') { - filter = zone => zone.isPermanentOpen } if (filter) zones = zones.filter(filter) @@ -495,7 +378,7 @@ export default { .filter(el => el.stages.length) // sort activity zones by its openTime - if (category.startsWith('ACTIVITY')) { + if (category.startsWith('ACTIVITY') && category !== 'ACTIVITY_PERMANENT') { const server = this.$store.getters['dataSource/server'] zones = zones .slice() @@ -618,42 +501,12 @@ export default { this.selected.zone = null this.selected.stage = null } - }, - genActivityTime (zone) { - return zone.isPermanentOpen - ? this.$t('zone.status.permanentOpen') - : this.$t('zone.opensAt', zone.activityActiveTime) } } } \ No newline at end of file diff --git a/src/components/stats/StageSelectorPanel.vue b/src/components/stats/StageSelectorPanel.vue new file mode 100644 index 00000000..09f67b23 --- /dev/null +++ b/src/components/stats/StageSelectorPanel.vue @@ -0,0 +1,141 @@ + + + + + \ No newline at end of file diff --git a/src/components/stats/details/StageDetails.vue b/src/components/stats/details/StageDetails.vue index 2568fbf8..23944525 100644 --- a/src/components/stats/details/StageDetails.vue +++ b/src/components/stats/details/StageDetails.vue @@ -205,7 +205,7 @@ export default { { id: 'prts-wiki', icon: 'mdi-file-document', - href: `http://prts.wiki/w/${this.stage.code}` + href: `http://prts.wiki/w/${this.stage.stageId}` } ] diff --git a/src/components/toolbar/AccountManager.vue b/src/components/toolbar/AccountManager.vue index f2fe7dec..e4f53aae 100644 --- a/src/components/toolbar/AccountManager.vue +++ b/src/components/toolbar/AccountManager.vue @@ -219,12 +219,10 @@