Merge branch 'development'
Some checks failed
Build and Deploy / Build and Deploy (push) Failing after 5s

This commit is contained in:
Bob Vandevliet 2024-11-03 12:06:52 +01:00
commit 27b684c4d5
8 changed files with 757 additions and 770 deletions

390
.eslintrc
View file

@ -1,390 +0,0 @@
{
"root": true,
"env": {
"node": false,
"browser": true,
"es6": true
},
"parserOptions": {
"ecmaVersion": "latest",
"sourceType": "script",
"ecmaFeatures": {
"impliedStrict": true
},
"requireConfigFile": false
},
"extends": [
"eslint:recommended"
],
"rules": {
"arrow-body-style": "error",
"array-bracket-newline": [
"error",
"consistent"
],
"array-bracket-spacing": "error",
"array-callback-return": "warn",
"array-element-newline": [
"error",
"consistent"
],
"arrow-parens": [
"error",
"as-needed"
],
"arrow-spacing": "error",
"block-scoped-var": "warn",
"block-spacing": "error",
"brace-style": [
"error",
"allman",
{
"allowSingleLine": true
}
],
"comma-dangle": [
"error",
"always-multiline"
],
"comma-spacing": "error",
"comma-style": "error",
"computed-property-spacing": "error",
"consistent-return": "warn",
"curly": "error",
"default-case-last": "error",
"default-param-last": [
"error"
],
"dot-location": [
"error",
"property"
],
"dot-notation": "error",
"eol-last": [
"error",
"never"
],
"eqeqeq": [
"error",
"smart"
],
"func-call-spacing": [
"error"
],
"func-style": [
"error",
"expression",
{
"allowArrowFunctions": true
}
],
"function-call-argument-newline": [
"error",
"consistent"
],
"function-paren-newline": [
"error",
"consistent"
],
"generator-star-spacing": "error",
"indent": [
"error",
2,
{
"SwitchCase": 1
}
],
"key-spacing": "error",
"keyword-spacing": [
"error"
],
"linebreak-style": [
"error",
"unix"
],
"lines-between-class-members": [
"error"
],
// "naming-convention": [
// "error",
// {
// "selector": "default",
// "format": [
// "camelCase"
// ]
// },
// {
// "selector": "variable",
// "modifiers": [
// "const"
// ],
// "format": [
// "camelCase",
// "PascalCase",
// "UPPER_CASE"
// ]
// },
// {
// "selector": "typeLike",
// "format": [
// "PascalCase"
// ]
// },
// {
// "selector": "memberLike",
// "modifiers": [
// "private"
// ],
// "format": [
// "camelCase"
// ],
// "leadingUnderscore": "require"
// }
// ],
"new-parens": "error",
"no-dupe-class-members": [
"error"
],
"no-duplicate-imports": "error",
// "no-console": "warn",
"no-else-return": "warn",
"no-empty": "error",
"no-empty-function": [
"error"
],
"no-eval": "error",
"no-eq-null": "warn",
"no-explicit-any": "off",
"no-extra-bind": "error",
"no-extra-boolean-cast": "error",
"no-extra-label": "error",
// "no-extra-parens": "off",
"no-extra-semi": [
"error"
],
"no-global-assign": "error",
"no-implicit-coercion": "error",
"no-implicit-globals": "error",
"no-implied-eval": "error",
"no-invalid-this": [
"error"
],
"no-lone-blocks": "error",
"no-lonely-if": "warn",
"no-loop-func": [
"error"
],
"no-loss-of-precision": [
"error"
],
// "no-magic-numbers": [
// "warn"
// ],
"no-mixed-operators": "error",
"no-multi-spaces": "error",
"no-multiple-empty-lines": [
"error",
{
"max": 1,
"maxEOF": 0
}
],
// "no-negated-condition": "warn",
"no-new": "error",
"no-new-func": "error",
"no-new-object": "error",
"no-new-wrappers": "error",
"no-octal-escape": "error",
"no-param-reassign": "warn",
"no-promise-executor-return": "error",
"no-prototype-builtins": "warn",
"no-redeclare": [
"error"
],
"no-return-assign": "error",
"no-return-await": "error",
"no-self-compare": "error",
"no-shadow": [
"warn"
],
"no-tabs": "error",
"no-template-curly-in-string": "warn",
"no-throw-literal": "error",
"no-trailing-spaces": "error",
"no-unneeded-ternary": "error",
"no-unused-expressions": [
"error",
{
"allowShortCircuit": true,
"allowTernary": true
}
],
"no-unused-private-class-members": "error",
"no-unused-vars": [
"warn"
],
"no-use-before-define": [
"error"
],
"no-useless-call": "error",
"no-useless-computed-key": "error",
"no-useless-concat": "error",
"no-useless-constructor": [
"error"
],
"no-useless-rename": "error",
"no-useless-return": "warn",
"no-var": "warn",
"no-void": "error",
"no-whitespace-before-property": "error",
"nonblock-statement-body-position": "error",
"object-curly-newline": [
"error",
{
"consistent": true
}
],
"object-curly-spacing": [
"error",
"always"
],
"operator-assignment": "error",
"operator-linebreak": [
"error",
"before",
{
"overrides": {
"=": "ignore"
}
}
],
"padded-blocks": [
"error",
"never",
{
"allowSingleLineBlocks": true
}
],
"padding-line-between-statements": [
"error",
{
"blankLine": "always",
"prev": "directive",
"next": "*"
},
{
"blankLine": "never",
"prev": "directive",
"next": "directive"
},
{
"blankLine": "always",
"prev": "import",
"next": "*"
},
{
"blankLine": "never",
"prev": "import",
"next": "import"
},
{
"blankLine": "always",
"prev": "*",
"next": [
"block",
"block-like"
]
},
{
"blankLine": "always",
"prev": [
"block",
"block-like"
],
"next": "*"
},
{
"blankLine": "always",
"prev": [
"case",
"default"
],
"next": "*"
},
{
"blankLine": "always",
"prev": "*",
"next": [
"throw",
"empty",
"continue",
"break",
"return"
]
}
],
"prefer-arrow-callback": "error",
"prefer-const": "warn",
"prefer-destructuring": "warn",
"prefer-exponentiation-operator": "error",
"prefer-numeric-literals": "warn",
"prefer-object-spread": "error",
"prefer-promise-reject-errors": "warn",
"prefer-regex-literals": "error",
"prefer-rest-params": "warn",
"prefer-spread": "warn",
"prefer-template": "error",
"quote-props": [
"error",
"as-needed"
],
"quotes": [
"error",
"single"
],
"radix": [
"error",
"as-needed"
],
"require-await": "error",
"require-unicode-regexp": "error",
"rest-spread-spacing": [
"error",
"never"
],
"semi": [
"error"
],
"semi-spacing": "error",
"semi-style": "error",
// "sort-imports": "error", // use Organize Imports [Shift+Alt+O] instead
"space-before-blocks": [
"error"
],
"space-before-function-paren": [
"error"
],
"space-in-parens": "error",
"space-infix-ops": [
"error"
],
"space-unary-ops": "error",
"spaced-comment": "error",
"strict": "error",
"switch-colon-spacing": "error",
"template-curly-spacing": "error",
"template-tag-spacing": [
"error",
"always"
],
"wrap-iife": "error",
"yield-star-spacing": "error",
"yoda": [
"error",
"never",
{
"onlyEquality": true
}
]
}
}

