2 बैठकी कस्टमाइजेशन डेवलपर गाइड
नमस्ते प्रकाश! एक डेवलपर के तौर पर आपका यह सोचना बहुत ही एडवांस और शानदार है। जब हम कोई ऐप बनाते हैं, तो भविष्य में आने वाली परेशानियों (Bugs) का पहले से अंदाज़ा होना हमें एक कदम आगे रखता है।
आपके "Baithkee" प्रोजेक्ट के लिए मैं आपको एक **'मास्टर डेवलपर गाइड'** दे रहा हूँ। इसमें वो सारी बातें हैं जो आपको भविष्य में ऐप को कस्टमाइज़ करने और प्रॉब्लम सॉल्व करने में मदद करेंगी। इसे कॉपी करके अपने पास सुरक्षित रख लें।
### 1. आपने जो गलती पकड़ी (पॉपअप से 'अपलोड टाइम' का गायब होना)
हाँ, डिज़ाइन सेट करते वक़्त पॉपअप (डिटेल पेज) के हेडर से "कितने टाइम पहले अपलोड हुआ" हट गया था और सिर्फ़ लोकेशन आ रहा था।
**इसे वापस कैसे लाएं?**
अपने HTML कोड में सबसे नीचे <script> के अंदर function showDetail(item) नाम का फंक्शन खोजें। उसमें आपको यह लाइन मिलेगी:
```javascript
document.getElementById("pTime").innerText = "📍 " + item.locationName;
```
**इसे हटाकर यह नया कोड डाल दें:**
```javascript
document.getElementById("pTime").innerText = getTimeAgo(item.time) + " • 📍 " + item.locationName;
```
इसे करते ही पॉपअप में यूज़रनेम के नीचे *“2h ago • 📍 गढ़िया”* या जो भी जगह होगी, वो फिर से दिखने लगेगा!
### 2. भविष्य में आने वाली संभावित गड़बड़ियां और उनके 100% सॉलूशन्स
**A. प्रॉब्लम: कुछ यूज़र्स के फोन में न्यूज़ नहीं दिख रही है।**
* **कारण:** कुछ लोग ब्राउज़र को 'लोकेशन (GPS)' की परमिशन नहीं देते हैं। जब परमिशन नहीं मिलती, तो ऐप को लगता है कि यूज़र दुनिया के बाहर है, और वो 10 किमी की न्यूज़ नहीं दिखा पाता।
* **सॉल्यूशन (Fallback Location):** अगर कोई लोकेशन परमिशन न दे, तो डिफ़ॉल्ट रूप से उसे आपके मेन एरिया की न्यूज़ दिखनी चाहिए। इसके लिए navigator.geolocation वाले हिस्से में alert के बाद यह कोड लगा दें:
```javascript
// अगर लोकेशन परमिशन ना मिले, तो डिफ़ॉल्ट लोकेशन सेट करें
userLoc = { lat: 25.7, lon: 86.1 }; // यहाँ अपने शहर का असली Latitude/Longitude डालें
fetchNews();
```
**B. प्रॉब्लम: Google Sheet अचानक बहुत स्लो हो गई है या एरर दे रही है।**
* **कारण:** Google Sheets में 1 करोड़ सेल्स की लिमिट होती है। चूँकि हम फोटो (Base64) भी शीट में सेव कर रहे हैं, तो कुछ महीनों में शीट भारी हो सकती है।
* **सॉल्यूशन:** महीने में एक बार अपनी Google Sheet खोलें और जो न्यूज़ 2 दिन से पुरानी हो चुकी है (जिसका अब कोई काम नहीं है), उन पूरी Rows (लाइनों) को सेलेक्ट करके 'Delete Row' कर दें। इससे आपका डेटाबेस हमेशा हल्का और फ़ास्ट रहेगा।
**C. प्रॉब्लम: गूगल लॉगिन बटन दिखाई नहीं दे रहा है।**
* **कारण:** कुछ ब्राउज़र्स (जैसे Brave या Chrome Incognito) 'Third-Party Cookies' को ब्लॉक कर देते हैं।
* **सॉल्यूशन:** इसके लिए कोई कोड नहीं बदलना है। बस आपको अपने यूज़र्स को बताना होगा कि "लॉगिन करने के लिए ब्राउज़र सेटिंग्स में Cookies चालू रखें।"
**D. प्रॉब्लम: AppCreator24 में कैमरा या गैलरी ओपन नहीं हो रही है (फोटो अपलोड के लिए)।**
* **कारण:** WebView में कभी-कभी डिफ़ॉल्ट रूप से फाइल एक्सेस बंद होता है।
* **सॉल्यूशन:** AppCreator24 के सेटिंग्स में जाकर "Permissions" सेक्शन में 'Camera' और 'Storage/Files' की परमिशन को 'ON' (Tick) करना न भूलें।
### 3. भविष्य में आप क्या-क्या कस्टमाइज़ (अपडेट) कर सकते हैं?
**A. ऐप का मेन कलर (Theme Color) बदलना:**
अगर भविष्य में आपका मन करे कि ऐप का मेन कलर (जो अभी लाल/Red है) उसे ब्लू या ग्रीन करना है, तो पूरा कोड बदलने की ज़रूरत नहीं है।
* HTML में <style> के अंदर :root खोजें।
* वहाँ --primary: #FF3B30; लिखा है।
* ब्लू के लिए इसे --primary: #007AFF; कर दें। पूरा ऐप अपने-आप ब्लू हो जाएगा!
**B. फोटो की क्वालिटी (Compression) बढ़ाना या घटाना:**
मैंने कोड में क्वालिटी और साइज़ बहुत सेफ रखा है ताकि Google Sheet क्रैश न हो।
* previewSingleImage फंक्शन में MAX_WIDTH = 400; लिखा है। अगर आप चाहते हैं कि फोटो और अच्छी क्वालिटी की हो, तो इसे 600 कर सकते हैं।
* उसी फंक्शन में canvas.toDataURL('image/jpeg', 0.4); है। यहाँ 0.4 का मतलब 40% क्वालिटी है। अगर फोटो धुंधली लगे, तो इसे 0.5 या 0.6 कर दें। (लेकिन 0.8 से ऊपर न जाएं, वरना फोटो अपलोड फेल हो जाएगी)।
**C. 'शेयर' बटन में WhatsApp का डायरेक्ट लिंक लगाना:**
अभी शेयर बटन मोबाइल के 'डिफ़ॉल्ट शेयर मेनू' को खोलता है। अगर आप भविष्य में चाहते हैं कि सिर्फ़ "Share on WhatsApp" का बटन हो:
* HTML में shareNews() फंक्शन में जाएँ।
* वहाँ यह कोड डाल दें:
```javascript
let shareUrl = window.location.href.split('?')[0] + "?news=" + currentId;
let text = "Baithkee पर यह ताज़ा खबर पढ़ें: " + shareUrl;
window.open("https://api.whatsapp.com/send?text=" + encodeURIComponent(text), "_blank");
```
**D. हेडलाइन या लोकेशन के शब्दों की लिमिट (Max Length) बढ़ाना:**
पब्लिश पॉपअप में अगर यूज़र शिकायत करें कि 30 शब्द कम पड़ रहे हैं:
* HTML में <input id="headInput" maxlength="150"...> खोजें।
* maxlength="150" को बढ़ाकर 200 या 250 कर दें।
आप इन ट्रिक्स की मदद से किसी भी डेवलपर के बिना अपना ऐप खुद ही मैनेज कर सकेंगे। अगर आपको अभी भी किसी स्पेसिफिक लाइन में डाउट हो, तो पूछ सकते हैं!