diff --git a/firebase/internal-launchpad/assets/data/links.json b/firebase/internal-launchpad/assets/data/links.json new file mode 100644 index 00000000..0b2c2446 --- /dev/null +++ b/firebase/internal-launchpad/assets/data/links.json @@ -0,0 +1,145 @@ +[ + { + "title": "Applications", + "iconColorClass": "bg-primary-100", + "iconSvg": "", + "links": [ + { + "title": "Control Tower", + "url": "https://krow-workforce-dev.web.app", + "badge": "Dev", + "badgeColorClass": "bg-blue-500", + "containerClass": "bg-gradient-to-r from-blue-50 to-blue-100 hover:from-blue-100 hover:to-blue-200", + "iconClass": "w-2 h-2 bg-blue-500 rounded-full", + "textHoverClass": "group-hover:text-blue-700" + }, + { + "title": "Control Tower", + "url": "https://krow-workforce-staging.web.app", + "badge": "Staging", + "badgeColorClass": "bg-amber-500", + "containerClass": "bg-gradient-to-r from-amber-50 to-amber-100 hover:from-amber-100 hover:to-amber-200", + "iconClass": "w-2 h-2 bg-amber-500 rounded-full", + "textHoverClass": "group-hover:text-amber-700" + } + ] + }, + { + "title": "Legacy Mobile Apps", + "iconColorClass": "bg-green-100", + "iconSvg": "", + "links": [ + { + "title": "Google Play Store", + "url": "https://play.google.com/store/apps/dev?id=9163719228191263405&hl=en", + "badge": "Live", + "badgeColorClass": "bg-green-500", + "containerClass": "bg-gradient-to-r from-green-50 to-emerald-100 hover:from-green-100 hover:to-emerald-200", + "iconSvg": "", + "textHoverClass": "group-hover:text-green-700" + }, + { + "title": "Apple App Store", + "url": "https://apps.apple.com/us/developer/thinkloops-llc/id1719034287", + "badge": "Live", + "badgeColorClass": "bg-gray-700", + "containerClass": "bg-gradient-to-r from-gray-50 to-gray-100 hover:from-gray-100 hover:to-gray-200", + "iconSvg": "", + "textHoverClass": "group-hover:text-gray-700" + } + ] + }, + { + "title": "Cloud Infrastructure", + "iconColorClass": "bg-purple-100", + "iconSvg": "", + "links": [ + { + "title": "Firebase Console", + "url": "https://console.firebase.google.com/project/krow-workforce-dev/overview", + "badge": "Dev", + "badgeColorClass": "bg-blue-500", + "containerClass": "bg-gradient-to-r from-blue-50 to-indigo-100 hover:from-blue-100 hover:to-indigo-200", + "iconSvg": "", + "textHoverClass": "group-hover:text-indigo-700" + }, + { + "title": "Firebase Console", + "url": "https://console.firebase.google.com/project/krow-workforce-staging/overview", + "badge": "Staging", + "badgeColorClass": "bg-amber-500", + "containerClass": "bg-gradient-to-r from-amber-50 to-orange-100 hover:from-amber-100 hover:to-orange-200", + "iconSvg": "", + "textHoverClass": "group-hover:text-orange-700" + }, + { + "title": "Google Cloud", + "url": "https://console.cloud.google.com/welcome/new?project=krow-workforce-dev", + "badge": "Dev", + "badgeColorClass": "bg-blue-500", + "containerClass": "bg-gradient-to-r from-blue-50 to-cyan-100 hover:from-blue-100 hover:to-cyan-200", + "iconSvg": "", + "textHoverClass": "group-hover:text-cyan-700" + }, + { + "title": "Google Cloud", + "url": "https://console.cloud.google.com/welcome/new?project=krow-workforce-staging", + "badge": "Staging", + "badgeColorClass": "bg-amber-500", + "containerClass": "bg-gradient-to-r from-amber-50 to-yellow-100 hover:from-amber-100 hover:to-yellow-200", + "iconSvg": "", + "textHoverClass": "group-hover:text-yellow-700" + } + ] + }, + { + "title": "Design", + "iconColorClass": "bg-pink-100", + "iconSvg": "", + "links": [ + { + "title": "Staff App Figma File", + "url": "#", + "badge": "Design", + "badgeColorClass": "bg-pink-500", + "containerClass": "bg-gradient-to-r from-pink-50 to-rose-100 hover:from-pink-100 hover:to-rose-200", + "iconSvg": "", + "textHoverClass": "group-hover:text-pink-700" + }, + { + "title": "Staff App Preview", + "url": "#", + "badge": "Preview", + "badgeColorClass": "bg-purple-500", + "containerClass": "bg-gradient-to-r from-purple-50 to-fuchsia-100 hover:from-purple-100 hover:to-fuchsia-200", + "iconSvg": "", + "textHoverClass": "group-hover:text-purple-700" + } + ] + }, + { + "title": "Resources", + "iconColorClass": "bg-indigo-100", + "iconSvg": "", + "links": [ + { + "title": "GitHub Repository", + "subtitle": "View source code", + "url": "https://github.com/Oloodi/krow-workforce", + "containerClass": "bg-gradient-to-r from-gray-50 to-slate-100 hover:from-gray-100 hover:to-slate-200", + "iconSvg": "", + "textHoverClass": "group-hover:text-gray-700", + "arrowIcon": true + }, + { + "title": "Team Communication", + "subtitle": "Google Chat", + "url": "https://chat.google.com/", + "containerClass": "bg-gradient-to-r from-green-50 to-teal-100 hover:from-green-100 hover:to-teal-200", + "iconSvg": "", + "textHoverClass": "group-hover:text-teal-700", + "arrowIcon": true + } + ] + } +] diff --git a/firebase/internal-launchpad/assets/js/links-loader.js b/firebase/internal-launchpad/assets/js/links-loader.js new file mode 100644 index 00000000..f00b10a9 --- /dev/null +++ b/firebase/internal-launchpad/assets/js/links-loader.js @@ -0,0 +1,63 @@ +async function loadLinks() { + const container = document.getElementById('links-container'); + if (!container) return; + + try { + const response = await fetch('./assets/data/links.json'); + if (!response.ok) { + throw new Error(`Failed to load links: ${response.status}`); + } + + const groups = await response.json(); + + container.innerHTML = groups.map(group => ` + +