224
eslint.config.mjs Normal file
View file

@ -0,0 +1,224 @@
import globals from 'globals';
import pluginJs from '@eslint/js';
export default [pluginJs.configs.recommended, {
languageOptions: {
globals: {
...Object.fromEntries(Object.entries(globals.node).map(([key]) => [key, 'off'])),
...globals.browser,
},
ecmaVersion: 'latest',
sourceType: 'module',
parserOptions: {
ecmaFeatures: {
impliedStrict: true,
},
requireConfigFile: false,
},
},
rules: {
'arrow-body-style': 'error',
'array-bracket-newline': ['error', 'consistent'],
'array-bracket-spacing': 'error',
'array-callback-return': 'warn',
'array-element-newline': ['error', 'consistent'],
'arrow-parens': ['error', 'as-needed'],
'arrow-spacing': 'error',
'block-scoped-var': 'warn',
'block-spacing': 'error',
'brace-style': ['error', 'allman', {
allowSingleLine: true,
}],
'comma-dangle': ['error', 'always-multiline'],
'comma-spacing': 'error',
'comma-style': 'error',
'computed-property-spacing': 'error',
'consistent-return': 'warn',
curly: 'error',
'default-case-last': 'error',
'default-param-last': ['error'],
'dot-location': ['error', 'property'],
'dot-notation': 'error',
'eol-last': ['error', 'never'],
eqeqeq: ['error', 'smart'],
'func-call-spacing': ['error'],
'func-style': ['error', 'expression', {
allowArrowFunctions: true,
}],
'function-call-argument-newline': ['error', 'consistent'],
'function-paren-newline': ['error', 'consistent'],
'generator-star-spacing': 'error',
indent: ['error', 2, {
SwitchCase: 1,
}],
'key-spacing': 'error',
'keyword-spacing': ['error'],
'linebreak-style': ['error', 'unix'],
'lines-between-class-members': ['error'],
'new-parens': 'error',
'no-dupe-class-members': ['error'],
'no-duplicate-imports': 'error',
'no-else-return': 'warn',
'no-empty': 'error',
'no-empty-function': ['error'],
'no-eval': 'error',
'no-eq-null': 'warn',
'no-explicit-any': 'off',
'no-extra-bind': 'error',
'no-extra-boolean-cast': 'error',
'no-extra-label': 'error',
'no-extra-semi': ['error'],
'no-global-assign': 'error',
'no-implicit-coercion': 'error',
'no-implicit-globals': 'error',
'no-implied-eval': 'error',
'no-invalid-this': ['error'],
'no-lone-blocks': 'error',
'no-lonely-if': 'warn',
'no-loop-func': ['error'],
'no-loss-of-precision': ['error'],
'no-mixed-operators': 'error',
'no-multi-spaces': 'error',
'no-multiple-empty-lines': ['error', {
max: 1,
maxEOF: 0,
}],
'no-new': 'error',
'no-new-func': 'error',
'no-new-object': 'error',
'no-new-wrappers': 'error',
'no-octal-escape': 'error',
'no-param-reassign': 'warn',
'no-promise-executor-return': 'error',
'no-prototype-builtins': 'warn',
'no-redeclare': ['error'],
'no-return-assign': 'error',
'no-return-await': 'error',
'no-self-compare': 'error',
'no-shadow': ['warn'],
'no-tabs': 'error',
'no-template-curly-in-string': 'warn',
'no-throw-literal': 'error',
'no-trailing-spaces': 'error',
'no-unneeded-ternary': 'error',
'no-unused-expressions': ['error', {
allowShortCircuit: true,
allowTernary: true,
}],
'no-unused-private-class-members': 'error',
'no-unused-vars': ['warn'],
'no-use-before-define': ['error'],
'no-useless-call': 'error',
'no-useless-computed-key': 'error',
'no-useless-concat': 'error',
'no-useless-constructor': ['error'],
'no-useless-rename': 'error',
'no-useless-return': 'warn',
'no-var': 'warn',
'no-void': 'error',
'no-whitespace-before-property': 'error',
'nonblock-statement-body-position': 'error',
'object-curly-newline': ['error', {
consistent: true,
}],
'object-curly-spacing': ['error', 'always'],
'operator-assignment': 'error',
'operator-linebreak': ['error', 'before', {
overrides: {
'=': 'ignore',
},
}],
'padded-blocks': ['error', 'never', {
allowSingleLineBlocks: true,
}],
'padding-line-between-statements': ['error', {
blankLine: 'always',
prev: 'directive',
next: '*',
}, {
blankLine: 'never',
prev: 'directive',
next: 'directive',
}, {
blankLine: 'always',
prev: 'import',
next: '*',
}, {
blankLine: 'never',
prev: 'import',
next: 'import',
}, {
blankLine: 'always',
prev: '*',
next: ['block', 'block-like'],
}, {
blankLine: 'always',
prev: ['block', 'block-like'],
next: '*',
}, {
blankLine: 'always',
prev: ['case', 'default'],
next: '*',
}, {
blankLine: 'always',
prev: '*',
next: ['throw', 'empty', 'continue', 'break', 'return'],
}],
'prefer-arrow-callback': 'error',
'prefer-const': 'warn',
'prefer-destructuring': 'warn',
'prefer-exponentiation-operator': 'error',
'prefer-numeric-literals': 'warn',
'prefer-object-spread': 'error',
'prefer-promise-reject-errors': 'warn',
'prefer-regex-literals': 'error',
'prefer-rest-params': 'warn',
'prefer-spread': 'warn',
'prefer-template': 'error',
'quote-props': ['error', 'as-needed'],
quotes: ['error', 'single'],
radix: ['error', 'as-needed'],
'require-await': 'error',
'require-unicode-regexp': 'error',
'rest-spread-spacing': ['error', 'never'],
semi: ['error'],
'semi-spacing': 'error',
'semi-style': 'error',
'space-before-blocks': ['error'],
'space-before-function-paren': ['error'],
'space-in-parens': 'error',
'space-infix-ops': ['error'],
'space-unary-ops': 'error',
'spaced-comment': 'error',
strict: 'error',
'switch-colon-spacing': 'error',
'template-curly-spacing': 'error',
'template-tag-spacing': ['error', 'always'],
'wrap-iife': 'error',
'yield-star-spacing': 'error',
yoda: ['error', 'never', {
onlyEquality: true,
}],
},
}];

