PageSourceSearch

https://litelinxfiber.com/assets/GoogleIndexing-CZcujPnG.js

js litelinxfiber.com collected 2026-10-09 22:18:19 UTC 21,901 bytes, 7 lines download raw bytes

1import{j as e}from"./vendor-Dw1-o7kh.js";import{r as t}from"./react-BpC26T6t.js";import{m as s,b as a,u as l,Q as r,T as n,z as i,V as c,s as o,B as d,S as m,X as x,W as u,R as p,t as h}from"./index-BTs3I-_Y.js";import{S as g,H as y}from"./settings-C5gquHJq.js";import{P as j}from"./plus-C-sL7rnd.js";import{A as b}from"./arrow-up-down-Du4nE51-.js";import{C as f}from"./chevron-right-CFLHCRF8.js";import{E as N}from"./external-link-CZPW3wXw.js";import{T as v}from"./trash-Ni2Fzrxd.js";import{S as w}from"./send-vOChcdFa.js";import"./supabase-H1x_w4VC.js";
2/**
3 * @license lucide-react v0.344.0 - ISC
4 *
5 * This source code is licensed under the ISC license.
6 * See the LICENSE file in the root directory of this source tree.
7 */const S=s("Layers",[["path",{d:"m12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83Z",key:"8b97xw"}],["path",{d:"m22 17.65-9.17 4.16a2 2 0 0 1-1.66 0L2 17.65",key:"dd6zsq"}],["path",{d:"m22 12.65-9.17 4.16a2 2 0 0 1-1.66 0L2 12.65",key:"ep9fru"}]]);function _(){const{settings:s}=a(),{products:_}=l(),{news:C}=r(void 0,void 0),{resources:A}=n(void 0,void 0),{pages:k}=i(),{events:L}=c(),[U,$]=t.useState("submit"),[E,O]=t.useState([]),[R,T]=t.useState(""),[D,P]=t.useState("URL_UPDATED"),[G,I]=t.useState(!1),[J,F]=t.useState(null),[z,H]=t.useState(null),[M,q]=t.useState(""),[Q,V]=t.useState(!1),[B,W]=t.useState(null),[Z,K]=t.useState([]),[X,Y]=t.useState(!1),[ee,te]=t.useState(""),[se,ae]=t.useState("type"),[le,re]=t.useState("asc"),[ne,ie]=t.useState("type"),[ce,oe]=t.useState(new Set),de=(null==s?void 0:s.site_url)||"https://litelinxfiber.com";function me(e,t){return e||t?e?t&&new Date(t)>new Date(e)?t:e:t||null:null}const xe=[...[{url:`${de}/`,title:"Homepage",type:"static",updatedAt:null},{url:`${de}/products`,title:"Products",type:"static",updatedAt:null},{url:`${de}/about`,title:"About",type:"static",updatedAt:null},{url:`${de}/contact`,title:"Contact",type:"static",updatedAt:null},{url:`${de}/f360i`,title:"F360i",type:"static",updatedAt:null},{url:`${de}/smart-warehouse`,title:"Smart Warehouse",type:"static",updatedAt:null},{url:`${de}/construction-copilot`,title:"Construction Co-Pilot",type:"static",updatedAt:null},{url:`${de}/partners`,title:"Partners",type:"static",updatedAt:null},{url:`${de}/events`,title:"Events",type:"static",updatedAt:null},{url:`${de}/news`,title:"News",type:"static",updatedAt:null},{url:`${de}/careers`,title:"Careers",type:"static",updatedAt:null}],...(_||[]).map(e=>({url:`${de}/products/${e.slug}`,title:e.name,type:"product",updatedAt:me(e.created_at,e.updated_at)})),...(C||[]).map(e=>({url:`${de}/news/article/${e.slug}`,title:e.title,type:e.type||"article",updatedAt:me(e.created_at,e.updated_at)})),...(A||[]).map(e=>({url:`${de}/news/resource/${e.slug}`,title:e.title,type:e.type||"resource",updatedAt:me(e.created_at,e.updated_at)})),...(L||[]).map(e=>({url:`${de}/events/${e.slug}`,title:e.title,type:"event",updatedAt:me(e.created_at,e.updated_at)})),...(k||[]).map(e=>({url:`${de}/${e.slug}`,title:e.title,type:"custom",updatedAt:me(e.created_at,e.updated_at)}))],ue=[...ee.trim()?xe.filter(e=>e.title.toLowerCase().includes(ee.toLowerCase())||e.url.toLowerCase().includes(ee.toLowerCase())):xe].sort((e,t)=>{let s=0;if("title"===se)s=e.title.localeCompare(t.title,void 0,{sensitivity:"base"});else if("type"===se)s=e.type.localeCompare(t.type)||e.title.localeCompare(t.title,void 0,{sensitivity:"base"});else if("date"===se){s=(e.updatedAt?new Date(e.updatedAt).getTime():0)-(t.updatedAt?new Date(t.updatedAt).getTime():0)}else s=e.url.localeCompare(t.url);return"asc"===le?s:-s}),pe=["static","product","event","article","news","resource","custom"],he="type"===ne?(()=>{const e={};for(const s of ue){const t=s.type;e[t]||(e[t]=[]),e[t].push(s)}const t=Object.entries(e);return t.sort(([e],[t])=>{const s=pe.indexOf(e),a=pe.indexOf(t);return-1!==s&&-1!==a?s-a:-1!==s?-1:-1!==a?1:e.localeCompare(t)}),Object.fromEntries(t)})():null,ge={static:"Static pages",product:"Products",article:"News / Articles",news:"News",resource:"Resources",event:"Events",custom:"Custom pages"};async function ye(){var e;Y(!0);try{const{data:t,error:s}=await o.from("google_indexing_logs").select("*").order("created_at",{ascending:!1}).limit(50);
7if(s){if("42P01"===s.code||(null==(e=s.message)?void 0:e.includes("does not exist")))return void K([]);throw s}K(t||[])}catch(t){K([])}finally{Y(!1)}}function je(e){O(t=>t.includes(e)?t.filter(t=>t!==e):[...t,e])}function be(){R.trim()&&!E.includes(R.trim())&&(O(e=>[...e,R.trim()]),T(""))}return t.useEffect(()=>{!async function(){try{const e=localStorage.getItem("google_service_account_json");e&&q(e)}catch(e){}}(),"history"===U&&ye()},[U]),e.jsxs("div",{className:"max-w-7xl mx-auto p-6",children:[e.jsxs("div",{className:"flex justify-between items-center mb-6",children:[e.jsx("h1",{className:"text-2xl font-bold text-secondary",children:"Google Indexing API"}),e.jsxs("div",{className:"flex gap-2",children:[e.jsxs(d,{variant:"outline",onClick:()=>$("settings"),className:"settings"===U?"bg-gray-100":"",children:[e.jsx(g,{className:"h-4 w-4 mr-2"}),"Settings"]}),e.jsxs(d,{variant:"outline",onClick:()=>$("history"),className:"history"===U?"bg-gray-100":"",children:[e.jsx(y,{className:"h-4 w-4 mr-2"}),"History"]})]})]}),"settings"===U&&e.jsxs("div",{className:"bg-white rounded-lg shadow p-6",children:[e.jsx("h2",{className:"text-lg font-semibold mb-4",children:"Google Service Account Configuration"}),e.jsxs("div",{className:"mb-4",children:[e.jsx("label",{className:"block text-sm font-medium text-gray-700 mb-2",children:"Service Account JSON"}),e.jsx("p",{className:"text-xs text-gray-500 mb-2",children:"Paste your Google Service Account JSON here. This will be stored securely in Supabase secrets."}),e.jsx("textarea",{value:M,onChange:e=>q(e.target.value),className:"w-full h-64 p-3 border border-gray-300 rounded-md font-mono text-xs",placeholder:'{"type": "service_account", "project_id": "...", ...}'}),B&&e.jsx("p",{className:"text-red-600 text-sm mt-2",children:B})]}),e.jsxs("div",{className:"bg-blue-50 border border-blue-200 rounded-md p-4 mb-4",children:[e.jsx("h3",{className:"text-sm font-medium text-blue-800 mb-2",children:"How to get Service Account JSON:"}),e.jsxs("ol",{className:"text-sm text-blue-700 list-decimal list-inside space-y-1",children:[e.jsxs("li",{children:["Go to ",e.jsx("a",{href:"https://console.cloud.google.com/",target:"_blank",rel:"noopener noreferrer",className:"underline",children:"Google Cloud Console"})]}),e.jsx("li",{children:"Create or select a project"}),e.jsx("li",{children:'Enable the "Indexing API"'}),e.jsx("li",{children:'Go to "IAM & Admin" → "Service Accounts"'}),e.jsx("li",{children:"Create a new service account or use existing"}),e.jsx("li",{children:"Create a JSON key and download it"}),e.jsx("li",{children:"Paste the JSON content above"})]})]}),e.jsxs("div",{className:"flex gap-2",children:[e.jsx(d,{variant:"primary",onClick:async function(){V(!0),W(null);try{M.trim()&&JSON.parse(M),M.trim()?localStorage.setItem("google_service_account_json",M):localStorage.removeItem("google_service_account_json"),alert("Settings saved! Note: Service account JSON should also be set in Supabase secrets as GOOGLE_SERVICE_ACCOUNT_JSON")}catch{W("Invalid JSON format")}finally{V(!1)}},disabled:Q,children:Q?"Saving...":"Save Settings"}),e.jsx(d,{variant:"outline",onClick:()=>{q(""),localStorage.removeItem("google_service_account_json")},children:"Clear"})]}),e.jsxs("div",{className:"mt-4 p-4 bg-yellow-50 border border-yellow-200 rounded-md",children:[e.jsxs("p",{className:"text-sm text-yellow-800",children:[e.jsx("strong",{children:"Important:"})," After saving here, you also need to set the service account JSON in Supabase secrets:"]}),e.jsx("code",{className:"block mt-2 p-2 bg-yellow-100 rounded text-xs",children:'supabase secrets set GOOGLE_SERVICE_ACCOUNT_JSON=\'{"type":"service_account",...}\''})]})]}),"history"===U&&e.jsxs("div",{className:"bg-white rounded-lg shadow",children:[e.jsx("div",{className:"p-6 border-b",children:e.jsx("h2",{className:"text-lg font-semibold",children:"Submission History"})}),X?e.jsx("div",{className:"p-8 text-center text-gray-600",children:"Loading logs..."}):0===Z.length?e.jsxs("div",{className:"p-8 text-center",children:[e.jsx("p",{className:"text-gray-600 mb-4",children:"No submission history found"}),e.jsxs("div",{className:"bg-yellow-50 border border-yellow-200 rounded-md p-4 max-w-2xl mx-auto text-left",children:[e.jsxs("p",{className:"text-sm text-yellow-800 mb
7-2",children:[e.jsx("strong",{children:"Note:"})," If you've submitted URLs but don't see them here, the database table may not exist yet."]}),e.jsx("p",{className:"text-xs text-yellow-700 mb-2",children:"To create the table, run the migration:"}),e.jsx("code",{className:"block text-xs bg-yellow-100 p-2 rounded mb-2",children:"supabase db push --include-all"}),e.jsxs("p",{className:"text-xs text-yellow-700",children:["Or apply the migration manually via the Supabase Dashboard SQL Editor using the file:",e.jsx("code",{className:"bg-yellow-100 px-1 rounded",children:"supabase/migrations/20250126000000_create_google_indexing_logs.sql"})]})]})]}):e.jsx("div",{className:"overflow-x-auto",children:e.jsxs("table",{className:"min-w-full divide-y divide-gray-200",children:[e.jsx("thead",{className:"bg-gray-50",children:e.jsxs("tr",{children:[e.jsx("th",{className:"px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase",children:"Action"}),e.jsx("th",{className:"px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase",children:"URLs"}),e.jsx("th",{className:"px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase",children:"Type"}),e.jsx("th",{className:"px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase",children:"Status"}),e.jsx("th",{className:"px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase",children:"Date"})]})}),e.jsx("tbody",{className:"bg-white divide-y divide-gray-200",children:Z.map(t=>{var s;return e.jsxs("tr",{children:[e.jsx("td",{className:"px-6 py-4 whitespace-nowrap text-sm",children:t.action}),e.jsx("td",{className:"px-6 py-4 text-sm",children:e.jsxs("div",{className:"max-w-md",children:[null==(s=t.urls)?void 0:s.slice(0,2).map((t,s)=>e.jsx("div",{className:"truncate text-xs text-gray-600",children:t},s)),t.urls&&t.urls.length>2&&e.jsxs("div",{className:"text-xs text-gray-400",children:["+",t.urls.length-2," more"]})]})}),e.jsx("td",{className:"px-6 py-4 whitespace-nowrap text-sm",children:t.type}),e.jsx("td",{className:"px-6 py-4 whitespace-nowrap",children:e.jsx("span",{className:"px-2 py-1 text-xs rounded-full "+("success"===t.status?"bg-green-100 text-green-800":"bg-red-100 text-red-800"),children:t.status})}),e.jsx("td",{className:"px-6 py-4 whitespace-nowrap text-sm text-gray-500",children:new Date(t.created_at).toLocaleString()})]},t.id)})})]})})]}),"submit"===U&&e.jsxs("div",{className:"space-y-6",children:[e.jsxs("div",{className:"bg-white rounded-lg shadow p-6",children:[e.jsx("h2",{className:"text-lg font-semibold mb-4",children:"Submission Type"}),e.jsxs("div",{className:"flex gap-4",children:[e.jsxs("label",{className:"flex items-center",children:[e.jsx("input",{type:"radio",name:"submissionType",value:"URL_UPDATED",checked:"URL_UPDATED"===D,onChange:e=>P(e.target.value),className:"mr-2"}),"Update URL (for new/updated content)"]}),e.jsxs("label",{className:"flex items-center",children:[e.jsx("input",{type:"radio",name:"submissionType",value:"URL_DELETED",checked:"URL_DELETED"===D,onChange:e=>P(e.target.value),className:"mr-2"}),"Remove URL (for deleted content)"]})]})]}),e.jsxs("div",{className:"bg-white rounded-lg shadow p-6",children:[e.jsx("h2",{className:"text-lg font-semibold mb-4",children:"Add URL Manually"}),e.jsxs("div",{className:"flex gap-2",children:[e.jsx("input",{type:"text",value:R,onChange:e=>T(e.target.value),placeholder:"https://litelinxfiber.com/page",className:"flex-1 px-4 py-2 border border-gray-300 rounded-md",onKeyPress:e=>"Enter"===e.key&&be()}),e.jsxs(d,{onClick:be,disabled:!R.trim(),children:[e.jsx(j,{className:"h-4 w-4 mr-2"}),"Add"]})]})]}),e.jsxs("div",{className:"bg-white rounded-lg shadow p-6",children:[e.jsx("h2",{className:"text-lg font-semibold mb-4",children:"Select Pages"}),e.jsx("div",{className:"mb-4",children:e.jsxs("div",{className:"relative",children:[e.jsx(m,{className:"absolute left-3 top-1/2 transform -translate-y-1/2 h-4 w-4 text-gray-400"}),e.jsx("input",{type:"text",placeholder:"Search pages...",value:ee,onChange:e=>te(e.target.value),className:"w-full pl-10 pr-4 py-2 border border-gray-300 rounded-md focus:outline-none focus:ring-2 focus:ring-primary focus:border-transparent"}),ee&&e.jsx("button",{onClick:()=>te(""),className:"absolute right-3 top-1/2 transform -translate-y-1/2 text-gray-400 hover:text-gray-600",children:e.jsx(x,{className:"h-4 w-4"})})]})}),e.jsxs("div",{className:"flex flex-wrap items-center gap-4 mb-4",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(b,{className:"h-4 w-4 text-gray-500"}),e.jsx("span",{className:"text-sm text-gray-600",children:"Sort by:"}),e.jsxs("select",{value:se,onChange:e=>ae(e.target.value),className:"px-3 py-1.5 border border-gray-300 rounded-md text-sm focus:outline-none focus:ring-2 focus:ring-primary",children:[e.jsx("option",{value:"title",children:"Title (A–Z)"}),e.jsx("option",{value:"type",children:"Type"}),e.jsx("option",{value:"url",children:"URL"}),e.jsx("option",{value:"date",children:"Date (created/updated)"})]}),e.jsx("button",{type:"button",onClick:()=>re(e=>"asc"===e?"desc":"asc"),className:"px-2 py-1.5 border border-gray-300 rounded-md text-sm hover:bg-gray-50",title:"asc"===le?"Ascending (click for descending)":"Descending (click for ascending)",children:"asc"===le?"↑ Asc":"↓ Desc"})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(S,{className:"h-4 w-4 text-gray-500"}),e.jsx("span",{className:"text-sm text-gray-600",children:"Group by:"}),e.jsxs("select",{value:ne,onChange:e=>ie(e.target.value),className:"px-3 py-1.5 border border-gray-300 rounded-md text-sm focus:outline-none focus:ring-2 focus:ring-primary",children:[e.jsx("option",{value:"none",children:"None"}),e.jsx("option",{value:"type",children:"Type"})]})]}),e.jsx("span",{className:"text-sm text-gray-500",children:ee?`${ue.length} result(s)`:`${ue.length} page(s)`})]}),e.jsx("div",{className:"max-h-96 overflow-y-auto border border-gray-200 rounded-md",children:e.jsxs("table",{className:"min-w-full divide-y divide-gray-200",children:[e.jsx("thead",{className:"bg-gray-50 sticky top-0 z-10",children:e.jsxs("tr",{children:[e.jsx("th",{className:"px-4 py-3 text-left text-xs font-medium text-gray-500 uppercase w-12",children:e.jsx("input",{type:"checkbox",checked:ue.length>0&&E.length===ue.length,onChange:e=>{e.target.checked?O(ue.map(e=>e.url)):O([])}})}),e.jsx("th",{className:"px-4 py-3 text-left text-xs font-medium text-gray-500 uppercase",children:"Page"}),e.jsx("th",{className:"px-4 py-3 text-left text-xs font-medium text-gray-500 uppercase",children:"Type"}),e.jsx("th",{className:"px-4 py-3 text-left text-xs font-medium text-gray-500 uppercase",children:"URL"})]})}),e.jsx("tbody",{className:"bg-white divide-y divide-gray-200",children:0===ue.length?e.jsx("tr",{children:e.jsxs("td",{colSpan:4,className:"px-4 py-8 text-center text-gray-500",children:['No pages found matching "',ee,'"']})}):"type"===ne&&he?Object.entries(he).map(([s,a])=>{const l=ge[s]??s,r=ce.has(s);return e.jsxs(t.Fragment,{children:[e.jsx("tr",{className:"bg-gray-50 border-b border-gray-200",children:e.jsx("td",{className:"px-4 py-2",colSpan:4,children:e.jsxs("button",{type:"button",onClick:()=>function(e){oe(t=>{const s=new Set(t);return s.has(e)?s.delete(e):s.add(e),s})}(s),className:"flex items-center gap-2 w-full text-left text-sm font-medium text-gray-700 hover:text-gray-900",children:[r?e.jsx(f,{className:"h-4 w-4 flex-shrink-0"}):e.jsx(u,{className:"h-4 w-4 flex-shrink-0"}),l," (",a.length,")"]})})}),!r&&a.map((t,a)=>e.jsxs("tr",{className:"hover:bg-gray-50",children:[e.jsx("td",{className:"px-4 py-3 pl-8",children:e.jsx("input",{type:"checkbox",checked:E.includes(t.url),onChange:()=>je(t.url)})}),e.jsx("td",{className:"px-4 py-3 text-sm font-medium",children:t.title}),e.jsx("td",{className:"px-4 py-3 text-sm text-gray-500 capitalize",children:t.type}),e.jsx("td",{className:"px-4 py-3 text-sm text-gray-600",children:e.jsxs("a",{href:t.url,target:"_blank",rel:"noopener noreferrer",className:"text-blue-600 hover:underline flex items-center gap-1",children:[t.url,e.jsx(N,{className:"h-3 w-3"})]})})]},`${s}-${a}
7`))]},s)}):ue.map((t,s)=>e.jsxs("tr",{className:"hover:bg-gray-50",children:[e.jsx("td",{className:"px-4 py-3",children:e.jsx("input",{type:"checkbox",checked:E.includes(t.url),onChange:()=>je(t.url)})}),e.jsx("td",{className:"px-4 py-3 text-sm font-medium",children:t.title}),e.jsx("td",{className:"px-4 py-3 text-sm text-gray-500 capitalize",children:t.type}),e.jsx("td",{className:"px-4 py-3 text-sm text-gray-600",children:e.jsxs("a",{href:t.url,target:"_blank",rel:"noopener noreferrer",className:"text-blue-600 hover:underline flex items-center gap-1",children:[t.url,e.jsx(N,{className:"h-3 w-3"})]})})]},s))})]})})]}),E.length>0&&e.jsxs("div",{className:"bg-white rounded-lg shadow p-6",children:[e.jsxs("h2",{className:"text-lg font-semibold mb-4",children:["Selected URLs (",E.length,")"]}),e.jsx("div",{className:"space-y-2 max-h-64 overflow-y-auto",children:E.map((t,s)=>e.jsxs("div",{className:"flex items-center justify-between p-2 bg-gray-50 rounded",children:[e.jsx("span",{className:"text-sm text-gray-700 flex-1 truncate",children:t}),e.jsx(d,{variant:"outline",size:"sm",onClick:()=>function(e){O(t=>t.filter(t=>t!==e))}(t),className:"ml-2",children:e.jsx(v,{className:"h-4 w-4"})})]},s))})]}),e.jsxs("div",{className:"bg-white rounded-lg shadow p-6",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{children:[e.jsx("h2",{className:"text-lg font-semibold mb-2",children:"Ready to Submit"}),e.jsxs("p",{className:"text-sm text-gray-600",children:[E.length," URL(s) selected for ","URL_UPDATED"===D?"update":"removal"]})]}),e.jsx(d,{variant:"primary",onClick:async function(){var e;if(0!==E.length){I(!0),F(null),H(null);try{const t=function(e){const t="https://storage.litelinxfiber.com";let s=t;return t.includes("storage.")?s="https://ntpmspsmvtnfcnfghjvj.supabase.co":t.includes("supabase.co")||(s="https://ntpmspsmvtnfcnfghjvj.supabase.co"),`${s}/functions/v1/${e}`}("google-indexing"),{data:s}=await o.auth.getSession(),a=null==(e=s.session)?void 0:e.access_token;if(!a)throw new Error("Admin session is required to submit URLs");const l=await fetch(t,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${a}`},body:JSON.stringify({action:1===E.length?"update":"batch",url:1===E.length?E[0]:void 0,urls:E.length>1?E:void 0,type:D})});let r;try{r=await l.json()}catch{const e=await l.text();throw new Error(`Server error: ${l.status} ${l.statusText}. ${e.substring(0,200)}`)}if(!l.ok||!r.success){const e=r.error||r.message||"Failed to submit URLs";if(e.includes("Permission denied")||e.includes("verify the URL ownership"))throw new Error(e+'\n\nTo fix this:\n1. Go to Google Search Console (https://search.google.com/search-console)\n2. Select your property\n3. Go to Settings → Users and permissions\n4. Add your service account email (from the JSON file, field "client_email") as Owner\n5. Ensure the property is verified\n6. Make sure the URL domain matches the verified property');throw new Error(e)}F(r),O([]),"history"===U&&ye(),alert(`Successfully submitted ${E.length} URL(s) to Google!`)}catch(t){const e=t instanceof Error?t.message:"Unknown error";H(e),e.includes("\n")?alert(e):alert("Failed to submit URLs: "+e)}finally{I(!1)}}else alert("Please select at least one URL to submit")},disabled:G||0===E.length,className:"flex items-center",children:G?e.jsxs(e.Fragment,{children:[e.jsx(p,{className:"h-4 w-4 mr-2 animate-spin"}),"Submitting..."]}):e.jsxs(e.Fragment,{children:[e.jsx(w,{className:"h-4 w-4 mr-2"}),"Submit to Google"]})})]}),z&&e.jsx("div",{className:"mt-4 p-4 bg-red-50 border border-red-200 rounded-md",children:e.jsxs("div",{className:"flex items-start",children:[e.jsx(h,{className:"h-5 w-5 text-red-600 mr-2 flex-shrink-0 mt-0.5"}),e.jsxs("div",{className:"flex-1",children:[e.jsx("h3",{className:"text-sm font-semibold text-red-800 mb-2",children:"Submission Failed"}),e.jsx("div",{className:"text-sm text-red-700 whitespace-pre-line",children:z}),z.includes("Permission denied")&&e.jsxs("div",{className:"mt-3 p-3 bg-red-100 rounded border border-red-300",children:[e.jsx("p",{className:"text-xs font-semibold text-red-900 mb-1",children:"Qu
7ick Fix:"}),e.jsxs("ol",{className:"text-xs text-red-800 list-decimal list-inside space-y-1",children:[e.jsxs("li",{children:["Open your service account JSON file and find the ",e.jsx("code",{className:"bg-red-200 px-1 rounded",children:"client_email"})," field"]}),e.jsxs("li",{children:["Go to ",e.jsx("a",{href:"https://search.google.com/search-console",target:"_blank",rel:"noopener noreferrer",className:"underline font-semibold",children:"Google Search Console"})]}),e.jsx("li",{children:"Select your property → Settings → Users and permissions"}),e.jsxs("li",{children:["Add the service account email as ",e.jsx("strong",{children:"Owner"})]}),e.jsx("li",{children:"Ensure the property is verified"}),e.jsx("li",{children:"Try submitting again"})]})]})]})]})}),J&&e.jsx("div",{className:"mt-4 p-4 bg-green-50 border border-green-200 rounded-md",children:e.jsx("p",{className:"text-sm text-green-800",children:"✅ Successfully submitted! Check the History tab for details."})})]})]})]})}export{_ as GoogleIndexing};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.