import { _ as __nuxt_component_0$1 } from './nuxt-link-Cq8xZgFP.mjs';
import { _ as __nuxt_component_1$1 } from './LangSwitcher-BcmlkZkS.mjs';
import { mergeProps, defineComponent, ref, watch, withCtx, createVNode, unref, createTextVNode, toDisplayString, useSSRContext } from 'vue';
import { ssrRenderAttrs, ssrRenderComponent, ssrRenderSlot, ssrRenderClass, ssrRenderList, ssrInterpolate, ssrRenderAttr, ssrRenderTeleport } from 'vue/server-renderer';
import { _ as _export_sfc, j as useRoute } from './server.mjs';
import { u as useNotification } from './useNotification-BqDqaGnC.mjs';
import '../nitro/nitro.mjs';
import 'node:http';
import 'node:https';
import 'node:crypto';
import 'stream';
import 'events';
import 'http';
import 'crypto';
import 'buffer';
import 'zlib';
import 'https';
import 'net';
import 'tls';
import 'url';
import 'node:events';
import 'node:buffer';
import 'node:fs';
import 'node:path';
import 'vue-router';
import '@prisma/client';
import '@prisma/adapter-better-sqlite3';
import 'fs';
import 'path';
import 'fs/promises';
import 'child_process';
import 'node:child_process';
import 'node:url';
import '../routes/renderer.mjs';
import 'vue-bundle-renderer/runtime';
import 'unhead/server';
import 'devalue';
import 'unhead/utils';