View file

@ -7,25 +7,26 @@
"packageManager": "pnpm@9.2.0+sha1.886364ebd6dae009284bebc56ed4296bb6dd557a", "packageManager": "pnpm@9.2.0+sha1.886364ebd6dae009284bebc56ed4296bb6dd557a",
"scripts": { "scripts": {
"build": "npm-run-all css-compile css-prefix js-minify", "build": "npm-run-all css-compile css-prefix js-minify",
"css-compile": "sass --style compressed --source-map --embed-sources --no-error-css --load-path=node_modules src/scss/styles.scss:public/assets/css/styles.min.css", "css-compile": "sass --style compressed --source-map --embed-sources --no-error-css --load-path=node_modules --quiet-deps src/scss/styles.scss:public/assets/css/styles.min.css --silence-deprecation=import",
"css-prefix": "postcss --replace public/assets/css/styles.min.css --use autoprefixer --map", "css-prefix": "postcss --replace public/assets/css/styles.min.css --use autoprefixer --map",
"js-minify": "bash -c 'mkdir -p public/assets/js' && terser --compress --mangle --source-map --output public/assets/js/scripts.min.js -- src/js/scripts.js", "js-minify": "bash -c 'mkdir -p public/assets/js' && terser --compress --mangle --source-map --output public/assets/js/scripts.min.js -- src/js/scripts.js",
"server": "docker compose up -d", "server": "docker compose up -d",
"start": "npm-run-all build server" "start": "npm-run-all build server"
}, },
"dependencies": { "dependencies": {
"bootstrap": "^5" "bootstrap": "^5.3.3"
}, },
"devDependencies": { "devDependencies": {
"@eslint/js": "^8", "@eslint/js": "^9.14.0",
"autoprefixer": "^10", "autoprefixer": "^10.4.20",
"clean-css": "^5", "clean-css": "^5.3.3",
"eslint": "^8", "eslint": "^9.14.0",
"html-minifier-terser": "^7", "globals": "^15.11.0",
"npm-run-all": "^4", "html-minifier-terser": "^7.2.0",
"postcss": "^8", "npm-run-all": "^4.1.5",
"postcss-cli": "^11", "postcss": "^8.4.47",
"sass": "^1", "postcss-cli": "^11.0.0",
"terser": "^5" "sass": "^1.80.6",
"terser": "^5.36.0"
} }
} }

