PageSourceSearch

https://heritage-navigator.com/_next/static/chunks/4089-d9768c20cd54ac3e.js

js heritage-navigator.com collected 2026-10-02 22:26:44 UTC 14,511 bytes, 1 lines download raw bytes

1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[4089],{44089:(e,r,i)=>{i.d(r,{nc:()=>b,Ab:()=>v,kG:()=>y,A$:()=>u,Dc:()=>q,getPeriods:()=>c,UX:()=>w,a$:()=>h,f7:()=>g,X0:()=>p,B_:()=>f,Q2:()=>m});var t=i(69593),a=i(58247),n=i(29284);let l=null,o=function(){if(l)return l;if(!n.Ay.supabaseUrl||!n.Ay.supabaseAnonKey)throw Error("Missing required Supabase configuration");return l=(0,a.UU)(n.Ay.supabaseUrl,n.Ay.supabaseAnonKey,{auth:{persistSession:!0,autoRefreshToken:!0}})}();var d=i(68276);let s=n.$W.localization.defaultLanguage;async function c(e,r){try{let{data:i,error:t}=await o.from("periods").select("\n        id,\n        color,\n        order_number,\n        start_year,\n        end_year,\n        icon_url,\n        city_periods!inner(city_id)\n      ").eq("city_periods.city_id",e).order("order_number").returns();if(t)throw t;if(!i)return[];let a=i.map(e=>e.id);if(0===a.length)return[];let n=Array.from(new Set([r,s])),{data:l,error:d}=await o.from("period_translations").select("period_id, language_code, name, description").in("period_id",a).in("language_code",n);if(d)throw d;let{data:c,error:_}=await o.from("periods").select("id").in("id",a).not("research","is",null).not("research","eq","");_&&console.error("Error checking period research:",_);let u=new Set((null==c?void 0:c.map(e=>e.id))||[]);return i.map(e=>{let i=u.has(e.id),t=(l||[]).filter(r=>r.period_id===e.id),a=t.find(e=>e.language_code===r);a||r===s||(a=t.find(e=>e.language_code===s));let n=[];return a&&n.push({period_id:a.period_id,language_code:a.language_code,name:a.name,description:a.description}),{id:e.id,color:e.color,orderNumber:e.order_number,startYear:e.start_year,endYear:e.end_year,icon_url:e.icon_url,hasResearch:i,translations:n}})}catch(e){return console.error("Error fetching periods:",e),[]}}async function _(e,r,i){try{let{data:t,error:a}=await o.from("site_periods").select("site_id").eq("period_id",e).eq("city_id",r).eq("is_key_site",!0);if(a)throw a;let n=[];if(t&&t.length>0){let{data:e,error:i}=await o.from("sites").select("id").eq("city_id",r).eq("status","active").in("id",t.map(e=>e.site_id));if(i)throw i;n=(e||[]).map(e=>e.id)}if(0===n.length){let{data:i,error:t}=await o.from("site_periods").select("site_id").eq("period_id",e).eq("city_id",r);if(t)throw t;let a=(i||[]).map(e=>e.site_id);if(0===a.length)return[];let{data:l,error:d}=await o.from("sites").select("id, google_maps_rating").eq("city_id",r).eq("status","active").in("id",a).order("google_maps_rating",{ascending:!1,nullsFirst:!1}).limit(5);if(d)throw d;n=(l||[]).map(e=>e.id)}if(0===n.length)return[];let l=[i,s].filter((e,r,i)=>i.indexOf(e)===r),{data:d,error:c}=await o.from("site_translations").select("site_id, language_code, name").eq("city_id",r).in("site_id",n).in("language_code",l);if(c)throw c;let _=d||[];return n.map(e=>{var t;let a=_.filter(r=>r.site_id===e),n=null!=(t=a.find(e=>e.language_code===i))?t:a.find(e=>e.language_code===s);return(null==n?void 0:n.name)?{id:e,cityId:r,name:n.name}:null}).filter(e=>null!==e)}catch(e){return console.error("Error fetching key sites for period:",e),[]}}async function u(e,r,i){try{let{data:t,error:a}=await o.from("periods").select("\n        id,\n        color,\n        order_number,\n        start_year,\n        end_year,\n        research,\n        icon_url\n      ").eq("id",e).single();if(a)return console.error("Error fetching period details:",a),null;if(!t)return null;let n=[r,s].filter((e,r,i)=>i.indexOf(e)===r),{data:l,error:d}=await o.from("period_translations").select("period_id, language_code, name, description").eq("period_id",e).in("language_code",n);d&&console.error("Error fetching period translations:",d);let c=!!t.research&&""!==t.research.trim(),u=(l||[]).map(e=>({period_id:e.period_id,language_code:e.language_code,name:e.name,description:e.description})),g=i?await _(e,i,r):void 0;return{id:t.id,color:t.color,orderNumber:t.order_number,startYear:t.start_year,endYear:t.end_year,icon_url:t.icon_url,research:t.research,hasResearch:c,translations:u,keySites:g}}catch(e){return console.error("Error fetching period details:",e),null}}async function g(e,r,i,a,n){var l,c,_;if(n&&0===n.length)return[];let u=o.from("sites").select("\n    id,\n    city_id,\n    thumbnail_image,\n    primary_period,\n    status,\n    last_updated,\n    latitude,\n    longitude,\n    address,\n    website_url,\n    gyg_c
1onfig,\n    google_maps_rating,\n    opening_hours_data,\n    access_type\n  ").eq("city_id",e).eq("status","active").order("id");if(n&&(u=u.in("id",[...n])),void 0!==i&&void 0!==a&&a>0){let e=i*a;u=u.range(e,e+a-1)}let{data:g,error:m}=await u;if(m)throw m;if(!g||0===g.length)return[];let f=g.map(e=>e.id),y=Array.from(new Set([r,s])),{data:h,error:p}=await o.from("site_translations").select("site_id, language_code, name, description, meta_description, is_source_language, source, updated_at, wiki_url").eq("city_id",e).in("site_id",f).in("language_code",y);if(p)throw p;let[w,b,q]=await Promise.all([o.from("site_periods").select("site_id, period_id, city_id").eq("city_id",e).in("site_id",f).then(e=>({data:e.data,error:e.error})),o.from("site_tags").select("site_id, tag_id, city_id").eq("city_id",e).in("site_id",f).then(e=>({data:e.data,error:e.error})),o.from("site_images").select("site_id, image_id, city_id, display_order").eq("city_id",e).in("site_id",f).then(e=>({data:e.data,error:e.error}))]),{data:v,error:x}=w,{data:k,error:E}=b,{data:A,error:S}=q;if(x)throw x;if(E)throw E;if(S)throw S;let N=new Map;for(let e of A||[]){let r=N.get(e.site_id);(!r||(null!=(l=e.display_order)?l:999)<(null!=(c=r.display_order)?c:999))&&N.set(e.site_id,e)}let U=Array.from(N.values()).map(e=>e.image_id),M=null,z=!1;if(U.length>0)try{let e=Array.from(new Set(U)),r=[];for(let i=0;i<e.length;i+=100)r.push(e.slice(i,i+100));let i=await Promise.all(r.map(e=>o.from("images").select("id, url, credit, artist, year, thumbnail_url, medium_url, large_url, width, height, contexts, license_url, license_short_name").in("id",e))),t=null==(_=i.find(e=>e.error))?void 0:_.error;t?(console.error("Error fetching image details (within getSites):",t),z=!0):M=i.flatMap(e=>{var r;return null!=(r=e.data)?r:[]})}catch(e){console.error("Exception during fetch for image details (within getSites):",e),z=!0}let F=new Map((M||[]).map(e=>[e.id,e]));return g.map(e=>{var i,a,n,l,o;let c=(h||[]).filter(r=>r.site_id===e.id),_=c.find(e=>e.language_code===r);_||r===s||(_=c.find(e=>e.language_code===s));let u=c.map(r=>({site_id:r.site_id,city_id:e.city_id,language_code:r.language_code,name:(0,d.wY)(r.name),description:r.description,meta_description:r.meta_description,wiki_url:r.wiki_url})),g=(v||[]).filter(r=>r.site_id===e.id&&r.city_id===e.city_id).map(e=>e.period_id),m=(k||[]).filter(r=>r.site_id===e.id&&r.city_id===e.city_id).map(e=>e.tag_id),f=N.get(e.id),y=z?[]:(f?[f]:[]).map(e=>{let r=F.get(e.image_id);if(r){var i,t,a,n,l;return{id:r.id,url:null!=(i=r.url)?i:void 0,credit:r.credit,artist:r.artist,year:r.year,width:null!=(t=r.width)?t:0,height:null!=(a=r.height)?a:0,contexts:null!=(n=r.contexts)?n:[],thumbnail_url:r.thumbnail_url,medium_url:r.medium_url,large_url:r.large_url,type:"image",videoId:void 0,image_url:null!=(l=r.url)?l:"",translations:null,license_url:r.license_url,license_short_name:r.license_short_name,display_order:e.display_order}}return null}).filter(e=>null!==e);return{id:e.id,cityId:e.city_id,thumbnailImage:e.thumbnail_image,primaryPeriod:e.primary_period,status:"active"===(o=e.status)||"temporary_closed"===o||"permanently_closed"===o?o:(console.warn("Invalid site status: ".concat(o,", defaulting to permanently_closed")),"permanently_closed"),lastUpdated:e.last_updated,location:{latitude:e.latitude,longitude:e.longitude,address:e.address},websiteUrl:e.website_url,periods:g,tags:m,images:y,hasResearch:!1,translations:u,gyg_config:null!=(a=e.gyg_config)?a:void 0,googleMapsRating:null!=(n=e.google_maps_rating)?n:null,accessType:(0,t.x4)(e.access_type),openingHours:(0,t.Sf)((0,t.x4)(e.access_type))&&null!=(l=null==(i=e.opening_hours_data)?void 0:i.opening_hours)?l:null}})}async function m(e,r){try{let{data:i,error:t}=await o.from("sites").select("id").eq("city_id",e).eq("status","active");if(t)throw t;let a=(i||[]).map(e=>e.id);if(0===a.length)return[];let{data:n,error:l}=await o.from("site_tags").select("tag_id, city_id").eq("city_id",e).in("site_id",a);if(l)throw l;let d=Array.from(new Set((n||[]).map(e=>e.tag_id)));if(0===d.length)return[];let{data:s,error:c}=await o.from("tags").select("id, category, display_order, icon").in("id",d).order("display_order");if(c)throw c;if(!s)return[];let{data:_,error:u}=await o.from("tag_translations").select("tag_id, language_code, name").in("tag_id",d).eq("language_code",r);if(u)throw u;return s.map(e=>{let r=(_||[]).filter(r=>r.tag_id===e.id).map(e=>({tag_id:e.tag_id,language_code:e.language_code,name:e.name}));
1return{id:e.id,category:e.category,displayOrder:e.display_order,icon:e.icon||"",translations:r}})}catch(e){return console.error("Error fetching tags:",e),[]}}async function f(e,r){try{let{data:i,error:t}=await o.from("sites").select("id").eq("city_id",e).eq("status","active");if(t)throw t;let a=(i||[]).map(e=>e.id);if(0===a.length)return[];let{data:n,error:l}=await o.from("site_tags").select("tag_id, city_id").eq("city_id",e).in("site_id",a);if(l)throw l;let d=Array.from(new Set((n||[]).map(e=>e.tag_id)));if(0===d.length)return[];let{data:s,error:c}=await o.from("tags").select("category").in("id",d);if(c)throw c;let _=Array.from(new Set((s||[]).map(e=>e.category)));if(0===_.length)return[];let{data:u,error:g}=await o.from("tag_category_translations").select("category, language_code, name").in("category",_).eq("language_code",r);if(g)throw g;return _.map(e=>{let r=(u||[]).filter(r=>r.category===e).map(e=>({category:e.category,language_code:e.language_code,name:e.name}));return{category:e,translations:r}})}catch(e){return console.error("Error fetching tag categories:",e),[]}}async function y(e){let{data:r,error:i}=await o.from("languages").select("*, city_translations!inner(language_code, city_id, published)").eq("active",!0).eq("city_translations.city_id",e).eq("city_translations.published",!0).order("display_order").returns();if(i)throw console.error("Error fetching languages:",i),i;return r||[]}async function h(e,r){let{data:i,error:t}=await o.from("site_images").select("\n      image_id,\n      display_order,\n      images!inner (\n        id,\n        url,\n        credit,\n        artist,\n        year,\n        width,\n        height,\n        contexts,\n        thumbnail_url,\n        medium_url,\n        large_url,\n        license_url,\n        license_short_name\n      )\n    ").eq("site_id",e).eq("city_id",r).order("display_order",{nullsFirst:!1}).order("image_id").returns();if(t)throw t;return i?i.map(e=>{let r=e.images.contexts.includes("youtube");return{id:e.images.id,image_url:e.images.url,credit:e.images.credit,artist:e.images.artist,year:e.images.year,width:e.images.width,height:e.images.height,contexts:e.images.contexts||[],thumbnail_url:e.images.thumbnail_url,medium_url:e.images.medium_url,large_url:e.images.large_url,type:r?"youtube":"image",videoId:r?e.images.url:void 0,translations:null,license_url:e.images.license_url,license_short_name:e.images.license_short_name,display_order:e.display_order}}):[]}async function p(e,r){let{data:i,error:t}=await o.from("site_images").select("\n      site_id,\n      image_id,\n      display_order,\n      images:image_id (\n        id,\n        url,\n        credit,\n        artist,\n        year,\n        width,\n        height,\n        contexts,\n        thumbnail_url,\n        medium_url,\n        large_url\n      )\n    ").eq("city_id",r).in("site_id",e).order("display_order",{nullsFirst:!1}).order("image_id").returns();return t?(console.error("Error fetching site images:",t),{}):e.reduce((e,r)=>{let t=(null==i?void 0:i.filter(e=>e.site_id===r).map(e=>({id:e.images.id,image_url:e.images.url,credit:e.images.credit,artist:e.images.artist,year:e.images.year,width:e.images.width,height:e.images.height,contexts:e.images.contexts||[],thumbnail_url:e.images.thumbnail_url,medium_url:e.images.medium_url,large_url:e.images.large_url,translations:null})))||[];return e[r]=t,e},{})}async function w(e,r){var i;let{data:t,error:a}=await o.from("sites").select("\n      id,\n      place_id,\n      research,\n      city:city_id (\n        id,\n        timezone,\n        country,\n        region,\n        latitude,\n        longitude,\n        bounds_ne_lat,\n        bounds_ne_lng,\n        bounds_sw_lat,\n        bounds_sw_lng,\n        default_zoom,\n        primary_image,\n        status,\n        last_updated\n      )\n    ").eq("id",e).eq("city_id",r).single();if(a)throw a;if(!t||!(null==(i=t.city)?void 0:i.timezone))throw Error("Missing timezone data");return t}async function b(e){let{count:r,error:i}=await o.from("periods").select("id",{count:"exact",head:!0}).eq("id",e).not("research","is",null).not("research","eq","");return i?(console.error("Error checking if period has research:",i),!1):!!r&&r>0}async function q(e){let{data:r,error:i}=await o.from("periods").select("research").eq("id",e).single();return i?(console.error("Error fetching period research:",i),null):(null==r?void 0:r.research)||null}async function v(e){let{data:r,error:i}=await o.from("city_external_links").select("\n      id,\n      city_id,\n      url,\n      display_order,\n      kind,\n      thumbnail_url,\n      credit,\n      created_at,\n      last_updated,\n      translations:city_external_link_translations (\n        link_id,\n        language_code,\n        title,\n        description\n      )\n    ").eq("city_id",e).order("display_order");return i?(console.error("Error fetching city external links:",i),[]):(r||[]).map(e=>
1({id:e.id,city_id:e.city_id,url:e.url,display_order:e.display_order,kind:e.kind,thumbnail_url:e.thumbnail_url,credit:e.credit,created_at:e.created_at,last_updated:e.last_updated,translations:e.translations.map(e=>({link_id:e.link_id,language_code:e.language_code,title:e.title,description:e.description}))}))}},69593:(e,r,i)=>{i.d(r,{Sf:()=>n,TV:()=>l,x4:()=>a});let t=["free","hours","exterior","limited"];function a(e){return"string"==typeof e&&t.includes(e)?e:null}function n(e){return null==e||"hours"===e}let l={free:{label:"accessFree",note:"accessFreeNote"},exterior:{label:"accessExterior",note:"accessExteriorNote"},limited:{label:"accessLimited",note:"accessLimitedNote"}}}}]);

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.