UNPKG

progresspulse-pwa

Version:

A modern PWA for tracking progress and achieving goals with iPhone-style design

93 lines (72 loc) 3.1 kB
# Routing Fixes - Pages Now Open in New Tabs ## ✅ Fixed Issues ### **Problem**: Pages like Privacy, Terms, Documentation, etc. were linking to external domain URLs (`https://progresspulse.app/...`) instead of using proper internal routing. ### **Solution**: -**Removed external URLs** from Header component -**Added proper internal routing** for all pages -**Created missing page components** -**Configured pages to open in new tabs** when clicked ## 📄 Pages Created/Fixed ### **New Pages Added:** 1. **Privacy Policy** - `/privacy``PrivacyPage.tsx` 2. **Terms of Service** - `/terms``TermsPage.tsx` 3. **Release Notes** - `/releases``ReleasesPage.tsx` 4. **Help & Support** - `/support``SupportPage.tsx` ### **Existing Pages:** - **Documentation** - `/docs``DocumentationPage.tsx`- **Tutorial** - `/tutorial``TutorialPage.tsx`## 🔧 Technical Changes ### **Header Component (`src/components/layout/Header.tsx`)** ```typescript // OLD (External URLs): openExternalLink('https://progresspulse.app/privacy') // NEW (Internal routing with new tab): openInNewTab('/privacy') ``` ### **New Function Added:** ```typescript const openInNewTab = (path: string) => { const url = window.location.origin + path; window.open(url, '_blank', 'noopener,noreferrer'); }; ``` ### **App Routes (`src/App.tsx`)** Added new routes: ```typescript <Route path="/privacy" element={<PrivacyPage />} /> <Route path="/terms" element={<TermsPage />} /> <Route path="/releases" element={<ReleasesPage />} /> <Route path="/support" element={<SupportPage />} /> ``` ## 🎯 How It Works Now ### **When User Clicks Menu Items:** 1. **Privacy Policy** → Opens `/privacy` in new tab 2. **Terms of Service** → Opens `/terms` in new tab 3. **Release Notes** → Opens `/releases` in new tab 4. **Help & Support** → Opens `/support` in new tab 5. **Documentation** → Opens `/docs` in new tab ### **Benefits:** -**No external dependencies** - All pages are self-contained -**Works offline** - Pages load from your app, not external domain -**New tab behavior** - Pages open in new tabs as requested -**Consistent styling** - All pages use your app's theme and components -**Fast loading** - No external network requests needed ## 🧪 Testing ### **To Test:** 1. Run your app: `npm run dev` 2. Click the "More Options" menu (three dots) in the header 3. Click any of the policy/documentation links 4. Each should open in a new tab with proper content ### **URLs to Test:** - `http://localhost:5173/privacy` - `http://localhost:5173/terms` - `http://localhost:5173/releases` - `http://localhost:5173/support` - `http://localhost:5173/docs` ## 📱 Mobile/APK Compatibility These pages will work perfectly in both: -**Web browsers** - Opens new tabs normally -**Native APK** - Opens new WebView windows within the app --- **All pages now use proper internal routing and open in new tabs as requested! 🎉**