763
pnpm-lock.yaml generated

File diff suppressed because it is too large Load diff

Binary file not shown.

After

Width:  |  Height:  |  Size: 69 KiB

View file

@ -37,7 +37,7 @@
<br>Bedrijfsvideo <br>Bedrijfsvideo
</h3> </h3>
<p class="card-text"> <p class="card-text">
Laat jouw bedrijf opvallen met unieke dronebeelden, zowel binnen als buiten. Ik leg de bijzondere kenmerken van jouw locatie vast en breng interacties met jouw team in beeld. Maak een blijvende indruk op jouw potentiële klanten met een vloeiende indoor drone tour van jouw bedrijf.
</p> </p>
</div> </div>
</div> </div>
@ -51,35 +51,49 @@
<br>Vastgoed <br>Vastgoed
</h3> </h3>
<p class="card-text"> <p class="card-text">
Met een vloeiende fly-through door jouw pand en van de omgeving, geef je jouw potentiële kopers of huurders een goed beeld van de locatie en de mogelijkheden. Met unieke dronebeelden van jouw pand en de omgeving geef je jouw potentiële kopers of huurders een goed beeld van de locatie en de mogelijkheden.
</p> </p>
</div> </div>
</div> </div>
</div> </div>
<div class="col-sm-6 col-lg"> <div class="col-sm-6 col-lg">
<div class="card h-100"> <div class="card h-100">
<img class="card-img grayscale-effect" style="height: 10rem;" src="assets/static/audience-1850119_640.jpg" alt="Afbeelding van publiek bij een podium."> <img class="card-img grayscale-effect" style="height: 10rem;" src="assets/static/ferris-wheel-7299042_640.jpg" alt="Afbeelding van een attractie in een recreatiepark.">
<div class="card-body bg-light text-dark"> <div class="card-body bg-light text-dark">
<h3 class="card-title"> <h3 class="card-title">
<i class="fa-solid fa-guitar"></i> <i class="fa-solid fa-house"></i>
<br>Evenementen (binnenkort mogelijk) <br>Recreatie (binnenkort mogelijk)
</h3> </h3>
<p class="card-text"> <p class="card-text">
Leg de grootsheid en energie van elk evenement vast. Van optredens, concerten en festivals tot bruiloften, privé- en bedrijfsfeesten. FPV drone opnames laten een blijvende indruk achter. Presenteer jouw attractiepark, camping of recreatiepark vanuit een ander perspectief met adembenemende dronebeelden.
</p> </p>
</div> </div>
</div> </div>
</div> </div>
<div class="col-sm-6 col-lg"> <div class="col-sm-6 col-lg">
<div class="card h-100"> <div class="card h-100">
<img class="card-img grayscale-effect" style="height: 10rem;" src="assets/static/motor-cross-1634206_640.jpg" alt="Afbeelding van motorcrossers."> <img class="card-img grayscale-effect" style="height: 10rem;" src="assets/static/motor-cross-1634206_640.jpg" alt="Afbeelding van motorcross sport.">
<div class="card-body bg-light text-dark"> <div class="card-body bg-light text-dark">
<h3 class="card-title"> <h3 class="card-title">
<i class="fa-solid fa-motorcycle"></i> <i class="fa-solid fa-motorcycle"></i>
<br>Sport (binnenkort mogelijk) <br>Sport (binnenkort mogelijk)
</h3> </h3>
<p class="card-text"> <p class="card-text">
Een FPV drone is ideaal voor het maken van spectaculaire actiebeelden tijdens sportevenementen. Op hoge snelheden houd ik de drone slechts centimeters van de actie verwijderd. Breng jouw sportevenement spectaculair in beeld met FPV actiebeelden op hoge snelheden en slechts centimeters van de actie verwijderd.
</p>
</div>
</div>
</div>
<div class="col-sm-6 col-lg">
<div class="card h-100">
<img class="card-img grayscale-effect" style="height: 10rem;" src="assets/static/audience-1850119_640.jpg" alt="Afbeelding van publiek bij een concert.">
<div class="card-body bg-light text-dark">
<h3 class="card-title">
<i class="fa-solid fa-guitar"></i>
<br>Evenementen (binnenkort mogelijk)
</h3>
<p class="card-text">
Leg de grootsheid en energie van elk evenement vast. Denk aan aftermovie's van optredens, concerten en festivals tot bruiloften, privé- en bedrijfsfeesten.
</p> </p>
</div> </div>
</div> </div>
@ -153,7 +167,7 @@
In 2022 ontdekte ik drones en FPV. Deze fascinerende hobby brengt al mijn interesses samen: techniek, vliegen, videografie, productontwikkeling en software engineering. In 2024 besloot ik van mijn ware passies mijn beroep te maken door luchtvideografie als dienst aan te bieden. Zo komen mijn vroegere hobby's en mijn carrière mooi samen. In 2022 ontdekte ik drones en FPV. Deze fascinerende hobby brengt al mijn interesses samen: techniek, vliegen, videografie, productontwikkeling en software engineering. In 2024 besloot ik van mijn ware passies mijn beroep te maken door luchtvideografie als dienst aan te bieden. Zo komen mijn vroegere hobby's en mijn carrière mooi samen.
</p> </p>
<p> <p>
Ik doe dit als ZZP'er naast mijn parttime baan als software engineer. Ik ben gevestigd in Arnhem, Gelderland, en werk voornamelijk in deze regio. Neem gerust contact met me op voor een vrijblijvend gesprek over jouw dronevideo. Ik doe dit als ZZP'er naast mijn parttime baan als software engineer. Ik ben gevestigd in Arnhem, Gelderland, en werk voornamelijk in deze regio. Neem gerust contact met me op voor een vrijblijvend gesprek over de mogelijkheden.
</p> </p>
</div> </div>
</div> </div>
@ -184,7 +198,7 @@
</li> </li>
<li class="list-group-item"> <li class="list-group-item">
<a data-bs-toggle="collapse" href="#collapse-vluchtplan" role="button" aria-expanded="false" aria-controls="collapse-vluchtplan"> <a data-bs-toggle="collapse" href="#collapse-vluchtplan" role="button" aria-expanded="false" aria-controls="collapse-vluchtplan">
Script of vluchtplan tegen meerprijs Script of vluchtplan
</a> </a>
<div class="collapse" id="collapse-vluchtplan"> <div class="collapse" id="collapse-vluchtplan">
<i class="fa-solid fa-plane"></i><br> <i class="fa-solid fa-plane"></i><br>
@ -222,18 +236,18 @@
<p class="card-text fs-4 ff-header">v.a. €689,-</p> <p class="card-text fs-4 ff-header">v.a. €689,-</p>
</div> </div>
<ul class="list-group list-group-flush h-100"> <ul class="list-group list-group-flush h-100">
<li class="list-group-item">Alles in "Ruwe opnames", <b>maar dan</b> ..</li> <li class="list-group-item">Alles in "Ruwe opnames", maar dan ..</li>
<li class="list-group-item"> <li class="list-group-item">
<a data-bs-toggle="collapse" href="#collapse-montage" role="button" aria-expanded="false" aria-controls="collapse-montage"> <a data-bs-toggle="collapse" href="#collapse-montage" role="button" aria-expanded="false" aria-controls="collapse-montage">
<b>Inclusief montage + 1x feedback</b> Inclusief montage + 1x feedback
</a> </a>
<div class="collapse" id="collapse-montage"> <div class="collapse" id="collapse-montage">
<i class="fa-solid fa-wand-magic-sparkles"></i><br> <i class="fa-solid fa-wand-magic-sparkles"></i><br>
Zodra de drone opnames zijn gemaakt, kiezen we samen de beste beelden uit. Daarna breng ik jouw verhaal zorgvuldig tot leven met beeld-, geluids- en kleurbewerking, zodat jouw bedrijf, merk, product of dienst zo goed mogelijk gepresenteerd wordt. Ik zorg ervoor dat de visuele montage aansluit bij je doelgroep en lever jouw dronevideo in de juiste formaten voor de gewenste mediakanalen. Zodra de drone opnames zijn gemaakt, kiezen we samen de beste beelden uit. Daarna breng ik jouw verhaal zorgvuldig tot leven met beeld-, geluids- en kleurbewerking, zodat jouw bedrijf, merk, product of dienst zo goed mogelijk gepresenteerd wordt. Ik zorg ervoor dat de visuele montage aansluit bij je doelgroep en lever jouw dronevideo in de juiste formaten voor de gewenste mediakanalen.
</div> </div>
</li> </li>
<li class="list-group-item">Extra op locatie à <b>€140,- /uur</b>,<br>(<b>Montagekosten ingecalculeerd</b>)</li> <li class="list-group-item">Extra op locatie à €140,- /uur,(Montagekosten ingecalculeerd)</li>
<li class="list-group-item">Binnen <b>14 kalenderdagen</b> geleverd</li> <li class="list-group-item">Binnen 14 kalenderdagen geleverd</li>
</ul> </ul>
<!-- <div class="card-body"> <!-- <div class="card-body">
<p class="card-text">Referenties:</p> <p class="card-text">Referenties:</p>

