forked from trent_larson/crowd-funder-for-time-pwa
Adds native deep linking capabilities: - Configure timesafari:// URL scheme for iOS and Android - Add @capacitor/app dependency and configuration - Implement deep link handler with improved error logging - Support parameterized routes like claim/:id - Add debug logging for native platforms - Handle app mounting state for deep links Technical changes: - Update AndroidManifest.xml with intent filters - Add URL scheme to iOS Info.plist - Add @capacitor/app to Podfile and Gradle - Enhance main.capacitor.ts with robust deep link handling
19 lines
652 B
TypeScript
19 lines
652 B
TypeScript
export const loadPlanWithRetry = async (handle: string, retries = 3) => {
|
|
for (let i = 0; i < retries; i++) {
|
|
try {
|
|
const plan = await loadPlan(handle);
|
|
if (plan) return plan;
|
|
} catch (err) {
|
|
console.warn(`[Plan Load] Attempt ${i + 1} failed for ${handle}`);
|
|
if (i === retries - 1) throw err;
|
|
await new Promise(resolve => setTimeout(resolve, 1000 * (i + 1)));
|
|
}
|
|
}
|
|
};
|
|
|
|
const loadPlan = async (handle: string) => {
|
|
// Implement your plan loading logic here
|
|
// This is a placeholder - replace with actual implementation
|
|
const response = await fetch(`/api/plans/${handle}`);
|
|
return response.json();
|
|
};
|