Skip to content

Commit b2e34f4

Browse files
committed
feat: redesign sponsor plan experience
1 parent 83c9e49 commit b2e34f4

27 files changed

Lines changed: 1910 additions & 407 deletions

src/renderer/components/subscription/SubscriptionPage.tsx

Lines changed: 361 additions & 191 deletions
Large diffs are not rendered by default.

src/renderer/i18n/locales/de-DE/common.yml

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -277,6 +277,10 @@ dependencyManagement:
277277
description: Claude Code Agent CLI für AI-unterstützte Codierungssitzungen.
278278
codex:
279279
description: OpenAI Codex Agent CLI für Codierungsworkflows.
280+
pi:
281+
description: PI coding agent CLI distributed through the official @earendil-works/pi-coding-agent npm package.
282+
reasonix:
283+
description: Reasonix coding agent CLI distributed through the official reasonix npm package.
280284
githubCopilot:
281285
description: GitHub Copilot CLI, verteilt über das offizielle @github/copilot npm-Paket.
282286
codebuddy:
@@ -510,8 +514,8 @@ system:
510514
confirming: Waiting for confirmation
511515
stoppingService: Stopping service
512516
confirmingDescription: '{{version}} is ready to install. Confirm first if the current service should be stopped.'
513-
stoppingServiceDescription: 'The current service is stopping now, then the new version will continue downloading and installing.'
514-
switchingDescription: 'Installation finished. Switching the active runtime to {{version}} now.'
517+
stoppingServiceDescription: The current service is stopping now, then the new version will continue downloading and installing.
518+
switchingDescription: Installation finished. Switching the active runtime to {{version}} now.
515519
completedDescription: '{{version}} is installed and the homepage status is already synced.'
516520
activeDescription: 'Processing {{version}}. Current stage: {{stage}}.'
517521
actions:

src/renderer/i18n/locales/de-DE/components.yml

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -143,6 +143,41 @@ webServiceStatus:
143143
copySuccess: Startprotokoll kopiert
144144
copyError: Das Startprotokoll konnte nicht kopiert werden
145145
copyEmpty: Kein Protokollinhalt zum Kopieren
146+
startupProgress:
147+
title: Starting service
148+
description: Desktop is checking the active version, validating required dependencies, and waiting for the local Hagicode service to finish booting.
149+
successTitle: Service is ready
150+
successDescription: The local service completed startup checks and is ready to open.
151+
failureTitle: Startup did not finish
152+
failureDescription: Desktop hit a problem while starting the service. Review the failure log or close this dialog and continue troubleshooting.
153+
currentStepLabel: Current progress
154+
waitingHint: Startup can take several seconds. Desktop keeps this dialog updated with the current step and execution status.
155+
states:
156+
pending: Pending
157+
active: In progress
158+
completed: Completed
159+
failed: Failed
160+
actions:
161+
close: Close
162+
openFailureLog: View failure log
163+
meta:
164+
version: Active version
165+
port: Port
166+
accessUrl: Access URL
167+
stepLabels:
168+
checkingVersion: Check version
169+
checkingDependencies: Check dependencies
170+
spawning: Start service process
171+
waitingListening: Wait for listening port
172+
healthCheck: Run health check
173+
running: Startup complete
174+
stepDescriptions:
175+
checkingVersion: Confirm that the active version, entry point, and startup metadata are ready for this launch.
176+
checkingDependencies: Validate that Desktop-managed required dependencies are ready before the service starts.
177+
spawning: Create the managed service process and inject the runtime environment prepared by Desktop.
178+
waitingListening: Wait for the service to bind the configured port and make the local access address reachable.
179+
healthCheck: Probe the booted service and confirm the Web API is ready to serve requests.
180+
running: Every startup check passed and the local Hagicode service is ready to open.
146181
toast:
147182
noActiveVersion: Für Webprotokolle ist keine aktive Version ausgewählt
148183
openLogsSuccess: Der Webprotokollordner der aktiven Version wurde geöffnet

src/renderer/i18n/locales/de-DE/pages.yml

