diff --git a/DOCKER.md b/DOCKER.md
index 9aa9ec6..203b9d6 100644
--- a/DOCKER.md
+++ b/DOCKER.md
@@ -53,9 +53,6 @@ docker run -d \
-e PUBLIC_API_URL=https://api.pivoine.art \
-e PUBLIC_URL=https://sexy.pivoine.art \
-e PUBLIC_UMAMI_ID=your-umami-id \
- -e LETTERSPACE_API_URL=https://api.letterspace.com/v1 \
- -e LETTERSPACE_API_KEY=your-api-key \
- -e LETTERSPACE_LIST_ID=your-list-id \
sexy.pivoine.art:latest
```
@@ -117,9 +114,6 @@ docker-compose -f docker-compose.production.yml up -d --scale frontend=3
| Variable | Description | Example |
|----------|-------------|---------|
| `PUBLIC_UMAMI_ID` | Umami analytics tracking ID | `abc123def-456` |
-| `LETTERSPACE_API_URL` | Letterspace API endpoint | `https://api.letterspace.com/v1` |
-| `LETTERSPACE_API_KEY` | Letterspace authentication key | `sk_live_...` |
-| `LETTERSPACE_LIST_ID` | Mailing list identifier | `list_abc123` |
| `PORT` | Application port (inside container) | `3000` |
| `HOST` | Host binding | `0.0.0.0` |
| `NODE_ENV` | Node environment | `production` |
@@ -224,12 +218,12 @@ docker run -d \
```bash
# Create secrets
-echo "your-api-key" | docker secret create letterspace_api_key -
+echo "your-db-password" | docker secret create db_password -
# Deploy with secrets
docker service create \
--name sexy-pivoine-frontend \
- --secret letterspace_api_key \
+ --secret db_password \
-p 3000:3000 \
sexy.pivoine.art:latest
```
diff --git a/Dockerfile b/Dockerfile
index 97f594b..e81d2ed 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -123,10 +123,7 @@ ENV NODE_ENV=production \
# Runtime environment variables (will be passed at container start)
ENV PUBLIC_API_URL="" \
PUBLIC_URL="" \
- PUBLIC_UMAMI_ID="" \
- LETTERSPACE_API_URL="" \
- LETTERSPACE_API_KEY="" \
- LETTERSPACE_LIST_ID=""
+ PUBLIC_UMAMI_ID=""
# Expose application port
EXPOSE 3000
diff --git a/QUICKSTART.md b/QUICKSTART.md
index 4b8d755..bb961a2 100644
--- a/QUICKSTART.md
+++ b/QUICKSTART.md
@@ -22,9 +22,6 @@ cat > .env.production << EOF
PUBLIC_API_URL=https://api.your-domain.com
PUBLIC_URL=https://your-domain.com
PUBLIC_UMAMI_ID=
-LETTERSPACE_API_URL=
-LETTERSPACE_API_KEY=
-LETTERSPACE_LIST_ID=
EOF
```
@@ -132,9 +129,6 @@ docker pull ghcr.io/valknarxxx/sexy:latest
| Variable | Description | Example |
|----------|-------------|---------|
| `PUBLIC_UMAMI_ID` | Analytics tracking ID | `abc-123-def` |
-| `LETTERSPACE_API_URL` | Newsletter API | `https://api.letterspace.com/v1` |
-| `LETTERSPACE_API_KEY` | Newsletter API key | `sk_live_...` |
-| `LETTERSPACE_LIST_ID` | Mailing list ID | `list_abc123` |
## Common Commands
diff --git a/README.md b/README.md
index 325b241..e039d1d 100644
--- a/README.md
+++ b/README.md
@@ -38,7 +38,6 @@ Like Beate Uhse breaking barriers in post-war Germany, we believe in the freedom
- 📱 **Responsive Design** that looks sexy on any device
- 🌍 **Internationalization** — pleasure speaks all languages
- 📊 **Analytics Integration** (Umami) — know your admirers
-- 📧 **Newsletter Integration** (Letterspace) — stay connected
@@ -213,9 +212,6 @@ pnpm --filter @sexy.pivoine.art/frontend start
### 💜 Optional (The Extras)
- `PUBLIC_UMAMI_ID` — Analytics tracking
-- `LETTERSPACE_API_URL` — Newsletter endpoint
-- `LETTERSPACE_API_KEY` — Newsletter key
-- `LETTERSPACE_LIST_ID` — Mailing list
See [.env.production.example](.env.production.example) for the full configuration.
diff --git a/REBUILD_GUIDE.md b/REBUILD_GUIDE.md
index 3e87f6d..5d0f874 100644
--- a/REBUILD_GUIDE.md
+++ b/REBUILD_GUIDE.md
@@ -7,8 +7,7 @@ SvelteKit's `PUBLIC_*` environment variables are **baked into the JavaScript** a
1. ✅ Changing `PUBLIC_API_URL`
2. ✅ Changing `PUBLIC_URL`
3. ✅ Changing `PUBLIC_UMAMI_ID`
-4. ✅ Changing any `LETTERSPACE_*` variables
-5. ❌ NOT needed for Directus env vars (those are runtime)
+4. ❌ NOT needed for Directus env vars (those are runtime)
## Quick Rebuild Process
@@ -25,9 +24,6 @@ Set your production values:
PUBLIC_API_URL=https://sexy.pivoine.art/api
PUBLIC_URL=https://sexy.pivoine.art
PUBLIC_UMAMI_ID=your-umami-id
-LETTERSPACE_API_URL=https://api.letterspace.com/v1
-LETTERSPACE_API_KEY=your-key
-LETTERSPACE_LIST_ID=your-list-id
```
### 2. Rebuild the Image
@@ -254,7 +250,6 @@ These are runtime environment variables and can be changed in docker-compose.
| `PUBLIC_API_URL` | ✅ Yes | Rebuild image |
| `PUBLIC_URL` | ✅ Yes | Rebuild image |
| `PUBLIC_UMAMI_ID` | ✅ Yes | Rebuild image |
-| `LETTERSPACE_*` | ✅ Yes | Rebuild image |
| `SEXY_DIRECTUS_*` | ❌ No | Restart container |
| `DB_*` | ❌ No | Restart container |
| `EMAIL_*` | ❌ No | Restart container |
diff --git a/compose.production.yml b/compose.production.yml
index 5c5f337..d0f66ca 100644
--- a/compose.production.yml
+++ b/compose.production.yml
@@ -103,9 +103,6 @@ services:
PUBLIC_API_URL: ${SEXY_FRONTEND_PUBLIC_API_URL}
PUBLIC_URL: ${SEXY_FRONTEND_PUBLIC_URL}
PUBLIC_UMAMI_ID: ${SEXY_FRONTEND_PUBLIC_UMAMI_ID:-}
- LETTERSPACE_API_URL: ${SEXY_FRONTEND_LETTERSPACE_API_URL:-}
- LETTERSPACE_API_KEY: ${SEXY_FRONTEND_LETTERSPACE_API_KEY:-}
- LETTERSPACE_LIST_ID: ${SEXY_FRONTEND_LETTERSPACE_LIST_ID:-}
# Override volume for production path
volumes:
diff --git a/compose.yml b/compose.yml
index 7dca0e6..4959770 100644
--- a/compose.yml
+++ b/compose.yml
@@ -136,11 +136,6 @@ services:
PUBLIC_URL: ${SEXY_FRONTEND_PUBLIC_URL:-http://localhost:3000}
PUBLIC_UMAMI_ID: ${SEXY_FRONTEND_PUBLIC_UMAMI_ID:-}
- # Letterspace newsletter integration
- LETTERSPACE_API_URL: ${SEXY_FRONTEND_LETTERSPACE_API_URL:-}
- LETTERSPACE_API_KEY: ${SEXY_FRONTEND_LETTERSPACE_API_KEY:-}
- LETTERSPACE_LIST_ID: ${SEXY_FRONTEND_LETTERSPACE_LIST_ID:-}
-
# Timezone
TZ: ${TIMEZONE:-Europe/Amsterdam}
diff --git a/packages/frontend/.env b/packages/frontend/.env
index 49c4212..b6bc649 100644
--- a/packages/frontend/.env
+++ b/packages/frontend/.env
@@ -1,6 +1,3 @@
PUBLIC_API_URL=https://sexy.pivoine.art/api
PUBLIC_URL=https://sexy.pivoine.art
PUBLIC_UMAMI_ID=
-LETTERSPACE_API_URL=
-LETTERSPACE_API_KEY=
-LETTERSPACE_LIST_ID=
diff --git a/packages/frontend/src/lib/components/newsletter-signup/newsletter-signup-popup.svelte b/packages/frontend/src/lib/components/newsletter-signup/newsletter-signup-popup.svelte
deleted file mode 100644
index aaeb0c4..0000000
--- a/packages/frontend/src/lib/components/newsletter-signup/newsletter-signup-popup.svelte
+++ /dev/null
@@ -1,119 +0,0 @@
-
-
-
diff --git a/packages/frontend/src/lib/components/newsletter-signup/newsletter-signup-widget.svelte b/packages/frontend/src/lib/components/newsletter-signup/newsletter-signup-widget.svelte
deleted file mode 100644
index 1bbd8db..0000000
--- a/packages/frontend/src/lib/components/newsletter-signup/newsletter-signup-widget.svelte
+++ /dev/null
@@ -1,26 +0,0 @@
-
-
-
-
-
- {$_('newsletter_signup.title')}
-
- {$_('newsletter_signup.description')}
-
-
-
-
-
diff --git a/packages/frontend/src/lib/i18n/locales/en.ts b/packages/frontend/src/lib/i18n/locales/en.ts
index d9886f5..e7ea133 100644
--- a/packages/frontend/src/lib/i18n/locales/en.ts
+++ b/packages/frontend/src/lib/i18n/locales/en.ts
@@ -870,18 +870,6 @@ export default {
exit: "Exit",
exit_url: "https://pivoine.art",
},
- newsletter_signup: {
- title: "Stay Updated",
- description:
- "Get the latest articles and insights delivered to your inbox.",
- email: "Email",
- email_placeholder: "your@email.com",
- cta: "Subscribe to Newsletter",
- close: "Close",
- subscribe: "Subscribe",
- subscribing: "Subscribing",
- toast_subscribe: "Your email has been added to the newsletter list!",
- },
sharing_popup_button: {
share: "Share",
},
diff --git a/packages/frontend/src/lib/logger.ts b/packages/frontend/src/lib/logger.ts
index dd2dded..37b7e92 100644
--- a/packages/frontend/src/lib/logger.ts
+++ b/packages/frontend/src/lib/logger.ts
@@ -123,7 +123,6 @@ class Logger {
PUBLIC_API_URL: process.env.PUBLIC_API_URL,
PUBLIC_URL: process.env.PUBLIC_URL,
PUBLIC_UMAMI_ID: process.env.PUBLIC_UMAMI_ID ? '***set***' : 'not set',
- LETTERSPACE_API_URL: process.env.LETTERSPACE_API_URL || 'not set',
PORT: process.env.PORT || '3000',
HOST: process.env.HOST || '0.0.0.0',
};
diff --git a/packages/frontend/src/routes/magazine/[slug]/+page.svelte b/packages/frontend/src/routes/magazine/[slug]/+page.svelte
index a56249c..c44d337 100644
--- a/packages/frontend/src/routes/magazine/[slug]/+page.svelte
+++ b/packages/frontend/src/routes/magazine/[slug]/+page.svelte
@@ -9,7 +9,6 @@ import { getAssetUrl } from "$lib/directus";
import SharingPopup from "$lib/components/sharing-popup/sharing-popup.svelte";
import Meta from "$lib/components/meta/meta.svelte";
import PeonyBackground from "$lib/components/background/peony-background.svelte";
-import NewsletterSignup from "$lib/components/newsletter-signup/newsletter-signup-widget.svelte";
import SharingPopupButton from "$lib/components/sharing-popup/sharing-popup-button.svelte";
const { data } = $props();
@@ -215,8 +214,6 @@ const timeAgo = new TimeAgo("en");
-->
-
-