diff --git a/.stylelintrc.json b/.stylelintrc.json index 11f7521b3..e9897e60a 100644 --- a/.stylelintrc.json +++ b/.stylelintrc.json @@ -12,9 +12,9 @@ "scss/percent-placeholder-pattern": "^(theme|utrecht)-[a-z0-9-]+$", "scss/operator-no-newline-after": null, "scss/at-extend-no-missing-placeholder": null, - "custom-property-pattern": "^_?(ams|basis|clippy|theme|denhaag|utrecht)-[a-z0-9-]+$", - "selector-class-pattern": "^(ams|basis|clippy|theme|denhaag|utrecht)-[a-z0-9_-]+$", - "keyframes-name-pattern": "^(ams|basis|clippy|theme|utrecht)-[a-z0-9-]+$", + "custom-property-pattern": "^_?(nl|ams|basis|clippy|theme|denhaag|utrecht)-[a-z0-9-]+$", + "selector-class-pattern": "^(nl|ams|basis|clippy|theme|denhaag|utrecht)-[a-z0-9_-]+$", + "keyframes-name-pattern": "^(nl|ams|basis|clippy|theme|utrecht)-[a-z0-9-]+$", "at-rule-no-unknown": null, "block-no-empty": [true], "color-no-invalid-hex": [true], diff --git a/packages/clippy-storybook/config/decorators.ts b/packages/clippy-storybook/config/decorators.ts index 616449b3c..9e66148ca 100644 --- a/packages/clippy-storybook/config/decorators.ts +++ b/packages/clippy-storybook/config/decorators.ts @@ -1,7 +1,7 @@ import { THEMES } from './themes/theme-data'; const stylesheetExists = (href: string): HTMLLinkElement | undefined => - Array.from(document.querySelectorAll('link[rel="stylesheet"]')).find((link) => link.href === href); + Array.from(document.querySelectorAll('link[rel~="stylesheet"]')).find((link) => link.href === href); const ensureThemeStylesheet = (root: HTMLElement, themeClassName: string) => { const head = document.querySelector('head'); diff --git a/packages/clippy-storybook/config/preview-head.html b/packages/clippy-storybook/config/preview-head.html index 7f8a041fd..1fd9eec45 100644 --- a/packages/clippy-storybook/config/preview-head.html +++ b/packages/clippy-storybook/config/preview-head.html @@ -1,3 +1,6 @@ + -{isStandalone && ( - -)} + } + + // Update display on page load + updateLocalStorageDisplay(); + + // Update display when details is opened + const detailsElement = document.querySelector('.clippy-dev-tools__details') as HTMLDetailsElement | null; + if (detailsElement) { + detailsElement.addEventListener('toggle', () => { + if (detailsElement?.open) { + updateLocalStorageDisplay(); + } + }); + } + + // Clear localStorage button + const clearButton = document.getElementById('clear-localstorage'); + if (clearButton) { + clearButton.addEventListener('click', () => { + try { + localStorage.removeItem(STORAGE_KEY); + localStorage.removeItem('clippy-search-use-reload'); + window.location.reload(); + } catch (error) { + console.error('Fout bij verwijderen van localStorage:', error); + } + }); + } + + // Search reload toggle + const RELOAD_KEY = 'clippy-search-use-reload'; + const reloadToggle = document.getElementById('search-reload-toggle') as HTMLInputElement | null; + + if (reloadToggle) { + // Initialize from localStorage + const useReload = localStorage.getItem(RELOAD_KEY) === 'true'; + reloadToggle.checked = useReload; + + reloadToggle.addEventListener('change', () => { + localStorage.setItem(RELOAD_KEY, String(reloadToggle.checked)); + }); + } + diff --git a/packages/theme-wizard-templates/src/pages/gemeentevoorbeeld/components/Layout/Column.tsx b/packages/theme-wizard-templates/src/components/Layout/Column.tsx similarity index 100% rename from packages/theme-wizard-templates/src/pages/gemeentevoorbeeld/components/Layout/Column.tsx rename to packages/theme-wizard-templates/src/components/Layout/Column.tsx diff --git a/packages/theme-wizard-templates/src/pages/gemeentevoorbeeld/components/Layout/Row.tsx b/packages/theme-wizard-templates/src/components/Layout/Row.tsx similarity index 100% rename from packages/theme-wizard-templates/src/pages/gemeentevoorbeeld/components/Layout/Row.tsx rename to packages/theme-wizard-templates/src/components/Layout/Row.tsx diff --git a/packages/theme-wizard-templates/src/pages/gemeentevoorbeeld/components/Layout/index.ts b/packages/theme-wizard-templates/src/components/Layout/index.ts similarity index 100% rename from packages/theme-wizard-templates/src/pages/gemeentevoorbeeld/components/Layout/index.ts rename to packages/theme-wizard-templates/src/components/Layout/index.ts diff --git a/packages/theme-wizard-templates/src/pages/gemeentevoorbeeld/components/Layout/styles.css b/packages/theme-wizard-templates/src/components/Layout/styles.css similarity index 100% rename from packages/theme-wizard-templates/src/pages/gemeentevoorbeeld/components/Layout/styles.css rename to packages/theme-wizard-templates/src/components/Layout/styles.css diff --git a/packages/theme-wizard-templates/src/pages/gemeentevoorbeeld/components/NewsCards/index.tsx b/packages/theme-wizard-templates/src/components/NewsCards/index.tsx similarity index 97% rename from packages/theme-wizard-templates/src/pages/gemeentevoorbeeld/components/NewsCards/index.tsx rename to packages/theme-wizard-templates/src/components/NewsCards/index.tsx index 94f31748d..b1ac74e03 100644 --- a/packages/theme-wizard-templates/src/pages/gemeentevoorbeeld/components/NewsCards/index.tsx +++ b/packages/theme-wizard-templates/src/components/NewsCards/index.tsx @@ -7,6 +7,8 @@ import { Icon } from '@utrecht/component-library-react'; import React from 'react'; import type { NewsItem } from './types'; import { Column, Row } from '../Layout'; +import '../shared/card-styles.css'; +import './styles.css'; export interface NewsCardsProps { cards: NewsItem[]; diff --git a/packages/theme-wizard-templates/src/components/NewsCards/styles.css b/packages/theme-wizard-templates/src/components/NewsCards/styles.css new file mode 100644 index 000000000..68db6ed66 --- /dev/null +++ b/packages/theme-wizard-templates/src/components/NewsCards/styles.css @@ -0,0 +1,6 @@ +.clippy-voorbeeld__link header { + display: flex; + flex-direction: column; + justify-content: space-between; + row-gap: var(--basis-space-row-xl); +} diff --git a/packages/theme-wizard-templates/src/pages/gemeentevoorbeeld/components/NewsCards/types.ts b/packages/theme-wizard-templates/src/components/NewsCards/types.ts similarity index 100% rename from packages/theme-wizard-templates/src/pages/gemeentevoorbeeld/components/NewsCards/types.ts rename to packages/theme-wizard-templates/src/components/NewsCards/types.ts diff --git a/packages/theme-wizard-templates/src/pages/gemeentevoorbeeld/components/OpeningHoursCard/index.tsx b/packages/theme-wizard-templates/src/components/OpeningHoursCard/index.tsx similarity index 98% rename from packages/theme-wizard-templates/src/pages/gemeentevoorbeeld/components/OpeningHoursCard/index.tsx rename to packages/theme-wizard-templates/src/components/OpeningHoursCard/index.tsx index 78d3fe878..ee75e745c 100644 --- a/packages/theme-wizard-templates/src/pages/gemeentevoorbeeld/components/OpeningHoursCard/index.tsx +++ b/packages/theme-wizard-templates/src/components/OpeningHoursCard/index.tsx @@ -4,6 +4,7 @@ import { Icon } from '@utrecht/component-library-react'; import { ButtonLink } from '@utrecht/component-library-react/dist/css-module'; import React, { Fragment, useMemo } from 'react'; import type { OpeningHoursCardProps } from './types'; +import '../shared/card-styles.css'; const formatTime = (time: string): string => time.substring(0, 5); diff --git a/packages/theme-wizard-templates/src/pages/gemeentevoorbeeld/components/OpeningHoursCard/openingHours.json b/packages/theme-wizard-templates/src/components/OpeningHoursCard/openingHours.json similarity index 100% rename from packages/theme-wizard-templates/src/pages/gemeentevoorbeeld/components/OpeningHoursCard/openingHours.json rename to packages/theme-wizard-templates/src/components/OpeningHoursCard/openingHours.json diff --git a/packages/theme-wizard-templates/src/pages/gemeentevoorbeeld/components/OpeningHoursCard/types.ts b/packages/theme-wizard-templates/src/components/OpeningHoursCard/types.ts similarity index 100% rename from packages/theme-wizard-templates/src/pages/gemeentevoorbeeld/components/OpeningHoursCard/types.ts rename to packages/theme-wizard-templates/src/components/OpeningHoursCard/types.ts diff --git a/packages/theme-wizard-templates/src/pages/gemeentevoorbeeld/components/QuickTasks/index.tsx b/packages/theme-wizard-templates/src/components/QuickTasks/index.tsx similarity index 88% rename from packages/theme-wizard-templates/src/pages/gemeentevoorbeeld/components/QuickTasks/index.tsx rename to packages/theme-wizard-templates/src/components/QuickTasks/index.tsx index 3b71241b5..867f212c7 100644 --- a/packages/theme-wizard-templates/src/pages/gemeentevoorbeeld/components/QuickTasks/index.tsx +++ b/packages/theme-wizard-templates/src/components/QuickTasks/index.tsx @@ -9,9 +9,11 @@ import { UtrechtIconNummerbord, UtrechtIconAfvalScheiden, } from '@utrecht/web-component-library-react'; -import React, { type ReactElement } from 'react'; +import React, { type ReactNode } from 'react'; import type { QuickTask } from './types'; import { Column, Row } from '../Layout'; +import '../shared/card-styles.css'; +import './styles.css'; export interface QuickTasksProps { tasks: QuickTask[]; @@ -19,7 +21,7 @@ export interface QuickTasksProps { type IconName = 'afval-scheiden' | 'melding-klacht' | 'nummerbord' | 'paspoort' | 'verhuizen' | 'werken'; -const ICON_COMPONENTS: Record = { +const ICON_COMPONENTS: Record = { 'afval-scheiden': , 'melding-klacht': , nummerbord: , @@ -28,7 +30,7 @@ const ICON_COMPONENTS: Record = { werken: , }; -const renderIcon = (iconName: string): JSX.Element | null => { +const renderIcon = (iconName: string): ReactNode => { const icon = ICON_COMPONENTS[iconName as IconName]; return icon ?? null; }; diff --git a/packages/theme-wizard-templates/src/components/QuickTasks/styles.css b/packages/theme-wizard-templates/src/components/QuickTasks/styles.css new file mode 100644 index 000000000..988bca790 --- /dev/null +++ b/packages/theme-wizard-templates/src/components/QuickTasks/styles.css @@ -0,0 +1,4 @@ +nav.clippy-top-tasks { + block-size: 100%; + display: block; +} diff --git a/packages/theme-wizard-templates/src/pages/gemeentevoorbeeld/components/QuickTasks/types.ts b/packages/theme-wizard-templates/src/components/QuickTasks/types.ts similarity index 100% rename from packages/theme-wizard-templates/src/pages/gemeentevoorbeeld/components/QuickTasks/types.ts rename to packages/theme-wizard-templates/src/components/QuickTasks/types.ts diff --git a/packages/theme-wizard-templates/src/components/SearchForm/index.tsx b/packages/theme-wizard-templates/src/components/SearchForm/index.tsx new file mode 100644 index 000000000..f2c18a6f5 --- /dev/null +++ b/packages/theme-wizard-templates/src/components/SearchForm/index.tsx @@ -0,0 +1,77 @@ +import { IconSearch } from '@tabler/icons-react'; +import { FormFieldTextbox } from '@utrecht/component-library-react'; +import React, { type FormEvent, useState } from 'react'; +import './styles.css'; + +export interface SearchFormProps { + query: string; + onQueryChange: (query: string) => void; + onSubmit: (query: string) => void; + placeholder?: string; + label?: string; +} + +export const SearchForm = ({ + label = 'Zoek binnen Gemeente Voorbeeld', + onQueryChange, + onSubmit, + query, +}: SearchFormProps) => { + const [error, setError] = useState(null); + + const handleSubmit = (e: FormEvent) => { + e.preventDefault(); + const trimmedQuery = query.trim(); + + if (!trimmedQuery) { + setError('U moet een zoekterm invoeren voordat u zoekt.'); + return; + } + + setError(null); + onSubmit(trimmedQuery); + }; + + return ( +
+