Lines changed: 127 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,59 @@
11
settings:
22
title: Einstellungen
3+
loading: Loading settings module...
34
tabs:
4-
onboarding: Onboarding
5-
sharingAcceleration: Herunterladen und Teilen
6-
updates: Hintergrundaktualisierungen
5+
notification: Notification Center
76
dependencyManagement: Dependency Management
87
debugOptions: Debug Options
8+
language: Language Settings
9+
onboarding: Onboarding
10+
sharingAcceleration: Herunterladen und Teilen
11+
theme: Theme Settings
912
runtimeData: Runtime Data
13+
updates: Hintergrundaktualisierungen
14+
advanced: Advanced Settings
15+
notification:
16+
title: Notification Center
17+
description: Validate the desktop notification pipeline and review the default notification payload used by the client.
18+
testSectionTitle: Test Notification
19+
testSectionDescription: Send a native desktop notification to verify the IPC bridge and OS notification transport are working.
20+
testButton: Send Test Notification
21+
sending: Sending...
22+
testSuccess: Test notification sent
23+
testSuccessDescription: If OS notification permissions are available, the desktop should already have received it.
24+
testError: Failed to send test notification
25+
testErrorDescription: 'Error detail: {{error}}'
26+
previewTitle: Default Payload Preview
27+
previewDescription: These fields are sent to the main process when the test notification runs.
28+
testTitle: Test Notification
29+
testBody: Desktop notifications are ready. Clicking this notification focuses Hagicode Desktop.
30+
eventShown: Latest shown event
31+
eventShownValue: Notification {{id}} was shown via {{transport}}
32+
eventClicked: Latest click event
33+
eventClickedValue: Notification {{id}} was clicked with action {{action}} via {{transport}}
34+
eventPending: No notification events have been recorded yet.
35+
values:
36+
focusWindow: Focus main window
37+
openUrl: Open URL
38+
fields:
39+
title: Title
40+
body: Body
41+
level: Level
42+
clickAction: Click action
43+
duration: Duration
44+
silent: Silent
45+
languageSettings:
46+
title: Language Settings
47+
description: Switch the active Desktop language and refresh labels immediately.
48+
helper: Language changes are applied to menus, tray labels, and settings tabs right away.
49+
themeSettings:
50+
title: Theme Settings
51+
description: A dedicated theme surface is reserved here for future light, dark, and visual preference controls.
52+
advancedSettings:
53+
title: Advanced Settings
54+
description: Reserve one place for logs, experiments, and advanced runtime controls.
55+
placeholders:
56+
comingSoon: This settings module is registered in the new settings framework. Detailed controls will arrive in a follow-up change.
1057
dependencyManagementMode:
1158
title: Dependency management mode
1259
description: Choose whether Desktop manages CLI dependencies itself or only inspects the current global Node/npm environment.
@@ -211,8 +258,6 @@ versionManagement:
211258
incomplete: Fehlende Abhängigkeiten
212259
installed: Installiert
213260
payloadInvalid: Nutzlast ungültig
214-
runtimeIncompatible: Gebündelte Laufzeit inkompatibel
215-
desktopIncompatible: Desktop nicht kompatibel
216261
actions:
217262
refresh: Aktualisieren
218263
install: Version installieren
@@ -320,7 +365,6 @@ subscription:
320365
errorTitle: Subscription snapshot unavailable
321366
errorDescription: 'Desktop could not load the subscription snapshot: {{error}}'
322367
staleBadge: Cached snapshot
323-
renewalOrExpiry: Renewal / expiry {{value}}
324368
messages:
325369
refreshSuccess: Subscription status refreshed.
326370
refreshStale: Desktop kept the cached subscription snapshot because the Microsoft Store refresh did not complete.
@@ -339,34 +383,100 @@ subscription:
339383
unknown: Unknown
340384
stale: Stale cached state
341385
unsupported: Store unavailable
386+
hero:
387+
inactive:
388+
title: Keep Hagicode AI Agent moving forward
389+
description: The sponsor plan is the most direct way to fund the time and token cost behind continuous AI Agent work in Desktop.
390+
note: AI Agent features do not stay useful on their own. They need ongoing tracking, prompt updates, implementation work, and token spend to stay aligned with fast-moving tools.
391+
active:
392+
title: Thank you for backing the next round of work
393+
description: This device already carries an active sponsor plan, which means you are helping keep Hagicode AI Agent current while giving us room to ship more polished sponsor-facing touches.
394+
note: Your purchase is more than a receipt. It directly supports the ongoing maintenance, iteration, and follow-up work that keeps the feature reliable after launch.
342395
actions:
396+
panelEyebrow: Sponsor actions
397+
buyTitle: Support ongoing creation
398+
manageTitle: Review or manage support
343399
refresh: Refresh status
344400
refreshing: Refreshing...
345401
buy: Buy / Manage
346402
manage: Buy / Manage
347403
processing: Processing...
404+
buyHint: Start the Microsoft Store flow to support continued AI Agent iteration and attach sponsor entitlements to this device.
405+
manageHint: Open the Microsoft Store purchase flow again if you want to confirm the sponsoring account or manage the current plan.
406+
unsupportedHint: Purchase and management work only in the Microsoft Store edition of Hagicode Desktop.
407+
secondaryLabel: Before you decide
408+
secondaryHint: Refresh first if you want Desktop to re-check Microsoft Store and confirm the latest local snapshot before you purchase or review the plan.
348409
summary:
349410
planLabel: Plan
350411
planName: Hagicode Sponsor Plan
412+
renewalLabel: Renewal or expiry
351413
lastSyncLabel: Last successful sync
352414
entitlementsLabel: Enabled entitlements
353-
entitlementsHint: Derived capability flags are ready for future Desktop consumers.
415+
activeDetail: Sponsor entitlements are already available on this device.
416+
inactiveDetail: Purchasing here is what turns future sponsor benefits on for this device.
354417
source: 'Source: {{value}}'
355418
sourceValue:
356419
cache: Local cache
357420
store: Microsoft Store
358421
fallback: Fallback snapshot
359-
fields:
360-
status: Current status
361-
planStoreId: Store ID
362-
lastCheckedAt: Last checked
363-
expirationDate: Renewal / expiry
364-
stateCard:
365-
title: Subscription state
366-
description: Desktop-owned status and dates are normalized from the Microsoft Store runtime and local cache.
422+
mission:
423+
eyebrow: Why sponsorship matters
424+
title: Sponsorship keeps an evolving feature alive
425+
description: Hagicode AI Agent is not a one-off capability. It needs continuous follow-up so the product can track changing models, tools, prompts, and supporting workflows.
426+
points:
427+
evolution:
428+
title: AI Agent keeps moving
429+
description: Models, CLI behaviors, prompt strategies, and surrounding workflows keep changing. Staying useful means revisiting the feature repeatedly, not shipping it once.
430+
investment:
431+
title: Time and token budget both matter
432+
description: Keeping the experience current requires author attention, validation work, issue follow-up, and recurring token spend for research and iteration.
433+
rewards:
434+
title: Support should become visible value
435+
description: Beyond sustaining the core work, we plan to add sponsor-facing touches such as more refined themes and other carefully chosen benefits over time.
436+
gratitude:
437+
eyebrow: Sponsor message
438+
title: Your support is already carrying real work
439+
description: The sponsor plan is designed as a practical way to keep ongoing product work funded while giving supporters clear recognition inside Desktop.
440+
points:
441+
continuity:
442+
title: Continued iteration stays possible
443+
description: Active sponsorship gives us room to keep tracking AI Agent changes, respond to tool shifts, and ship follow-up improvements instead of freezing the feature after launch.
444+
benefits:
445+
title: Sponsor-facing polish can grow next
446+
description: We can now keep shaping tasteful sponsor experiences, including more refined themes and other benefits that feel aligned with the product.
447+
roadmap:
448+
title: Future perks already have a delivery path
449+
description: The entitlement model is in place, so later sponsor-only additions can land cleanly without rebuilding the purchase foundation.
450+
benefits:
451+
eyebrow: What this plan unlocks
452+
title: Built to support creation first, then reward supporters well
453+
description: The sponsor plan is intentionally simple today. It keeps the core mission clear while leaving room for polished, appropriate benefits as the product grows.
454+
items:
455+
recognition:
456+
title: Sponsor identity in Desktop
457+
description: Sponsor status can power visible recognition inside the app without depending on brittle one-off checks.
458+
theme:
459+
title: More refined themes and visual polish
460+
description: Support gives us room to invest in better-crafted themes and other quality details that are easy to feel but expensive to maintain.
461+
future:
462+
title: Future sponsor-only benefits
463+
description: The current entitlement model reserves a clean path for later sponsor perks when they are ready to ship.
464+
snapshot:
465+
eyebrow: Current device state
466+
title: Store status and local entitlement details
467+
description: Operational details stay visible here so the sponsor plan remains auditable on the current device.
468+
fields:
469+
status: Current status
470+
planStoreId: Store ID
471+
lastCheckedAt: Last checked
472+
renewalDate: Renewal date
473+
expirationDate: Expiry date
474+
lastSuccessfulSync: Last successful sync
475+
source: Snapshot source
367476
entitlements:
368477
title: Entitlement summary
369-
description: These stable flags are what later sponsor-only Desktop features should consume.
478+
activeDescription: These are the sponsor capability flags currently available on this device.
479+
inactiveDescription: These capability flags are reserved for sponsor-only Desktop experiences and become available after purchase.
370480
enabled: Enabled
371481
disabled: Disabled
372482
names:
@@ -376,6 +486,7 @@ subscription:
376486
sponsorBadge: Allows sponsor identity affordances in the Desktop experience.
377487
premiumFeatureGate: Reserved gate for future sponsor-only Desktop capabilities.
378488
diagnostics:
489+
eyebrow: Technical trace
379490
title: Diagnostics
380491
description: Cached-state recovery details stay visible so refresh failures do not look like entitlement loss.
381492
lastSuccessfulSync: Last successful sync

0 commit comments

Comments
 (0)