build: v1.0.1

This commit is contained in:
Pedro Chueiri 2026-02-10 12:11:20 -03:00
parent fb6e6e0587
commit 41435e9463
5 changed files with 70 additions and 37 deletions

11
package-lock.json generated
View File

@ -13,6 +13,7 @@
},
"devDependencies": {
"@sveltejs/adapter-auto": "^7.0.0",
"@sveltejs/adapter-static": "^3.0.10",
"@sveltejs/kit": "^2.50.1",
"@sveltejs/vite-plugin-svelte": "^6.2.4",
"@tailwindcss/postcss": "^4.1.18",
@ -1133,6 +1134,16 @@
"@sveltejs/kit": "^2.0.0"
}
},
"node_modules/@sveltejs/adapter-static": {
"version": "3.0.10",
"resolved": "https://registry.npmjs.org/@sveltejs/adapter-static/-/adapter-static-3.0.10.tgz",
"integrity": "sha512-7D9lYFWJmB7zxZyTE/qxjksvMqzMuYrrsyh1f4AlZqeZeACPRySjbC3aFiY55wb1tWUaKOQG9PVbm74JcN2Iew==",
"dev": true,
"license": "MIT",
"peerDependencies": {
"@sveltejs/kit": "^2.0.0"
}
},
"node_modules/@sveltejs/kit": {
"version": "2.50.1",
"resolved": "https://registry.npmjs.org/@sveltejs/kit/-/kit-2.50.1.tgz",

View File

@ -18,6 +18,7 @@
},
"devDependencies": {
"@sveltejs/adapter-auto": "^7.0.0",
"@sveltejs/adapter-static": "^3.0.10",
"@sveltejs/kit": "^2.50.1",
"@sveltejs/vite-plugin-svelte": "^6.2.4",
"@tailwindcss/postcss": "^4.1.18",

2
src/routes/+layout.js Normal file
View File

@ -0,0 +1,2 @@
export const prerender = true;
export const ssr = true;

View File

@ -2,17 +2,18 @@
import { onMount } from 'svelte';
import { page } from '$app/stores';
import { goto } from '$app/navigation';
import { browser } from '$app/environment';
import Header from '$lib/components/Header.svelte';
import Footer from '$lib/components/Footer.svelte';
const policies = {
termos: {
title: 'Políticas e Termos',
file: 'termos.md'
file: 'politicas/termos.md'
},
privacidade: {
title: 'Política de Privacidade',
file: 'privacidade.md'
file: 'politicas/privacidade.md'
},
};
@ -57,37 +58,47 @@
}
async function loadMarkdownContent(policyKey) {
try {
loading = true;
error = null;
const policy = policies[policyKey];
if (!policy) {
throw new Error('Política não encontrada');
}
const response = await fetch(`/politicas/${policy.file}`);
if (!response.ok) {
throw new Error(`Erro ao carregar ${policy.file}: ${response.status}`);
}
const markdownText = await response.text();
content = parseMarkdown(markdownText);
} catch (err) {
error = err.message;
console.error('Erro ao carregar markdown:', err);
content = `
<h1>${policies[policyKey]?.title || 'Documento'}</h1>
<p><em>Conteúdo em atualização...</em></p>
<p>Não foi possível carregar o conteúdo deste documento no momento.</p>
<p>Por favor, tente novamente mais tarde ou entre em contato conosco através do email:
<a href="mailto:suporte@basspago.com">suporte@basspago.com</a></p>
`;
} finally {
loading = false;
try {
loading = true;
error = null;
const policy = policies[policyKey];
if (!policy) {
throw new Error('Política não encontrada');
}
// ✅ Só fazer fetch no browser
if (!browser) {
content = `
<h1>${policy.title}</h1>
<p><em>Carregando conteúdo...</em></p>
`;
loading = false;
return;
}
const response = await fetch(`/${policy.file}`);
if (!response.ok) {
throw new Error(`Erro ao carregar ${policy.file}: ${response.status}`);
}
const markdownText = await response.text();
content = parseMarkdown(markdownText);
} catch (err) {
error = err.message;
console.error('Erro ao carregar markdown:', err);
content = `
<h1>${policies[policyKey]?.title || 'Documento'}</h1>
<p><em>Conteúdo em atualização...</em></p>
<p>Para dúvidas, entre em contato:
<a href="mailto:suporte@basspago.com.br">suporte@basspago.com.br</a></p>
`;
} finally {
loading = false;
}
}
function navigateToPolicy(policyKey) {
if (currentPolicy !== policyKey) {

View File

@ -1,13 +1,21 @@
import adapter from '@sveltejs/adapter-auto';
import adapter from '@sveltejs/adapter-static';
/** @type {import('@sveltejs/kit').Config} */
const config = {
kit: {
// adapter-auto only supports some environments, see https://svelte.dev/docs/kit/adapter-auto for a list.
// If your environment is not supported, or you settled on a specific environment, switch out the adapter.
// See https://svelte.dev/docs/kit/adapters for more information about adapters.
adapter: adapter()
adapter: adapter({
pages: 'build',
assets: 'build',
fallback: 'index.html',
precompress: false,
strict: false
}),
prerender: {
handleHttpError: 'warn',
handleMissingId: 'warn',
entries: ['*']
}
}
};
export default config;
export default config;