Enable KeyStatic CMS for production

Changes:
- Added Netlify adapter for server-side rendering
- Changed output mode from static to server
- Updated KeyStatic storage from local to GitHub
- Removed SKIP_KEYSTATIC from Netlify build
- KeyStatic Admin UI will be available at /keystatic

Features:
- Server-side rendering with Netlify Functions
- GitHub integration for content management
- Production-ready KeyStatic Admin UI

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
Buğra Canata
2026-01-17 20:05:42 +03:00
parent 8f64fb1eea
commit e05f99a0d2
5312 changed files with 102603 additions and 284 deletions
+31
View File
@@ -0,0 +1,31 @@
import { c as createComponent, r as renderComponent, a as renderTemplate, m as maybeRenderHead, b as addAttribute } from '../chunks/astro/server_BfDhyAjM.mjs';
import 'kleur/colors';
import { $ as $$Layout, a as $$Icon } from '../chunks/Icon_C8ArtCuv.mjs';
import { g as getHomePermalink } from '../chunks/permalinks_BMxSf01e.mjs';
export { renderers } from '../renderers.mjs';
const $$404 = createComponent(($$result, $$props, $$slots) => {
const title = `Hata 404`;
return renderTemplate`${renderComponent($$result, "Layout", $$Layout, { "metadata": { title } }, { "default": ($$result2) => renderTemplate` ${maybeRenderHead()}<section class="flex items-center h-full p-16"> <div class="container flex flex-col items-center justify-center px-5 mx-auto my-8"> <div class="max-w-lg text-center"> <!-- Radio Tower Icon --> <div class="mb-6"> ${renderComponent($$result2, "Icon", $$Icon, { "name": "tabler:antenna", "class": "w-24 h-24 mx-auto text-primary opacity-80" })} </div> <h2 class="mb-4 font-bold text-9xl"> <span class="sr-only">Error</span> <span class="text-primary">404</span> </h2> <!-- Ham Radio themed message --> <div class="mb-6 p-4 bg-gray-100 dark:bg-slate-800 rounded-lg border-l-4 border-primary"> <p class="text-lg font-mono text-gray-700 dark:text-gray-300 mb-2"> <strong>CQ CQ CQ... Sinyal bulunamadı!</strong> </p> <p class="text-sm text-gray-600 dark:text-gray-400">Frekans: 404 MHz Güç: 0 Watt SWR: </p> </div> <p class="text-2xl font-semibold md:text-3xl mb-4">📡 Sinyal menzil dışında!</p> <p class="mt-4 mb-8 text-lg text-muted dark:text-slate-400">
Aradığınız sayfa stratosferde kaybolmuş gibi görünüyor. <br>
Ana istasyona (sayfaya) geri dönün veya frekansı yeniden ayarlayın.
</p> <div class="flex flex-col sm:flex-row gap-4 justify-center"> <a rel="noopener noreferrer"${addAttribute(getHomePermalink(), "href")} class="btn"> ${renderComponent($$result2, "Icon", $$Icon, { "name": "tabler:home", "class": "w-5 h-5 mr-2" })}
Ana İstasyon (QTH)
</a> <a rel="noopener noreferrer" href="/blog" class="btn btn-outline"> ${renderComponent($$result2, "Icon", $$Icon, { "name": "tabler:radio", "class": "w-5 h-5 mr-2" })}
Blog Yayınları
</a> </div> <!-- Fun Ham Radio callsign --> <div class="mt-8 text-sm text-gray-500 dark:text-gray-400"> <p>73 de YM1KTC - Amatör Radyocular Derneği</p> </div> </div> </div> </section> ` })}`;
}, "/Users/bugracanata/Developer/[Telsiz]/ARC-Web-Sitesi/src/pages/404.astro", void 0);
const $$file = "/Users/bugracanata/Developer/[Telsiz]/ARC-Web-Sitesi/src/pages/404.astro";
const $$url = "/404";
const _page = /*#__PURE__*/Object.freeze(/*#__PURE__*/Object.defineProperty({
__proto__: null,
default: $$404,
file: $$file,
url: $$url
}, Symbol.toStringTag, { value: 'Module' }));
const page = () => _page;
export { page };
+113
View File
@@ -0,0 +1,113 @@
import { e as createAstro, c as createComponent, m as maybeRenderHead, b as addAttribute, r as renderComponent, a as renderTemplate, f as renderSlot, F as Fragment, u as unescapeHTML } from '../chunks/astro/server_BfDhyAjM.mjs';
import 'kleur/colors';
import merge from 'lodash.merge';
import { b as $$Button, $ as $$PageLayout } from '../chunks/PageLayout_CDwIBOQs.mjs';
import { a as $$Icon, f as findImage } from '../chunks/Icon_C8ArtCuv.mjs';
import { $ as $$Image } from '../chunks/Image_vHu_ShFT.mjs';
import { $ as $$Tags } from '../chunks/Tags_C47dqsb2.mjs';
import { f as getFormattedDate, a as getPermalink, d as getBlogPermalink, c as getCanonical } from '../chunks/permalinks_BMxSf01e.mjs';
import { i as findPostsByIds, j as getRelatedPosts, k as blogPostRobots, l as getStaticPathsBlogPost } from '../chunks/blog_J6XM7OAu.mjs';
import { $ as $$Grid } from '../chunks/Grid_BMXKJk6W.mjs';
import { $ as $$WidgetWrapper } from '../chunks/WidgetWrapper_C6M78dTL.mjs';
export { renderers } from '../renderers.mjs';
const $$Astro$4 = createAstro("https://www.radio.org.tr");
const $$SocialShare = createComponent(($$result, $$props, $$slots) => {
const Astro2 = $$result.createAstro($$Astro$4, $$props, $$slots);
Astro2.self = $$SocialShare;
const { text, url, class: className = "inline-block" } = Astro2.props;
return renderTemplate`${maybeRenderHead()}<div${addAttribute(className, "class")}> <span class="align-super font-bold text-slate-500 dark:text-slate-400">Paylaş:</span> <button class="ml-2 rtl:ml-0 rtl:mr-2" title="Twitter'da Paylaş" data-aw-social-share="twitter"${addAttribute(url, "data-aw-url")}${addAttribute(text, "data-aw-text")}>${renderComponent($$result, "Icon", $$Icon, { "name": "tabler:brand-x", "class": "w-6 h-6 text-gray-400 dark:text-slate-500 hover:text-black dark:hover:text-slate-300" })} </button> <button class="ml-2 rtl:ml-0 rtl:mr-2" title="Facebook'ta Paylaş" data-aw-social-share="facebook"${addAttribute(url, "data-aw-url")}>${renderComponent($$result, "Icon", $$Icon, { "name": "tabler:brand-facebook", "class": "w-6 h-6 text-gray-400 dark:text-slate-500 hover:text-black dark:hover:text-slate-300" })} </button> <button class="ml-2 rtl:ml-0 rtl:mr-2" title="LinkedIn'de Paylaş" data-aw-social-share="linkedin"${addAttribute(url, "data-aw-url")}${addAttribute(text, "data-aw-text")}>${renderComponent($$result, "Icon", $$Icon, { "name": "tabler:brand-linkedin", "class": "w-6 h-6 text-gray-400 dark:text-slate-500 hover:text-black dark:hover:text-slate-300" })} </button> <button class="ml-2 rtl:ml-0 rtl:mr-2" title="WhatsApp'ta Paylaş" data-aw-social-share="whatsapp"${addAttribute(url, "data-aw-url")}${addAttribute(text, "data-aw-text")}>${renderComponent($$result, "Icon", $$Icon, { "name": "tabler:brand-whatsapp", "class": "w-6 h-6 text-gray-400 dark:text-slate-500 hover:text-black dark:hover:text-slate-300" })} </button> <button class="ml-2 rtl:ml-0 rtl:mr-2" title="E-posta ile Paylaş" data-aw-social-share="mail"${addAttribute(url, "data-aw-url")}${addAttribute(text, "data-aw-text")}>${renderComponent($$result, "Icon", $$Icon, { "name": "tabler:mail", "class": "w-6 h-6 text-gray-400 dark:text-slate-500 hover:text-black dark:hover:text-slate-300" })} </button> </div>`;
}, "/Users/bugracanata/Developer/[Telsiz]/ARC-Web-Sitesi/src/components/common/SocialShare.astro", void 0);
const $$Astro$3 = createAstro("https://www.radio.org.tr");
const $$SinglePost = createComponent(($$result, $$props, $$slots) => {
const Astro2 = $$result.createAstro($$Astro$3, $$props, $$slots);
Astro2.self = $$SinglePost;
const { post, url } = Astro2.props;
return renderTemplate`${maybeRenderHead()}<section class="py-8 sm:py-16 lg:py-20 mx-auto"> <article> <header${addAttribute(post.image ? "intersect-once intersect-quarter motion-safe:md:opacity-0 motion-safe:md:intersect:animate-fade" : "intersect-once intersect-quarter motion-safe:md:opacity-0 motion-safe:md:intersect:animate-fade", "class")}> <div class="flex justify-between flex-col sm:flex-row max-w-3xl mx-auto mt-0 mb-2 px-4 sm:px-6 sm:items-center"> <p> ${renderComponent($$result, "Icon", $$Icon, { "name": "tabler:clock", "class": "w-4 h-4 inline-block -mt-0.5 dark:text-gray-400" })} <time${addAttribute(String(post.publishDate), "datetime")} class="inline-block">${getFormattedDate(post.publishDate)}</time> ${post.author && renderTemplate`${renderComponent($$result, "Fragment", Fragment, {}, { "default": ($$result2) => renderTemplate`${" "}
· ${renderComponent($$result2, "Icon", $$Icon, { "name": "tabler:user", "class": "w-4 h-4 inline-block -mt-0.5 dark:text-gray-400" })} <span class="inline-block">${post.author}</span> ` })}`} ${post.category && renderTemplate`${renderComponent($$result, "Fragment", Fragment, {}, { "default": ($$result2) => renderTemplate`${" "}
·${" "}<a class="hover:underline inline-block"${addAttribute(getPermalink(post.category.slug, "category"), "href")}> ${post.category.title} </a> ` })}`} ${post.readingTime && renderTemplate`${renderComponent($$result, "Fragment", Fragment, {}, { "default": ($$result2) => renderTemplate`
&nbsp;· <span>${post.readingTime}</span> dk okuma
` })}`} </p> </div> <h1 class="px-4 sm:px-6 max-w-3xl mx-auto text-4xl md:text-5xl font-bold leading-tighter tracking-tighter font-heading"> ${post.title} </h1> <p class="max-w-3xl mx-auto mt-4 mb-8 px-4 sm:px-6 text-xl md:text-2xl text-muted dark:text-slate-400 text-justify"> ${post.excerpt} </p> ${post.image ? renderTemplate`${renderComponent($$result, "Image", $$Image, { "src": post.image, "class": "max-w-full lg:max-w-[900px] mx-auto mb-6 sm:rounded-md bg-gray-400 dark:bg-slate-700", "widths": [400, 900], "sizes": "(max-width: 900px) 400px, 900px", "alt": post?.excerpt || "", "width": 900, "height": 506, "loading": "eager", "decoding": "async" })}` : renderTemplate`<div class="max-w-3xl mx-auto px-4 sm:px-6"> <div class="border-t dark:border-slate-700"></div> </div>`} </header> <div class="mx-auto px-6 sm:px-6 max-w-3xl prose prose-md lg:prose-xl dark:prose-invert dark:prose-headings:text-slate-300 prose-headings:font-heading prose-headings:leading-tighter prose-headings:tracking-tighter prose-headings:font-bold prose-a:text-primary dark:prose-a:text-blue-400 prose-img:rounded-md prose-img:shadow-lg mt-8 prose-headings:scroll-mt-[80px] prose-li:my-0"> ${renderSlot($$result, $$slots["default"])} </div> <div class="mx-auto px-6 sm:px-6 max-w-3xl mt-8 flex justify-between flex-col sm:flex-row"> ${renderComponent($$result, "PostTags", $$Tags, { "tags": post.tags, "class": "mr-5 rtl:mr-0 rtl:ml-5" })} ${renderComponent($$result, "SocialShare", $$SocialShare, { "url": url, "text": post.title, "class": "mt-5 sm:mt-1 align-middle text-gray-500 dark:text-slate-600" })} </div> </article> </section>`;
}, "/Users/bugracanata/Developer/[Telsiz]/ARC-Web-Sitesi/src/components/blog/SinglePost.astro", void 0);
const $$ToBlogLink = createComponent(($$result, $$props, $$slots) => {
return renderTemplate`${maybeRenderHead()}<div class="mx-auto px-6 sm:px-6 max-w-3xl pt-8 md:pt-4 pb-12 md:pb-20"> ${renderComponent($$result, "Button", $$Button, { "variant": "tertiary", "class": "px-3 md:px-3", "href": getBlogPermalink() }, { "default": ($$result2) => renderTemplate`${renderTemplate`${renderComponent($$result2, "Icon", $$Icon, { "name": "tabler:chevron-left", "class": "w-5 h-5 mr-1 -ml-1.5 rtl:-mr-1.5 rtl:ml-1" })}`} Bloga Dön
` })} </div>`;
}, "/Users/bugracanata/Developer/[Telsiz]/ARC-Web-Sitesi/src/components/blog/ToBlogLink.astro", void 0);
const $$Astro$2 = createAstro("https://www.radio.org.tr");
const $$BlogHighlightedPosts = createComponent(async ($$result, $$props, $$slots) => {
const Astro2 = $$result.createAstro($$Astro$2, $$props, $$slots);
Astro2.self = $$BlogHighlightedPosts;
const {
title = await Astro2.slots.render("title"),
linkText = "T\xFCm yaz\u0131lar\u0131 g\xF6r\xFCnt\xFCle",
linkUrl = getBlogPermalink(),
information = await Astro2.slots.render("information"),
postIds = [],
id,
isDark = false,
classes = {},
bg = await Astro2.slots.render("bg")
} = Astro2.props;
const posts = await findPostsByIds(postIds) ;
return renderTemplate`${renderTemplate`${renderComponent($$result, "WidgetWrapper", $$WidgetWrapper, { "id": id, "isDark": isDark, "containerClass": classes?.container, "bg": bg }, { "default": async ($$result2) => renderTemplate`${maybeRenderHead()}<div class="flex flex-col lg:justify-between lg:flex-row mb-8">${title && renderTemplate`<div class="md:max-w-sm"><h2 class="text-3xl font-bold tracking-tight sm:text-4xl sm:leading-none group font-heading mb-2">${unescapeHTML(title)}</h2>${linkText && linkUrl && renderTemplate`<a class="text-muted dark:text-slate-400 hover:text-primary transition ease-in duration-200 block mb-6 lg:mb-0"${addAttribute(linkUrl, "href")}>${linkText} »
</a>`}</div>`}${information && renderTemplate`<p class="text-muted dark:text-slate-400 lg:text-sm lg:max-w-md">${unescapeHTML(information)}</p>`}</div>${renderComponent($$result2, "Grid", $$Grid, { "posts": posts })}` })}` }`;
}, "/Users/bugracanata/Developer/[Telsiz]/ARC-Web-Sitesi/src/components/widgets/BlogHighlightedPosts.astro", void 0);
const $$Astro$1 = createAstro("https://www.radio.org.tr");
const $$RelatedPosts = createComponent(async ($$result, $$props, $$slots) => {
const Astro2 = $$result.createAstro($$Astro$1, $$props, $$slots);
Astro2.self = $$RelatedPosts;
const { post } = Astro2.props;
const relatedPosts = post.tags ? await getRelatedPosts(post, 4) : [];
return renderTemplate`${renderTemplate`${renderComponent($$result, "BlogHighlightedPosts", $$BlogHighlightedPosts, { "classes": {
container: "pt-0 lg:pt-0 md:pt-0 intersect-once intersect-quarter motion-safe:md:opacity-0 motion-safe:md:intersect:animate-fade"
}, "title": "\u0130lgili Yaz\u0131lar", "linkText": "T\xFCm Yaz\u0131lar\u0131 G\xF6r\xFCnt\xFCle", "linkUrl": getBlogPermalink(), "postIds": relatedPosts.map((post2) => post2.id) })}` }`;
}, "/Users/bugracanata/Developer/[Telsiz]/ARC-Web-Sitesi/src/components/blog/RelatedPosts.astro", void 0);
const $$Astro = createAstro("https://www.radio.org.tr");
const prerender = true;
const getStaticPaths = async () => {
return await getStaticPathsBlogPost();
};
const $$Index = createComponent(async ($$result, $$props, $$slots) => {
const Astro2 = $$result.createAstro($$Astro, $$props, $$slots);
Astro2.self = $$Index;
const { post } = Astro2.props;
const url = getCanonical(getPermalink(post.permalink, "post"));
const image = await findImage(post.image);
const metadata = merge(
{
title: post.title,
description: post.excerpt,
robots: {
index: blogPostRobots?.index,
follow: blogPostRobots?.follow
},
openGraph: {
type: "article",
...image ? { images: [{ url: image, width: image?.width, height: image?.height }] } : {}
}
},
{ ...post?.metadata ? { ...post.metadata, canonical: post.metadata?.canonical || url } : {} }
);
return renderTemplate`${renderComponent($$result, "Layout", $$PageLayout, { "metadata": metadata }, { "default": async ($$result2) => renderTemplate` ${renderComponent($$result2, "SinglePost", $$SinglePost, { "post": { ...post, image }, "url": url }, { "default": async ($$result3) => renderTemplate`${post.Content ? renderTemplate`${renderComponent($$result3, "post.Content", post.Content, {})}` : renderTemplate`${renderComponent($$result3, "Fragment", Fragment, {}, { "default": async ($$result4) => renderTemplate`${unescapeHTML(post.content || "")}` })}`}` })} ${renderComponent($$result2, "ToBlogLink", $$ToBlogLink, {})} ${renderComponent($$result2, "RelatedPosts", $$RelatedPosts, { "post": post })} ` })}`;
}, "/Users/bugracanata/Developer/[Telsiz]/ARC-Web-Sitesi/src/pages/[...blog]/index.astro", void 0);
const $$file = "/Users/bugracanata/Developer/[Telsiz]/ARC-Web-Sitesi/src/pages/[...blog]/index.astro";
const $$url = "/[...blog]";
const _page = /*#__PURE__*/Object.freeze(/*#__PURE__*/Object.defineProperty({
__proto__: null,
default: $$Index,
file: $$file,
getStaticPaths,
prerender,
url: $$url
}, Symbol.toStringTag, { value: 'Module' }));
const page = () => _page;
export { page };
@@ -0,0 +1,50 @@
import { e as createAstro, c as createComponent, r as renderComponent, a as renderTemplate, m as maybeRenderHead } from '../../chunks/astro/server_BfDhyAjM.mjs';
import 'kleur/colors';
import { $ as $$PageLayout } from '../../chunks/PageLayout_CDwIBOQs.mjs';
import { $ as $$Headline, a as $$List, b as $$Pagination } from '../../chunks/Pagination_CSLw7mkX.mjs';
import { e as getStaticPathsBlogList, h as blogListRobots } from '../../chunks/blog_J6XM7OAu.mjs';
export { renderers } from '../../renderers.mjs';
const $$Astro = createAstro("https://www.radio.org.tr");
const prerender = true;
const getStaticPaths = async ({ paginate }) => {
return await getStaticPathsBlogList({ paginate });
};
const $$ = createComponent(async ($$result, $$props, $$slots) => {
const Astro2 = $$result.createAstro($$Astro, $$props, $$slots);
Astro2.self = $$;
const { page } = Astro2.props;
const currentPage = page.currentPage ?? 1;
const metadata = {
title: `\u{1F4FB} Blog${currentPage > 1 ? ` \u2014 Sayfa ${currentPage}` : ""}`,
robots: {
index: currentPage === 1,
follow: blogListRobots?.follow
},
openGraph: {
type: "blog"
}
};
return renderTemplate`${renderComponent($$result, "Layout", $$PageLayout, { "metadata": metadata }, { "default": async ($$result2) => renderTemplate` ${maybeRenderHead()}<section class="px-6 sm:px-6 py-12 sm:py-16 lg:py-20 mx-auto max-w-4xl"> ${renderComponent($$result2, "Headline", $$Headline, { "subtitle": "\u{1F4E1} Amat\xF6r radyo d\xFCnyas\u0131ndan haberler, e\u011Fitim i\xE7erikleri, teknik kaynaklar ve ilgin\xE7 makaleler - 73 de YM1KTC" }, { "default": async ($$result3) => renderTemplate`
📻 Blog
` })} ${renderComponent($$result2, "BlogList", $$List, { "posts": page.data })} ${renderComponent($$result2, "Pagination", $$Pagination, { "prevUrl": page.url.prev, "nextUrl": page.url.next })} <!--
<PostTags tags={allCategories} class="mb-2" title="Search by Categories:" isCategory />
<PostTags tags={allTags} title="Search by Tags:" />
--> </section> ` })}`;
}, "/Users/bugracanata/Developer/[Telsiz]/ARC-Web-Sitesi/src/pages/[...blog]/[...page].astro", void 0);
const $$file = "/Users/bugracanata/Developer/[Telsiz]/ARC-Web-Sitesi/src/pages/[...blog]/[...page].astro";
const $$url = "/[...blog]/[...page]";
const _page = /*#__PURE__*/Object.freeze(/*#__PURE__*/Object.defineProperty({
__proto__: null,
default: $$,
file: $$file,
getStaticPaths,
prerender,
url: $$url
}, Symbol.toStringTag, { value: 'Module' }));
const page = () => _page;
export { page };
@@ -0,0 +1,42 @@
import { e as createAstro, c as createComponent, r as renderComponent, a as renderTemplate, m as maybeRenderHead } from '../../../chunks/astro/server_BfDhyAjM.mjs';
import 'kleur/colors';
import { g as getStaticPathsBlogCategory, b as blogCategoryRobots } from '../../../chunks/blog_J6XM7OAu.mjs';
import { $ as $$PageLayout } from '../../../chunks/PageLayout_CDwIBOQs.mjs';
import { $ as $$Headline, a as $$List, b as $$Pagination } from '../../../chunks/Pagination_CSLw7mkX.mjs';
export { renderers } from '../../../renderers.mjs';
const $$Astro = createAstro("https://www.radio.org.tr");
const prerender = true;
const getStaticPaths = async ({ paginate }) => {
return await getStaticPathsBlogCategory({ paginate });
};
const $$ = createComponent(async ($$result, $$props, $$slots) => {
const Astro2 = $$result.createAstro($$Astro, $$props, $$slots);
Astro2.self = $$;
const { page, category } = Astro2.props;
const currentPage = page.currentPage ?? 1;
const metadata = {
title: `Category '${category.title}' ${currentPage > 1 ? ` \u2014 Page ${currentPage}` : ""}`,
robots: {
index: blogCategoryRobots?.index,
follow: blogCategoryRobots?.follow
}
};
return renderTemplate`${renderComponent($$result, "Layout", $$PageLayout, { "metadata": metadata }, { "default": async ($$result2) => renderTemplate` ${maybeRenderHead()}<section class="px-4 md:px-6 py-12 sm:py-16 lg:py-20 mx-auto max-w-4xl"> ${renderComponent($$result2, "Headline", $$Headline, {}, { "default": async ($$result3) => renderTemplate`${category.title}` })} ${renderComponent($$result2, "BlogList", $$List, { "posts": page.data })} ${renderComponent($$result2, "Pagination", $$Pagination, { "prevUrl": page.url.prev, "nextUrl": page.url.next })} </section> ` })}`;
}, "/Users/bugracanata/Developer/[Telsiz]/ARC-Web-Sitesi/src/pages/[...blog]/[category]/[...page].astro", void 0);
const $$file = "/Users/bugracanata/Developer/[Telsiz]/ARC-Web-Sitesi/src/pages/[...blog]/[category]/[...page].astro";
const $$url = "/[...blog]/[category]/[...page]";
const _page = /*#__PURE__*/Object.freeze(/*#__PURE__*/Object.defineProperty({
__proto__: null,
default: $$,
file: $$file,
getStaticPaths,
prerender,
url: $$url
}, Symbol.toStringTag, { value: 'Module' }));
const page = () => _page;
export { page };
@@ -0,0 +1,42 @@
import { e as createAstro, c as createComponent, r as renderComponent, a as renderTemplate, m as maybeRenderHead } from '../../../chunks/astro/server_BfDhyAjM.mjs';
import 'kleur/colors';
import { a as getStaticPathsBlogTag, c as blogTagRobots } from '../../../chunks/blog_J6XM7OAu.mjs';
import { $ as $$PageLayout } from '../../../chunks/PageLayout_CDwIBOQs.mjs';
import { $ as $$Headline, a as $$List, b as $$Pagination } from '../../../chunks/Pagination_CSLw7mkX.mjs';
export { renderers } from '../../../renderers.mjs';
const $$Astro = createAstro("https://www.radio.org.tr");
const prerender = true;
const getStaticPaths = async ({ paginate }) => {
return await getStaticPathsBlogTag({ paginate });
};
const $$ = createComponent(async ($$result, $$props, $$slots) => {
const Astro2 = $$result.createAstro($$Astro, $$props, $$slots);
Astro2.self = $$;
const { page, tag } = Astro2.props;
const currentPage = page.currentPage ?? 1;
const metadata = {
title: `Posts by tag '${tag.title}'${currentPage > 1 ? ` \u2014 Page ${currentPage} ` : ""}`,
robots: {
index: blogTagRobots?.index,
follow: blogTagRobots?.follow
}
};
return renderTemplate`${renderComponent($$result, "Layout", $$PageLayout, { "metadata": metadata }, { "default": async ($$result2) => renderTemplate` ${maybeRenderHead()}<section class="px-4 md:px-6 py-12 sm:py-16 lg:py-20 mx-auto max-w-4xl"> ${renderComponent($$result2, "Headline", $$Headline, {}, { "default": async ($$result3) => renderTemplate`Tag: ${tag.title}` })} ${renderComponent($$result2, "BlogList", $$List, { "posts": page.data })} ${renderComponent($$result2, "Pagination", $$Pagination, { "prevUrl": page.url.prev, "nextUrl": page.url.next })} </section> ` })}`;
}, "/Users/bugracanata/Developer/[Telsiz]/ARC-Web-Sitesi/src/pages/[...blog]/[tag]/[...page].astro", void 0);
const $$file = "/Users/bugracanata/Developer/[Telsiz]/ARC-Web-Sitesi/src/pages/[...blog]/[tag]/[...page].astro";
const $$url = "/[...blog]/[tag]/[...page]";
const _page = /*#__PURE__*/Object.freeze(/*#__PURE__*/Object.defineProperty({
__proto__: null,
default: $$,
file: $$file,
getStaticPaths,
prerender,
url: $$url
}, Symbol.toStringTag, { value: 'Module' }));
const page = () => _page;
export { page };
+143
View File
@@ -0,0 +1,143 @@
import { getConfiguredImageService, imageConfig } from '../chunks/_astro_assets_CEb4NYTX.mjs';
import { i as isRemotePath } from '../chunks/consts_Cbtw3f-9.mjs';
import * as mime from 'mrmime';
export { renderers } from '../renderers.mjs';
function matchPattern(url, remotePattern) {
return matchProtocol(url, remotePattern.protocol) && matchHostname(url, remotePattern.hostname, true) && matchPort(url, remotePattern.port) && matchPathname(url, remotePattern.pathname, true);
}
function matchPort(url, port) {
return !port || port === url.port;
}
function matchProtocol(url, protocol) {
return !protocol || protocol === url.protocol.slice(0, -1);
}
function matchHostname(url, hostname, allowWildcard = false) {
if (!hostname) {
return true;
} else if (!allowWildcard || !hostname.startsWith("*")) {
return hostname === url.hostname;
} else if (hostname.startsWith("**.")) {
const slicedHostname = hostname.slice(2);
return slicedHostname !== url.hostname && url.hostname.endsWith(slicedHostname);
} else if (hostname.startsWith("*.")) {
const slicedHostname = hostname.slice(1);
const additionalSubdomains = url.hostname.replace(slicedHostname, "").split(".").filter(Boolean);
return additionalSubdomains.length === 1;
}
return false;
}
function matchPathname(url, pathname, allowWildcard = false) {
if (!pathname) {
return true;
} else if (!allowWildcard || !pathname.endsWith("*")) {
return pathname === url.pathname;
} else if (pathname.endsWith("/**")) {
const slicedPathname = pathname.slice(0, -2);
return slicedPathname !== url.pathname && url.pathname.startsWith(slicedPathname);
} else if (pathname.endsWith("/*")) {
const slicedPathname = pathname.slice(0, -1);
const additionalPathChunks = url.pathname.replace(slicedPathname, "").split("/").filter(Boolean);
return additionalPathChunks.length === 1;
}
return false;
}
function isRemoteAllowed(src, {
domains,
remotePatterns
}) {
if (!URL.canParse(src)) {
return false;
}
const url = new URL(src);
return domains.some((domain) => matchHostname(url, domain)) || remotePatterns.some((remotePattern) => matchPattern(url, remotePattern));
}
const fnv1a52 = (str) => {
const len = str.length;
let i = 0, t0 = 0, v0 = 8997, t1 = 0, v1 = 33826, t2 = 0, v2 = 40164, t3 = 0, v3 = 52210;
while (i < len) {
v0 ^= str.charCodeAt(i++);
t0 = v0 * 435;
t1 = v1 * 435;
t2 = v2 * 435;
t3 = v3 * 435;
t2 += v0 << 8;
t3 += v1 << 8;
t1 += t0 >>> 16;
v0 = t0 & 65535;
t2 += t1 >>> 16;
v1 = t1 & 65535;
v3 = t3 + (t2 >>> 16) & 65535;
v2 = t2 & 65535;
}
return (v3 & 15) * 281474976710656 + v2 * 4294967296 + v1 * 65536 + (v0 ^ v3 >> 4);
};
const etag = (payload, weak = false) => {
const prefix = weak ? 'W/"' : '"';
return prefix + fnv1a52(payload).toString(36) + payload.length.toString(36) + '"';
};
async function loadRemoteImage(src, headers) {
try {
const res = await fetch(src, {
// Forward all headers from the original request
headers
});
if (!res.ok) {
return void 0;
}
return await res.arrayBuffer();
} catch {
return void 0;
}
}
const GET = async ({ request }) => {
try {
const imageService = await getConfiguredImageService();
if (!("transform" in imageService)) {
throw new Error("Configured image service is not a local service");
}
const url = new URL(request.url);
const transform = await imageService.parseURL(url, imageConfig);
if (!transform?.src) {
throw new Error("Incorrect transform returned by `parseURL`");
}
let inputBuffer = void 0;
const isRemoteImage = isRemotePath(transform.src);
const sourceUrl = isRemoteImage ? new URL(transform.src) : new URL(transform.src, url.origin);
if (isRemoteImage && isRemoteAllowed(transform.src, imageConfig) === false) {
return new Response("Forbidden", { status: 403 });
}
inputBuffer = await loadRemoteImage(sourceUrl, isRemoteImage ? new Headers() : request.headers);
if (!inputBuffer) {
return new Response("Not Found", { status: 404 });
}
const { data, format } = await imageService.transform(
new Uint8Array(inputBuffer),
transform,
imageConfig
);
return new Response(data, {
status: 200,
headers: {
"Content-Type": mime.lookup(format) ?? `image/${format}`,
"Cache-Control": "public, max-age=31536000",
ETag: etag(data.toString()),
Date: (/* @__PURE__ */ new Date()).toUTCString()
}
});
} catch (err) {
console.error("Could not process image request:", err);
return new Response(`Server Error: ${err}`, { status: 500 });
}
};
const _page = /*#__PURE__*/Object.freeze(/*#__PURE__*/Object.defineProperty({
__proto__: null,
GET
}, Symbol.toStringTag, { value: 'Module' }));
const page = () => _page;
export { page };
@@ -0,0 +1,21 @@
export { renderers } from '../../renderers.mjs';
async function GET() {
const contacts = [
{ id: "2867241", callsign: "YM0KTC", name: "ARC Merkez", location: "Bölge 0 - İstanbul", type: "repeater" },
{ id: "2866808", callsign: "YM1KTC", name: "İstanbul Röle", location: "Bölge 1 - İstanbul", type: "repeater" },
{ id: "2867887", callsign: "YM2KTR", name: "Ankara Röle", location: "Bölge 2 - Ankara", type: "repeater" },
{ id: "2867234", callsign: "YM3KTC", name: "İzmir Röle", location: "Bölge 3 - İzmir", type: "repeater" },
{ id: "2867235", callsign: "YM4KTC", name: "Antalya Röle", location: "Bölge 4 - Antalya", type: "repeater" }
];
return Response.json(contacts);
}
const _page = /*#__PURE__*/Object.freeze(/*#__PURE__*/Object.defineProperty({
__proto__: null,
GET
}, Symbol.toStringTag, { value: 'Module' }));
const page = () => _page;
export { page };
@@ -0,0 +1,61 @@
import rss from '@astrojs/rss';
import { g as getCollection } from '../../../chunks/_astro_content_BsTdlqxn.mjs';
export { renderers } from '../../../renderers.mjs';
function slugify(str) {
return str.toLowerCase().replace(/ş/g, "s").replace(/ı/g, "i").replace(/ğ/g, "g").replace(/ü/g, "u").replace(/ö/g, "o").replace(/ç/g, "c").replace(/[^a-z0-9]+/g, "-");
}
async function getStaticPaths() {
const posts = await getCollection("post");
const categoryMap = /* @__PURE__ */ new Map();
posts.forEach((post) => {
if (post.data.categories) {
post.data.categories.forEach((cat) => {
if (!categoryMap.has(cat)) {
categoryMap.set(cat, slugify(cat));
}
});
}
if (post.data.category) {
if (!categoryMap.has(post.data.category)) {
categoryMap.set(post.data.category, slugify(post.data.category));
}
}
});
return Array.from(categoryMap.entries()).map(([category, slug]) => ({
params: { category: slug },
props: { originalCategory: category }
}));
}
async function GET(context) {
const posts = await getCollection("post");
const originalCategory = context.props.originalCategory;
const filteredPosts = posts.filter(
(post) => post.data.categories?.includes(originalCategory) || post.data.category === originalCategory
).filter((post) => post.data.publishDate).sort((a, b) => {
const aDate = a.data.publishDate || /* @__PURE__ */ new Date(0);
const bDate = b.data.publishDate || /* @__PURE__ */ new Date(0);
return bDate.valueOf() - aDate.valueOf();
}).slice(0, 20);
return rss({
title: `ARC - ${originalCategory} Blog Yazıları`,
description: `Amatör Radyocular Derneği - ${originalCategory} kategorisindeki blog yazıları`,
site: context.site?.toString() || "https://radio.org.tr",
items: filteredPosts.map((post) => ({
title: post.data.title,
pubDate: post.data.publishDate,
description: post.data.excerpt || "",
link: `/blog/${post.slug}/`
}))
});
}
const _page = /*#__PURE__*/Object.freeze(/*#__PURE__*/Object.defineProperty({
__proto__: null,
GET,
getStaticPaths
}, Symbol.toStringTag, { value: 'Module' }));
const page = () => _page;
export { page };
@@ -0,0 +1,175 @@
import { makeGenericAPIRouteHandler } from '@keystatic/core/api/generic';
import { parseString } from 'set-cookie-parser';
import { config as config$1, collection, fields } from '@keystatic/core';
export { renderers } from '../../../renderers.mjs';
function makeHandler(_config) {
return async function keystaticAPIRoute(context) {
var _context$locals, _ref, _config$clientId, _ref2, _config$clientSecret, _ref3, _config$secret;
const envVarsForCf = (_context$locals = context.locals) === null || _context$locals === void 0 || (_context$locals = _context$locals.runtime) === null || _context$locals === void 0 ? void 0 : _context$locals.env;
const handler = makeGenericAPIRouteHandler({
..._config,
clientId: (_ref = (_config$clientId = _config.clientId) !== null && _config$clientId !== void 0 ? _config$clientId : envVarsForCf === null || envVarsForCf === void 0 ? void 0 : envVarsForCf.KEYSTATIC_GITHUB_CLIENT_ID) !== null && _ref !== void 0 ? _ref : tryOrUndefined(() => {
return undefined ;
}),
clientSecret: (_ref2 = (_config$clientSecret = _config.clientSecret) !== null && _config$clientSecret !== void 0 ? _config$clientSecret : envVarsForCf === null || envVarsForCf === void 0 ? void 0 : envVarsForCf.KEYSTATIC_GITHUB_CLIENT_SECRET) !== null && _ref2 !== void 0 ? _ref2 : tryOrUndefined(() => {
return undefined ;
}),
secret: (_ref3 = (_config$secret = _config.secret) !== null && _config$secret !== void 0 ? _config$secret : envVarsForCf === null || envVarsForCf === void 0 ? void 0 : envVarsForCf.KEYSTATIC_SECRET) !== null && _ref3 !== void 0 ? _ref3 : tryOrUndefined(() => {
return undefined ;
})
}, {
slugEnvName: "PUBLIC_KEYSTATIC_GITHUB_APP_SLUG"
});
const {
body,
headers,
status
} = await handler(context.request);
let headersInADifferentStructure = /* @__PURE__ */ new Map();
if (headers) {
if (Array.isArray(headers)) {
for (const [key, value] of headers) {
if (!headersInADifferentStructure.has(key.toLowerCase())) {
headersInADifferentStructure.set(key.toLowerCase(), []);
}
headersInADifferentStructure.get(key.toLowerCase()).push(value);
}
} else if (typeof headers.entries === "function") {
for (const [key, value] of headers.entries()) {
headersInADifferentStructure.set(key.toLowerCase(), [value]);
}
if ("getSetCookie" in headers && typeof headers.getSetCookie === "function") {
const setCookieHeaders2 = headers.getSetCookie();
if (setCookieHeaders2 !== null && setCookieHeaders2 !== void 0 && setCookieHeaders2.length) {
headersInADifferentStructure.set("set-cookie", setCookieHeaders2);
}
}
} else {
for (const [key, value] of Object.entries(headers)) {
headersInADifferentStructure.set(key.toLowerCase(), [value]);
}
}
}
const setCookieHeaders = headersInADifferentStructure.get("set-cookie");
headersInADifferentStructure.delete("set-cookie");
if (setCookieHeaders) {
for (const setCookieValue of setCookieHeaders) {
var _options$sameSite;
const {
name,
value,
...options
} = parseString(setCookieValue);
const sameSite = (_options$sameSite = options.sameSite) === null || _options$sameSite === void 0 ? void 0 : _options$sameSite.toLowerCase();
context.cookies.set(name, value, {
domain: options.domain,
expires: options.expires,
httpOnly: options.httpOnly,
maxAge: options.maxAge,
path: options.path,
sameSite: sameSite === "lax" || sameSite === "strict" || sameSite === "none" ? sameSite : void 0
});
}
}
return new Response(body, {
status,
headers: [...headersInADifferentStructure.entries()].flatMap(([key, val]) => val.map((x) => [key, x]))
});
};
}
function tryOrUndefined(fn) {
try {
return fn();
} catch {
return void 0;
}
}
const config = config$1({
storage: {
kind: "github",
repo: "YM1KTC/ARC-Web-Sitesi",
branch: "main"
},
collections: {
post: collection({
label: "Blog Yazıları",
slugField: "title",
path: "src/data/post/*",
format: { contentField: "body" },
schema: {
title: fields.slug({
name: {
label: "Başlık",
description: "Blog yazısının başlığı"
}
}),
date: fields.datetime({
label: "Yayın Tarihi",
description: "Yazının yayınlanma tarihi"
}),
author: fields.text({
label: "Yazar",
description: "Çağrı işareti veya yazar adı",
default: "TA1SPH"
}),
categories: fields.array(
fields.text({
label: "Kategori"
}),
{
label: "Kategoriler",
description: "Blog yazısının kategorileri"
}
),
tags: fields.array(
fields.text({
label: "Etiket"
}),
{
label: "Etiketler",
description: "Blog yazısının etiketleri"
}
),
layout: fields.text({
label: "Düzen",
default: "post"
}),
image: fields.image({
label: "Öne Çıkan Görsel",
description: "Blog yazısı için kapak görseli"
}),
publishDate: fields.datetime({
label: "Yayınlanma Tarihi",
description: "Content collection için yayın tarihi"
}),
excerpt: fields.text({
label: "Özet",
description: "Blog yazısının kısa özeti",
multiline: true
}),
body: fields.markdoc({
label: "İçerik",
description: "Blog yazısının ana içeriği"
})
}
})
}
});
const all = makeHandler({ config });
const ALL = all;
const prerender = false;
const _page = /*#__PURE__*/Object.freeze(/*#__PURE__*/Object.defineProperty({
__proto__: null,
ALL,
all,
prerender
}, Symbol.toStringTag, { value: 'Module' }));
const page = () => _page;
export { page };
@@ -0,0 +1,46 @@
export { renderers } from '../../renderers.mjs';
async function GET() {
const repeaters = [
{
id: "YM1KTC",
name: "İstanbul Röle",
frequency: "439.4125+",
offset: "+7.6",
tone: "88.5",
colorCode: "1",
status: "online",
lastheard: (/* @__PURE__ */ new Date()).toISOString()
},
{
id: "YM2KTR",
name: "Ankara Röle",
frequency: "439.4750-",
offset: "-5.0",
tone: "88.5",
colorCode: "1",
status: "online",
lastheard: new Date(Date.now() - 36e5).toISOString()
},
{
id: "YM3KTC",
name: "İzmir Röle",
frequency: "439.5500+",
offset: "+7.6",
tone: "88.5",
colorCode: "1",
status: "offline",
lastheard: new Date(Date.now() - 864e5).toISOString()
}
];
return Response.json(repeaters);
}
const _page = /*#__PURE__*/Object.freeze(/*#__PURE__*/Object.defineProperty({
__proto__: null,
GET
}, Symbol.toStringTag, { value: 'Module' }));
const page = () => _page;
export { page };
File diff suppressed because one or more lines are too long
+64
View File
@@ -0,0 +1,64 @@
import { c as createComponent, r as renderComponent, a as renderTemplate, m as maybeRenderHead, b as addAttribute } from '../chunks/astro/server_BfDhyAjM.mjs';
import 'kleur/colors';
import { $ as $$PageLayout } from '../chunks/PageLayout_CDwIBOQs.mjs';
import { f as fetchPosts } from '../chunks/blog_J6XM7OAu.mjs';
import { T as TAG_BASE } from '../chunks/permalinks_BMxSf01e.mjs';
export { renderers } from '../renderers.mjs';
const prerender = true;
const $$Etiketler = createComponent(async ($$result, $$props, $$slots) => {
const posts = await fetchPosts();
const tagsMap = /* @__PURE__ */ new Map();
posts.forEach((post) => {
if (post.tags && Array.isArray(post.tags)) {
post.tags.forEach((tag) => {
const tagSlug = tag.slug;
if (tagsMap.has(tagSlug)) {
tagsMap.get(tagSlug).count += 1;
} else {
tagsMap.set(tagSlug, {
title: tag.title,
slug: tagSlug,
count: 1
});
}
});
}
});
const tags = Array.from(tagsMap.values()).sort((a, b) => {
if (b.count !== a.count) {
return b.count - a.count;
}
return a.title.localeCompare(b.title, "tr");
});
const metadata = {
title: "\u{1F3F7}\uFE0F Etiketler",
description: "Amat\xF6r radyo blog etiketlerini g\xF6r\xFCnt\xFCleyin - 73 de YM1KTC",
robots: {
index: true,
follow: true
}
};
return renderTemplate`${renderComponent($$result, "Layout", $$PageLayout, { "metadata": metadata }, { "default": async ($$result2) => renderTemplate` ${maybeRenderHead()}<section class="px-4 md:px-6 py-12 sm:py-16 lg:py-20 mx-auto max-w-6xl"> <div class="mb-8 md:mb-16 text-center"> <h1 class="text-3xl md:text-4xl font-bold leading-tighter tracking-tighter mb-4 font-heading">
🏷 Etiketler
</h1> <p class="text-muted text-lg">
📡 Amatör radyo blog yazılarımızı etiketlere göre keşfedin - QSL!
</p> </div> <div class="flex flex-wrap gap-3 justify-center"> ${tags.map((tag) => renderTemplate`<a${addAttribute(`/${TAG_BASE}/${tag.slug}`, "href")} class="inline-flex items-center px-4 py-2 bg-gray-100 dark:bg-gray-800 text-gray-800 dark:text-gray-200 rounded-full hover:bg-primary-100 dark:hover:bg-primary-900 hover:text-primary-800 dark:hover:text-primary-200 transition-colors duration-200 text-sm font-medium"> <span class="mr-2">${tag.title}</span> <span class="inline-flex items-center justify-center w-5 h-5 text-xs font-semibold text-white bg-primary-600 rounded-full"> ${tag.count} </span> </a>`)} </div> ${tags.length === 0 && renderTemplate`<div class="text-center py-12"> <p class="text-muted text-lg">🏷 Henüz hiç etiket bulunmamaktadır. QRT!</p> </div>`} <!-- Popular Tags Section --> ${tags.length > 0 && renderTemplate`<div class="mt-16"> <h2 class="text-2xl font-bold text-center mb-8 text-gray-900 dark:text-white">
📻 Popüler Etiketler
</h2> <div class="grid gap-4 md:gap-6 sm:grid-cols-2 lg:grid-cols-3"> ${tags.slice(0, 6).map((tag) => renderTemplate`<div class="flex justify-between items-center p-4 bg-white dark:bg-slate-900 rounded-lg shadow-md border border-gray-200 dark:border-gray-700 hover:shadow-lg transition-shadow duration-200"> <div> <h3 class="font-semibold text-gray-900 dark:text-white"> <a${addAttribute(`/${TAG_BASE}/${tag.slug}`, "href")} class="hover:text-primary-600 dark:hover:text-primary-400 transition-colors duration-200"> ${tag.title} </a> </h3> <p class="text-sm text-muted mt-1"> ${tag.count} ${tag.count === 1 ? "yaz\u0131" : "yaz\u0131"} </p> </div> <div class="flex items-center justify-center w-8 h-8 bg-primary-100 dark:bg-primary-900 text-primary-600 dark:text-primary-400 rounded-full text-sm font-semibold"> ${tag.count} </div> </div>`)} </div> </div>`} </section> ` })}`;
}, "/Users/bugracanata/Developer/[Telsiz]/ARC-Web-Sitesi/src/pages/etiketler.astro", void 0);
const $$file = "/Users/bugracanata/Developer/[Telsiz]/ARC-Web-Sitesi/src/pages/etiketler.astro";
const $$url = "/etiketler";
const _page = /*#__PURE__*/Object.freeze(/*#__PURE__*/Object.defineProperty({
__proto__: null,
default: $$Etiketler,
file: $$file,
prerender,
url: $$url
}, Symbol.toStringTag, { value: 'Module' }));
const page = () => _page;
export { page };
+54
View File
@@ -0,0 +1,54 @@
import { c as createComponent, r as renderComponent, a as renderTemplate, u as unescapeHTML } from '../chunks/astro/server_BfDhyAjM.mjs';
import 'kleur/colors';
import { $ as $$MarkdownLayout } from '../chunks/MarkdownLayout_Cs6tfEA2.mjs';
export { renderers } from '../renderers.mjs';
const html = () => "<p><em>Son güncelleme</em>: 6 Ocak 2023</p>\n<h2 id=\"gizlilik-politikası\">Gizlilik Politikası</h2>\n<p>Bu Gizlilik Politikası, Amatör Radyocular Derneği (ARC) olarak kişisel bilgilerinizin nasıl toplandığını, kullanıldığını ve korunduğunu açıklar.</p>\n<h3 id=\"toplanan-bilgiler\">Toplanan Bilgiler</h3>\n<ul>\n<li><strong>İletişim Bilgileri</strong>: İsim, e-posta adresi, telefon numarası</li>\n<li><strong>Çağrı İşareti</strong>: Amatör radio çağrı işaretiniz</li>\n<li><strong>Lisans Bilgileri</strong>: Amatör radio lisans durumu ve sınıfı</li>\n<li><strong>Eğitim Bilgileri</strong>: Katıldığınız kurslar ve sınavlar</li>\n</ul>\n<h3 id=\"bilgilerin-kullanımı\">Bilgilerin Kullanımı</h3>\n<p>Kişisel bilgileriniz aşağıdaki amaçlarla kullanılır:</p>\n<ul>\n<li>Eğitim programları ve etkinlikler hakkında bilgilendirme</li>\n<li>Lisans sınavları ve başvuru süreçleri</li>\n<li>Teknik destek ve danışmanlık hizmetleri</li>\n<li>Acil durum haberleşme koordinasyonu</li>\n</ul>\n<h3 id=\"bilgi-güvenliği\">Bilgi Güvenliği</h3>\n<p>Kişisel bilgileriniz güvenli sunucularda saklanır ve yetkisiz erişime karşı korunur. Bilgileriniz üçüncü taraflarla paylaşılmaz.</p>\n<h3 id=\"i̇letişim\">İletişim</h3>\n<p>Gizlilik politikamız hakkında sorularınız için:</p>\n<ul>\n<li>E-posta: <a href=\"mailto:bilgi@radio.org.tr\">bilgi@radio.org.tr</a></li>\n<li>Telefon: +90 510 220 50 24</li>\n</ul>\n<h3 id=\"güncellemeler\">Güncellemeler</h3>\n<p>Bu politika gerektiğinde güncellenebilir. Değişiklikler web sitesinde yayınlanır.</p>";
const frontmatter = {"title":"Gizlilik Politikası","layout":"~/layouts/MarkdownLayout.astro","readingTime":1};
const file = "/Users/bugracanata/Developer/[Telsiz]/ARC-Web-Sitesi/src/pages/gizlilik.md";
const url = "/gizlilik";
function rawContent() {
return " \n \n \n \n\n_Son güncelleme_: 6 Ocak 2023\n\n## Gizlilik Politikası\n\nBu Gizlilik Politikası, Amatör Radyocular Derneği (ARC) olarak kişisel bilgilerinizin nasıl toplandığını, kullanıldığını ve korunduğunu açıklar.\n\n### Toplanan Bilgiler\n\n- **İletişim Bilgileri**: İsim, e-posta adresi, telefon numarası\n- **Çağrı İşareti**: Amatör radio çağrı işaretiniz\n- **Lisans Bilgileri**: Amatör radio lisans durumu ve sınıfı\n- **Eğitim Bilgileri**: Katıldığınız kurslar ve sınavlar\n\n### Bilgilerin Kullanımı\n\nKişisel bilgileriniz aşağıdaki amaçlarla kullanılır:\n\n- Eğitim programları ve etkinlikler hakkında bilgilendirme\n- Lisans sınavları ve başvuru süreçleri\n- Teknik destek ve danışmanlık hizmetleri\n- Acil durum haberleşme koordinasyonu\n\n### Bilgi Güvenliği\n\nKişisel bilgileriniz güvenli sunucularda saklanır ve yetkisiz erişime karşı korunur. Bilgileriniz üçüncü taraflarla paylaşılmaz.\n\n### İletişim\n\nGizlilik politikamız hakkında sorularınız için:\n- E-posta: bilgi@radio.org.tr\n- Telefon: +90 510 220 50 24\n\n### Güncellemeler\n\nBu politika gerektiğinde güncellenebilir. Değişiklikler web sitesinde yayınlanır.";
}
async function compiledContent() {
return await html();
}
function getHeadings() {
return [{"depth":2,"slug":"gizlilik-politikası","text":"Gizlilik Politikası"},{"depth":3,"slug":"toplanan-bilgiler","text":"Toplanan Bilgiler"},{"depth":3,"slug":"bilgilerin-kullanımı","text":"Bilgilerin Kullanımı"},{"depth":3,"slug":"bilgi-güvenliği","text":"Bilgi Güvenliği"},{"depth":3,"slug":"i̇letişim","text":"İletişim"},{"depth":3,"slug":"güncellemeler","text":"Güncellemeler"}];
}
const Content = createComponent((result, _props, slots) => {
const { layout, ...content } = frontmatter;
content.file = file;
content.url = url;
return renderTemplate`${renderComponent(result, 'Layout', $$MarkdownLayout, {
file,
url,
content,
frontmatter: content,
headings: getHeadings(),
rawContent,
compiledContent,
'server:root': true,
}, {
'default': () => renderTemplate`${unescapeHTML(html())}`
})}`;
});
const _page = /*#__PURE__*/Object.freeze(/*#__PURE__*/Object.defineProperty({
__proto__: null,
Content,
compiledContent,
default: Content,
file,
frontmatter,
getHeadings,
rawContent,
url
}, Symbol.toStringTag, { value: 'Module' }));
const page = () => _page;
export { page };
+150
View File
@@ -0,0 +1,150 @@
import { c as createComponent, r as renderComponent, a as renderTemplate, F as Fragment, m as maybeRenderHead } from '../chunks/astro/server_BfDhyAjM.mjs';
import 'kleur/colors';
import { $ as $$Features2 } from '../chunks/Features2_D7nFOVdo.mjs';
import { $ as $$Features3 } from '../chunks/Features3_wayAUiIh.mjs';
import { $ as $$Hero } from '../chunks/Hero_BhRdE1X0.mjs';
import { $ as $$Stats } from '../chunks/Stats_DktezWhj.mjs';
import { $ as $$Steps2 } from '../chunks/Steps2_C6F2o1Pc.mjs';
import { $ as $$PageLayout } from '../chunks/PageLayout_CDwIBOQs.mjs';
export { renderers } from '../renderers.mjs';
const $$Hakkimizda = createComponent(($$result, $$props, $$slots) => {
const metadata = {
title: "\u{1F4FB} Hakk\u0131m\u0131zda - ARC YM1KTC"
};
return renderTemplate`${renderComponent($$result, "Layout", $$PageLayout, { "metadata": metadata }, { "default": ($$result2) => renderTemplate` ${renderComponent($$result2, "Hero", $$Hero, { "tagline": "\u{1F4E1} Hakk\u0131m\u0131zda", "image": {
src: "~/assets/images/2024/12/ARC_2024_bayrak_logo-Large-1-1024x1024.png",
alt: "ARC Logo",
width: 256,
height: 256
} }, { "subtitle": ($$result3) => renderTemplate`${renderComponent($$result3, "Fragment", Fragment, { "slot": "subtitle" }, { "default": ($$result4) => renderTemplate`
Amatör Radyocular Derneği (ARC), YM1KTC çağrı işaretiyle faaliyet gösteren, İstanbul merkezli kâr amacı gütmeyen
bir dernektir. 31 Mayıs 2024 tarihinde kurulmuş olan derneğimiz, amatör telsizciliği yaygınlaştırmak, eğitim
vermek ve röle-beacon altyapıları işletmek amacıyla faaliyet göstermektedir.
` })}`, "title": ($$result3) => renderTemplate`${renderComponent($$result3, "Fragment", Fragment, { "slot": "title" }, { "default": ($$result4) => renderTemplate`
📻 Amatör radyo dünyasında ${maybeRenderHead()}<br> <span class="text-accent dark:text-white"> Güçlü bir topluluk</span> ` })}` })} ${renderComponent($$result2, "Stats", $$Stats, { "title": "\u{1F4C8} Derne\u011Fimizle ilgili istatistikler - QSL", "stats": [
{ title: "Kurulu\u015F Y\u0131l\u0131", amount: "2024" },
{ title: "Aktif \xDCye", amount: "100+" },
{ title: "E\u011Fitim Program\u0131", amount: "25+" },
{ title: "Teknik Proje", amount: "10+" }
] })} ${renderComponent($$result2, "Features3", $$Features3, { "title": "\u{1F4E1} Faaliyet Alanlar\u0131m\u0131z", "subtitle": "Amat\xF6r radyo d\xFCnyas\u0131nda geni\u015F bir yelpazede hizmet sunan derne\u011Fimiz, \xFCyelerimize kapsaml\u0131 destek sa\u011Flamaktad\u0131r.", "columns": 3, "isBeforeContent": true, "items": [
{
title: "\u{1F4DA} E\u011Fitim ve \xD6\u011Fretim",
description: "Amat\xF6r telsiz lisans s\u0131navlar\u0131na haz\u0131rl\u0131k, teknik e\u011Fitim programlar\u0131 ve s\xFCrekli geli\u015Fim kurslar\u0131 d\xFCzenliyoruz.",
icon: "tabler:school",
callToAction: {
text: "S\u0131nav Haz\u0131rl\u0131k Sitesi",
href: "https://sinav.radio.org.tr/",
target: "_blank"
}
},
{
title: "\u{1F4E1} Teknik Altyap\u0131",
description: "VHF/UHF r\xF6le sistemleri, beacon istasyonlar\u0131 ve teknik altyap\u0131 projeleri geli\u015Ftirip i\u015Fletiyoruz.",
icon: "tabler:antenna"
},
{
title: "\u{1F6A8} Acil Haberle\u015Fme",
description: "Acil durumlarda g\xFCvenilir haberle\u015Fme sistemleri geli\u015Ftirerek toplumsal sorumlulu\u011Fumuzu yerine getiriyoruz.",
icon: "tabler:phone-call"
}
] })} ${renderComponent($$result2, "Features3", $$Features3, { "columns": 3, "isAfterContent": true, "items": [
{
title: "\u{1F52C} Ara\u015Ft\u0131rma ve Geli\u015Ftirme",
description: "Amat\xF6r radyo teknolojileri \xFCzerine ara\u015Ft\u0131rma projeleri y\xFCr\xFCt\xFCyor ve yenilik\xE7i \xE7\xF6z\xFCmler geli\u015Ftiriyoruz.",
icon: "tabler:microscope"
},
{
title: "\u{1F389} Topluluk Etkinlikleri",
description: "Yar\u0131\u015Fmalar, sergiler, seminerler ve sosyal etkinlikler d\xFCzenleyerek amat\xF6r radyocular\u0131 bir araya getiriyoruz.",
icon: "tabler:users"
},
{
title: "\u{1F30D} Uluslararas\u0131 \u0130\u015Fbirli\u011Fi",
description: "D\xFCnya \xE7ap\u0131nda amat\xF6r radyo kurulu\u015Flar\u0131yla i\u015Fbirli\u011Fi yaparak T\xFCrkiye'yi temsil ediyoruz.",
icon: "tabler:world"
},
{
title: "\u{1F468}\u200D\u{1F469}\u200D\u{1F467}\u200D\u{1F466} Gen\xE7 Radyocular",
description: "Gen\xE7lerin amat\xF6r radyo d\xFCnyas\u0131na kat\u0131l\u0131m\u0131n\u0131 te\u015Fvik eden \xF6zel programlar ve etkinlikler d\xFCzenliyoruz.",
icon: "tabler:user-plus"
},
{
title: "\u2699\uFE0F Teknik Dan\u0131\u015Fmanl\u0131k",
description: "Anten kurulumu, ekipman se\xE7imi ve teknik konularda \xFCyelerimize uzman dan\u0131\u015Fmanl\u0131k hizmeti sunuyoruz.",
icon: "tabler:tool"
},
{
title: "\u{1F4F6} Dijital Modlar",
description: "DMR, APRS, FT8 gibi dijital mod teknolojileri konusunda e\u011Fitim ve uygulama deste\u011Fi sa\u011Fl\u0131yoruz.",
icon: "tabler:device-laptop",
callToAction: {
text: "DMR Editor",
href: "https://dmr.radio.org.tr/",
target: "_blank"
}
}
] })} ${renderComponent($$result2, "Steps2", $$Steps2, { "title": "\u2728 De\u011Ferlerimiz", "subtitle": "Derne\u011Fimizin temel de\u011Ferleri, t\xFCm faaliyetlerimizin ve \xFCyelerimizle ili\u015Fkilerimizin temelini olu\u015Fturmaktad\u0131r.", "items": [
{
title: "\u{1F3AF} \xDCye Odakl\u0131 Yakla\u015F\u0131m",
description: "\xDCyelerimizin ihtiya\xE7lar\u0131n\u0131 \xF6nceleyerek, onlar\u0131n geli\u015Fimini desteklemek ve amat\xF6r radyo yolculuklar\u0131nda rehberlik etmek en \xF6nemli amac\u0131m\u0131zd\u0131r."
},
{
title: "\u{1F4C8} S\xFCrekli Geli\u015Fim",
description: "Teknolojideki geli\u015Fmeleri takip ederek, e\u011Fitim programlar\u0131m\u0131z\u0131 ve hizmetlerimizi s\xFCrekli g\xFCncelliyor ve geli\u015Ftiriyoruz."
},
{
title: "\u{1F31F} Etik De\u011Ferler",
description: "Amat\xF6r radyo eti\u011Fini benimser, \u015Feffafl\u0131k, d\xFCr\xFCstl\xFCk ve toplumsal sorumluluk bilinciyle hareket ederiz."
}
] })} ${renderComponent($$result2, "Steps2", $$Steps2, { "title": "\u{1F3C6} Ba\u015Far\u0131lar\u0131m\u0131z", "subtitle": "Kuruldu\u011Fumuz g\xFCnden bu yana elde etti\u011Fimiz ba\u015Far\u0131lar ve topluma katk\u0131lar\u0131m\u0131z.", "isReversed": true, "callToAction": {
text: "Daha fazla bilgi",
href: "/iletisim"
}, "items": [
{
title: "\u{1F1F9}\u{1F1F7} T\xFCrkiye \xE7ap\u0131nda eri\u015Fim",
description: "R\xF6le sistemlerimiz ve e\u011Fitim programlar\u0131m\u0131z ile T\xFCrkiye genelinde amat\xF6r radyoculara hizmet veriyoruz.",
icon: "tabler:map-pin"
},
{
title: "\u{1F60A} Pozitif \xFCye geri bildirimleri",
description: "\xDCyelerimizden ald\u0131\u011F\u0131m\u0131z olumlu geri bildirimler ve y\xFCksek memnuniyet oranlar\u0131 bizi motive ediyor.",
icon: "tabler:message-star"
},
{
title: "\u{1F3C5} Sekt\xF6rel tan\u0131n\u0131rl\u0131k",
description: "Amat\xF6r radyo camias\u0131nda sayg\u0131n bir konuma sahip olup, di\u011Fer kurulu\u015Flar taraf\u0131ndan referans al\u0131n\u0131yoruz.",
icon: "tabler:award"
}
] })} ${renderComponent($$result2, "Features2", $$Features2, { "title": "\u{1F4BC} Y\xF6netim Kurulu", "tagline": "\u{1F451} Liderlik", "columns": 1, "items": [
{
title: "\u{1F4FB} Ba\u015Fkan",
description: "C\xFCneyt \u015Eahna (TA1GP)"
}
] })} ${renderComponent($$result2, "Features2", $$Features2, { "title": "\u{1F6E0}\uFE0F Teknik Destek", "tagline": "\u{1F4E1} \u0130leti\u015Fim", "columns": 2, "items": [
{
title: "\u{1F4EE} E-posta ile ileti\u015Fim",
description: "Teknik sorular\u0131n\u0131z, \xFCyelik ba\u015Fvurunuz veya genel bilgi almak i\xE7in e-posta g\xF6nderebilirsiniz.",
icon: "tabler:mail"
},
{
title: "\u{1F4DE} Telefon deste\u011Fi",
description: "Acil durumlar ve \xF6nemli konular i\xE7in telefon hatt\u0131m\u0131zdan bize ula\u015Fabilirsiniz.",
icon: "tabler:headset"
}
] })} ` })}`;
}, "/Users/bugracanata/Developer/[Telsiz]/ARC-Web-Sitesi/src/pages/hakkimizda.astro", void 0);
const $$file = "/Users/bugracanata/Developer/[Telsiz]/ARC-Web-Sitesi/src/pages/hakkimizda.astro";
const $$url = "/hakkimizda";
const _page = /*#__PURE__*/Object.freeze(/*#__PURE__*/Object.defineProperty({
__proto__: null,
default: $$Hakkimizda,
file: $$file,
url: $$url
}, Symbol.toStringTag, { value: 'Module' }));
const page = () => _page;
export { page };
@@ -0,0 +1,186 @@
import { e as createAstro, c as createComponent, r as renderComponent, a as renderTemplate, F as Fragment, m as maybeRenderHead } from '../../chunks/astro/server_BfDhyAjM.mjs';
import 'kleur/colors';
import { $ as $$PageLayout, a as $$Header, b as $$Button } from '../../chunks/PageLayout_CDwIBOQs.mjs';
import { $ as $$Hero2 } from '../../chunks/Hero2_IyzHLWsh.mjs';
import { $ as $$CallToAction } from '../../chunks/CallToAction_Dok0D0et.mjs';
import { $ as $$Features3 } from '../../chunks/Features3_wayAUiIh.mjs';
import { $ as $$Content } from '../../chunks/Content_C1F3b01L.mjs';
import { $ as $$Testimonials } from '../../chunks/Testimonials_lm1gbgHT.mjs';
import { $ as $$FAQs } from '../../chunks/FAQs_Vju24_pw.mjs';
import { $ as $$Stats } from '../../chunks/Stats_DktezWhj.mjs';
import { $ as $$Image } from '../../chunks/Image_vHu_ShFT.mjs';
export { renderers } from '../../renderers.mjs';
const $$Astro = createAstro("https://www.radio.org.tr");
const $$MobileApp = createComponent(($$result, $$props, $$slots) => {
const Astro2 = $$result.createAstro($$Astro, $$props, $$slots);
Astro2.self = $$MobileApp;
const appStoreImg = "~/assets/images/app-store.png";
const appStoreDownloadLink = "https://github.com/onwidget/astrowind";
const googlePlayImg = "~/assets/images/google-play.png";
const googlePlayDownloadLink = "https://github.com/onwidget/astrowind";
const metadata = {
title: "Mobile App Homepage"
};
return renderTemplate`${renderComponent($$result, "Layout", $$PageLayout, { "metadata": metadata }, { "announcement": ($$result2) => renderTemplate`${renderComponent($$result2, "Fragment", Fragment, { "slot": "announcement" })}`, "default": ($$result2) => renderTemplate` ${renderComponent($$result2, "Hero2", $$Hero2, { "tagline": "Mobile App Web Demo", "image": {
src: "https://images.unsplash.com/photo-1535303311164-664fc9ec6532?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=987&q=80",
alt: "AstroWind Hero Image"
} }, { "actions": ($$result3) => renderTemplate`${maybeRenderHead()}<div class="flex max-w-sm gap-4"> ${renderComponent($$result3, "Button", $$Button, { "variant": "link", "href": appStoreDownloadLink }, { "default": ($$result4) => renderTemplate` ${renderComponent($$result4, "Image", $$Image, { "src": appStoreImg, "alt": "App Store Image", "width": 200 })} ` })} ${renderComponent($$result3, "Button", $$Button, { "variant": "link", "href": googlePlayDownloadLink }, { "default": ($$result4) => renderTemplate` ${renderComponent($$result4, "Image", $$Image, { "src": googlePlayImg, "alt": "Google Play Image", "width": 200 })} ` })} </div>`, "subtitle": ($$result3) => renderTemplate`${renderComponent($$result3, "Fragment", Fragment, { "slot": "subtitle" }, { "default": ($$result4) => renderTemplate` <span class="hidden sm:inline">
Unlock boundless creativity at your fingertips: your gateway to innovative design.
</span>
Download now and embark on a journey to elevate your projects like never before.
` })}`, "title": ($$result3) => renderTemplate`${renderComponent($$result3, "Fragment", Fragment, { "slot": "title" }, { "default": ($$result4) => renderTemplate` <span class="text-accent dark:text-white">AstroWind App</span>: <br> professional websites <span class="hidden xl:inline">made easy</span> ` })}` })} ${renderComponent($$result2, "Features3", $$Features3, { "id": "features", "title": "How to use our app?", "subtitle": "Tired of spending hours crafting documents from scratch? Our app offers an innovative solution. With a wide array of professionally designed templates, you can now create stunning documents in minutes. Explore our templates now and experience the difference.", "tagline": "Step-by-step guide", "columns": 2, "items": [
{
title: "Download and install the app",
description: `Begin your journey by downloading our user-friendly app from your device's app store or our official website.`,
icon: "tabler:square-number-1"
},
{
title: "Sign up",
description: "Create your account by providing the necessary information, enabling you to access our full range of features.",
icon: "tabler:square-number-2"
},
{
title: "Browse templates",
description: "Explore our diverse collection of website templates, categorized for easy navigation.",
icon: "tabler:square-number-3"
},
{
title: "Preview and select a template",
description: `Visualize the potential of each template through previews, then choose the one that aligns best with your project's needs.`,
icon: "tabler:square-number-4"
}
], "image": {
src: "https://images.unsplash.com/photo-1521517407911-565264e7d82d?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=2069&q=80",
alt: "Colorful Image"
} })} ${renderComponent($$result2, "Content", $$Content, { "isReversed": true, "items": [
{
title: "User-friendly interface",
description: "An intuitive and easy-to-navigate interface that allows users to quickly browse and find the templates they need.",
icon: "tabler:wand"
},
{
title: "Personalization options",
description: "Include basic customization tools that let users modify text, colors, images, and other elements within the templates.",
icon: "tabler:settings"
},
{
title: "Ready-to-use components",
description: "Enhance your designs with ready-to-use elements like graphics, icons, and layouts, saving you time and boosting visual appeal.",
icon: "tabler:template"
},
{
title: "Preview Mode",
description: "Provide a preview of each template, allowing users to see how it looks before making a purchase.",
icon: "tabler:carousel-horizontal"
}
], "image": {
src: "https://images.unsplash.com/photo-1576153192621-7a3be10b356e?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=1674&q=80",
alt: "Colorful Image"
} }, { "content": ($$result3) => renderTemplate`${renderComponent($$result3, "Fragment", Fragment, { "slot": "content" }, { "default": ($$result4) => renderTemplate` <h3 class="text-2xl font-bold tracking-tight dark:text-white sm:text-3xl mb-2">Main Features</h3> ` })}` })} ${renderComponent($$result2, "Content", $$Content, { "isAfterContent": true, "items": [
{
title: "Offline Access",
description: "Offer the option for users to download purchased templates for offline use.",
icon: "tabler:wifi-off"
},
{
title: "Secure Cloud Storage",
description: "Provide cloud storage for purchased templates, ensuring users can access and back up their templates from anywhere securely.",
icon: "tabler:file-download"
},
{
title: "Regular Updates",
description: "Continuously add new templates and features to keep the app fresh and engaging for users.",
icon: "tabler:refresh"
},
{
title: "Wishlist",
description: `Allow users to create a wishlist of templates they're interested in, making it easier for them to revisit and potentially purchase later.`,
icon: "tabler:heart"
}
], "image": {
src: "https://images.unsplash.com/photo-1453738773917-9c3eff1db985?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=2070&q=80",
alt: "Vintage Image"
} }, { "content": ($$result3) => renderTemplate`${renderComponent($$result3, "Fragment", Fragment, { "slot": "content" }, { "default": ($$result4) => renderTemplate` <h3 class="text-2xl font-bold tracking-tight dark:text-white sm:text-3xl mb-2">Other features</h3> ` })}` })} ${renderComponent($$result2, "Stats", $$Stats, { "title": "Statistics of our app", "stats": [
{ amount: "20K", icon: "tabler:download" },
{ amount: "18.5K", icon: "tabler:users" },
{ amount: "4.7", icon: "tabler:user-star" }
] })} ${renderComponent($$result2, "Testimonials", $$Testimonials, { "title": "What our users say?", "testimonials": [
{
testimonial: `It's made exploring and downloading website templates a breeze. The interface is intuitive, and I had no trouble finding the perfect template for my project. It's an app that truly empowers users.`,
name: "Cary Kennedy",
job: "Film director",
image: {
src: "https://images.unsplash.com/photo-1438761681033-6461ffad8d80?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=2070&q=80",
alt: "Cary Kennedy Image"
}
},
{
testimonial: `The app's seamless download process and intuitive layout have made selecting templates an enjoyable experience. Being able to preview and experiment with different designs before committing has saved me time and ensured I get the perfect look for my website.`,
name: "Josh Wilkinson",
job: "Product Manager",
image: {
src: "https://images.unsplash.com/flagged/photo-1570612861542-284f4c12e75f?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=2070&q=80",
alt: "Josh Wilkinson Image"
}
},
{
testimonial: "I was able to download and use a professional website template within minutes. The step-by-step process and user-friendly interface made it easy for me to create a website that looks as if it was designed by a pro.",
name: "Sidney Hansen",
job: "Decorator",
image: {
src: "https://images.unsplash.com/photo-1512361436605-a484bdb34b5f?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=2070&q=80",
alt: "Sidney Hansen Image"
}
}
], "callToAction": {
target: "_blank",
text: "Read more testimonials",
href: "https://github.com/onwidget/astrowind",
icon: "tabler:chevron-right"
} })} ${renderComponent($$result2, "FAQs", $$FAQs, { "title": "Still have some doubts?", "items": [
{
title: "What does this app do?",
description: "This app provides a platform for you to easily browse, purchase, download, and use a wide range of website templates for your projects."
},
{
title: "How can this app solve my problem?",
description: "This app streamlines the process of finding and implementing professional website designs, saving you time and effort in creating visually appealing and functional websites."
},
{
title: "Is it available for my device?",
description: `Our app is designed for compatibility across various devices and platforms, ensuring accessibility whether you're using a smartphone, tablet, or computer.`
},
{
title: "What makes this app different from others?",
description: "Our app stands out for its user-friendly interface, extensive template collection, and seamless integration of the purchasing and downloading process, making it highly efficient."
},
{
title: "Are there any costs involved?",
description: "While the app itself may be free to download, there may be costs associated with purchasing specific templates based on your preferences and project requirements."
}
] })} ${renderComponent($$result2, "CallToAction", $$CallToAction, { "id": "download", "title": "Download our app now!", "subtitle": "Access a variety of stunning templates, simplify your creative process, and elevate your online presence." }, { "actions": ($$result3) => renderTemplate`<div class="flex max-w-sm gap-4"> ${renderComponent($$result3, "Button", $$Button, { "variant": "link", "href": appStoreDownloadLink }, { "default": ($$result4) => renderTemplate` ${renderComponent($$result4, "Image", $$Image, { "src": appStoreImg, "alt": "App Store Image", "width": 200 })} ` })} ${renderComponent($$result3, "Button", $$Button, { "variant": "link", "href": googlePlayDownloadLink }, { "default": ($$result4) => renderTemplate` ${renderComponent($$result4, "Image", $$Image, { "src": googlePlayImg, "alt": "Google Play Image", "width": 200 })} ` })} </div>` })} `, "header": ($$result2) => renderTemplate`${renderComponent($$result2, "Fragment", Fragment, { "slot": "header" }, { "default": ($$result3) => renderTemplate` ${renderComponent($$result3, "Header", $$Header, { "position": "left", "links": [
{ text: "Services", href: "#" },
{ text: "Features", href: "#" },
{ text: "About", href: "#" }
], "actions": [
{
text: "Download",
href: "#download"
}
], "isSticky": true, "showToggleTheme": true })} ` })}` })}`;
}, "/Users/bugracanata/Developer/[Telsiz]/ARC-Web-Sitesi/src/pages/homes/mobile-app.astro", void 0);
const $$file = "/Users/bugracanata/Developer/[Telsiz]/ARC-Web-Sitesi/src/pages/homes/mobile-app.astro";
const $$url = "/homes/mobile-app";
const _page = /*#__PURE__*/Object.freeze(/*#__PURE__*/Object.defineProperty({
__proto__: null,
default: $$MobileApp,
file: $$file,
url: $$url
}, Symbol.toStringTag, { value: 'Module' }));
const page = () => _page;
export { page };
@@ -0,0 +1,302 @@
import { e as createAstro, c as createComponent, m as maybeRenderHead, b as addAttribute, r as renderComponent, a as renderTemplate, u as unescapeHTML, F as Fragment } from '../../chunks/astro/server_BfDhyAjM.mjs';
import 'kleur/colors';
import { $ as $$PageLayout, a as $$Header } from '../../chunks/PageLayout_CDwIBOQs.mjs';
import { $ as $$Hero } from '../../chunks/Hero_BhRdE1X0.mjs';
import { $ as $$Content } from '../../chunks/Content_C1F3b01L.mjs';
import { $ as $$CallToAction } from '../../chunks/CallToAction_Dok0D0et.mjs';
import { $ as $$Features3 } from '../../chunks/Features3_wayAUiIh.mjs';
import { $ as $$Testimonials } from '../../chunks/Testimonials_lm1gbgHT.mjs';
import { $ as $$WidgetWrapper } from '../../chunks/WidgetWrapper_C6M78dTL.mjs';
import { a as $$Icon } from '../../chunks/Icon_C8ArtCuv.mjs';
import { twMerge } from 'tailwind-merge';
import { $ as $$Headline } from '../../chunks/Headline_ClseMP2_.mjs';
import { $ as $$Image } from '../../chunks/Image_vHu_ShFT.mjs';
import { $ as $$BlogLatestPosts } from '../../chunks/BlogLatestPosts_BSq_8-iD.mjs';
import { a as getPermalink } from '../../chunks/permalinks_BMxSf01e.mjs';
export { renderers } from '../../renderers.mjs';
const $$Astro$1 = createAstro("https://www.radio.org.tr");
const $$Timeline = createComponent(($$result, $$props, $$slots) => {
const Astro2 = $$result.createAstro($$Astro$1, $$props, $$slots);
Astro2.self = $$Timeline;
const { items = [], classes = {}, defaultIcon } = Astro2.props;
const {
container: containerClass = "",
panel: panelClass = "",
title: titleClass = "",
description: descriptionClass = "",
icon: defaultIconClass = "text-primary dark:text-slate-200 border-primary dark:border-blue-700"
} = classes;
return renderTemplate`${items && items.length > 0 && renderTemplate`${maybeRenderHead()}<div${addAttribute(containerClass, "class")}>${items.map(({ title, description, icon, classes: itemClasses = {} }, index = 0) => renderTemplate`<div${addAttribute(twMerge(
"flex intersect-once intersect-quarter motion-safe:md:opacity-0 motion-safe:md:intersect:animate-fade",
panelClass,
itemClasses?.panel
), "class")}><div class="flex flex-col items-center mr-4 rtl:mr-0 rtl:ml-4"><div><div class="flex items-center justify-center">${(icon || defaultIcon) && renderTemplate`${renderComponent($$result, "Icon", $$Icon, { "name": icon || defaultIcon, "class": twMerge("w-10 h-10 p-2 rounded-full border-2", defaultIconClass, itemClasses?.icon) })}`}</div></div>${index !== items.length - 1 && renderTemplate`<div class="w-px h-full bg-black/10 dark:bg-slate-400/50"></div>`}</div><div${addAttribute(`pt-1 ${index !== items.length - 1 ? "pb-8" : ""}`, "class")}>${title && renderTemplate`<p${addAttribute(twMerge("text-xl font-bold", titleClass, itemClasses?.title), "class")}>${unescapeHTML(title)}</p>`}${description && renderTemplate`<p${addAttribute(twMerge("text-muted mt-2", descriptionClass, itemClasses?.description), "class")}>${unescapeHTML(description)}</p>`}</div></div>`)}</div>`}`;
}, "/Users/bugracanata/Developer/[Telsiz]/ARC-Web-Sitesi/src/components/ui/Timeline.astro", void 0);
const $$Astro = createAstro("https://www.radio.org.tr");
const $$Steps = createComponent(async ($$result, $$props, $$slots) => {
const Astro2 = $$result.createAstro($$Astro, $$props, $$slots);
Astro2.self = $$Steps;
const {
title = await Astro2.slots.render("title"),
subtitle = await Astro2.slots.render("subtitle"),
tagline = await Astro2.slots.render("tagline"),
items = [],
image = await Astro2.slots.render("image"),
isReversed = false,
id,
isDark = false,
classes = {},
bg = await Astro2.slots.render("bg")
} = Astro2.props;
return renderTemplate`${renderComponent($$result, "WidgetWrapper", $$WidgetWrapper, { "id": id, "isDark": isDark, "containerClass": `max-w-5xl ${classes?.container ?? ""}`, "bg": bg }, { "default": async ($$result2) => renderTemplate` ${maybeRenderHead()}<div${addAttribute(["flex flex-col gap-8 md:gap-12", { "md:flex-row-reverse": isReversed }, { "md:flex-row": image }], "class:list")}> <div${addAttribute(["md:py-4 md:self-center", { "md:basis-1/2": image }, { "w-full": !image }], "class:list")}> ${renderComponent($$result2, "Headline", $$Headline, { "title": title, "subtitle": subtitle, "tagline": tagline, "classes": {
container: "text-left rtl:text-right",
title: "text-3xl lg:text-4xl",
...classes?.headline ?? {}
} })} ${renderComponent($$result2, "Timeline", $$Timeline, { "items": items, "classes": classes?.items })} </div> ${image && renderTemplate`<div class="relative md:basis-1/2"> ${typeof image === "string" ? renderTemplate`${renderComponent($$result2, "Fragment", Fragment, {}, { "default": async ($$result3) => renderTemplate`${unescapeHTML(image)}` })}` : renderTemplate`${renderComponent($$result2, "Image", $$Image, { "class": "inset-0 object-cover object-top w-full rounded-md shadow-lg md:absolute md:h-full bg-gray-400 dark:bg-slate-700", "widths": [400, 768], "sizes": "(max-width: 768px) 100vw, 432px", "width": 432, "height": 768, "layout": "cover", "src": image?.src, "alt": image?.alt || "" })}`} </div>`} </div> ` })}`;
}, "/Users/bugracanata/Developer/[Telsiz]/ARC-Web-Sitesi/src/components/widgets/Steps.astro", void 0);
const $$Personal = createComponent(($$result, $$props, $$slots) => {
const metadata = {
title: "Personal Homepage Demo"
};
return renderTemplate`${renderComponent($$result, "Layout", $$PageLayout, { "metadata": metadata }, { "announcement": ($$result2) => renderTemplate`${renderComponent($$result2, "Fragment", Fragment, { "slot": "announcement" })}`, "default": ($$result2) => renderTemplate` ${renderComponent($$result2, "Hero", $$Hero, { "id": "hero", "title": "Sarah Johnson", "tagline": "Personal Web Demo", "actions": [{ variant: "primary", text: "Hire me", href: getPermalink("/contact#form") }] }, { "subtitle": ($$result3) => renderTemplate`${renderComponent($$result3, "Fragment", Fragment, { "slot": "subtitle" }, { "default": ($$result4) => renderTemplate`
I'm a Graphic Designer passionate about crafting visual stories. ${maybeRenderHead()}<br> With 5 years of experience and a degree from
New York University's School of Design. I infuse vitality into brands and designs, transforming concepts into captivating
realities.
` })}` })} ${renderComponent($$result2, "Content", $$Content, { "id": "about", "columns": 3, "items": [
{
icon: "tabler:brand-dribbble",
callToAction: {
target: "_blank",
text: "Dribbble",
href: "#"
}
},
{
icon: "tabler:brand-behance",
callToAction: {
target: "_blank",
text: "Behance",
href: "#"
}
},
{
icon: "tabler:brand-pinterest",
callToAction: {
target: "_blank",
text: "Pinterest",
href: "#"
}
}
], "image": {
src: "https://images.unsplash.com/photo-1491349174775-aaafddd81942?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=774&q=80",
alt: "Colorful Image",
loading: "eager"
} }, { "bg": ($$result3) => renderTemplate`${renderComponent($$result3, "Fragment", Fragment, { "slot": "bg" }, { "default": ($$result4) => renderTemplate` <div class="absolute inset-0 bg-blue-50 dark:bg-transparent"></div> ` })}`, "content": ($$result3) => renderTemplate`${renderComponent($$result3, "Fragment", Fragment, { "slot": "content" }, { "default": ($$result4) => renderTemplate` <h2 class="text-2xl font-bold tracking-tight dark:text-white sm:text-3xl mb-2">About me</h2> <p>
Welcome to my creative journey. My work is a testament to my commitment to bringing ideas to life, where each
pixel becomes a brushstroke in the canvas of imagination.
</p> <br> <p>
I find inspiration in the world around me, whether through the pages of a captivating novel, the intricate
details of typography, or the vibrant hues of nature during my outdoor escapades.
</p> <br> <p>If you're curious to dive deeper into my work, you can follow me:</p> ` })}` })} ${renderComponent($$result2, "Steps", $$Steps, { "id": "resume", "title": "Work experience", "items": [
{
title: 'Graphic Designer <br /> <span class="font-normal">ABC Design Studio, New York, NY</span> <br /> <span class="text-sm font-normal">2021 - Present</span>',
description: `Collaborate with clients to understand design requirements and objectives. <br /> Develop branding solutions, including logos, color palettes, and brand guidelines. <br /> Design marketing materials such as brochures, posters, and digital assets. <br /> Create visually appealing user interfaces for websites and applications.`,
icon: "tabler:briefcase"
},
{
title: 'Junior Graphic Designer <br /> <span class="font-normal">XYZ Creative Agency, Los Angeles, CA</span> <br /> <span class="text-sm font-normal">2018 - 2021</span>',
description: `Assisted senior designers in creating design concepts and visual assets. <br /> Contributed to the development of brand identities and marketing collateral. <br /> Collaborated with the marketing team to ensure consistent design across campaigns. <br /> Gained hands-on experience in various design software and tools.`,
icon: "tabler:briefcase"
}
], "classes": { container: "max-w-3xl" } })} ${renderComponent($$result2, "Steps", $$Steps, { "id": "resume", "title": "Education", "items": [
{
title: `Master of Fine Arts in Graphic Design <br /> <span class="font-normal">New York University's School of Design</span> <br /> <span class="text-sm font-normal">2018 - 2020</span>`,
icon: "tabler:school"
},
{
title: `Bachelor of Arts in Graphic Design <br /> <span class="font-normal">New York University's School of Design</span> <br /> <span class="text-sm font-normal">2014 - 2018</span>`,
icon: "tabler:school"
}
], "classes": { container: "max-w-3xl" } })} ${renderComponent($$result2, "Features3", $$Features3, { "title": "Skills", "subtitle": "Discover the proficiencies that allow me to bring imagination to life through design.", "columns": 3, "defaultIcon": "tabler:point-filled", "items": [
{
title: "Graphic design",
description: "Proficient in crafting visually appealing designs that convey messages effectively."
},
{
title: "Branding and identity",
description: "Skilled at developing cohesive brand identities, including logos and brand guidelines."
},
{
title: "User-centered design",
description: "Experienced in creating user-friendly interfaces and optimizing user experiences."
},
{
title: "Adobe Creative Suite",
description: "Skilled in using Photoshop, Illustrator, and InDesign to create and edit visual elements."
},
{
title: "Typography",
description: "Adept in selecting and manipulating typefaces to enhance design aesthetics."
},
{
title: "Color theory",
description: "Proficient in using color to evoke emotions and enhance visual harmony."
},
{
title: "Print and digital design",
description: "Knowledgeable in designing for both print materials and digital platforms."
},
{
title: "Attention to detail",
description: "Diligent in maintaining precision and quality in all design work."
},
{
title: "Adaptability",
description: "Quick to adapt to new design trends, technologies, and client preferences."
}
] })} ${renderComponent($$result2, "Content", $$Content, { "id": "porfolio", "title": "Elevating visual narratives", "subtitle": "Embark on a design journey that surpasses pixels, entering a realm of imagination. Explore my portfolio, where passion and creativity converge to shape enthralling visual narratives.", "isReversed": true, "items": [
{
title: "Description:",
description: "Developed a comprehensive brand identity for a tech startup, Tech Innovators, specializing in disruptive innovations. The goal was to convey a modern yet approachable image that resonated with both corporate clients and tech enthusiasts."
},
{
title: "Role:",
description: "Led the entire branding process from concept to execution. Created a dynamic logo that symbolized innovation, selected a vibrant color palette, and I designed corporate stationery, website graphics, and social media assets."
}
], "image": {
src: "https://images.unsplash.com/photo-1658248165252-71e116af1b34?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=928&q=80",
alt: "Tech Design Image"
}, "callToAction": {
target: "_blank",
text: "Go to the project",
icon: "tabler:chevron-right",
href: "#"
} }, { "bg": ($$result3) => renderTemplate`${renderComponent($$result3, "Fragment", Fragment, { "slot": "bg" }, { "default": ($$result4) => renderTemplate` <div class="absolute inset-0 bg-blue-50 dark:bg-transparent"></div> ` })}`, "content": ($$result3) => renderTemplate`${renderComponent($$result3, "Fragment", Fragment, { "slot": "content" }, { "default": ($$result4) => renderTemplate` <h3 class="text-2xl font-bold tracking-tight dark:text-white sm:text-3xl mb-2">
Project 1: <br><span class="text-2xl">Brand identity for tech innovators</span> </h3> ` })}` })} ${renderComponent($$result2, "Content", $$Content, { "isReversed": true, "isAfterContent": true, "items": [
{
title: "Description:",
description: 'Designed a captivating event poster for an art and music festival, "ArtWave Fusion," aiming to showcase the synergy between visual art and music genres.'
},
{
title: "Role:",
description: `Translated the festival's creative theme into a visually striking poster. Used bold typography, vibrant colors, and abstract elements to depict the fusion of art and music. Ensured the design captured the festival's vibrant atmosphere.`
}
], "image": {
src: "https://images.unsplash.com/photo-1619983081563-430f63602796?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=774&q=80",
alt: "Art and Music Poster Image"
}, "callToAction": {
target: "_blank",
text: "Go to the project",
icon: "tabler:chevron-right",
href: "#"
} }, { "bg": ($$result3) => renderTemplate`${renderComponent($$result3, "Fragment", Fragment, { "slot": "bg" }, { "default": ($$result4) => renderTemplate` <div class="absolute inset-0 bg-blue-50 dark:bg-transparent"></div> ` })}`, "content": ($$result3) => renderTemplate`${renderComponent($$result3, "Fragment", Fragment, { "slot": "content" }, { "default": ($$result4) => renderTemplate` <h3 class="text-2xl font-bold tracking-tight dark:text-white sm:text-3xl mb-2">
Project 2: <br><span class="text-2xl">Event poster for art & music festival</span> </h3> ` })}` })} ${renderComponent($$result2, "Content", $$Content, { "isReversed": true, "isAfterContent": true, "items": [
{
title: "Description:",
description: `Redesigned the e-commerce website for an eco-conscious fashion brand, GreenVogue. The objective was to align the brand's online presence with its sustainable ethos and improve user experience.`
},
{
title: "Role:",
description: `Conducted a thorough analysis of the brand's values and customer base to inform the design direction. Created a visually appealing interface with intuitive navigation, highlighting sustainable materials, and integrating a user-friendly shopping experience.`
}
], "image": {
src: "https://plus.unsplash.com/premium_photo-1683288295841-782fa47e4770?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=870&q=80",
alt: "Fashion e-commerce Image"
}, "callToAction": {
target: "_blank",
text: "Go to the project",
icon: "tabler:chevron-right",
href: "#"
} }, { "bg": ($$result3) => renderTemplate`${renderComponent($$result3, "Fragment", Fragment, { "slot": "bg" }, { "default": ($$result4) => renderTemplate` <div class="absolute inset-0 bg-blue-50 dark:bg-transparent"></div> ` })}`, "content": ($$result3) => renderTemplate`${renderComponent($$result3, "Fragment", Fragment, { "slot": "content" }, { "default": ($$result4) => renderTemplate` <h3 class="text-2xl font-bold tracking-tight dark:text-white sm:text-3xl mb-2">
Project 3: <br><span class="text-2xl">E-commerce website redesign for fashion brand</span> </h3> ` })}` })} ${renderComponent($$result2, "Testimonials", $$Testimonials, { "title": "Client testimonials", "subtitle": "Discover what clients have to say about their experiences working with me.", "testimonials": [
{
testimonial: `She took our vague concept and turned it into a visual masterpiece that perfectly aligned with our goals. Her attention to detail and ability to translate ideas into compelling visuals exceeded our expectations.`,
name: "Mark Thompson",
job: "Creative director",
image: {
src: "https://images.unsplash.com/photo-1500648767791-00dcc994a43e?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=774&q=80",
alt: "Mark Thompson Image"
}
},
{
testimonial: `She transformed our brand identity with her creative finesse, capturing our essence in every element. Her dedication and talent truly shine through her work.`,
name: "Emily Martinez",
job: "CEO",
image: {
src: "https://images.unsplash.com/photo-1554151228-14d9def656e4?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=772&q=80",
alt: "Emily Martinez Image"
}
},
{
testimonial: `She has an uncanny ability to communicate emotions and stories. She crafted a logo for our NGO that not only represents our cause but also evokes empathy. Her professionalism and commitment make her a designer of exceptional caliber.`,
name: "Laura Simmons",
job: "Founder of an NGO",
image: {
src: "https://images.unsplash.com/photo-1554727242-741c14fa561c?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=774&q=80",
alt: "Laura Simmons Image"
}
},
{
testimonial: `We entrusted Sarah with revamping our website's user interface, and the results were astounding. Her intuitive design sense enhanced user experience, leading to a significant increase in engagement. She's a designer who truly understands the synergy of aesthetics and functionality.`,
name: "Alex Foster",
job: "Director of web services",
image: {
src: "https://images.unsplash.com/photo-1599566150163-29194dcaad36?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=774&q=80",
alt: "Alex Foster Image"
}
},
{
testimonial: `She took our vision and elevated it beyond imagination. Her ability to capture brand essence and translate it into design is nothing short of remarkable. Working with her has been an inspiring journey.`,
name: "Jessica Collins",
job: "Product Manager",
image: {
src: "https://images.unsplash.com/photo-1548142813-c348350df52b?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=778&q=80",
alt: "Jessica Collins Image"
}
},
{
testimonial: `Her ability to transform concepts into captivating visuals is nothing short of extraordinary. She took our event poster idea and turned it into a visual masterpiece that perfectly captured the essence of our festival. Sarah's dedication, creativity, and knack for delivering beyond expectations make her an invaluable asset to any project.`,
name: "Michael Carter",
job: "Event Coordinator",
image: {
src: "https://images.unsplash.com/photo-1566492031773-4f4e44671857?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=774&q=80",
alt: "Michael Carter Image"
}
}
] })} ${renderComponent($$result2, "CallToAction", $$CallToAction, { "title": "Let's create together", "subtitle": "Ready to transform your vision into captivating designs?", "actions": [
{
variant: "primary",
text: "Hire me",
href: "/"
}
] })} ${renderComponent($$result2, "BlogLatestPosts", $$BlogLatestPosts, { "id": "blog", "title": "Explore my insightful articles on my blog", "information": `Dive into a realm of design wisdom and creative inspiration, where you'll find invaluable insights, practical tips, and captivating narratives that elevate and enrich your creative journey.` }, { "bg": ($$result3) => renderTemplate`${renderComponent($$result3, "Fragment", Fragment, { "slot": "bg" }, { "default": ($$result4) => renderTemplate` <div class="absolute inset-0 bg-blue-50 dark:bg-transparent"></div> ` })}` })} `, "header": ($$result2) => renderTemplate`${renderComponent($$result2, "Fragment", Fragment, { "slot": "header" }, { "default": ($$result3) => renderTemplate` ${renderComponent($$result3, "Header", $$Header, { "links": [
{ text: "Home", href: "#" },
{ text: "About", href: "#about" },
{ text: "Resume", href: "#resume" },
{ text: "Porfolio", href: "#porfolio" },
{ text: "Blog", href: "#blog" },
{ text: "Github", href: "https://github.com/onwidget" }
], "actions": [
{
text: "Hire me",
href: "#"
}
], "isSticky": true, "showToggleTheme": true })} ` })}` })}`;
}, "/Users/bugracanata/Developer/[Telsiz]/ARC-Web-Sitesi/src/pages/homes/personal.astro", void 0);
const $$file = "/Users/bugracanata/Developer/[Telsiz]/ARC-Web-Sitesi/src/pages/homes/personal.astro";
const $$url = "/homes/personal";
const _page = /*#__PURE__*/Object.freeze(/*#__PURE__*/Object.defineProperty({
__proto__: null,
default: $$Personal,
file: $$file,
url: $$url
}, Symbol.toStringTag, { value: 'Module' }));
const page = () => _page;
export { page };
+236
View File
@@ -0,0 +1,236 @@
import { e as createAstro, c as createComponent, r as renderComponent, a as renderTemplate, m as maybeRenderHead, b as addAttribute, F as Fragment, u as unescapeHTML } from '../../chunks/astro/server_BfDhyAjM.mjs';
import 'kleur/colors';
import { b as $$Button, $ as $$PageLayout, a as $$Header, h as headerData } from '../../chunks/PageLayout_CDwIBOQs.mjs';
import { $ as $$Hero2 } from '../../chunks/Hero2_IyzHLWsh.mjs';
import { $ as $$Features } from '../../chunks/Features_DJK3TJ_6.mjs';
import { $ as $$Steps2 } from '../../chunks/Steps2_C6F2o1Pc.mjs';
import { $ as $$Content } from '../../chunks/Content_C1F3b01L.mjs';
import { a as $$Icon } from '../../chunks/Icon_C8ArtCuv.mjs';
import { $ as $$Headline } from '../../chunks/Headline_ClseMP2_.mjs';
import { $ as $$WidgetWrapper } from '../../chunks/WidgetWrapper_C6M78dTL.mjs';
import { $ as $$FAQs } from '../../chunks/FAQs_Vju24_pw.mjs';
import { $ as $$BlogLatestPosts } from '../../chunks/BlogLatestPosts_BSq_8-iD.mjs';
export { renderers } from '../../renderers.mjs';
const $$Astro$1 = createAstro("https://www.radio.org.tr");
const $$Pricing = createComponent(async ($$result, $$props, $$slots) => {
const Astro2 = $$result.createAstro($$Astro$1, $$props, $$slots);
Astro2.self = $$Pricing;
const {
title = "",
subtitle = "",
tagline = "",
prices = [],
id,
isDark = false,
classes = {},
bg = await Astro2.slots.render("bg")
} = Astro2.props;
return renderTemplate`${renderComponent($$result, "WidgetWrapper", $$WidgetWrapper, { "id": id, "isDark": isDark, "containerClass": `max-w-7xl mx-auto ${classes?.container ?? ""}`, "bg": bg }, { "default": async ($$result2) => renderTemplate` ${renderComponent($$result2, "Headline", $$Headline, { "title": title, "subtitle": subtitle, "tagline": tagline })} ${maybeRenderHead()}<div class="flex items-stretch justify-center"> <div class="grid grid-cols-3 gap-4 dark:text-white sm:grid-cols-2 md:grid-cols-2 lg:grid-cols-3 xl:grid-cols-3"> ${prices && prices.map(({ title: title2, subtitle: subtitle2, price, period, items, callToAction, hasRibbon = false, ribbonTitle }) => renderTemplate`<div class="col-span-3 mx-auto flex w-full sm:col-span-1 md:col-span-1 lg:col-span-1 xl:col-span-1 intersect-once motion-safe:md:intersect:animate-fade motion-safe:md:opacity-0 intersect-quarter"> ${price && period && renderTemplate`<div class="rounded-lg backdrop-blur border border-gray-200 dark:border-gray-700 bg-white dark:bg-slate-900 shadow px-6 py-8 flex w-full max-w-sm flex-col justify-between text-center"> ${hasRibbon && ribbonTitle && renderTemplate`<div class="absolute right-[-5px] 2xl:right-[-8px] rtl:right-auto rtl:left-[-8px] rtl:2xl:left-[-10px] top-[-5px] 2xl:top-[-10px] z-[1] h-[100px] w-[100px] overflow-hidden text-right"> <span class="absolute top-[19px] right-[-21px] rtl:right-auto rtl:left-[-21px] block w-full rotate-45 rtl:-rotate-45 bg-green-700 text-center text-[10px] font-bold uppercase leading-5 text-white shadow-[0_3px_10px_-5px_rgba(0,0,0,0.3)] before:absolute before:left-0 before:top-full before:z-[-1] before:border-[3px] before:border-r-transparent before:border-b-transparent before:border-l-green-800 before:border-t-green-800 before:content-[''] after:absolute after:right-0 after:top-full after:z-[-1] after:border-[3px] after:border-l-transparent after:border-b-transparent after:border-r-green-800 after:border-t-green-800 after:content-['']"> ${ribbonTitle} </span> </div>`} <div class="px-2 py-0"> ${title2 && renderTemplate`<h3 class="text-center text-xl font-semibold uppercase leading-6 tracking-wider mb-2">${title2}</h3>`} ${subtitle2 && renderTemplate`<p class="font-light sm:text-lg text-gray-600 dark:text-slate-400">${subtitle2}</p>`} <div class="my-8"> <div class="flex items-center justify-center text-center mb-1"> <span class="text-5xl">$</span> <span class="text-6xl font-extrabold">${price}</span> </div> <span class="text-base leading-6 lowercase text-gray-600 dark:text-slate-400">${period}</span> </div> ${items && renderTemplate`<ul class="my-8 md:my-10 space-y-2 text-left"> ${items.map(
({ description, icon }) => description && renderTemplate`<li class="mb-1.5 flex items-start space-x-3 leading-7"> <div class="rounded-full bg-primary mt-1"> ${renderComponent($$result2, "Icon", $$Icon, { "name": icon ? icon : "tabler:check", "class": "w-5 h-5 font-bold p-1 text-white" })} </div> <span>${description}</span> </li>`
)} </ul>`} </div> ${callToAction && renderTemplate`<div${addAttribute(`flex justify-center`, "class")}> ${typeof callToAction === "string" ? renderTemplate`${renderComponent($$result2, "Fragment", Fragment, {}, { "default": async ($$result3) => renderTemplate`${unescapeHTML(callToAction)}` })}` : callToAction && callToAction.href && renderTemplate`${renderComponent($$result2, "Button", $$Button, { ...hasRibbon ? { variant: "primary" } : {}, ...callToAction })}`} </div>`} </div>`} </div>`)} </div> </div> ` })}`;
}, "/Users/bugracanata/Developer/[Telsiz]/ARC-Web-Sitesi/src/components/widgets/Pricing.astro", void 0);
const $$Astro = createAstro("https://www.radio.org.tr");
const $$Saas = createComponent(($$result, $$props, $$slots) => {
const Astro2 = $$result.createAstro($$Astro, $$props, $$slots);
Astro2.self = $$Saas;
const metadata = {
title: "SaaS Landing Page"
};
return renderTemplate`${renderComponent($$result, "Layout", $$PageLayout, { "metadata": metadata }, { "default": ($$result2) => renderTemplate` ${renderComponent($$result2, "Hero2", $$Hero2, { "tagline": "SaaS Web Demo", "actions": [
{ variant: "primary", target: "_blank", text: "Get Started", href: "https://github.com/onwidget/astrowind" },
{ text: "Learn more", href: "#features" }
], "image": {
src: "https://images.unsplash.com/photo-1580481072645-022f9a6dbf27?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=2070&q=80",
alt: "AstroWind Hero Image"
} }, { "subtitle": ($$result3) => renderTemplate`${renderComponent($$result3, "Fragment", Fragment, { "slot": "subtitle" }, { "default": ($$result4) => renderTemplate` ${maybeRenderHead()}<span class="hidden sm:inline">
Elevate your website creation process with <span class="font-semibold">AstroWind</span>'s SaaS solutions.</span>
Seamlessly blend the power of Astro 5.0 and Tailwind CSS to craft websites that resonate with your brand and audience.
` })}`, "title": ($$result3) => renderTemplate`${renderComponent($$result3, "Fragment", Fragment, { "slot": "title" }, { "default": ($$result4) => renderTemplate`
Simplify web design with Astrowind: <br> your ultimate <span class="text-accent dark:text-white">SaaS</span> companion<br> ` })}` })} ${renderComponent($$result2, "Features", $$Features, { "id": "features", "title": "Why choose AstroWind?", "subtitle": "Each of the following features enhances AstroWind's value proposition.", "columns": 2, "items": [
{
title: "Integration of Astro 5.0 and Tailwind CSS",
description: "Offers a powerful combination that enhances both the development process and the end-user experience. Also, allows to build dynamic and visually stunning websites with optimized performance.",
icon: "tabler:layers-union"
},
{
title: "Versatile design for startups, small businesses, and more",
description: `Easily customize AstroWind to harmonize with the unique branding and identity of your venture. AstroWind's versatile design adapts to suit your needs.`,
icon: "tabler:artboard"
},
{
title: "Effortless customization for portfolios and marketing sites",
description: "With intuitive customization, easily showcase portfolio pieces, case studies, project highlights, and relevant content. Ideal for creative professionals and businesses looking to highlight their expertise.",
icon: "tabler:writing"
},
{
title: "Optimized landing pages and engaging blogs",
description: `Landing pages are strategically designed to captivate visitors and prompt specific actions. Additionally, the blog creation feature empowers sharing insights, engaging the audience.`,
icon: "tabler:podium"
},
{
title: "Fast loading times and production-ready code",
description: `Using Astro 5.0 ensures fast loading and seamless rendering, enhancing browsing. The code follows best practices, improving user experience, SEO, and reducing bounce rates.`,
icon: "tabler:rocket"
},
{
title: "SEO-optimized structure for enhanced visibility",
description: `Follows SEO best practices with clean code, semantic HTML markup, and fast loading, enhancing search engine rankings. AstroWind's SEO structure ensures visibility to potential customers and clients.`,
icon: "tabler:eyeglass"
}
] })} ${renderComponent($$result2, "Content", $$Content, { "title": "Use cases", "subtitle": "Discover how AstroWind's versatile template serves as the ideal solution for various use cases, providing tailored solutions to drive success.", "isReversed": true, "items": [
{
title: "Description:",
description: "Are you a startup with big dreams? AstroWind propels your success. Our template forges a seamless online presence, attracting investors and customers from day one. Astro 5.0 and Tailwind CSS ensure striking, responsive sites, leaving lasting impressions. Countless startups leverage AstroWind to kickstart their journey and resonate with audiences."
},
{
title: "Benefits:",
description: `Allow startups to quickly create professional websites without investing extensive time and resources. <br /> Make a memorable first impression with visually appealing design elements that highlight your startup's unique value proposition. <br /> Ensures your website looks stunning and works well on all devices. <br /> Engage potential investors and customers with engaging content, clear messaging, and intuitive navigation.`
}
], "image": {
src: "https://images.unsplash.com/photo-1620558138198-cfb9b4f3c294?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=1671&q=80",
alt: "Startup Image"
} }, { "bg": ($$result3) => renderTemplate`${renderComponent($$result3, "Fragment", Fragment, { "slot": "bg" }, { "default": ($$result4) => renderTemplate` <div class="absolute inset-0 bg-blue-50 dark:bg-transparent"></div> ` })}`, "content": ($$result3) => renderTemplate`${renderComponent($$result3, "Fragment", Fragment, { "slot": "content" }, { "default": ($$result4) => renderTemplate` <h3 class="text-2xl font-bold tracking-tight dark:text-white sm:text-3xl mb-2">
Startup success stories: <br><span class="text-2xl">Launching with AstroWind</span> </h3> ` })}` })} ${renderComponent($$result2, "Content", $$Content, { "isAfterContent": true, "items": [
{
title: "Description:",
description: `For SaaS businesses, user experience is key. AstroWind enhances showcasing SaaS solutions intuitively. The template's Astro 5.0 and Tailwind CSS integration guarantees user-friendly experience, mirroring your software's efficiency. Customize pages to communicate SaaS value and solutions for your audience.`
},
{
title: "Benefits:",
description: `Ensuring a cohesive and user-centric design for your SaaS website. <br /> Effectively communicate complex SaaS features through visual aids, animations, and interactive elements. <br /> Prioritize user needs and pain points through well-structured layouts and clear navigation. <br /> Encourage visitors to take action with strategically placed CTAs. <br /> Ensures your SaaS website works seamlessly across all devices.`
}
], "image": {
src: "https://images.unsplash.com/photo-1531973486364-5fa64260d75b?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=1658&q=80",
alt: "SaaS Businesses Image"
} }, { "bg": ($$result3) => renderTemplate`${renderComponent($$result3, "Fragment", Fragment, { "slot": "bg" }, { "default": ($$result4) => renderTemplate` <div class="absolute inset-0 bg-blue-50 dark:bg-transparent"></div> ` })}`, "content": ($$result3) => renderTemplate`${renderComponent($$result3, "Fragment", Fragment, { "slot": "content" }, { "default": ($$result4) => renderTemplate` <h3 class="text-2xl font-bold tracking-tight dark:text-white sm:text-3xl mb-2">
SaaS showcase: <br><span class="text-2xl">Streamlining user experience</span> </h3> ` })}` })} ${renderComponent($$result2, "Content", $$Content, { "isReversed": true, "isAfterContent": true, "items": [
{
title: "Description:",
description: `Your portfolio is your masterpiece, and AstroWind is your canvas. Whether you're a designer, photographer, artist, or any other creative professional, AstroWind empowers you to showcase your work with elegance and sophistication. Tailored to highlight your creative projects, AstroWind's templates offer a visually immersive experience that lets your portfolio shine.`
},
{
title: "Benefits:",
description: `Serve as a captivating backdrop to showcase your creative work, capturing attention and leaving a lasting impression. <br /> Tailor your portfolio to reflect your unique style and artistic vision. <br /> Prioritizes visuals, allowing you to present your work in high-resolution detail that draws viewers into your creations. <br /> Enables seamless navigation for effortless portfolio exploration.`
}
], "image": {
src: "https://images.unsplash.com/photo-1635070041078-e363dbe005cb?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=2070&q=80",
alt: "Portfolio Image"
} }, { "bg": ($$result3) => renderTemplate`${renderComponent($$result3, "Fragment", Fragment, { "slot": "bg" }, { "default": ($$result4) => renderTemplate` <div class="absolute inset-0 bg-blue-50 dark:bg-transparent"></div> ` })}`, "content": ($$result3) => renderTemplate`${renderComponent($$result3, "Fragment", Fragment, { "slot": "content" }, { "default": ($$result4) => renderTemplate` <h3 class="text-2xl font-bold tracking-tight dark:text-white sm:text-3xl mb-2">
Creative portfolios: <br><span class="text-2xl">Highlighting your work</span> </h3> ` })}` })} ${renderComponent($$result2, "Content", $$Content, { "items": [
{
title: "Description:",
description: `For small businesses, a well-crafted website can be a game-changer. AstroWind empowers small businesses to not only establish a credible online presence but also convert visitors into loyal customers. The template's thoughtful design and optimization features ensure that your website doesn't just attract attention but also guides visitors through a seamless journey, ultimately leading to conversions.`
},
{
title: "Benefits:",
description: `Present your small business with a professional and polished website that instills confidence and trust among visitors. <br /> Strategically placed CTAs, user-friendly forms, and optimized layouts work together to drive user engagement and conversions. <br /> Ensure a smooth browsing experience, reducing bounce rates and encouraging interaction.`
}
], "image": {
src: "https://images.unsplash.com/photo-1514621166532-aa7eb1a3a2f4?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=774&q=80",
alt: "Small Business Image"
} }, { "bg": ($$result3) => renderTemplate`${renderComponent($$result3, "Fragment", Fragment, { "slot": "bg" }, { "default": ($$result4) => renderTemplate` <div class="absolute inset-0 bg-blue-50 dark:bg-transparent"></div> ` })}`, "content": ($$result3) => renderTemplate`${renderComponent($$result3, "Fragment", Fragment, { "slot": "content" }, { "default": ($$result4) => renderTemplate` <h3 class="text-2xl font-bold tracking-tight dark:text-white sm:text-3xl mb-2">
Small business growth: <br><span class="text-2xl">Converting visitors into customers</span> </h3> ` })}` })} ${renderComponent($$result2, "Pricing", $$Pricing, { "title": "Flexible pricing plans", "prices": [
{
title: "free",
subtitle: "Access to core features and a wide range of templates",
price: "0",
period: "/ month",
callToAction: {
target: "_blank",
text: "Get Started for Free",
href: "#"
}
},
{
title: "pro",
subtitle: "Premium templates and advanced customization",
price: 15,
period: "/ Month",
callToAction: {
target: "_blank",
text: "Upgrade to Pro",
href: "#"
},
hasRibbon: true,
ribbonTitle: "popular"
},
{
title: "Enterprise",
subtitle: "Tailored solutions for large-scale projects",
price: 45,
period: "/ Month",
callToAction: {
target: "_blank",
text: "Unlock Enterprise Features",
href: "#"
}
}
] })} ${renderComponent($$result2, "FAQs", $$FAQs, { "title": "Frequently Asked Questions", "items": [
{
title: "Is AstroWind compatible with the latest versions of Astro and Tailwind CSS?",
description: "Yes, AstroWind is designed to be compatible with the latest versions of both Astro and Tailwind CSS. This ensures that you can harness the full capabilities of these technologies while benefiting from the features offered by AstroWind.",
icon: "tabler:chevrons-right"
},
{
title: "Can I use AstroWind for both personal and commercial projects?",
description: `Certainly! AstroWind is versatile and can be used for a wide range of projects, including both personal and commercial endeavors. Whether you're building a professional portfolio, launching a startup, or creating a marketing website, AstroWind has you covered.`,
icon: "tabler:chevrons-right"
},
{
title: "What level of coding knowledge is required to use AstroWind?",
description: "While some familiarity with HTML, CSS, and web development concepts is helpful, the user-friendly interface and customization options allow those with limited coding experience to create impressive websites. For more advanced users, AstroWind offers extensive customization capabilities.",
icon: "tabler:chevrons-right"
},
{
title: "Is customer support available for AstroWind users seeking guidance?",
description: `Absolutely, our dedicated customer support team is here to assist you with any questions or challenges you may encounter. Feel free to reach out to us through our support channels, and we'll be happy to provide the help you need.`,
icon: "tabler:chevrons-right"
}
] }, { "bg": ($$result3) => renderTemplate`${renderComponent($$result3, "Fragment", Fragment, { "slot": "bg" }, { "default": ($$result4) => renderTemplate` <div class="absolute inset-0 bg-blue-50 dark:bg-transparent"></div> ` })}` })} ${renderComponent($$result2, "Steps2", $$Steps2, { "title": "Reach out to us", "subtitle": "Have questions? Feel free to contact us using the form below. We're here to help!", "callToAction": {
text: "Contact us",
href: "/"
}, "items": [
{
title: "Email us",
description: "contact@support.com",
icon: "tabler:mail"
},
{
title: "Call us",
description: "+1 (234) 567-890",
icon: "tabler:headset"
},
{
title: "Follow us",
description: "@example",
icon: "tabler:brand-twitter"
}
] })} ${renderComponent($$result2, "BlogLatestPosts", $$BlogLatestPosts, { "id": "blog", "title": "Stay informed with AstroWind's blog", "information": `Explore our collection of articles, guides, and tutorials on web development, design trends, and using AstroWind effectively for your projects.` }, { "bg": ($$result3) => renderTemplate`${renderComponent($$result3, "Fragment", Fragment, { "slot": "bg" }, { "default": ($$result4) => renderTemplate` <div class="absolute inset-0 bg-blue-50 dark:bg-transparent"></div> ` })}` })} `, "header": ($$result2) => renderTemplate`${renderComponent($$result2, "Fragment", Fragment, { "slot": "header" }, { "default": ($$result3) => renderTemplate` ${renderComponent($$result3, "Header", $$Header, { ...headerData, "actions": [
{
variant: "secondary",
text: "Login",
href: "#"
},
{
variant: "primary",
text: "Sign Up",
href: "#"
}
], "isSticky": true })} ` })}` })}`;
}, "/Users/bugracanata/Developer/[Telsiz]/ARC-Web-Sitesi/src/pages/homes/saas.astro", void 0);
const $$file = "/Users/bugracanata/Developer/[Telsiz]/ARC-Web-Sitesi/src/pages/homes/saas.astro";
const $$url = "/homes/saas";
const _page = /*#__PURE__*/Object.freeze(/*#__PURE__*/Object.defineProperty({
__proto__: null,
default: $$Saas,
file: $$file,
url: $$url
}, Symbol.toStringTag, { value: 'Module' }));
const page = () => _page;
export { page };
File diff suppressed because one or more lines are too long
+257
View File
@@ -0,0 +1,257 @@
import { e as createAstro, c as createComponent, m as maybeRenderHead, b as addAttribute, a as renderTemplate, r as renderComponent } from '../chunks/astro/server_BfDhyAjM.mjs';
import 'kleur/colors';
import { b as $$Button, $ as $$PageLayout } from '../chunks/PageLayout_CDwIBOQs.mjs';
import { $ as $$HeroText } from '../chunks/HeroText_Cz9XBA4S.mjs';
import { $ as $$Headline } from '../chunks/Headline_ClseMP2_.mjs';
import { $ as $$WidgetWrapper } from '../chunks/WidgetWrapper_C6M78dTL.mjs';
import { $ as $$Features2 } from '../chunks/Features2_D7nFOVdo.mjs';
export { renderers } from '../renderers.mjs';
const $$Astro$2 = createAstro("https://www.radio.org.tr");
const $$Form = createComponent(($$result, $$props, $$slots) => {
const Astro2 = $$result.createAstro($$Astro$2, $$props, $$slots);
Astro2.self = $$Form;
const { inputs, textarea, disclaimer, button = "\u0130leti\u015Fim", description = "" } = Astro2.props;
return renderTemplate`${maybeRenderHead()}<form method="POST" data-netlify="true" name="contact-form" action="/iletisim?success=true" netlify-honeypot="bot-field"> <!-- Hidden honeypot field for spam protection --> <div style="display: none;"> <label>
Don't fill this out if you're human:
<input name="bot-field"> </label> </div> ${inputs && inputs.map(
({ type = "text", name, label = "", autocomplete = "on", placeholder = "" }) => name && renderTemplate`<div class="mb-6"> ${label && renderTemplate`<label${addAttribute(name, "for")} class="block text-sm font-medium"> ${label} </label>`} <input${addAttribute(type, "type")}${addAttribute(name, "name")}${addAttribute(name, "id")}${addAttribute(autocomplete, "autocomplete")}${addAttribute(placeholder, "placeholder")} class="py-3 px-4 block w-full text-md rounded-lg border border-gray-200 dark:border-gray-700 bg-white dark:bg-slate-900"> </div>`
)} ${textarea && renderTemplate`<div> <label for="textarea" class="block text-sm font-medium"> ${textarea.label} </label> <textarea id="textarea"${addAttribute(textarea.name ? textarea.name : "message", "name")}${addAttribute(textarea.rows ? textarea.rows : 4, "rows")}${addAttribute(textarea.placeholder, "placeholder")} class="py-3 px-4 block w-full text-md rounded-lg border border-gray-200 dark:border-gray-700 bg-white dark:bg-slate-900"></textarea> </div>`} ${disclaimer && renderTemplate`<div class="mt-3 flex items-start"> <div class="flex mt-0.5"> <input id="disclaimer" name="disclaimer" type="checkbox" class="cursor-pointer mt-1 py-3 px-4 block w-full text-md rounded-lg border border-gray-200 dark:border-gray-700 bg-white dark:bg-slate-900"> </div> <div class="ml-3"> <label for="disclaimer" class="cursor-pointer select-none text-sm text-gray-600 dark:text-gray-400"> ${disclaimer.label} </label> </div> </div>`} ${button && renderTemplate`<div class="mt-10 grid"> ${renderComponent($$result, "Button", $$Button, { "variant": "primary", "type": "submit" }, { "default": ($$result2) => renderTemplate`${button}` })} </div>`} ${description && renderTemplate`<div class="mt-3 text-center"> <p class="text-sm text-gray-600 dark:text-gray-400">${description}</p> </div>`} </form>`;
}, "/Users/bugracanata/Developer/[Telsiz]/ARC-Web-Sitesi/src/components/ui/Form.astro", void 0);
const $$Astro$1 = createAstro("https://www.radio.org.tr");
const $$Contact = createComponent(async ($$result, $$props, $$slots) => {
const Astro2 = $$result.createAstro($$Astro$1, $$props, $$slots);
Astro2.self = $$Contact;
const {
title = await Astro2.slots.render("title"),
subtitle = await Astro2.slots.render("subtitle"),
tagline = await Astro2.slots.render("tagline"),
inputs,
textarea,
disclaimer,
button,
description,
id,
isDark = false,
classes = {},
bg = await Astro2.slots.render("bg")
} = Astro2.props;
return renderTemplate`${renderComponent($$result, "WidgetWrapper", $$WidgetWrapper, { "id": id, "isDark": isDark, "containerClass": `max-w-7xl mx-auto ${classes?.container ?? ""}`, "bg": bg }, { "default": async ($$result2) => renderTemplate` ${renderComponent($$result2, "Headline", $$Headline, { "title": title, "subtitle": subtitle, "tagline": tagline })} ${inputs && renderTemplate`${maybeRenderHead()}<div class="flex flex-col max-w-xl mx-auto rounded-lg backdrop-blur border border-gray-200 dark:border-gray-700 bg-white dark:bg-slate-900 shadow p-4 sm:p-6 lg:p-8 w-full"> ${renderComponent($$result2, "FormContainer", $$Form, { "inputs": inputs, "textarea": textarea, "disclaimer": disclaimer, "button": button, "description": description })} </div>`}` })}`;
}, "/Users/bugracanata/Developer/[Telsiz]/ARC-Web-Sitesi/src/components/widgets/Contact.astro", void 0);
const $$Astro = createAstro("https://www.radio.org.tr");
const $$Iletisim = createComponent(($$result, $$props, $$slots) => {
const Astro2 = $$result.createAstro($$Astro, $$props, $$slots);
Astro2.self = $$Iletisim;
const metadata = {
title: "\u{1F4E1} \u0130leti\u015Fim - ARC YM1KTC"
};
const url = Astro2.url;
const success = url.searchParams.get("success");
const error = url.searchParams.get("error");
return renderTemplate`${renderComponent($$result, "Layout", $$PageLayout, { "metadata": metadata }, { "default": ($$result2) => renderTemplate` ${success && renderTemplate`${maybeRenderHead()}<div class="bg-green-50 border border-green-200 text-green-800 px-4 py-3 rounded-lg mb-6 mx-6 mt-6"> <div class="flex items-center"> <svg class="w-5 h-5 mr-2" fill="currentColor" viewBox="0 0 20 20"> <path fill-rule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z" clip-rule="evenodd"></path> </svg> <strong>Başarılı!</strong> Mesajınız başarıyla gönderildi. En kısa sürede size dönüş yapacağız. 73!
</div> </div>`}${error && renderTemplate`<div class="bg-red-50 border border-red-200 text-red-800 px-4 py-3 rounded-lg mb-6 mx-6 mt-6"> <div class="flex items-center"> <svg class="w-5 h-5 mr-2" fill="currentColor" viewBox="0 0 20 20"> <path fill-rule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zM8.707 7.293a1 1 0 00-1.414 1.414L8.586 10l-1.293 1.293a1 1 0 101.414 1.414L10 11.414l1.293 1.293a1 1 0 001.414-1.414L11.414 10l1.293-1.293a1 1 0 00-1.414-1.414L10 8.586 8.707 7.293z" clip-rule="evenodd"></path> </svg> <strong>Hata!</strong> Mesaj gönderilirken bir sorun oluştu. Lütfen tekrar deneyin veya doğrudan e-posta gönderin.
</div> </div>`} ${renderComponent($$result2, "HeroText", $$HeroText, { "tagline": "\u{1F4E1} \u0130leti\u015Fim", "title": "\u{1F4FB} 73! Bizimle \u0130leti\u015Fime Ge\xE7in!" })} ${renderComponent($$result2, "ContactUs", $$Contact, { "id": "form", "title": "\u{1F4E8} CQ CQ CQ - Bug\xFCn bize mesaj g\xF6nderin!", "subtitle": "\u{1F4FB} H\u0131zl\u0131 yan\u0131tlar i\xE7in SSS b\xF6l\xFCm\xFCm\xFCze g\xF6z at\u0131n. Arad\u0131\u011F\u0131n\u0131z \xE7\xF6z\xFCm\xFC orada bulabilirsiniz! Bulamazsan\u0131z, destek ekibimiz size yard\u0131mc\u0131 olmaktan mutluluk duyar. 73!", "inputs": [
{
type: "text",
name: "name",
label: "\u{1F464} Ad Soyad"
},
{
type: "email",
name: "email",
label: "\u{1F4EE} E-posta"
},
{
type: "text",
name: "callsign",
label: "\u{1F4FB} \xC7a\u011Fr\u0131 \u0130\u015Fareti (\u0130ste\u011Fe ba\u011Fl\u0131)"
}
], "textarea": {
label: "\u{1F4DD} Mesaj"
}, "disclaimer": {
label: "Bu ileti\u015Fim formunu g\xF6ndererek, ki\u015Fisel bilgilerinizin toplanmas\u0131n\u0131 kabul etmi\u015F olursunuz."
}, "description": "\u{1F680} Destek ekibimiz genellikle 24 i\u015F saati i\xE7inde yan\u0131t verir. QSL!" })} ${renderComponent($$result2, "Features2", $$Features2, { "title": "\u{1F6E0}\uFE0F Size yard\u0131mc\u0131 olmak i\xE7in buraday\u0131z - 73!", "items": [
{
title: "\u{1F4DE} Genel Destek",
description: `Dernek faaliyetleri, web sitesi navigasyonu, etkinlik bilgileri veya genel sorular\u0131n\u0131z i\xE7in bizimle ileti\u015Fime ge\xE7in.`
},
{
title: "\u{1F4DA} E\u011Fitim Programlar\u0131",
description: "Amat\xF6r telsiz e\u011Fitimi, lisans s\u0131nav haz\u0131rl\u0131\u011F\u0131 ve teknik kurslar hakk\u0131nda sorular\u0131n\u0131z i\xE7in bizimle ileti\u015Fime ge\xE7in.",
callToAction: {
text: "S\u0131nav Haz\u0131rl\u0131k",
href: "https://sinav.radio.org.tr/",
target: "_blank"
}
},
{
title: "\u2699\uFE0F Teknik Destek",
description: "R\xF6le sistemleri, anten kurulumu, frekans ayarlar\u0131 ve di\u011Fer teknik konularda destek almak i\xE7in bizimle ileti\u015Fime ge\xE7in.",
callToAction: {
text: "DMR Editor",
href: "https://dmr.radio.org.tr/",
target: "_blank"
}
},
{
title: "\u{1F4DE} Telefon",
description: "+90 510 220 50 24 (dernek hatt\u0131)",
icon: "tabler:headset"
},
{
title: "E-posta",
description: "bilgi@radio.org.tr",
icon: "tabler:mail",
href: "mailto:bilgi@radio.org.tr"
},
{
title: "\u{1F4CD} Adres",
description: "34433 Beyo\u011Flu \u2013 \u0130stanbul",
icon: "tabler:map-pin"
}
] })} ${renderComponent($$result2, "Features2", $$Features2, { "title": "\u{1F4FB} DMR ID'ler", "tagline": "\u{1F50A} DMR \u0130leti\u015Fim", "columns": 3, "items": [
{
title: "YM0KTC",
description: "2867241 (B\xF6lge 0)",
icon: "tabler:radio"
},
{
title: "YM1KTC",
description: "2866808 (B\xF6lge 1)",
icon: "tabler:radio"
},
{
title: "YM2KTR",
description: "2867887 (B\xF6lge 2)",
icon: "tabler:radio"
},
{
title: "YM3KTC",
description: "2867234 (B\xF6lge 3)",
icon: "tabler:radio"
},
{
title: "YM4KTC",
description: "2867235 (B\xF6lge 4)",
icon: "tabler:radio"
},
{
title: "YM5KTC",
description: "2867187 (B\xF6lge 5)",
icon: "tabler:radio"
},
{
title: "YM6KTB",
description: "2867237 (B\xF6lge 6)",
icon: "tabler:radio"
},
{
title: "YM7KTC",
description: "2867238 (B\xF6lge 7)",
icon: "tabler:radio"
},
{
title: "YM8KTC",
description: "2867239 (B\xF6lge 8)",
icon: "tabler:radio"
},
{
title: "YM9KTC",
description: "2867240 (B\xF6lge 9)",
icon: "tabler:radio"
}
] })} ${renderComponent($$result2, "Features2", $$Features2, { "title": "\u{1F4F1} Sosyal Medya", "tagline": "\u{1F440} Takip Edin", "columns": 3, "items": [
{
title: "\u{1F4F8} Facebook",
description: "Facebook sayfam\u0131zdan g\xFCncel haberler ve etkinliklerimizi takip edin.",
icon: "tabler:brand-facebook",
callToAction: {
text: "Sayfay\u0131 Ziyaret Et",
href: "https://facebook.com/ym1ktc",
target: "_blank",
variant: "link"
}
},
{
title: "\u{1F3A5} YouTube",
description: "YouTube kanal\u0131m\u0131zdan e\u011Fitim videolar\u0131 ve canl\u0131 yay\u0131nlar\u0131 izleyin.",
icon: "tabler:brand-youtube",
callToAction: {
text: "Kanal\u0131 Ziyaret Et",
href: "https://www.youtube.com/@YM1KTC",
target: "_blank",
variant: "link"
}
},
{
title: "\u{1F4F7} Instagram",
description: "Instagram hesab\u0131m\u0131zdan foto\u011Fraf ve video payla\u015F\u0131mlar\u0131m\u0131z\u0131 g\xF6r\xFCn.",
icon: "tabler:brand-instagram",
callToAction: {
text: "Hesab\u0131 Ziyaret Et",
href: "https://www.instagram.com/ym1ktc",
target: "_blank",
variant: "link"
}
},
{
title: "\u{1F4AC} Telegram",
description: "Telegram grubumuzda g\xFCncel tart\u0131\u015Fmalara kat\u0131l\u0131n ve haberle\u015Fin.",
icon: "tabler:brand-telegram",
callToAction: {
text: "Gruba Kat\u0131l",
href: "https://t.me/ym1ktc",
target: "_blank",
variant: "link"
}
},
{
title: "\u{1F426} X (Twitter)",
description: "X (Twitter) hesab\u0131m\u0131zdan anl\u0131k g\xFCncellemeler ve duyurular.",
icon: "tabler:brand-x",
callToAction: {
text: "Hesab\u0131 Takip Et",
href: "https://x.com/ym1ktc",
target: "_blank",
variant: "link"
}
},
{
title: "\u{1F4CB} LinkedIn",
description: "LinkedIn sayfam\u0131zdan profesyonel g\xFCncellemeler ve i\u015F birli\u011Fi f\u0131rsatlar\u0131.",
icon: "tabler:brand-linkedin",
callToAction: {
text: "Sayfay\u0131 Ziyaret Et",
href: "https://www.linkedin.com/company/arctr/",
target: "_blank",
variant: "link"
}
},
{
title: "\u{1F4E7} E-posta",
description: "Do\u011Frudan e-posta ile bizimle ileti\u015Fime ge\xE7in: bilgi@radio.org.tr",
icon: "tabler:mail",
callToAction: {
text: "E-posta G\xF6nder",
href: "mailto:bilgi@radio.org.tr",
variant: "link"
}
}
] })} ` })}`;
}, "/Users/bugracanata/Developer/[Telsiz]/ARC-Web-Sitesi/src/pages/iletisim.astro", void 0);
const $$file = "/Users/bugracanata/Developer/[Telsiz]/ARC-Web-Sitesi/src/pages/iletisim.astro";
const $$url = "/iletisim";
const _page = /*#__PURE__*/Object.freeze(/*#__PURE__*/Object.defineProperty({
__proto__: null,
default: $$Iletisim,
file: $$file,
url: $$url
}, Symbol.toStringTag, { value: 'Module' }));
const page = () => _page;
export { page };
+224
View File
@@ -0,0 +1,224 @@
import { e as createAstro, c as createComponent, m as maybeRenderHead, r as renderComponent, u as unescapeHTML, F as Fragment, a as renderTemplate, x as defineScriptVars } from '../chunks/astro/server_BfDhyAjM.mjs';
import 'kleur/colors';
import { $ as $$PageLayout } from '../chunks/PageLayout_CDwIBOQs.mjs';
import { $ as $$Hero } from '../chunks/Hero_BhRdE1X0.mjs';
import { a as $$Icon } from '../chunks/Icon_C8ArtCuv.mjs';
import { $ as $$Features } from '../chunks/Features_DJK3TJ_6.mjs';
import { $ as $$Content } from '../chunks/Content_C1F3b01L.mjs';
import { $ as $$BlogLatestPosts } from '../chunks/BlogLatestPosts_BSq_8-iD.mjs';
import { $ as $$FAQs } from '../chunks/FAQs_Vju24_pw.mjs';
import { $ as $$Stats } from '../chunks/Stats_DktezWhj.mjs';
import { $ as $$CallToAction } from '../chunks/CallToAction_Dok0D0et.mjs';
import 'clsx';
export { renderers } from '../renderers.mjs';
const $$Astro$1 = createAstro("https://www.radio.org.tr");
const $$Note = createComponent(async ($$result, $$props, $$slots) => {
const Astro2 = $$result.createAstro($$Astro$1, $$props, $$slots);
Astro2.self = $$Note;
const {
icon = "tabler:info-square",
title = await Astro2.slots.render("title"),
description = await Astro2.slots.render("description")
} = Astro2.props;
return renderTemplate`${maybeRenderHead()}<section class="bg-blue-50 dark:bg-slate-800 not-prose"> <div class="max-w-6xl mx-auto px-4 sm:px-6 py-4 text-md text-center font-medium"> ${renderComponent($$result, "Icon", $$Icon, { "name": icon, "class": "w-5 h-5 inline-block align-text-bottom font-bold" })} <span class="font-bold">${unescapeHTML(title)}</span> ${renderComponent($$result, "Fragment", Fragment, {}, { "default": async ($$result2) => renderTemplate`${unescapeHTML(description)}` })} </div> </section>`;
}, "/Users/bugracanata/Developer/[Telsiz]/ARC-Web-Sitesi/src/components/widgets/Note.astro", void 0);
var __freeze = Object.freeze;
var __defProp = Object.defineProperty;
var __template = (cooked, raw) => __freeze(__defProp(cooked, "raw", { value: __freeze(cooked.slice()) }));
var _a;
const $$Astro = createAstro("https://www.radio.org.tr");
const $$FaqSchema = createComponent(($$result, $$props, $$slots) => {
const Astro2 = $$result.createAstro($$Astro, $$props, $$slots);
Astro2.self = $$FaqSchema;
const { faqs } = Astro2.props;
const schema = {
"@context": "https://schema.org",
"@type": "FAQPage",
mainEntity: faqs.map((faq) => ({
"@type": "Question",
name: faq.question,
acceptedAnswer: {
"@type": "Answer",
text: faq.answer
}
}))
};
return renderTemplate(_a || (_a = __template(['<script type="application/ld+json">(function(){', "\n {JSON.stringify(schema, null, 2)}\n})();<\/script>"])), defineScriptVars({ schema }));
}, "/Users/bugracanata/Developer/[Telsiz]/ARC-Web-Sitesi/src/components/structured-data/FaqSchema.astro", void 0);
const $$Index = createComponent(($$result, $$props, $$slots) => {
const metadata = {
title: "Amat\xF6r Radyocular Derne\u011Fi (ARC) - YM1KTC",
ignoreTitleTemplate: true
};
const faqData = [
{
question: "E\u011Fitim programlar\u0131na kimler kat\u0131labilir?",
answer: "E\u011Fitim programlar\u0131m\u0131za amat\xF6r telsiz lisans\u0131 olan veya lisans almaya haz\u0131rlanan herkesi davet ediyoruz."
},
{
question: "Hangi frekans bantlar\u0131nda faaliyet g\xF6steriyorsunuz?",
answer: "Derne\u011Fimiz VHF, UHF ve HF bantlar\u0131nda faaliyet g\xF6stermektedir. \xD6zellikle VHF/UHF r\xF6le sistemleri konusunda aktif \xE7al\u0131\u015Fmalar y\xFCr\xFCt\xFCyoruz."
},
{
question: "E\u011Fitim programlar\u0131n\u0131za nas\u0131l kat\u0131labilirim?",
answer: "E\u011Fitim programlar\u0131 hakk\u0131nda bilgi almak i\xE7in web sitemizi takip edebilir veya bizimle ileti\u015Fime ge\xE7ebilirsiniz. D\xFCzenli olarak temel ve ileri seviye kurslar d\xFCzenlenmektedir."
},
{
question: "Teknik projelerde nas\u0131l yer alabilirim?",
answer: "Teknik projelerimizde yer almak i\xE7in bizimle ileti\u015Fime ge\xE7in. E\u011Fitim programlar\u0131m\u0131za kat\u0131larak projelerimizde aktif rol alabilirsiniz."
},
{
question: "Derne\u011Fin r\xF6le sistemleri nas\u0131l kullan\u0131l\u0131r?",
answer: "R\xF6le sistemlerimizin kullan\u0131m\u0131 hakk\u0131nda bilgi almak i\xE7in teknik dok\xFCmantasyonumuzu inceleyebilir veya e\u011Fitim etkinliklerimize kat\u0131labilirsiniz."
}
];
return renderTemplate`${renderComponent($$result, "Layout", $$PageLayout, { "metadata": metadata }, { "default": ($$result2) => renderTemplate` ${renderComponent($$result2, "Hero", $$Hero, { "actions": [
{
variant: "primary",
text: "\u0130leti\u015Fim",
href: "/iletisim",
icon: "tabler:mail"
},
{
text: "Telegram",
href: "https://t.me/ym1ktc",
icon: "tabler:brand-telegram",
target: "_blank"
},
{
text: "WhatsApp",
href: "https://wa.me/905102205024",
icon: "tabler:brand-whatsapp",
target: "_blank"
},
{ text: "Hakk\u0131m\u0131zda", href: "/hakkimizda" }
], "image": {
src: "~/assets/images/2024/12/ARC_2024_bayrak_logo-Large-1-1024x1024.png",
alt: "ARC Logo",
width: 256,
height: 256
} }, { "subtitle": ($$result3) => renderTemplate`${renderComponent($$result3, "Fragment", Fragment, { "slot": "subtitle" }, { "default": ($$result4) => renderTemplate` ${maybeRenderHead()}<span class="hidden sm:inline"> <span class="font-semibold">YM1KTC</span> çağrı işaretiyle faaliyet gösteren derneğimiz, amatör telsizciliği yaygınlaştırmak,
eğitim vermek ve teknik projelerde bulunmak amacıyla kurulmuştur.</span> <span class="block mb-1 sm:hidden font-bold text-blue-600">ARC: Amatör Radyocular Derneği.</span>
Kâr amacı gütmeyen derneğimiz, röle-beacon altyapıları işletmek ve teknik projeler yürütmek konularında çalışmaktadır.
` })}`, "title": ($$result3) => renderTemplate`${renderComponent($$result3, "Fragment", Fragment, { "slot": "title" }, { "default": ($$result4) => renderTemplate` <span class="text-accent dark:text-white">📡 Amatör Radyocular Derneği</span> <span class="hidden xl:inline"> (ARC)</span> <span class="block text-sm text-gray-600 dark:text-gray-300 mt-2">YM1KTC 73 QRT</span> ` })}` })} <div class="flex justify-center -mt-4 mb-4"> <div class="inline-flex items-center px-4 py-2 rounded-full bg-blue-50 border border-blue-200 dark:bg-gray-800 dark:border-gray-700"> <span class="mr-2"> <svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-radio w-5 h-5 text-blue-600 dark:text-blue-400" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"> <path stroke="none" d="M0 0h24v24H0z" fill="none"></path> <path d="M14 3l-9.371 3.749a1 1 0 0 0 -.629 .928v11.323a1 1 0 0 0 1 1h14a1 1 0 0 0 1 -1v-11a1 1 0 0 0 -1 -1h-14.5"></path> <path d="M4 12h16"></path> <path d="M7 12v-2"></path> <path d="M17 16v.01"></path> <path d="M13 16v.01"></path> </svg> </span> <span class="font-medium text-blue-800 dark:text-blue-300">DMR TG: <span class="font-bold">28690</span></span> </div> </div> ${renderComponent($$result2, "Note", $$Note, { "title": "\u{1F4FB} CQ CQ CQ - Misyonumuz:", "description": "Amat\xF6r telsizcili\u011Fi yayg\u0131nla\u015Ft\u0131rmak, e\u011Fitim vermek ve teknik projeler geli\u015Ftirmek \u2022 73 de YM1KTC" })} ${renderComponent($$result2, "Features", $$Features, { "id": "features", "tagline": "\u{1F4E1} Hizmetlerimiz", "title": "QSL - ARC ile Neler Yapabilirsiniz", "subtitle": "Amat\xF6r radyocular derne\u011Fi olarak sundu\u011Fumuz hizmetler ve faaliyet alanlar\u0131m\u0131z hakk\u0131nda bilgi edinebilirsiniz. 73!", "items": [
{
title: "\u{1F4DA} Amat\xF6r Telsiz E\u011Fitimi",
description: "Amat\xF6r telsizcili\u011Fe yeni ba\u015Flayanlar i\xE7in temel e\u011Fitim programlar\u0131 ve ileri seviye teknik kurslar d\xFCzenliyoruz.",
icon: "tabler:school"
},
{
title: "\u{1F4CB} Lisans S\u0131nav\u0131 Haz\u0131rl\u0131\u011F\u0131",
description: "Amat\xF6r telsiz lisans s\u0131navlar\u0131na haz\u0131rl\u0131k kurslar\u0131 ve deneme s\u0131navlar\u0131 ile \xFCyelerimizi destekliyoruz.",
icon: "tabler:certificate",
callToAction: {
text: "S\u0131nav Sitesine Git",
href: "https://sinav.radio.org.tr/",
target: "_blank"
}
},
{
title: "\u{1F4E1} R\xF6le ve Beacon \u0130\u015Fletmecili\u011Fi",
description: "VHF/UHF r\xF6le sistemi ve beacon altyap\u0131lar\u0131 kurarak amat\xF6r radyocular\u0131n haberle\u015Fmesini kolayla\u015Ft\u0131r\u0131yoruz.",
icon: "tabler:antenna"
},
{
title: "\u{1F310} Ak\u0131ll\u0131 \u0130leti\u015Fim",
description: "Modern ve yenilik\xE7i ileti\u015Fim \xE7\xF6z\xFCmleri geli\u015Ftiriyoruz.",
icon: "tabler:phone-call",
callToAction: {
text: "DMR Editor",
href: "https://dmr.radio.org.tr/",
target: "_blank"
}
},
{
title: "\u2699\uFE0F Teknik Projeler",
description: "Amat\xF6r radyo teknolojileri \xFCzerine ara\u015Ft\u0131rma ve geli\u015Ftirme projeleri y\xFCr\xFCt\xFCyoruz.",
icon: "tabler:settings"
},
{
title: "\u{1F3C6} Etkinlik ve Yar\u0131\u015Fmalar",
description: "Amat\xF6r radyocular aras\u0131 ba\u011Flar\u0131 g\xFC\xE7lendirmek i\xE7in yar\u0131\u015Fmalar ve sosyal etkinlikler d\xFCzenliyoruz.",
icon: "tabler:trophy"
}
] })} ${renderComponent($$result2, "Content", $$Content, { "isReversed": true, "tagline": "\u{1F4FB} Hakk\u0131m\u0131zda", "title": "ARC'nin Temelleri: QSO Geli\u015Fim ve \u0130\u015Fbirli\u011Fi!", "items": [
{
title: "\u{1F4C5} 31 May\u0131s 2024 tarihinde kuruldu",
description: "\u0130stanbul merkezli derne\u011Fimiz, amat\xF6r telsizcili\u011Fi yayg\u0131nla\u015Ft\u0131rmak amac\u0131yla modern bir yakla\u015F\u0131mla kurulmu\u015Ftur."
},
{
title: "\u{1F4FB} YM1KTC \xE7a\u011Fr\u0131 i\u015Fareti",
description: "Derne\u011Fimizin resmi \xE7a\u011Fr\u0131 i\u015Fareti ile t\xFCm amat\xF6r radyo faaliyetlerimizi s\xFCrd\xFCrmekteyiz."
},
{
title: "\u{1F310} Geni\u015F \xFCyelik a\u011F\u0131",
description: "T\xFCrkiye genelinde amat\xF6r radyocular\u0131m\u0131z\u0131 bir araya getirerek g\xFC\xE7l\xFC bir topluluk olu\u015Fturmaktay\u0131z."
}
], "image": {
src: "~/assets/images/2024/12/ARC_2024_bayrak_logo-Large-1-1024x1024.png",
alt: "ARC Logo",
width: 1024,
height: 1024
} }, { "bg": ($$result3) => renderTemplate`${renderComponent($$result3, "Fragment", Fragment, { "slot": "bg" }, { "default": ($$result4) => renderTemplate` <div class="absolute inset-0 bg-blue-50 dark:bg-transparent"></div> ` })}`, "content": ($$result3) => renderTemplate`${renderComponent($$result3, "Fragment", Fragment, { "slot": "content" }, { "default": ($$result4) => renderTemplate` <h3 class="text-2xl font-bold tracking-tight dark:text-white sm:text-3xl mb-2">
📡 Modern temeller üzerine kurulan derneğimiz
</h3>
Amatör radyo dünyasında öncü bir yaklaşım benimsiyor, teknoloji ve geleneksel değerleri harmanlıyoruz.
` })}` })} ${renderComponent($$result2, "BlogLatestPosts", $$BlogLatestPosts, { "title": "\u{1F4D6} Blog'umuzda Daha Fazla \u0130\xE7erik Ke\u015Ffedin", "information": `Blog'umuzda amat\xF6r telsizcili\u011Fe dair g\xFCncel bilgiler, teknik makaleler ve e\u011Fitim i\xE7erikleri bulabilirsiniz.
Her yeni makale, amat\xF6r radyo konusunda uzmanla\u015Fman\u0131z i\xE7in \xF6nemli bir ad\u0131m olacakt\u0131r.
Amat\xF6r radyo d\xFCnyas\u0131ndaki geli\u015Fmeleri takip etmek i\xE7in blog'umuzu ziyaret edin.
` })} ${renderComponent($$result2, "FAQs", $$FAQs, { "title": "\u2753 S\u0131k\xE7a Sorulan Sorular", "subtitle": "ARC hakk\u0131nda merak ettikleriniz ve amat\xF6r telsizcili\u011Fi konusunda s\u0131k sorulan sorular ve cevaplar\u0131.", "tagline": "\u{1F50D} SSS", "classes": { container: "max-w-6xl" }, "items": [
{
title: "E\u011Fitim programlar\u0131na kimler kat\u0131labilir?",
description: "E\u011Fitim programlar\u0131m\u0131za amat\xF6r telsiz lisans\u0131 olan veya lisans almaya haz\u0131rlanan herkesi davet ediyoruz."
},
{
title: "Hangi frekans bantlar\u0131nda faaliyet g\xF6steriyorsunuz?",
description: "Derne\u011Fimiz VHF, UHF ve HF bantlar\u0131nda faaliyet g\xF6stermektedir. \xD6zellikle VHF/UHF r\xF6le sistemleri konusunda aktif \xE7al\u0131\u015Fmalar y\xFCr\xFCt\xFCyoruz."
},
{
title: "E\u011Fitim programlar\u0131n\u0131za nas\u0131l kat\u0131labilirim?",
description: "E\u011Fitim programlar\u0131 hakk\u0131nda bilgi almak i\xE7in web sitemizi takip edebilir veya bizimle ileti\u015Fime ge\xE7ebilirsiniz. D\xFCzenli olarak temel ve ileri seviye kurslar d\xFCzenlenmektedir."
},
{
title: "Teknik projelerde nas\u0131l yer alabilirim?",
description: "Teknik projelerimizde yer almak i\xE7in bizimle ileti\u015Fime ge\xE7in. E\u011Fitim programlar\u0131m\u0131za kat\u0131larak projelerimizde aktif rol alabilirsiniz."
},
{
title: "Derne\u011Fin r\xF6le sistemleri nas\u0131l kullan\u0131l\u0131r?",
description: "R\xF6le sistemlerimizin kullan\u0131m\u0131 hakk\u0131nda bilgi almak i\xE7in teknik dok\xFCmantasyonumuzu inceleyebilir veya e\u011Fitim etkinliklerimize kat\u0131labilirsiniz."
}
] })} ${renderComponent($$result2, "Stats", $$Stats, { "stats": [
{ title: "Kurulu\u015F Y\u0131l\u0131", amount: "2024" },
{ title: "Aktif \xDCye", amount: "100+" },
{ title: "E\u011Fitim Program\u0131", amount: "25+" },
{ title: "Teknik Proje", amount: "10+" }
] })} ${renderComponent($$result2, "CallToAction", $$CallToAction, { "actions": [
{
variant: "primary",
text: "\u0130leti\u015Fim",
href: "/iletisim",
icon: "tabler:mail"
}
] }, { "subtitle": ($$result3) => renderTemplate`${renderComponent($$result3, "Fragment", Fragment, { "slot": "subtitle" }, { "default": ($$result4) => renderTemplate`
Amatör radyo dünyasında yerinizi alın ve bizimle birlikte büyüyen toplulukta yer alın. <br class="hidden md:inline">
Bizimle iletişime geçin ve amatör radyo yolculuğunuza başlayın! 73 de YM1KTC
` })}`, "title": ($$result3) => renderTemplate`${renderComponent($$result3, "Fragment", Fragment, { "slot": "title" }, { "default": ($$result4) => renderTemplate`
📡 Amatör Radyocular<br class="block sm:hidden"><span class="sm:whitespace-nowrap"> Derneği</span> ` })}` })} ${renderComponent($$result2, "FaqSchema", $$FaqSchema, { "faqs": faqData })} ` })}`;
}, "/Users/bugracanata/Developer/[Telsiz]/ARC-Web-Sitesi/src/pages/index.astro", void 0);
const $$file = "/Users/bugracanata/Developer/[Telsiz]/ARC-Web-Sitesi/src/pages/index.astro";
const $$url = "";
const _page = /*#__PURE__*/Object.freeze(/*#__PURE__*/Object.defineProperty({
__proto__: null,
default: $$Index,
file: $$file,
url: $$url
}, Symbol.toStringTag, { value: 'Module' }));
const page = () => _page;
export { page };
@@ -0,0 +1,62 @@
import { c as createComponent, r as renderComponent, a as renderTemplate, m as maybeRenderHead, b as addAttribute } from '../chunks/astro/server_BfDhyAjM.mjs';
import 'kleur/colors';
import { $ as $$PageLayout } from '../chunks/PageLayout_CDwIBOQs.mjs';
import { f as fetchPosts } from '../chunks/blog_J6XM7OAu.mjs';
import { C as CATEGORY_BASE } from '../chunks/permalinks_BMxSf01e.mjs';
export { renderers } from '../renderers.mjs';
const prerender = true;
const $$Kategoriler = createComponent(async ($$result, $$props, $$slots) => {
const posts = await fetchPosts();
const categoriesMap = /* @__PURE__ */ new Map();
posts.forEach((post) => {
if (post.category) {
const categorySlug = post.category.slug;
if (categoriesMap.has(categorySlug)) {
categoriesMap.get(categorySlug).count += 1;
} else {
categoriesMap.set(categorySlug, {
title: post.category.title,
slug: categorySlug,
count: 1
});
}
}
});
const categories = Array.from(categoriesMap.values()).sort((a, b) => {
if (b.count !== a.count) {
return b.count - a.count;
}
return a.title.localeCompare(b.title, "tr");
});
const metadata = {
title: "\u{1F4FB} Kategoriler",
description: "Amat\xF6r radyo blog kategorilerini g\xF6r\xFCnt\xFCleyin - 73 de YM1KTC",
robots: {
index: true,
follow: true
}
};
return renderTemplate`${renderComponent($$result, "Layout", $$PageLayout, { "metadata": metadata }, { "default": async ($$result2) => renderTemplate` ${maybeRenderHead()}<section class="px-4 md:px-6 py-12 sm:py-16 lg:py-20 mx-auto max-w-4xl"> <div class="mb-8 md:mb-16 text-center"> <h1 class="text-3xl md:text-4xl font-bold leading-tighter tracking-tighter mb-4 font-heading">
📻 Kategoriler
</h1> <p class="text-muted text-lg">
📡 Amatör radyo blog yazılarımızı kategorilere göre keşfedin - QSL!
</p> </div> <div class="grid gap-6 md:gap-8"> ${categories.map((category) => renderTemplate`<div class="flex flex-col sm:flex-row sm:justify-between sm:items-center p-6 bg-white dark:bg-slate-900 rounded-lg shadow-lg border border-gray-200 dark:border-gray-700 hover:shadow-xl transition-shadow duration-200"> <div class="mb-4 sm:mb-0"> <h2 class="text-xl font-semibold text-gray-900 dark:text-white mb-2"> <a${addAttribute(`/${CATEGORY_BASE}/${category.slug}`, "href")} class="hover:text-primary-600 dark:hover:text-primary-400 transition-colors duration-200"> ${category.title} </a> </h2> <p class="text-muted text-sm"> ${category.count} ${category.count === 1 ? "yaz\u0131" : "yaz\u0131"} </p> </div> <div class="flex items-center"> <a${addAttribute(`/${CATEGORY_BASE}/${category.slug}`, "href")} class="inline-flex items-center px-4 py-2 text-sm font-medium text-white bg-primary-600 rounded-md hover:bg-primary-700 transition-colors duration-200">
📝 Yazıları Görüntüle
<svg class="w-4 h-4 ml-2" fill="none" stroke="currentColor" viewBox="0 0 24 24"> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 5l7 7-7 7"></path> </svg> </a> </div> </div>`)} </div> ${categories.length === 0 && renderTemplate`<div class="text-center py-12"> <p class="text-muted text-lg">📻 Henüz hiç kategori bulunmamaktadır. QRT!</p> </div>`} </section> ` })}`;
}, "/Users/bugracanata/Developer/[Telsiz]/ARC-Web-Sitesi/src/pages/kategoriler.astro", void 0);
const $$file = "/Users/bugracanata/Developer/[Telsiz]/ARC-Web-Sitesi/src/pages/kategoriler.astro";
const $$url = "/kategoriler";
const _page = /*#__PURE__*/Object.freeze(/*#__PURE__*/Object.defineProperty({
__proto__: null,
default: $$Kategoriler,
file: $$file,
prerender,
url: $$url
}, Symbol.toStringTag, { value: 'Module' }));
const page = () => _page;
export { page };
@@ -0,0 +1,23 @@
import { c as createComponent, r as renderComponent, a as renderTemplate } from '../../chunks/astro/server_BfDhyAjM.mjs';
import 'kleur/colors';
export { renderers } from '../../renderers.mjs';
const prerender = false;
const $$KeystaticAstroPage = createComponent(($$result, $$props, $$slots) => {
return renderTemplate`${renderComponent($$result, "Keystatic", null, { "client:only": "react", "client:component-hydration": "only", "client:component-path": "/Users/bugracanata/Developer/[Telsiz]/ARC-Web-Sitesi/node_modules/@keystatic/astro/internal/keystatic-page.js", "client:component-export": "Keystatic" })}`;
}, "/Users/bugracanata/Developer/[Telsiz]/ARC-Web-Sitesi/node_modules/@keystatic/astro/internal/keystatic-astro-page.astro", void 0);
const $$file = "/Users/bugracanata/Developer/[Telsiz]/ARC-Web-Sitesi/node_modules/@keystatic/astro/internal/keystatic-astro-page.astro";
const $$url = undefined;
const _page = /*#__PURE__*/Object.freeze(/*#__PURE__*/Object.defineProperty({
__proto__: null,
default: $$KeystaticAstroPage,
file: $$file,
prerender,
url: $$url
}, Symbol.toStringTag, { value: 'Module' }));
const page = () => _page;
export { page };
@@ -0,0 +1,54 @@
import { c as createComponent, r as renderComponent, a as renderTemplate, u as unescapeHTML } from '../chunks/astro/server_BfDhyAjM.mjs';
import 'kleur/colors';
import { $ as $$MarkdownLayout } from '../chunks/MarkdownLayout_Cs6tfEA2.mjs';
export { renderers } from '../renderers.mjs';
const html = () => "<p><em>Son güncelleme</em>: 6 Ocak 2023</p>\n<h2 id=\"kullanım-şartları\">Kullanım Şartları</h2>\n<p>Bu web sitesini kullanarak aşağıdaki şartları kabul etmiş olursunuz.</p>\n<h3 id=\"genel-kullanım\">Genel Kullanım</h3>\n<ul>\n<li>Web sitesi eğitim ve bilgilendirme amaçlıdır</li>\n<li>İçerik telif hakları ile korunmaktadır</li>\n<li>Ticari olmayan amaçlarla kullanılabilir</li>\n<li>Kaynak göstermek şartıyla paylaşılabilir</li>\n</ul>\n<h3 id=\"amatör-radio-lisans-bilgileri\">Amatör Radio Lisans Bilgileri</h3>\n<ul>\n<li>Sınavlar ve eğitim materyalleri güncel düzenlemelere göre hazırlanır</li>\n<li>Lisans başvuru süreçleri resmi kurumlar tarafından yürütülür</li>\n<li>Dernek sadece eğitim ve danışmanlık hizmeti verir</li>\n</ul>\n<h3 id=\"sorumluluk\">Sorumluluk</h3>\n<ul>\n<li>Teknik bilgiler referans amaçlıdır</li>\n<li>Uygulamalar kişisel sorumluluktadır</li>\n<li>Güvenlik önlemlerine uyulmalıdır</li>\n<li>Yasal düzenlemelere uyum gereklidir</li>\n</ul>\n<h3 id=\"etik-kurallar\">Etik Kurallar</h3>\n<ul>\n<li>Amatör radio etik kurallarına uyulmalıdır</li>\n<li>Zararlı girişimde bulunulmamalıdır</li>\n<li>Diğer kullanıcılara saygı gösterilmelidir</li>\n<li>Doğru bilgi paylaşımı önemlidir</li>\n</ul>\n<h3 id=\"değişiklikler\">Değişiklikler</h3>\n<p>Bu şartlar gerektiğinde güncellenebilir. Güncel sürüm web sitesinde yayınlanır.</p>\n<h3 id=\"i̇letişim\">İletişim</h3>\n<p>Sorularınız için:</p>\n<ul>\n<li>E-posta: <a href=\"mailto:bilgi@radio.org.tr\">bilgi@radio.org.tr</a></li>\n<li>Telefon: +90 510 220 50 24</li>\n<li>Adres: Beyoğlu, İstanbul</li>\n</ul>";
const frontmatter = {"title":"Kullanım Şartları","layout":"~/layouts/MarkdownLayout.astro","readingTime":1};
const file = "/Users/bugracanata/Developer/[Telsiz]/ARC-Web-Sitesi/src/pages/kullanim-sartlari.md";
const url = "/kullanim-sartlari";
function rawContent() {
return " \n \n \n \n\n_Son güncelleme_: 6 Ocak 2023\n\n## Kullanım Şartları\n\nBu web sitesini kullanarak aşağıdaki şartları kabul etmiş olursunuz.\n\n### Genel Kullanım\n\n- Web sitesi eğitim ve bilgilendirme amaçlıdır\n- İçerik telif hakları ile korunmaktadır\n- Ticari olmayan amaçlarla kullanılabilir\n- Kaynak göstermek şartıyla paylaşılabilir\n\n### Amatör Radio Lisans Bilgileri\n\n- Sınavlar ve eğitim materyalleri güncel düzenlemelere göre hazırlanır\n- Lisans başvuru süreçleri resmi kurumlar tarafından yürütülür\n- Dernek sadece eğitim ve danışmanlık hizmeti verir\n\n### Sorumluluk\n\n- Teknik bilgiler referans amaçlıdır\n- Uygulamalar kişisel sorumluluktadır\n- Güvenlik önlemlerine uyulmalıdır\n- Yasal düzenlemelere uyum gereklidir\n\n### Etik Kurallar\n\n- Amatör radio etik kurallarına uyulmalıdır\n- Zararlı girişimde bulunulmamalıdır\n- Diğer kullanıcılara saygı gösterilmelidir\n- Doğru bilgi paylaşımı önemlidir\n\n### Değişiklikler\n\nBu şartlar gerektiğinde güncellenebilir. Güncel sürüm web sitesinde yayınlanır.\n\n### İletişim\n\nSorularınız için:\n- E-posta: bilgi@radio.org.tr\n- Telefon: +90 510 220 50 24\n- Adres: Beyoğlu, İstanbul";
}
async function compiledContent() {
return await html();
}
function getHeadings() {
return [{"depth":2,"slug":"kullanım-şartları","text":"Kullanım Şartları"},{"depth":3,"slug":"genel-kullanım","text":"Genel Kullanım"},{"depth":3,"slug":"amatör-radio-lisans-bilgileri","text":"Amatör Radio Lisans Bilgileri"},{"depth":3,"slug":"sorumluluk","text":"Sorumluluk"},{"depth":3,"slug":"etik-kurallar","text":"Etik Kurallar"},{"depth":3,"slug":"değişiklikler","text":"Değişiklikler"},{"depth":3,"slug":"i̇letişim","text":"İletişim"}];
}
const Content = createComponent((result, _props, slots) => {
const { layout, ...content } = frontmatter;
content.file = file;
content.url = url;
return renderTemplate`${renderComponent(result, 'Layout', $$MarkdownLayout, {
file,
url,
content,
frontmatter: content,
headings: getHeadings(),
rawContent,
compiledContent,
'server:root': true,
}, {
'default': () => renderTemplate`${unescapeHTML(html())}`
})}`;
});
const _page = /*#__PURE__*/Object.freeze(/*#__PURE__*/Object.defineProperty({
__proto__: null,
Content,
compiledContent,
default: Content,
file,
frontmatter,
getHeadings,
rawContent,
url
}, Symbol.toStringTag, { value: 'Module' }));
const page = () => _page;
export { page };
@@ -0,0 +1,40 @@
import { c as createComponent, r as renderComponent, a as renderTemplate } from '../../chunks/astro/server_BfDhyAjM.mjs';
import 'kleur/colors';
import { $ as $$LandingLayout } from '../../chunks/LandingLayout_CfvQ0Ql6.mjs';
import { $ as $$Hero2 } from '../../chunks/Hero2_IyzHLWsh.mjs';
import { $ as $$CallToAction } from '../../chunks/CallToAction_Dok0D0et.mjs';
export { renderers } from '../../renderers.mjs';
const $$ClickThrough = createComponent(($$result, $$props, $$slots) => {
const metadata = {
title: "Click-through Landing Page Demo"
};
return renderTemplate`${renderComponent($$result, "Layout", $$LandingLayout, { "metadata": metadata }, { "default": ($$result2) => renderTemplate` ${renderComponent($$result2, "Hero2", $$Hero2, { "tagline": "Click-through Demo", "title": "Click-through Landing Page: The Perfect Bridge to Conversion!", "subtitle": "Learn how to design a Click-Through Landing Page that seamlessly guides visitors to your main offer.", "actions": [
{ variant: "primary", text: "Call to Action", href: "#", icon: "tabler:square-rounded-arrow-right" },
{ text: "Learn more", href: "#" }
], "image": {
src: "https://images.unsplash.com/photo-1516321497487-e288fb19713f?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=2070&q=80",
alt: "Click-through Landing Page Hero Image"
} })} ${renderComponent($$result2, "CallToAction", $$CallToAction, { "title": "Coming soon", "subtitle": "We are working on the content of these demo pages. You will see them very soon. Stay tuned Stay tuned!", "actions": [
{
variant: "primary",
text: "Download Template",
href: "https://github.com/onwidget/astrowind",
icon: "tabler:download"
}
] })} ` })}`;
}, "/Users/bugracanata/Developer/[Telsiz]/ARC-Web-Sitesi/src/pages/landing/click-through.astro", void 0);
const $$file = "/Users/bugracanata/Developer/[Telsiz]/ARC-Web-Sitesi/src/pages/landing/click-through.astro";
const $$url = "/landing/click-through";
const _page = /*#__PURE__*/Object.freeze(/*#__PURE__*/Object.defineProperty({
__proto__: null,
default: $$ClickThrough,
file: $$file,
url: $$url
}, Symbol.toStringTag, { value: 'Module' }));
const page = () => _page;
export { page };
@@ -0,0 +1,40 @@
import { c as createComponent, r as renderComponent, a as renderTemplate } from '../../chunks/astro/server_BfDhyAjM.mjs';
import 'kleur/colors';
import { $ as $$LandingLayout } from '../../chunks/LandingLayout_CfvQ0Ql6.mjs';
import { $ as $$Hero } from '../../chunks/Hero_BhRdE1X0.mjs';
import { $ as $$CallToAction } from '../../chunks/CallToAction_Dok0D0et.mjs';
export { renderers } from '../../renderers.mjs';
const $$LeadGeneration = createComponent(($$result, $$props, $$slots) => {
const metadata = {
title: "Lead Generation Landing Page Demo"
};
return renderTemplate`${renderComponent($$result, "Layout", $$LandingLayout, { "metadata": metadata }, { "default": ($$result2) => renderTemplate` ${renderComponent($$result2, "Hero", $$Hero, { "tagline": "Lead Generation Landing Demo", "title": "Effective Lead Generation Landing Page: Unlock the Secrets", "subtitle": "Discover the secrets to creating a Landing Page that turns curious visitors into eager leads. (Your Hero should grab attention instantly. Use a powerful headline that speaks directly to your target audience.)", "actions": [
{ variant: "primary", text: "Call to Action", href: "#", icon: "tabler:square-rounded-arrow-right" },
{ text: "Learn more", href: "#" }
], "image": {
src: "https://images.unsplash.com/photo-1597423498219-04418210827d?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=1674&q=80",
alt: "Magnet attracting screws. Lead generation landing page demo"
} })} ${renderComponent($$result2, "CallToAction", $$CallToAction, { "title": "Coming soon", "subtitle": "We are working on the content of these demo pages. You will see them very soon. Stay tuned Stay tuned!", "actions": [
{
variant: "primary",
text: "Download Template",
href: "https://github.com/onwidget/astrowind",
icon: "tabler:download"
}
] })} ` })}`;
}, "/Users/bugracanata/Developer/[Telsiz]/ARC-Web-Sitesi/src/pages/landing/lead-generation.astro", void 0);
const $$file = "/Users/bugracanata/Developer/[Telsiz]/ARC-Web-Sitesi/src/pages/landing/lead-generation.astro";
const $$url = "/landing/lead-generation";
const _page = /*#__PURE__*/Object.freeze(/*#__PURE__*/Object.defineProperty({
__proto__: null,
default: $$LeadGeneration,
file: $$file,
url: $$url
}, Symbol.toStringTag, { value: 'Module' }));
const page = () => _page;
export { page };
@@ -0,0 +1,40 @@
import { c as createComponent, r as renderComponent, a as renderTemplate } from '../../chunks/astro/server_BfDhyAjM.mjs';
import 'kleur/colors';
import { $ as $$LandingLayout } from '../../chunks/LandingLayout_CfvQ0Ql6.mjs';
import { $ as $$Hero2 } from '../../chunks/Hero2_IyzHLWsh.mjs';
import { $ as $$CallToAction } from '../../chunks/CallToAction_Dok0D0et.mjs';
export { renderers } from '../../renderers.mjs';
const $$PreLaunch = createComponent(async ($$result, $$props, $$slots) => {
const metadata = {
title: "Pre-Launch Landing Page"
};
return renderTemplate`${renderComponent($$result, "Layout", $$LandingLayout, { "metadata": metadata }, { "default": async ($$result2) => renderTemplate` ${renderComponent($$result2, "Hero2", $$Hero2, { "tagline": "Pre-launch Demo", "title": "Pre-launch Landing Page: Build the Hype Before the Big Reveal!", "subtitle": "Craft a tantalizing Coming Soon or Pre-Launch Landing Page that leaves visitors eagerly awaiting your launch.", "actions": [
{ variant: "primary", text: "Call to Action", href: "#", icon: "tabler:square-rounded-arrow-right" },
{ text: "Learn more", href: "#" }
], "image": {
src: "https://images.unsplash.com/photo-1558803116-c1b4ac867b31?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=2069&q=80",
alt: "Store with a Coming Soon sign. Pre-launch Landing Page"
} })} ${renderComponent($$result2, "CallToAction", $$CallToAction, { "title": "Coming soon", "subtitle": "We are working on the content of these demo pages. You will see them very soon. Stay tuned Stay tuned!", "actions": [
{
variant: "primary",
text: "Download Template",
href: "https://github.com/onwidget/astrowind",
icon: "tabler:download"
}
] })} ` })}`;
}, "/Users/bugracanata/Developer/[Telsiz]/ARC-Web-Sitesi/src/pages/landing/pre-launch.astro", void 0);
const $$file = "/Users/bugracanata/Developer/[Telsiz]/ARC-Web-Sitesi/src/pages/landing/pre-launch.astro";
const $$url = "/landing/pre-launch";
const _page = /*#__PURE__*/Object.freeze(/*#__PURE__*/Object.defineProperty({
__proto__: null,
default: $$PreLaunch,
file: $$file,
url: $$url
}, Symbol.toStringTag, { value: 'Module' }));
const page = () => _page;
export { page };
@@ -0,0 +1,40 @@
import { c as createComponent, r as renderComponent, a as renderTemplate } from '../../chunks/astro/server_BfDhyAjM.mjs';
import 'kleur/colors';
import { $ as $$LandingLayout } from '../../chunks/LandingLayout_CfvQ0Ql6.mjs';
import { $ as $$Hero } from '../../chunks/Hero_BhRdE1X0.mjs';
import { $ as $$CallToAction } from '../../chunks/CallToAction_Dok0D0et.mjs';
export { renderers } from '../../renderers.mjs';
const $$Product = createComponent(($$result, $$props, $$slots) => {
const metadata = {
title: "Product Details Landing Page Demo"
};
return renderTemplate`${renderComponent($$result, "Layout", $$LandingLayout, { "metadata": metadata }, { "default": ($$result2) => renderTemplate` ${renderComponent($$result2, "Hero", $$Hero, { "tagline": "Product Details Demo", "title": "Product Landing Page: Showcase with Precision and Passion!", "subtitle": "Step-by-step guide to designing a Landing Page that highlights every facet of your product or service.", "actions": [
{ variant: "primary", text: "Call to Action", href: "#", icon: "tabler:square-rounded-arrow-right" },
{ text: "Learn more", href: "#" }
], "image": {
src: "https://images.unsplash.com/photo-1473188588951-666fce8e7c68?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=2174&q=80",
alt: "A spotlight on a product. Product Details Landing Page Demo"
} })} ${renderComponent($$result2, "CallToAction", $$CallToAction, { "title": "Coming soon", "subtitle": "We are working on the content of these demo pages. You will see them very soon. Stay tuned Stay tuned!", "actions": [
{
variant: "primary",
text: "Download Template",
href: "https://github.com/onwidget/astrowind",
icon: "tabler:download"
}
] })} ` })}`;
}, "/Users/bugracanata/Developer/[Telsiz]/ARC-Web-Sitesi/src/pages/landing/product.astro", void 0);
const $$file = "/Users/bugracanata/Developer/[Telsiz]/ARC-Web-Sitesi/src/pages/landing/product.astro";
const $$url = "/landing/product";
const _page = /*#__PURE__*/Object.freeze(/*#__PURE__*/Object.defineProperty({
__proto__: null,
default: $$Product,
file: $$file,
url: $$url
}, Symbol.toStringTag, { value: 'Module' }));
const page = () => _page;
export { page };
@@ -0,0 +1,40 @@
import { c as createComponent, r as renderComponent, a as renderTemplate } from '../../chunks/astro/server_BfDhyAjM.mjs';
import 'kleur/colors';
import { $ as $$LandingLayout } from '../../chunks/LandingLayout_CfvQ0Ql6.mjs';
import { $ as $$Hero2 } from '../../chunks/Hero2_IyzHLWsh.mjs';
import { $ as $$CallToAction } from '../../chunks/CallToAction_Dok0D0et.mjs';
export { renderers } from '../../renderers.mjs';
const $$Sales = createComponent(($$result, $$props, $$slots) => {
const metadata = {
title: "Sales Landing Page Demo"
};
return renderTemplate`${renderComponent($$result, "Layout", $$LandingLayout, { "metadata": metadata }, { "default": ($$result2) => renderTemplate` ${renderComponent($$result2, "Hero2", $$Hero2, { "tagline": "Long-form Sales Demo", "title": "Long-form Sales: Sell with a Story: The Long-form Way!", "subtitle": "Dive deep into crafting a Landing Page that narrates, persuades, and converts.", "actions": [
{ variant: "primary", text: "Call to Action", href: "#", icon: "tabler:square-rounded-arrow-right" },
{ text: "Learn more", href: "#" }
], "image": {
src: "https://images.unsplash.com/photo-1621452773781-0f992fd1f5cb?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=1626&q=80",
alt: "Children telling a story. Long-form Sales Landing Page demo"
} })} ${renderComponent($$result2, "CallToAction", $$CallToAction, { "title": "Coming soon", "subtitle": "We are working on the content of these demo pages. You will see them very soon. Stay tuned Stay tuned!", "actions": [
{
variant: "primary",
text: "Download Template",
href: "https://github.com/onwidget/astrowind",
icon: "tabler:download"
}
] })} ` })}`;
}, "/Users/bugracanata/Developer/[Telsiz]/ARC-Web-Sitesi/src/pages/landing/sales.astro", void 0);
const $$file = "/Users/bugracanata/Developer/[Telsiz]/ARC-Web-Sitesi/src/pages/landing/sales.astro";
const $$url = "/landing/sales";
const _page = /*#__PURE__*/Object.freeze(/*#__PURE__*/Object.defineProperty({
__proto__: null,
default: $$Sales,
file: $$file,
url: $$url
}, Symbol.toStringTag, { value: 'Module' }));
const page = () => _page;
export { page };
@@ -0,0 +1,40 @@
import { c as createComponent, r as renderComponent, a as renderTemplate } from '../../chunks/astro/server_BfDhyAjM.mjs';
import 'kleur/colors';
import { $ as $$LandingLayout } from '../../chunks/LandingLayout_CfvQ0Ql6.mjs';
import { $ as $$Hero2 } from '../../chunks/Hero2_IyzHLWsh.mjs';
import { $ as $$CallToAction } from '../../chunks/CallToAction_Dok0D0et.mjs';
export { renderers } from '../../renderers.mjs';
const $$Subscription = createComponent(($$result, $$props, $$slots) => {
const metadata = {
title: "Subscription Landing Page Demo"
};
return renderTemplate`${renderComponent($$result, "Layout", $$LandingLayout, { "metadata": metadata }, { "default": ($$result2) => renderTemplate` ${renderComponent($$result2, "Hero2", $$Hero2, { "tagline": "Subscription Landing Demo", "title": "Subscription Landing Page: Turn Casual Browsers into Loyal Subscribers!", "subtitle": "Unlock the formula for a Subscription Landing Page that keeps your audience coming back for more.", "actions": [
{ variant: "primary", text: "Call to Action", href: "#", icon: "tabler:square-rounded-arrow-right" },
{ text: "Learn more", href: "#" }
], "image": {
src: "https://images.unsplash.com/photo-1593510987046-1f8fcfc512a0?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=2070&q=80",
alt: "Ironic image associated with canceling a subscription. Subscription Landing Page Demo"
} })} ${renderComponent($$result2, "CallToAction", $$CallToAction, { "title": "Coming soon", "subtitle": "We are working on the content of these demo pages. You will see them very soon. Stay tuned Stay tuned!", "actions": [
{
variant: "primary",
text: "Download Template",
href: "https://github.com/onwidget/astrowind",
icon: "tabler:download"
}
] })} ` })}`;
}, "/Users/bugracanata/Developer/[Telsiz]/ARC-Web-Sitesi/src/pages/landing/subscription.astro", void 0);
const $$file = "/Users/bugracanata/Developer/[Telsiz]/ARC-Web-Sitesi/src/pages/landing/subscription.astro";
const $$url = "/landing/subscription";
const _page = /*#__PURE__*/Object.freeze(/*#__PURE__*/Object.defineProperty({
__proto__: null,
default: $$Subscription,
file: $$file,
url: $$url
}, Symbol.toStringTag, { value: 'Module' }));
const page = () => _page;
export { page };
@@ -0,0 +1,185 @@
import { c as createComponent, r as renderComponent, a as renderTemplate, m as maybeRenderHead } from '../chunks/astro/server_BfDhyAjM.mjs';
import 'kleur/colors';
import { $ as $$PageLayout } from '../chunks/PageLayout_CDwIBOQs.mjs';
import { $ as $$Hero } from '../chunks/Hero_BhRdE1X0.mjs';
import { jsx, jsxs } from 'react/jsx-runtime';
import { useState, useEffect } from 'react';
export { renderers } from '../renderers.mjs';
function DMRDashboard() {
const [repeaters, setRepeaters] = useState([]);
const [loading, setLoading] = useState(true);
const [error, setError] = useState(null);
useEffect(() => {
fetch("/api/repeaters.json").then((r) => {
if (!r.ok) throw new Error("Failed to fetch");
return r.json();
}).then((data) => {
setRepeaters(data);
setLoading(false);
}).catch((err) => {
setError(err.message);
setLoading(false);
});
}, []);
const formatLastSeen = (dateString) => {
const date = new Date(dateString);
const now = /* @__PURE__ */ new Date();
const diffMs = now.getTime() - date.getTime();
const diffMins = Math.floor(diffMs / 6e4);
if (diffMins < 1) return "Şimdi";
if (diffMins < 60) return `${diffMins} dakika önce`;
const diffHours = Math.floor(diffMins / 60);
if (diffHours < 24) return `${diffHours} saat önce`;
const diffDays = Math.floor(diffHours / 24);
return `${diffDays} gün önce`;
};
if (loading) {
return /* @__PURE__ */ jsx("div", { className: "flex items-center justify-center p-8", children: /* @__PURE__ */ jsx("div", { className: "animate-spin rounded-full h-12 w-12 border-b-2 border-blue-600" }) });
}
if (error) {
return /* @__PURE__ */ jsxs("div", { className: "p-4 bg-red-50 border border-red-200 rounded-lg", children: [
/* @__PURE__ */ jsxs("p", { className: "text-red-800", children: [
"Hata: ",
error
] }),
/* @__PURE__ */ jsx(
"button",
{
onClick: () => window.location.reload(),
className: "mt-2 px-4 py-2 bg-red-600 text-white rounded hover:bg-red-700",
children: "Yeniden Dene"
}
)
] });
}
return /* @__PURE__ */ jsx("div", { className: "grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4", children: repeaters.map((r) => /* @__PURE__ */ jsxs(
"div",
{
className: `p-4 rounded-lg border-2 transition-all ${r.status === "online" ? "bg-green-50 border-green-200 hover:shadow-md" : "bg-red-50 border-red-200"}`,
children: [
/* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between mb-2", children: [
/* @__PURE__ */ jsx("h3", { className: "font-bold text-lg", children: r.name }),
/* @__PURE__ */ jsx("span", { className: `px-2 py-1 text-xs rounded-full ${r.status === "online" ? "bg-green-500 text-white" : "bg-red-500 text-white"}`, children: r.status === "online" ? "Çevrimiçi" : "Çevrimdışı" })
] }),
/* @__PURE__ */ jsxs("p", { className: "text-sm text-gray-700", children: [
/* @__PURE__ */ jsx("span", { className: "font-medium", children: "Frekans:" }),
" ",
r.frequency
] }),
/* @__PURE__ */ jsxs("p", { className: "text-sm text-gray-700", children: [
/* @__PURE__ */ jsx("span", { className: "font-medium", children: "Offset:" }),
" ",
r.offset
] }),
/* @__PURE__ */ jsxs("p", { className: "text-sm text-gray-700", children: [
/* @__PURE__ */ jsx("span", { className: "font-medium", children: "CTCSS:" }),
" ",
r.tone,
" Hz"
] }),
/* @__PURE__ */ jsxs("p", { className: "text-sm text-gray-700", children: [
/* @__PURE__ */ jsx("span", { className: "font-medium", children: "Color Code:" }),
" ",
r.colorCode
] }),
/* @__PURE__ */ jsxs("p", { className: "text-xs text-gray-500 mt-2", children: [
"Son duyulum: ",
formatLastSeen(r.lastheard)
] })
]
},
r.id
)) });
}
function MemberSearch() {
const [query, setQuery] = useState("");
const [results, setResults] = useState([]);
const [loading, setLoading] = useState(false);
const [searched, setSearched] = useState(false);
const handleSearch = async () => {
if (!query.trim()) return;
setLoading(true);
setSearched(true);
try {
const res = await fetch(`/api/dmr-contacts.json`);
const data = await res.json();
const filtered = data.filter(
(member) => member.callsign.toLowerCase().includes(query.toLowerCase()) || member.name.toLowerCase().includes(query.toLowerCase())
);
setResults(filtered);
} catch (err) {
console.error("Search failed:", err);
setResults([]);
} finally {
setLoading(false);
}
};
const handleKeyPress = (e) => {
if (e.key === "Enter") {
handleSearch();
}
};
return /* @__PURE__ */ jsxs("div", { children: [
/* @__PURE__ */ jsxs("div", { className: "flex gap-2", children: [
/* @__PURE__ */ jsx(
"input",
{
type: "text",
value: query,
onChange: (e) => setQuery(e.target.value),
onKeyPress: handleKeyPress,
placeholder: "Çağrı işareti veya isim ara...",
className: "flex-1 p-3 border border-gray-300 rounded-lg focus:ring-2 focus:ring-blue-500 focus:border-blue-500"
}
),
/* @__PURE__ */ jsx(
"button",
{
onClick: handleSearch,
disabled: loading || !query.trim(),
className: "px-6 py-3 bg-blue-600 text-white rounded-lg hover:bg-blue-700 disabled:bg-gray-400 disabled:cursor-not-allowed transition-colors",
children: loading ? "Aranıyor..." : "Ara"
}
)
] }),
searched && results.length === 0 && !loading && /* @__PURE__ */ jsx("div", { className: "mt-4 p-4 bg-yellow-50 border border-yellow-200 rounded-lg", children: /* @__PURE__ */ jsx("p", { className: "text-yellow-800", children: "Sonuç bulunamadı. Lütfen farklı bir arama deneyin." }) }),
results.length > 0 && /* @__PURE__ */ jsx("ul", { className: "mt-4 space-y-2", children: results.map((member) => /* @__PURE__ */ jsx(
"li",
{
className: "p-3 bg-white border border-gray-200 rounded-lg hover:shadow-md transition-shadow",
children: /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between", children: [
/* @__PURE__ */ jsxs("div", { children: [
/* @__PURE__ */ jsx("h4", { className: "font-bold text-lg text-blue-600", children: member.callsign }),
/* @__PURE__ */ jsx("p", { className: "text-gray-700", children: member.name }),
member.location && /* @__PURE__ */ jsx("p", { className: "text-sm text-gray-500", children: member.location })
] }),
/* @__PURE__ */ jsx("span", { className: "text-2xl", children: "📻" })
] })
},
member.id
)) })
] });
}
const $$RepeaterDurumu = createComponent(($$result, $$props, $$slots) => {
const metadata = {
title: "DMR R\xF6le Durumu - ARC"
};
return renderTemplate`${renderComponent($$result, "Layout", $$PageLayout, { "metadata": metadata }, { "default": ($$result2) => renderTemplate` ${renderComponent($$result2, "Hero", $$Hero, { "title": "\u{1F4E1} DMR R\xF6le Durumu", "subtitle": "DMR r\xF6le sistemlerimizin anl\u0131k durumunu buradan takip edebilirsiniz." })} ${maybeRenderHead()}<section class="mx-auto max-w-4xl px-4 py-8"> <h2 class="text-2xl font-bold mb-4">🔍 Üye Ara</h2> ${renderComponent($$result2, "MemberSearch", MemberSearch, { "client:load": true, "client:component-hydration": "load", "client:component-path": "~/react/MemberSearch", "client:component-export": "default" })} </section> <section class="mx-auto max-w-6xl px-4 py-8"> <h2 class="text-2xl font-bold mb-4">📻 Röle Durumları</h2> ${renderComponent($$result2, "DMRDashboard", DMRDashboard, { "client:load": true, "client:component-hydration": "load", "client:component-path": "~/react/DMRDashboard", "client:component-export": "default" })} </section> ` })}`;
}, "/Users/bugracanata/Developer/[Telsiz]/ARC-Web-Sitesi/src/pages/repeater-durumu.astro", void 0);
const $$file = "/Users/bugracanata/Developer/[Telsiz]/ARC-Web-Sitesi/src/pages/repeater-durumu.astro";
const $$url = "/repeater-durumu";
const _page = /*#__PURE__*/Object.freeze(/*#__PURE__*/Object.defineProperty({
__proto__: null,
default: $$RepeaterDurumu,
file: $$file,
url: $$url
}, Symbol.toStringTag, { value: 'Module' }));
const page = () => _page;
export { page };
+34
View File
@@ -0,0 +1,34 @@
import { getRssString } from '@astrojs/rss';
import { S as SITE, M as METADATA, a as getPermalink } from '../chunks/permalinks_BMxSf01e.mjs';
import { f as fetchPosts } from '../chunks/blog_J6XM7OAu.mjs';
export { renderers } from '../renderers.mjs';
const GET = async () => {
const posts = await fetchPosts();
const rss = await getRssString({
title: `${SITE.name}s Blog`,
description: METADATA?.description,
site: "https://www.radio.org.tr",
items: posts.map((post) => ({
link: getPermalink(post.permalink, "post"),
title: post.title,
description: post.excerpt,
pubDate: post.publishDate
})),
trailingSlash: SITE.trailingSlash
});
return new Response(rss, {
headers: {
"Content-Type": "application/xml"
}
});
};
const _page = /*#__PURE__*/Object.freeze(/*#__PURE__*/Object.defineProperty({
__proto__: null,
GET
}, Symbol.toStringTag, { value: 'Module' }));
const page = () => _page;
export { page };