Files
ayrisdevandClaude Sonnet 4.6 40b4434a7b feat: i18n fixes, blog rename, footer cleanup, and contact info update
- Rename /news route to /blog across all pages, links, and sitemap
- Fix hardcoded English text in Experiences, QuoteSection, and Footer
  by wiring all content through the TR/EN dictionaries
- Clean up Footer: remove non-existent page links, add contact column
- Update contact info: new phone numbers, bilgi@ email, No:71 address,
  Instagram @ayrisapart link
- Add suppressHydrationWarning to <body> to silence browser-extension
  attribute mismatch errors
- Add sizes prop to all fill-mode Next.js Image components

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-02 18:05:30 +03:00

83 lines
3.7 KiB
TypeScript
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
import { PrismaClient } from '@prisma/client'
import { PrismaPg } from '@prisma/adapter-pg'
import pg from 'pg'
import "dotenv/config";
const pool = new pg.Pool({ connectionString: process.env.DATABASE_URL })
const adapter = new PrismaPg(pool)
const prisma = new PrismaClient({ adapter })
async function main() {
console.log('Seeding blog posts...')
// Clear existing posts to avoid unique constraint issues on slug during re-seed
try {
await prisma.post.deleteMany({})
console.log('Cleaned existing posts.')
} catch (err) {
console.log('Skipping deleteMany, table might not exist yet.')
}
const posts = [
{
title: "Ören'in Gizli Cevherleri: Akbük ve Ötesi",
slug: "orenin-gizli-cevherleri",
excerpt: "Sadece yerellerin bildiği, turkuaz suları ve sakinliği ile büyüleyen o gizli koyları keşfedin.",
content: "Ören Mahallesi'nin kalbinde yer alan Ayris Apart'tan çıktığınızda, sizi sadece bir deniz değil, binlerce yıllık bir hikaye karşılar. Akbük Koyu'nun dinginliğinden Alatepe'nin yamaç paraşütü heyecanına kadar, bu rehberimizde Ören'in en özel noktalarını derledik...",
image: "https://res.cloudinary.com/du7xohbct/image/upload/v1776642502/ayrisapart/experiences/oren_d2pxcy.jpg",
lang: "tr",
published: true,
author: "Ayris Ekibi"
},
{
title: "Hidden Gems of Oren: Akbuk and Beyond",
slug: "hidden-gems-of-oren",
excerpt: "Discover the secret coves known only to locals, enchanting with their turquoise waters and serenity.",
content: "When you step out of Ayris Apart, located in the heart of Oren, you are greeted not just by a sea, but by a story of thousands of years. From the serenity of Akbuk Bay to the paragliding excitement of Alatepe, we have compiled the most special spots of Oren in this guide...",
image: "https://res.cloudinary.com/du7xohbct/image/upload/v1776642502/ayrisapart/experiences/oren_d2pxcy.jpg",
lang: "en",
published: true,
author: "Ayris Team"
},
{
title: "Ayris Apart'ta Mimari ve Konfor",
slug: "mimari-ve-konfor",
excerpt: "Modern tasarımın mitolojik isimlerle buluştuğu suitlerimizin hikayesini keşfedin.",
content: "Ayris Apart sadece bir konaklama noktası değil, bir yaşam alanıdır. Her bir suitimizin ismi (Iris, Electra, Arke...) Yunan mitolojisinden esinlenerek seçildi. Bu yazımızda, odalarımızın dekorasyonunda kullandığımız malzemeleri ve tasarım felsefemizi anlatıyoruz...",
image: "https://res.cloudinary.com/du7xohbct/image/upload/v1776641696/ayrisapart/hero/1_cxfvrw.jpg",
lang: "tr",
published: true,
author: "Tasarım Ekibi"
},
{
title: "Architecture and Comfort at Ayris Apart",
slug: "architecture-and-comfort",
excerpt: "Discover the story of our suites where modern design meets mythological names.",
content: "Ayris Apart is not just an accommodation point, it is a living space. The name of each of our suites (Iris, Electra, Arke...) was chosen inspired by Greek mythology. In this article, we describe the materials we use in the decoration of our rooms and our design philosophy...",
image: "https://res.cloudinary.com/du7xohbct/image/upload/v1776641696/ayrisapart/hero/1_cxfvrw.jpg",
lang: "en",
published: true,
author: "Design Team"
}
]
for (const post of posts) {
await prisma.post.create({
data: post
})
console.log(`Created post: ${post.title}`)
}
console.log('Seed completed successfully!')
}
main()
.catch((e) => {
console.error(e)
process.exit(1)
})
.finally(async () => {
await prisma.$disconnect()
await pool.end()
})