const _sfc_main$2 = /* @__PURE__ */ defineComponent({
  __name: "AppHeader",
  __ssrInlineRender: true,
  setup(__props) {
    const mobileMenuOpen = ref(false);
    const navItems = [
      { to: "/kanban", label: "nav.kanban" },
      { to: "/stats", label: "nav.stats" },
      { to: "/changelog", label: "nav.changelog" },
      { to: "/settings/pipeline", label: "nav.settings" }
    ];
    const route = useRoute();
    watch(
      () => route.path,
      () => {
        mobileMenuOpen.value = false;
      }
    );
    return (_ctx, _push, _parent, _attrs) => {
      const _component_NuxtLink = __nuxt_component_0$1;
      const _component_LangSwitcher = __nuxt_component_1$1;
      _push(`<header${ssrRenderAttrs(mergeProps({ class: "app-header" }, _attrs))} data-v-055d7a5c><div class="header-content" data-v-055d7a5c>`);
      _push(ssrRenderComponent(_component_NuxtLink, {
        to: "/",
        class: "logo"
      }, {
        default: withCtx((_, _push2, _parent2, _scopeId) => {
          if (_push2) {
            _push2(`<span class="logo-icon" data-v-055d7a5c${_scopeId}>⚡</span><span class="logo-text" data-v-055d7a5c${_scopeId}>AutoCode</span>`);
          } else {
            return [
              createVNode("span", { class: "logo-icon" }, "⚡"),
              createVNode("span", { class: "logo-text" }, "AutoCode")
            ];
          }
        }),
        _: 1
      }, _parent));
      _push(`<nav class="${ssrRenderClass([{ open: unref(mobileMenuOpen) }, "main-nav"])}" data-v-055d7a5c><!--[-->`);
      ssrRenderList(navItems, (item) => {
        _push(ssrRenderComponent(_component_NuxtLink, {
          key: item.to,
          to: item.to,
          class: "nav-link",
          onClick: ($event) => mobileMenuOpen.value = false
        }, {
          default: withCtx((_, _push2, _parent2, _scopeId) => {
            if (_push2) {
              _push2(`${ssrInterpolate(_ctx.$t(item.label))}`);
            } else {
              return [
                createTextVNode(toDisplayString(_ctx.$t(item.label)), 1)
              ];
            }
          }),
          _: 2
        }, _parent));
      });
      _push(`<!--]--></nav><div class="header-actions" data-v-055d7a5c>`);
      _push(ssrRenderComponent(_component_NuxtLink, {
        to: "/issue/new",
        class: "btn btn-primary new-issue-btn"
      }, {
        default: withCtx((_, _push2, _parent2, _scopeId) => {
          if (_push2) {
            _push2(`<span class="btn-icon" data-v-055d7a5c${_scopeId}>+</span><span class="btn-text" data-v-055d7a5c${_scopeId}>${ssrInterpolate(_ctx.$t("nav.newIssue"))}</span>`);
          } else {
            return [
              createVNode("span", { class: "btn-icon" }, "+"),
              createVNode("span", { class: "btn-text" }, toDisplayString(_ctx.$t("nav.newIssue")), 1)
            ];
          }
        }),
        _: 1
      }, _parent));
      _push(ssrRenderComponent(_component_LangSwitcher, null, null, _parent));
      _push(`<button class="mobile-menu-btn"${ssrRenderAttr("aria-label", unref(mobileMenuOpen) ? "Close menu" : "Open menu")} data-v-055d7a5c><span class="${ssrRenderClass([{ open: unref(mobileMenuOpen) }, "hamburger"])}" data-v-055d7a5c><span data-v-055d7a5c></span><span data-v-055d7a5c></span><span data-v-055d7a5c></span></span></button></div></div></header>`);
    };
  }
});
const _sfc_setup$2 = _sfc_main$2.setup;
_sfc_main$2.setup = (props, ctx) => {
  const ssrContext = useSSRContext();
  (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("components/AppHeader.vue");
  return _sfc_setup$2 ? _sfc_setup$2(props, ctx) : void 0;
};
const __nuxt_component_0 = /* @__PURE__ */ Object.assign(_export_sfc(_sfc_main$2, [["__scopeId", "data-v-055d7a5c"]]), { __name: "AppHeader" });
const _sfc_main$1 = /* @__PURE__ */ defineComponent({
  __name: "NotificationContainer",
  __ssrInlineRender: true,
  setup(__props) {
    const { notifications } = useNotification();
    const getIcon = (type) => {
      const icons = {
        success: "OK",
        error: "X",
        warning: "!",
        info: "i"
      };
      return icons[type] || "i";
    };
    return (_ctx, _push, _parent, _attrs) => {
      ssrRenderTeleport(_push, (_push2) => {
        _push2(`<div class="notification-container" data-v-87475ab3><!--[-->`);
        ssrRenderList(unref(notifications), (notification) => {
          _push2(`<div class="${ssrRenderClass([`notification-${notification.type}`, "notification"])}" data-v-87475ab3><span class="notification-icon" data-v-87475ab3>${ssrInterpolate(getIcon(notification.type))}</span><span class="notification-message" data-v-87475ab3>${ssrInterpolate(notification.message)}</span><button class="notification-close" data-v-87475ab3>x</button></div>`);
        });
        _push2(`<!--]--></div>`);
      }, "body", false, _parent);
    };
  }
});
const _sfc_setup$1 = _sfc_main$1.setup;
_sfc_main$1.setup = (props, ctx) => {
  const ssrContext = useSSRContext();
  (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("components/NotificationContainer.vue");
  return _sfc_setup$1 ? _sfc_setup$1(props, ctx) : void 0;
};
const __nuxt_component_1 = /* @__PURE__ */ Object.assign(_export_sfc(_sfc_main$1, [["__scopeId", "data-v-87475ab3"]]), { __name: "NotificationContainer" });
const _sfc_main = {};
function _sfc_ssrRender(_ctx, _push, _parent, _attrs) {
  const _component_AppHeader = __nuxt_component_0;
  const _component_NotificationContainer = __nuxt_component_1;
  _push(`<div${ssrRenderAttrs(mergeProps({ class: "app-layout" }, _attrs))} data-v-157bd0ef>`);
  _push(ssrRenderComponent(_component_AppHeader, null, null, _parent));
  _push(`<main class="app-main" data-v-157bd0ef>`);
  ssrRenderSlot(_ctx.$slots, "default", {}, null, _push, _parent);
  _push(`</main><footer class="app-footer" data-v-157bd0ef><p data-v-157bd0ef>AutoCode v0.3.0</p></footer>`);
  _push(ssrRenderComponent(_component_NotificationContainer, null, null, _parent));
  _push(`</div>`);
}
const _sfc_setup = _sfc_main.setup;
_sfc_main.setup = (props, ctx) => {
  const ssrContext = useSSRContext();
  (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("layouts/default.vue");
  return _sfc_setup ? _sfc_setup(props, ctx) : void 0;
};
const _default = /* @__PURE__ */ _export_sfc(_sfc_main, [["ssrRender", _sfc_ssrRender], ["__scopeId", "data-v-157bd0ef"]]);

export { _default as default };
//# sourceMappingURL=default-BovpaVrS.mjs.map
