{"version":3,"file":"BHCd0dF8.js","sources":["../../../../stores/forms.js"],"sourcesContent":["import { defineStore } from \"pinia\"\nimport { useContentStore } from \"~/composables/stores/useContentStore.js\"\n\nexport const formsEndpoint = \"/airtable/workspaces/{workspaceId}/forms\"\nexport const singleFormEndpoint = \"/airtable/forms/{slug}\"\n\nexport const useFormsStore = defineStore(\"forms\", () => {\n const contentStore = useContentStore(\"slug\")\n const allLoaded = ref(false)\n const currentPage = ref(1)\n\n const loadAll = (workspaceId) => {\n contentStore.startLoading()\n return airtableFormsFetch(\n formsEndpoint.replace(\"{workspaceId}\", workspaceId),\n { query: { page: currentPage.value } },\n )\n .then((response) => {\n if (currentPage.value === 1) {\n contentStore.resetState()\n contentStore.save(response.data)\n } else {\n contentStore.save(response.data)\n }\n if (currentPage.value < response.meta.last_page) {\n currentPage.value++\n loadAll(workspaceId)\n } else {\n allLoaded.value = true\n contentStore.stopLoading()\n currentPage.value = 1\n }\n })\n .catch((error) => {\n contentStore.stopLoading()\n currentPage.value = 1\n throw error\n })\n }\n\n const load = (workspaceId, slug) => {\n contentStore.startLoading()\n return airtableFormsFetch(\n formsEndpoint.replace(\"{workspaceId}\", workspaceId) + \"/\" + slug,\n ).finally(() => {\n contentStore.stopLoading()\n })\n }\n\n const loadForm = (slug) => {\n contentStore.startLoading()\n return airtableFormsFetch(singleFormEndpoint.replace(\"{slug}\", slug))\n .then((response) => {\n contentStore.save(response)\n })\n .finally(() => {\n contentStore.stopLoading()\n })\n }\n\n /**\n * Load a form from the public API\n */\n const publicLoad = (slug) => {\n contentStore.startLoading()\n return useAirtableFormsApi(\"/forms/\" + slug)\n }\n\n const publicFetch = (slug) => {\n contentStore.startLoading()\n return airtableFormsFetch(\"/forms/\" + slug)\n }\n\n const allTags = computed(() => {\n let tags = []\n contentStore.getAll.value.forEach((form) => {\n if (form.tags && form.tags.length) {\n if (typeof form.tags === \"string\" || form.tags instanceof String) {\n tags = tags.concat(form.tags.split(\",\"))\n } else if (Array.isArray(form.tags)) {\n tags = tags.concat(form.tags)\n }\n }\n })\n return [...new Set(tags)]\n })\n\n return {\n ...contentStore,\n allLoaded,\n allTags,\n publicLoad,\n publicFetch,\n loadAll,\n load,\n loadForm,\n }\n})\n"],"names":["formsEndpoint","singleFormEndpoint","useFormsStore","defineStore","contentStore","useContentStore","allLoaded","ref","currentPage","loadAll","workspaceId","airtableFormsFetch","response","error","load","slug","loadForm","publicLoad","useAirtableFormsApi","publicFetch","allTags","computed","tags","form"],"mappings":"+XAGO,MAAMA,EAAgB,2CAChBC,EAAqB,yBAErBC,EAAgBC,EAAY,QAAS,IAAM,CACtD,MAAMC,EAAeC,EAAgB,MAAM,EACrCC,EAAYC,EAAI,EAAK,EACrBC,EAAcD,EAAI,CAAC,EAEnBE,EAAWC,IACfN,EAAa,aAAc,EACpBO,EACLX,EAAc,QAAQ,gBAAiBU,CAAW,EAClD,CAAE,MAAO,CAAE,KAAMF,EAAY,KAAK,CAAI,CACvC,EACE,KAAMI,GAAa,CACdJ,EAAY,QAAU,GACxBJ,EAAa,WAAY,EACzBA,EAAa,KAAKQ,EAAS,IAAI,EAI7BJ,EAAY,MAAQI,EAAS,KAAK,WACpCJ,EAAY,QACZC,EAAQC,CAAW,IAEnBJ,EAAU,MAAQ,GAClBF,EAAa,YAAa,EAC1BI,EAAY,MAAQ,EAE9B,CAAO,EACA,MAAOK,GAAU,CAChB,MAAAT,EAAa,YAAa,EAC1BI,EAAY,MAAQ,EACdK,CACd,CAAO,GAGCC,EAAO,CAACJ,EAAaK,KACzBX,EAAa,aAAc,EACpBO,EACLX,EAAc,QAAQ,gBAAiBU,CAAW,EAAI,IAAMK,CAC7D,EAAC,QAAQ,IAAM,CACdX,EAAa,YAAa,CAChC,CAAK,GAGGY,EAAYD,IAChBX,EAAa,aAAc,EACpBO,EAAmBV,EAAmB,QAAQ,SAAUc,CAAI,CAAC,EACjE,KAAMH,GAAa,CAClBR,EAAa,KAAKQ,CAAQ,CAClC,CAAO,EACA,QAAQ,IAAM,CACbR,EAAa,YAAa,CAClC,CAAO,GAMCa,EAAcF,IAClBX,EAAa,aAAc,EACpBc,EAAoB,UAAYH,CAAI,GAGvCI,EAAeJ,IACnBX,EAAa,aAAc,EACpBO,EAAmB,UAAYI,CAAI,GAGtCK,EAAUC,EAAS,IAAM,CAC7B,IAAIC,EAAO,CAAE,EACb,OAAAlB,EAAa,OAAO,MAAM,QAASmB,GAAS,CACtCA,EAAK,MAAQA,EAAK,KAAK,SACrB,OAAOA,EAAK,MAAS,UAAYA,EAAK,gBAAgB,OACxDD,EAAOA,EAAK,OAAOC,EAAK,KAAK,MAAM,GAAG,CAAC,EAC9B,MAAM,QAAQA,EAAK,IAAI,IAChCD,EAAOA,EAAK,OAAOC,EAAK,IAAI,GAGtC,CAAK,EACM,CAAC,GAAG,IAAI,IAAID,CAAI,CAAC,CAC5B,CAAG,EAED,MAAO,CACL,GAAGlB,EACH,UAAAE,EACA,QAAAc,EACA,WAAAH,EACA,YAAAE,EACA,QAAAV,EACA,KAAAK,EACA,SAAAE,CACD,CACH,CAAC"}