Document expiry notifications (NEW):
- Cloudflare Cron Trigger: runs daily at 9am AEST (23:00 UTC)
- Queries ALL users' documents expiring within 30 days
- Sends HTML email to Cgabijendra@gmail.com grouped by urgency:
🔴 Already expired / 🟠 Within 7 days / 🟡 Within 30 days
- Includes client name, email, phone, expiry date in each row
- Also logs to Google Sheet for record
VAC Fees updated to 2025-26 (effective 1 July 2025):
- 189/190/491/186/187/494: $4,990 / $2,495 / $1,250
- 482 TSS: $3,270 / $1,635 / $1,635
- 500 Student: $750 / $375 / $375
- 485 Graduate: $1,985 / $995 / $500
- 820/309 Partner: $9,265 / $4,635
- 600 Visitor: $195
- Added "as at 1 July 2025" disclaimer with link to verify at DHA
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- iframe height increased to 820px
- Fullscreen button (top-right corner of widget) — uses native Fullscreen API
- CSS overlay fallback for browsers that block iframe fullscreen
- Escape key closes overlay
- "Open in new tab" link for mobile/fallback
- Second fullscreen CTA button in the security badge bar
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Registration:
- New signup triggers Google Sheet row + email to Cgabijendra@gmail.com
- Subject: 🆕 New Account Registration with name/email/phone
Course saves:
- 💾 Save now notifies team via Google Sheet + email (high-intent signal)
- Deduplication: won't save same course twice for same user
- Save redirects back to search results (not dashboard) with green ✅ toast
- Button shows "✅ Saved" for the just-saved course
Dashboard:
- Saved courses split into own card with "Book Consultation" CTA per course
- Actual inquiries shown separately with Processing/Received status
- Empty state guides user to course search
- Quick-stat card shows saved courses count + consultation count separately
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- kondesk_sent now only set to 1 when Google Sheet or email actually delivered
- pushLeadToKondesk returns per-channel success flags (sheetOk, emailOk, kondeskOk)
- Removed app.kondesk.com (unreachable); kept konpare.online endpoints for future
- Kondesk integration note: leads flow via Konpare OSHC widget at cga.konpare.online
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Instagram (careersgatewayaus) + Facebook icons in nav header and footer
- WhatsApp also added to footer social row alongside Instagram + Facebook
- GOOGLE_SHEET_WEBHOOK set in wrangler.toml
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Every inquiry fires 3 simultaneous destinations: Google Sheet, email, Kondesk
- Email to Cgabijendra@gmail.com with HTML template + reply-to set to the lead
- GOOGLE_SHEET_WEBHOOK env var (set once Google Apps Script is deployed)
- WhatsApp floating button bottom-right, links to +61 405 580 047
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Main /dashboard now uses dashWrap sidebar (same as all tool pages), replacing
the old isolated dashboardPage template. Overview shows quick-stat cards for
points/timeline/expiring docs/inquiries, a full 12-tool grid, expiry alerts,
and recent inquiries — all in one unified layout.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
9 new tools modelled on Visa Tracker Pro (iOS):
- Points Calculator: full 189/190/491 points test with live breakdown
- Visa Case Timeline: 7-stage tracker (Skills Assess → EOI → Invite → Lodge → Grant) with date + notes
- Document Expiry Tracker: passport/visa/English test/assessment with colour-coded countdown
- VAC Fee Calculator: all major subclasses, primary + partner + children, live JS calc
- Occupation Search: 55 MLTSSL/STSOL occupations with ANZSCO, authority, visa eligibility
- State Nomination Criteria: all 8 states/territories, SC 190 + 491 min points + notes
- Processing Times: P25/P50/P75/P90 percentile table for 11 visa subclasses
- English Requirements: IELTS/PTE/TOEFL/OET table for 6 visa types
- Student Fund Calculator: DHA 2025-26 living costs + tuition + partner/children, live JS calc
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- og:title, og:description, og:image, og:url, og:type, og:site_name per page
- twitter:card summary_large_image on all pages
- meta description + canonical URL on every page
- Page-specific images and descriptions for homepage, courses, contact, health insurance, services
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Replace 7 space-filename Screenshot images (404 in browsers) with working URLs
- Nav/footer logo → cropped version with underscores (200)
- Service images → pexels, elementor thumbs, 2025/07 uploads (all 200)
- Testimonial + blog images → working replacements
- Add favicon (32x32) and apple-touch-icon (180x180) from careersgateway.com.au
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- CRICOS results now show 3 blurred teasers + register/login wall for guests
- Real logo, hero cutout, CEO photo, service images, testimonial photos, blog grid
- Konpare health insurance widget updated to https://cga.konpare.online/
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Replace unreliable JS-rendered scraper with fast D1 queries against the
official CRICOS government dataset, updated monthly from data.gov.au.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>