View file

@ -13,13 +13,12 @@
<section class="container-xxl"> <section class="container-xxl">
<h1>Privacyverklaring</h1> <h1>Privacyverklaring</h1>
<p>Op deze pagina laat ik je weten welke gegevens ik verzamel wanneer je mijn website gebruikt, waarom ik deze gegevens verzamel en voor hoelang ik deze bewaar. Ik ben niet verantwoordelijk voor de privacyverklaring(en) van derde partijen.</p> <p>Op deze pagina laat ik je weten welke gegevens ik verzamel wanneer je mijn website gebruikt, waarom ik deze gegevens verzamel, voor hoelang ik deze bewaar en wie deze gegevens namens mij verwerkt. Ik ben niet verantwoordelijk voor de privacyverklaring(en) van derde partijen.</p>
</section> </section>
<section class="container-xxl"> <section class="container-xxl">
<h2>Cookies</h2> <h2>Cookies</h2>
<p>Mijn website maakt gebruik van functionele- en analytische cookies, tekstbestandjes die op jouw computer worden geplaatst. Deze helpen mij bij te houden hoe de website wordt gebruikt (zie ook het kopje "Google Analytics"). Mijn website gebruikt echter géén tracking cookies.</p> <p>Mijn website maakt gebruik van functionele- en analytische cookies, tekstbestandjes die op jouw computer worden geplaatst. Deze helpen mij bij te houden hoe de website wordt gebruikt (zie ook het kopje "Google Analytics"). Mijn website gebruikt géén tracking cookies.</p>
<p>Je kunt jouw browser zodanig instellen dat cookies worden geweigerd. Het is echter mogelijk dat sommige functies op mijn website dan niet- of onjuist functioneren.</p>
</section> </section>
<section class="container-xxl"> <section class="container-xxl">

