7 Commits

Author SHA1 Message Date
4968cb04c3 feat: Gitea Actions CI/CD pipeline with container registry builds
Some checks failed
Build and Push Docker Image / Build & push to Gitea registry (push) Has been cancelled
- .gitea/workflows/docker.yml: builds and pushes image to
  devops.cloudhost.es/malin/paste.es on every push to main,
  tags as :latest and :<short-sha>, uses GHA layer cache
- docker-compose.yml: updated to pull pre-built image from Gitea
  container registry instead of building locally
- docker-compose.build.yml: new override file for local dev builds
  (docker compose -f docker-compose.yml -f docker-compose.build.yml up --build)
- docker-compose.runner.yml: act_runner service — mount docker socket,
  auto-registers with RUNNER_REGISTRATION_TOKEN from .env
- .env.example: added RUNNER_REGISTRATION_TOKEN section
- README.md: document CI/CD setup, runner registration, and updated
  quick-start to use registry pull workflow

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-24 10:36:04 +01:00
4d21c64998 fix: feature list — title and description on separate lines
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-24 10:30:16 +01:00
40b3a11ac0 feat: update header subtitle and add feature list on homepage
- Header hero text: "Comparte secretos y archivos de forma efímera y segura"
  (split across part1/part2 to keep teal highlight on the key phrase)
- HomePage: add 10-item checkmark feature grid below the secret form,
  shown only before a secret is created, 2-col on sm+ screens

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-24 10:22:50 +01:00
a22fd9b7f8 fix: silence analytics 403 toast and update footer
- analytics/track: return 200 instead of 403 when disabled or bot
  detected — prevents the global API error handler from firing an
  "Unknown Error" toast on every dashboard page load
- Footer: replace ES flag with EU flag (12-star SVG polygon), remove
  paste.es link wrapper, hardcode tagline in Spanish, replace sponsor
  text with "Servicio ofrecido por Cloud Host"

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-24 10:15:27 +01:00
87ade538da fix: default to Spanish by removing navigator from language detection
Browser navigator locale (en-US etc.) was winning over fallbackLng 'es'.
Now only localStorage is checked — first-time visitors get Spanish,
returning visitors get their saved preference from the language picker.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-24 09:56:56 +01:00
3ae27ea413 docs: add Spanish README, local docker-compose build and .env.example
- Rewrite README entirely in Spanish referencing paste.es / cloudhost.es
- Update docker-compose to build from local Dockerfile, use .env file,
  mount data/ volumes and respect PORT env var
- Add .env.example with full commented reference for all supported
  HEMMELIG_* variables (analytics disabled by default for privacy)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-24 09:36:36 +01:00
bc9f96cbd4 feat: rebrand Hemmelig to paste.es for cloudhost.es
- Set Spanish as default language with ephemeral/encrypted privacy focus
- Translate all user-facing strings and legal pages to Spanish
- Replace Norwegian flag with Spanish flag in footer
- Remove Hemmelig/terces.cloud links, add cloudhost.es sponsorship
- Rewrite PrivacyPage: zero data collection, ephemeral design emphasis
- Rewrite TermsPage: Spanish law, RGPD, paste.es/CloudHost.es references
- Update PWA manifest, HTML meta tags, package.json branding
- Rename webhook headers to X-Paste-Event / X-Paste-Signature
- Update API docs title and contact to paste.es / cloudhost.es

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-24 09:30:19 +01:00