+ Zoekformulier +

+ +
+
+ + {error && ( + + )} + +
+ onQueryChange((e.target as HTMLInputElement).value)} + aria-required + id="search-query" + type="search" + aria-description="Search results will appear below" + autoComplete="off" + required + aria-invalid={Boolean(error)} + name="search" + placeholder="Zoeken" + label={label} + style={{ maxInlineSize: '100%', inlineSize: '100%' }} + className="clippy--search-form__input clippy--visually-hidden" + /> + + +
+
+
+
+
+ ); +}; diff --git a/packages/theme-wizard-templates/src/components/SearchForm/styles.css b/packages/theme-wizard-templates/src/components/SearchForm/styles.css new file mode 100644 index 000000000..43b4e6bc8 --- /dev/null +++ b/packages/theme-wizard-templates/src/components/SearchForm/styles.css @@ -0,0 +1,69 @@ +/* ========================================================================== + Search Form (General) + ========================================================================== */ +.clippy--search-form-section { + inline-size: 100%; + margin-block-end: var(--basis-space-inline-xl); +} + +.clippy--search-form__input-group { + align-items: stretch; + display: flex; + min-block-size: var(--basis-pointer-target-min-block-size); +} + +.clippy--search-form__input-group .utrecht-form-field { + display: flex; + flex-direction: column; + margin-block: 0; +} + + +.clippy--search-form__input-group .utrecht-textbox { + border-end-end-radius: 0; + border-end-start-radius: var(--basis-border-radius-sm); + border-inline-end: none; + border-start-end-radius: 0; + border-start-start-radius: var(--basis-border-radius-sm); + flex: 1; + margin: 0; + min-inline-size: 0; + inline-size: 100% !important; + max-inline-size: 100% !important; +} + +.clippy--search-form__submit { + flex-shrink: 0; +} + +/* Responsive Design (Mobile) - Contextual styles when inside navigation */ +@media (width <= 768px) { + /* Search Wrapper (Header) */ + .clippy--navigation-search-wrapper .clippy--search-form-section { + inline-size: 100%; + margin-block: var(--basis-space-inline-xs); + } + + .clippy--navigation-search-wrapper .clippy--search-form { + inline-size: 100%; + } + + .clippy--navigation-search-wrapper .clippy--search-form__field { + margin-block-end: var(--basis-space-block-xl); + inline-size: 100%; + } + + .clippy--navigation-search-wrapper .clippy--search-form__field search { + display: block; + inline-size: 100%; + } + + .clippy--navigation-search-wrapper .clippy--search-form__input-group { + inline-size: 100%; + } + + .clippy--navigation-search-wrapper .clippy--search-form__input-group .utrecht-form-field { + flex: 1; + min-inline-size: 0; + } +} diff --git a/packages/theme-wizard-templates/src/components/index.ts b/packages/theme-wizard-templates/src/components/index.ts index b95b05ad1..38f9ca8f0 100644 --- a/packages/theme-wizard-templates/src/components/index.ts +++ b/packages/theme-wizard-templates/src/components/index.ts @@ -1,9 +1,9 @@ -export * from './template-action'; -export * from './template-case-card'; -export * from './template-color-swatch'; -export * from './template-link'; -export * from './template-link-list'; -export * from './template-page-header'; -export * from './template-paragraph'; -export * from './template-side-nav'; -export * from './template-skip-link'; \ No newline at end of file +export * from '../webcomponents/action'; +export * from '../webcomponents/case-card'; +export * from '../webcomponents/color-swatch'; +export * from '../webcomponents/link'; +export * from '../webcomponents/link-list'; +export * from '../webcomponents/page-header'; +export * from '../webcomponents/paragraph'; +export * from '../webcomponents/side-nav'; +export * from '../webcomponents/skip-link'; \ No newline at end of file diff --git a/packages/theme-wizard-templates/src/components/shared/card-styles.css b/packages/theme-wizard-templates/src/components/shared/card-styles.css new file mode 100644 index 000000000..e595590ab --- /dev/null +++ b/packages/theme-wizard-templates/src/components/shared/card-styles.css @@ -0,0 +1,13 @@ +/* Shared card and link styles */ +.clippy-voorbeeld__link, +.clippy-voorbeeld__card { + align-items: start !important; + background-color: var(--clippy-voorbeeld-card-bg); + block-size: 100% !important; + display: flex; + flex-direction: column; + justify-content: space-between; + padding-block: var(--clippy-voorbeeld-card-padding-block) !important; + padding-inline: var(--clippy-voorbeeld-card-padding-inline) !important; + row-gap: var(--clippy-voorbeeld-card-row-gap); +} diff --git a/packages/theme-wizard-templates/src/env.d.ts b/packages/theme-wizard-templates/src/env.d.ts index e86330098..409fcb108 100644 --- a/packages/theme-wizard-templates/src/env.d.ts +++ b/packages/theme-wizard-templates/src/env.d.ts @@ -1,3 +1,5 @@ +/// + declare const __STANDALONE_PACKAGE__: boolean; declare module '@nl-design-system-community/theme-wizard-app'; diff --git a/packages/theme-wizard-templates/src/exports/react-pages.ts b/packages/theme-wizard-templates/src/exports/react-pages.ts index 132dd5ef2..c4ba9d9cd 100644 --- a/packages/theme-wizard-templates/src/exports/react-pages.ts +++ b/packages/theme-wizard-templates/src/exports/react-pages.ts @@ -1,2 +1,11 @@ export { default as GemeenteVoorbeeldHome } from '../pages/gemeentevoorbeeld/GemeenteVoorbeeldHome'; export type { GemeenteVoorbeeldHomeProps } from '../pages/gemeentevoorbeeld/GemeenteVoorbeeldHome'; + +export { default as Search } from '../pages/search/SearchPage'; +export type { SearchProps } from '../pages/search/SearchPage'; + +export { default as SearchResults } from '../pages/search/SearchResultsPage'; +export type { SearchResultsProps } from '../pages/search/SearchResultsPage'; + +export { default as TemplateLayout } from '../layouts/TemplateLayout'; +export type { TemplateLayoutProps } from '../layouts/TemplateLayout'; diff --git a/packages/theme-wizard-templates/src/layouts/BaseLayout.astro b/packages/theme-wizard-templates/src/layouts/BaseLayout.astro index 8663124e8..08442e78e 100644 --- a/packages/theme-wizard-templates/src/layouts/BaseLayout.astro +++ b/packages/theme-wizard-templates/src/layouts/BaseLayout.astro @@ -7,6 +7,7 @@ import '@nl-design-system-candidate/link-css/link.css'; import '@nl-design-system-candidate/heading-css/heading.css'; import '@nl-design-system-candidate/paragraph-css/paragraph.css'; import '@nl-design-system-candidate/skip-link-css/skip-link.css'; +import '../styles/base.css'; import ClientInit from '../components/ClientInit.astro'; import DevTools from '../components/DevTools.astro'; @@ -29,6 +30,9 @@ const { + diff --git a/packages/theme-wizard-templates/src/layouts/PageLayout.astro b/packages/theme-wizard-templates/src/layouts/PageLayout.astro index 857a8c6c7..34ee5c726 100644 --- a/packages/theme-wizard-templates/src/layouts/PageLayout.astro +++ b/packages/theme-wizard-templates/src/layouts/PageLayout.astro @@ -1,7 +1,7 @@ --- import logo from '../assets/logo.svg'; import BaseLayout from './BaseLayout.astro'; -import Cookies from '../components/Cookies.astro'; +import Cookies from '../components/Cookies/Drawer/Cookies.astro'; export interface Props { sideNav?: boolean; diff --git a/packages/theme-wizard-templates/src/layouts/TemplateLayout.tsx b/packages/theme-wizard-templates/src/layouts/TemplateLayout.tsx new file mode 100644 index 000000000..0b10000ea --- /dev/null +++ b/packages/theme-wizard-templates/src/layouts/TemplateLayout.tsx @@ -0,0 +1,49 @@ +import { SkipLink } from '@nl-design-system-candidate/skip-link-react/css'; +import { PageBody } from '@utrecht/page-body-react'; +import React from 'react'; +import Navigation, { type NavigationProps } from '../sections/Navigation'; +import PageFooterSection from '../sections/PageFooter'; +import PageHeaderSection from '../sections/PageHeader'; + +export interface TemplateLayoutProps extends NavigationProps { + children: React.ReactNode; + mainId?: string; +} + +/** + * TemplateLayout provides the standard structure for all template pages. + * It includes the SkipLink, Header, Navigation (with Search pattern), Footer, and PageBody wrapper. + */ +export const TemplateLayout = ({ + breadcrumb, + children, + currentPath, + mainId = 'main', + onSearchQueryChange, + onSearchSubmit, + searchQuery, +}: TemplateLayoutProps) => { + return ( + <> + Skip to main content + + + + + + + {children} + + + + + ); +}; + +export default TemplateLayout; diff --git a/packages/theme-wizard-templates/src/pages/gemeentevoorbeeld/GemeenteVoorbeeldHome.tsx b/packages/theme-wizard-templates/src/pages/gemeentevoorbeeld/GemeenteVoorbeeldHome.tsx index e9d21de8e..1f3030e18 100644 --- a/packages/theme-wizard-templates/src/pages/gemeentevoorbeeld/GemeenteVoorbeeldHome.tsx +++ b/packages/theme-wizard-templates/src/pages/gemeentevoorbeeld/GemeenteVoorbeeldHome.tsx @@ -1,29 +1,31 @@ -import { SkipLink } from '@nl-design-system-candidate/skip-link-react/css'; -import { PageBody } from '@utrecht/page-body-react'; import React from 'react'; -import type { SummaryItem } from './components/OpeningHoursCard/types'; -import MainIntroSection from './Sections/MainIntro'; -import Navigation from './Sections/Navigation'; -import NewsSection from './Sections/News'; -import PageFooterSection from './Sections/PageFooter'; -import PageHeaderSection from './Sections/PageHeader'; -import SelfServiceSection from './Sections/SelfService'; -import './styles.css'; +import type { SummaryItem } from '../../components/OpeningHoursCard/types'; +import TemplateLayout from '../../layouts/TemplateLayout'; +import MainIntroSection from '../../sections/MainIntro'; +import NewsSection from '../../sections/News'; +import SelfServiceSection from '../../sections/SelfService'; export interface GemeenteVoorbeeldHomeProps { currentPath?: string; openingHoursSummary?: SummaryItem[]; } -const GemeenteVoorbeeldHome = ({ currentPath, openingHoursSummary }: GemeenteVoorbeeldHomeProps) => ( - <> - Skip to main content - - - - - - +const GemeenteVoorbeeldHome = ({ currentPath, openingHoursSummary }: GemeenteVoorbeeldHomeProps) => { + const [searchQuery, setSearchQuery] = React.useState(''); + + const handleSearch = (query: string) => { + const params = new URLSearchParams(); + params.set('search', query); + window.location.href = `/search/search-results?${params.toString()}`; + }; + + return ( +
@@ -31,9 +33,8 @@ const GemeenteVoorbeeldHome = ({ currentPath, openingHoursSummary }: GemeenteVoo
-
- - -); + + ); +}; export default GemeenteVoorbeeldHome; diff --git a/packages/theme-wizard-templates/src/pages/gemeentevoorbeeld/Sections/Navigation/index.tsx b/packages/theme-wizard-templates/src/pages/gemeentevoorbeeld/Sections/Navigation/index.tsx deleted file mode 100644 index d9ec3c575..000000000 --- a/packages/theme-wizard-templates/src/pages/gemeentevoorbeeld/Sections/Navigation/index.tsx +++ /dev/null @@ -1,27 +0,0 @@ -import { Heading } from '@nl-design-system-candidate/heading-react/css'; -import '@amsterdam/design-system-css/dist/visually-hidden/visually-hidden.css'; -import { NavBar, NavList, NavListLink } from '@utrecht/component-library-react'; -import React from 'react'; -import { NAVIGATION_ITEMS } from '../..//constants'; - -export interface NavigationProps { - currentPath?: string; -} - -const Navigation = ({ currentPath }: NavigationProps) => ( - - - Hoofdnavigatie - - - - {NAVIGATION_ITEMS.map(({ href, label }) => ( - - {label} - - ))} - - -); - -export default Navigation; diff --git a/packages/theme-wizard-templates/src/pages/gemeentevoorbeeld/constants.ts b/packages/theme-wizard-templates/src/pages/gemeentevoorbeeld/constants.ts index f8169379c..0619d5fa3 100644 --- a/packages/theme-wizard-templates/src/pages/gemeentevoorbeeld/constants.ts +++ b/packages/theme-wizard-templates/src/pages/gemeentevoorbeeld/constants.ts @@ -1,6 +1,6 @@ -import type { NewsItem } from './components/NewsCards/types'; -import type { QuickTask } from './components/QuickTasks/types'; -import type { NavigationItem } from './Sections/Navigation/types'; +import type { NewsItem } from '../../components/NewsCards/types'; +import type { QuickTask } from '../../components/QuickTasks/types'; +import type { NavigationItem } from '../../sections/Navigation/types'; import sewerImage from '../../assets/images/140571-klein.jpg'; import cyclistImage from '../../assets/images/56370-klein.jpg'; import parrotImage from '../../assets/images/NL-HaNA_2.24.01.03_0_905-2093-klein.jpg'; diff --git a/packages/theme-wizard-templates/src/pages/gemeentevoorbeeld/page.astro b/packages/theme-wizard-templates/src/pages/gemeentevoorbeeld/page.astro index 501576197..e5189ac3a 100644 --- a/packages/theme-wizard-templates/src/pages/gemeentevoorbeeld/page.astro +++ b/packages/theme-wizard-templates/src/pages/gemeentevoorbeeld/page.astro @@ -1,7 +1,7 @@ --- import BaseLayout from '../../layouts/BaseLayout.astro'; import GemeenteVoorbeeldHome from './GemeenteVoorbeeldHome'; -import openingHoursData from './components/OpeningHoursCard/openingHours.json'; +import openingHoursData from '../../components/OpeningHoursCard/openingHours.json'; export const detail = { name: 'Homepagina', @@ -17,5 +17,5 @@ const openingHoursSummary = openingHoursData.summary; -