View file

@ -3,7 +3,7 @@
// $enable-shadows: true; // $enable-shadows: true;
// Include functions first (so you can manipulate colors, SVGs, calc, etc) // Include functions first (so you can manipulate colors, SVGs, calc, etc)
@import "../../node_modules/bootstrap/scss/functions"; @import "bootstrap/scss/functions";
// scss-docs-start color-variables // scss-docs-start color-variables
$red: #cc2929; // Default: #dc3545 $red: #cc2929; // Default: #dc3545
@ -12,8 +12,8 @@ $red: #cc2929; // Default: #dc3545
$primary: $red; // Default: $blue $primary: $red; // Default: $blue
// Include remainder of required Bootstrap stylesheets // Include remainder of required Bootstrap stylesheets
@import "../../node_modules/bootstrap/scss/variables"; @import "bootstrap/scss/variables";
@import "../../node_modules/bootstrap/scss/variables-dark"; @import "bootstrap/scss/variables-dark";
// Include any default map overrides here // Include any default map overrides here
$carousel-dark-indicator-active-bg: $white; $carousel-dark-indicator-active-bg: $white;
@ -21,48 +21,48 @@ $carousel-dark-caption-color: $white;
$carousel-dark-control-icon-filter: unset; $carousel-dark-control-icon-filter: unset;
// Include remainder of required parts // Include remainder of required parts
@import "../../node_modules/bootstrap/scss/maps"; @import "bootstrap/scss/maps";
@import "../../node_modules/bootstrap/scss/mixins"; @import "bootstrap/scss/mixins";
@import "../../node_modules/bootstrap/scss/root"; @import "bootstrap/scss/root";
// Include any other parts as needed // Include any other parts as needed
@import "../../node_modules/bootstrap/scss/reboot"; @import "bootstrap/scss/reboot";
@import "../../node_modules/bootstrap/scss/type"; @import "bootstrap/scss/type";
@import "../../node_modules/bootstrap/scss/containers"; @import "bootstrap/scss/containers";
@import "../../node_modules/bootstrap/scss/grid"; @import "bootstrap/scss/grid";
@import "../../node_modules/bootstrap/scss/nav"; @import "bootstrap/scss/nav";
@import "../../node_modules/bootstrap/scss/navbar"; // Requires nav @import "bootstrap/scss/navbar"; // Requires nav
@import "../../node_modules/bootstrap/scss/buttons"; @import "bootstrap/scss/buttons";
@import "../../node_modules/bootstrap/scss/card"; @import "bootstrap/scss/card";
@import "../../node_modules/bootstrap/scss/carousel"; @import "bootstrap/scss/carousel";
@import "../../node_modules/bootstrap/scss/images"; @import "bootstrap/scss/images";
@import "../../node_modules/bootstrap/scss/list-group"; @import "bootstrap/scss/list-group";
@import "../../node_modules/bootstrap/scss/transitions"; @import "bootstrap/scss/transitions";
// @import "../../node_modules/bootstrap/scss/accordion"; // @import "bootstrap/scss/accordion";
// @import "../../node_modules/bootstrap/scss/alert"; // @import "bootstrap/scss/alert";
// @import "../../node_modules/bootstrap/scss/badge"; // @import "bootstrap/scss/badge";
// @import "../../node_modules/bootstrap/scss/breadcrumb"; // @import "bootstrap/scss/breadcrumb";
// @import "../../node_modules/bootstrap/scss/button-group"; // @import "bootstrap/scss/button-group";
// @import "../../node_modules/bootstrap/scss/close"; // @import "bootstrap/scss/close";
// @import "../../node_modules/bootstrap/scss/dropdown"; // @import "bootstrap/scss/dropdown";
// @import "../../node_modules/bootstrap/scss/forms"; // @import "bootstrap/scss/forms";
// @import "../../node_modules/bootstrap/scss/modal"; // Requires transitions // @import "bootstrap/scss/modal"; // Requires transitions
// @import "../../node_modules/bootstrap/scss/offcanvas"; // Requires transitions // @import "bootstrap/scss/offcanvas"; // Requires transitions
// @import "../../node_modules/bootstrap/scss/pagination"; // @import "bootstrap/scss/pagination";
// @import "../../node_modules/bootstrap/scss/placeholders"; // @import "bootstrap/scss/placeholders";
// @import "../../node_modules/bootstrap/scss/popover"; // @import "bootstrap/scss/popover";
// @import "../../node_modules/bootstrap/scss/progress"; // @import "bootstrap/scss/progress";
// @import "../../node_modules/bootstrap/scss/spinners"; // @import "bootstrap/scss/spinners";
// @import "../../node_modules/bootstrap/scss/tables"; // @import "bootstrap/scss/tables";
// @import "../../node_modules/bootstrap/scss/toasts"; // @import "bootstrap/scss/toasts";
// @import "../../node_modules/bootstrap/scss/tooltip"; // @import "bootstrap/scss/tooltip";
// Helpers // Helpers
@import "../../node_modules/bootstrap/scss/helpers"; @import "bootstrap/scss/helpers";
// Utilities // Utilities
@import "../../node_modules/bootstrap/scss/utilities"; @import "bootstrap/scss/utilities";
@import "../../node_modules/bootstrap/scss/utilities/api"; @import "bootstrap/scss/utilities/api";
// //
// Custom styles // Custom styles