diff --git a/app/components/FAQSection.vue b/app/components/FAQSection.vue index 28711db..1ef1c1e 100644 --- a/app/components/FAQSection.vue +++ b/app/components/FAQSection.vue @@ -32,6 +32,10 @@ watchEffect(() => { panel.value = faqs.value[0].id } }) + +function selectPanel(section) { + panel.value = section +} \ No newline at end of file diff --git a/app/components/VideoCustomerStory.vue b/app/components/VideoCustomerStory.vue new file mode 100644 index 0000000..4d391f9 --- /dev/null +++ b/app/components/VideoCustomerStory.vue @@ -0,0 +1,131 @@ + + + + + \ No newline at end of file diff --git a/app/components/VideoTestimonial.vue b/app/components/VideoTestimonial.vue new file mode 100644 index 0000000..f037270 --- /dev/null +++ b/app/components/VideoTestimonial.vue @@ -0,0 +1,131 @@ + + + + + \ No newline at end of file diff --git a/app/composables/useVideoCustomerStories.js b/app/composables/useVideoCustomerStories.js new file mode 100644 index 0000000..2d45cd7 --- /dev/null +++ b/app/composables/useVideoCustomerStories.js @@ -0,0 +1,12 @@ +export function useVideoCustomerStories(locale) { + async function queryVideoCustomerStories() { + let res = await queryCollection('jsonPages') + .where('lang', '=', locale.value) + .where('pageType', '=', 'video_testimonials') + .all() + + return res + } + + return { queryVideoCustomerStories } +} diff --git a/app/composables/useVideoCustomerStory.js b/app/composables/useVideoCustomerStory.js new file mode 100644 index 0000000..5bd5855 --- /dev/null +++ b/app/composables/useVideoCustomerStory.js @@ -0,0 +1,14 @@ +export function useVideoCustomerStory(slug, locale) { + async function queryVideoCustomerStory() { + let res = await queryCollection('jsonPages') + .where('lang', '=', locale.value) + .where('pageType', '=', 'video_testimonials') + .all() + + res = res.filter(t => t.stem.split('/')[2] == slug.value) + + return res[0] + } + + return { queryVideoCustomerStory } +} diff --git a/app/composables/useVideoTestimonial.js b/app/composables/useVideoTestimonial.js new file mode 100644 index 0000000..68dd853 --- /dev/null +++ b/app/composables/useVideoTestimonial.js @@ -0,0 +1,14 @@ +export function useVideoTestimonial(slug, locale) { + async function queryVideoTestimonial() { + let res = await queryCollection('jsonPages') + .where('lang', '=', locale.value) + .where('pageType', '=', 'video_testimonials') + .all() + + res = res.filter(t => t.stem.split('/')[2] == slug.value) + + return res[0] + } + + return { queryVideoTestimonial } +} diff --git a/app/composables/useVideoTestimonials.js b/app/composables/useVideoTestimonials.js new file mode 100644 index 0000000..526e326 --- /dev/null +++ b/app/composables/useVideoTestimonials.js @@ -0,0 +1,12 @@ +export function useVideoTestimonials(locale) { + async function queryVideoTestimonials() { + let res = await queryCollection('jsonPages') + .where('lang', '=', locale.value) + .where('pageType', '=', 'video_testimonials') + .all() + + return res + } + + return { queryVideoTestimonials } +} diff --git a/app/pages/customer-stories.vue b/app/pages/customer-stories.vue index 62f0570..71a1c79 100644 --- a/app/pages/customer-stories.vue +++ b/app/pages/customer-stories.vue @@ -3,6 +3,9 @@
{{ page.meta.header.title }}
+ + +
Advertisement
diff --git a/content.config.ts b/content.config.ts index 2746a12..0bdc7b3 100644 --- a/content.config.ts +++ b/content.config.ts @@ -19,7 +19,9 @@ const COLLECTIONS = [ { key: 'audiences' }, { key: 'studios' }, { key: 'testimonials' }, - { key: 'customer_stories' } + { key: 'customer_stories' }, + { key: 'video_testimonials' }, + { key: 'video_customer_stories' } ] // Structural validation per pageType, enforced in getItem so a shape drift diff --git a/content/en_pages.json b/content/en_pages.json index 63a9ac6..4311b33 100644 --- a/content/en_pages.json +++ b/content/en_pages.json @@ -4018,5 +4018,45 @@ "quote": "I knew that if I brought in a new tool, I needed to address a need that hadn't been identified by the core team already in place. The main challenge right away was not to constrain them.", "category": "Feature Films (2D)" } + }, + "video_testimonials": { + "wizz": { + "url": "https://www.youtube.com/embed/_cotJ52cfD8" + }, + "miyu-1": { + "url": "https://www.youtube.com/embed/8yJVP2aI2gE" + }, + "miyu-2": { + "url": "https://www.youtube.com/embed/6_2sJYksR9U" + }, + "fees": { + "url": "https://www.youtube.com/embed/4mDWlwm6oU0" + }, + "normaal": { + "url": "https://www.youtube.com/embed/3wWdfLDWBPM" + }, + "remembers": { + "url": "https://www.youtube.com/embed/eBl-z8kdfSs" + } + }, + "video_customer_stories": { + "wizz": { + "url": "https://www.youtube.com/embed/DLstftZIZ_s" + }, + "miyu-1": { + "url": "https://www.youtube.com/embed/s784-XMgeLA" + }, + "miyu-2": { + "url": "https://www.youtube.com/embed/qX8s9Wy_hnU" + }, + "fees": { + "url": "https://www.youtube.com/embed/m4YqTqWusSs?si=GPvxX1pXrQHqtJM4&controls=0" + }, + "normaal": { + "url": "https://www.youtube.com/embed/S3FDuitepJc" + }, + "remembers": { + "url": "https://www.youtube.com/embed/W1q7AobU1lw" + } } -} +} \ No newline at end of file diff --git a/content/fr_pages.json b/content/fr_pages.json index a3e1e2f..7781c30 100644 --- a/content/fr_pages.json +++ b/content/fr_pages.json @@ -3977,5 +3977,45 @@ "quote": "Je savais que si j'introduisais un nouvel outil, je devais répondre à un besoin qui n'avait pas encore été identifié par l'équipe en place. Le principal défi dès le départ était de ne pas les contraindre.", "category": "Longs métrages (2D)" } + }, + "video_testimonials": { + "wizz": { + "url": "https://www.youtube.com/embed/_cotJ52cfD8" + }, + "miyu-1": { + "url": "https://www.youtube.com/embed/8yJVP2aI2gE" + }, + "miyu-2": { + "url": "https://www.youtube.com/embed/6_2sJYksR9U" + }, + "fees": { + "url": "https://www.youtube.com/embed/4mDWlwm6oU0" + }, + "normaal": { + "url": "https://www.youtube.com/embed/3wWdfLDWBPM" + }, + "remembers": { + "url": "https://www.youtube.com/embed/eBl-z8kdfSs" + } + }, + "video_customer_stories": { + "wizz": { + "url": "https://www.youtube.com/embed/DLstftZIZ_s" + }, + "miyu-1": { + "url": "https://www.youtube.com/embed/s784-XMgeLA" + }, + "miyu-2": { + "url": "https://www.youtube.com/embed/qX8s9Wy_hnU" + }, + "fees": { + "url": "https://www.youtube.com/embed/m4YqTqWusSs?si=GPvxX1pXrQHqtJM4&controls=0" + }, + "normaal": { + "url": "https://www.youtube.com/embed/S3FDuitepJc" + }, + "remembers": { + "url": "https://www.youtube.com/embed/W1q7AobU1lw" + } } } diff --git a/content/ja_pages.json b/content/ja_pages.json index 37e1c16..4884a02 100644 --- a/content/ja_pages.json +++ b/content/ja_pages.json @@ -3953,5 +3953,45 @@ "quote": "新しいツールを導入するなら、既存のチームがまだ気づいていないニーズに応えるものでなければならないと分かっていました。最初の課題は、チームを制約しないことでした。", "category": "長編映画(2D)" } + }, + "video_testimonials": { + "wizz": { + "url": "https://www.youtube.com/embed/_cotJ52cfD8" + }, + "miyu-1": { + "url": "https://www.youtube.com/embed/8yJVP2aI2gE" + }, + "miyu-2": { + "url": "https://www.youtube.com/embed/6_2sJYksR9U" + }, + "fees": { + "url": "https://www.youtube.com/embed/4mDWlwm6oU0" + }, + "normaal": { + "url": "https://www.youtube.com/embed/3wWdfLDWBPM" + }, + "remembers": { + "url": "https://www.youtube.com/embed/eBl-z8kdfSs" + } + }, + "video_customer_stories": { + "wizz": { + "url": "https://www.youtube.com/embed/DLstftZIZ_s" + }, + "miyu-1": { + "url": "https://www.youtube.com/embed/s784-XMgeLA" + }, + "miyu-2": { + "url": "https://www.youtube.com/embed/qX8s9Wy_hnU" + }, + "fees": { + "url": "https://www.youtube.com/embed/m4YqTqWusSs?si=GPvxX1pXrQHqtJM4&controls=0" + }, + "normaal": { + "url": "https://www.youtube.com/embed/S3FDuitepJc" + }, + "remembers": { + "url": "https://www.youtube.com/embed/W1q7AobU1lw" + } } }