diff --git a/docs/how-to-rate.md b/docs/how-to-rate.md new file mode 100644 index 0000000000..6498843a33 --- /dev/null +++ b/docs/how-to-rate.md @@ -0,0 +1,62 @@ +# How to Rate _Super Productivity_ + +## 🪟 Windows (Microsoft Store) + +1. Go to [webpage](https://apps.microsoft.com/detail/9nhfvg8361tw) OR open the **Microsoft Store** app and search for **Super Productivity** +2. Scroll to the **Rate and review** section +3. Click your star rating (⭐–⭐⭐⭐⭐⭐) +4. (Optional) Enter your feedback +5. Click **Submit** + +--- + +## 🖥️ macOS (Mac App Store) + +1. Open **App Store** on your Mac +2. Search for **Super Productivity** +3. Click the app’s page +4. Scroll down to **Ratings & Reviews** +5. Click the number of ⭐ stars you want to give +6. (Optional) Write a review +7. Click **Send** + +--- + +## 🤖 Android (Google Play Store) + +1. [Go to play store page](https://play.google.com/store/apps/details?id=com.superproductivity.superproductivity&hl=de) +2. Under **Rate this app**, tap the stars +3. (Optional) Tap **Write a review** +4. Tap **Post** + +--- + +## 🐧 Ubuntu Software Center + +1. Open **Ubuntu Software** +2. Search for **Super Productivity** +3. Click the app’s page +4. Click the ⭐ stars under the title +5. Sign in with your Ubuntu One account if prompted +6. (Optional) Add a review +7. Click **Submit** + +--- + +## 🧩 GNOME Software Center + +1. Launch **GNOME Software** +2. Search for or locate **Super Productivity** +3. Click the app to view its page +4. Click the ⭐ stars to rate +5. Authenticate if prompted +6. (Optional) Write a review +7. Click **Submit** + +--- + +# Other places to leave review + +https://www.producthunt.com/products/super-productivity +https://play.google.com/store/apps/details?id=com.superproductivity.superproductivity +https://www.pling.com/p/1352584/ diff --git a/src/app/app.component.ts b/src/app/app.component.ts index 00bcd086d9..9cbb844882 100644 --- a/src/app/app.component.ts +++ b/src/app/app.component.ts @@ -62,6 +62,8 @@ import { LocalBackupService } from './imex/local-backup/local-backup.service'; import { DEFAULT_META_MODEL } from './pfapi/api/model-ctrl/meta-model-ctrl'; import { AppDataCompleteNew } from './pfapi/pfapi-config'; import { TranslateService } from '@ngx-translate/core'; +import { MatDialog } from '@angular/material/dialog'; +import { DialogPleaseRateComponent } from './features/dialog-please-rate/dialog-please-rate.component'; const w = window as any; const productivityTip: string[] = w.productivityTips && w.productivityTips[w.randomIndex]; @@ -111,6 +113,7 @@ export class AppComponent implements OnDestroy { private _persistenceLegacyService = inject(PersistenceLegacyService); private _persistenceLocalService = inject(PersistenceLocalService); private _localBackupService = inject(LocalBackupService); + private _matDialog = inject(MatDialog); readonly syncTriggerService = inject(SyncTriggerService); readonly imexMetaService = inject(ImexViewService); @@ -193,6 +196,13 @@ export class AppComponent implements OnDestroy { (window as any).productivityTips[(window as any).randomIndex][1], }); } + + const appStarts = +(localStorage.getItem(LS.APP_START_COUNT) || 0); + if (appStarts === 45 || appStarts === 120) { + this._matDialog.open(DialogPleaseRateComponent); + } else { + localStorage.setItem(LS.APP_START_COUNT, (appStarts + 1).toString()); + } }, 1000); if (IS_ELECTRON) { diff --git a/src/app/core/persistence/storage-keys.const.ts b/src/app/core/persistence/storage-keys.const.ts index 40413eff9e..ea6cbfc2a9 100644 --- a/src/app/core/persistence/storage-keys.const.ts +++ b/src/app/core/persistence/storage-keys.const.ts @@ -13,6 +13,7 @@ export enum DB { // REAL LS export enum LS { + APP_START_COUNT = 'APP_START_COUNT', LAST_LOCAL_SYNC_MODEL_CHANGE = 'SUP_LAST_LOCAL_SYNC_MODEL_CHANGE', LOCAL_UI_HELPER = 'SUP_UI_HELPER', diff --git a/src/app/features/dialog-please-rate/dialog-please-rate.component.html b/src/app/features/dialog-please-rate/dialog-please-rate.component.html new file mode 100644 index 0000000000..03af1fcc6a --- /dev/null +++ b/src/app/features/dialog-please-rate/dialog-please-rate.component.html @@ -0,0 +1,27 @@ +