cleanup
CI / Frontend (push) Successful in 11m7s
CI / Go - apps/auth-service (push) Failing after 8s
CI / Go - apps/backend (push) Failing after 2s
CI / Docker publish - auth-service (push) Has been skipped
CI / Docker publish - backend (push) Has been skipped

This commit is contained in:
Tomas Dvorak
2026-05-05 09:48:15 +02:00
parent 48c3e15a38
commit cf3315e8fc
155 changed files with 70334 additions and 19015 deletions
Binary file not shown.

After

Width:  |  Height:  |  Size: 58 KiB

+1 -1
View File
@@ -1,5 +1,5 @@
import type { ParentComponent } from "solid-js";
import { createEffect, onMount } from "solid-js";
import { createEffect } from "solid-js";
import { useLocation } from "@solidjs/router";
import { AuthProvider } from "./providers/auth-provider";
import { I18nProvider } from "./providers/i18n-provider";
@@ -1,4 +1,4 @@
import { JSX, createSignal, onMount, Show } from "solid-js";
import { JSX, createSignal, Show } from "solid-js";
export type CharacterPose =
| "main"
@@ -1,4 +1,4 @@
import { createSignal, Show, For, type JSX } from "solid-js";
import { createSignal, For } from "solid-js";
import { Dialog, DialogContent, DialogHeader, DialogTitle, DialogDescription, Button, Tabs, TabsList, TabsTrigger, TabsContent, DialogCloseButton } from "./ui";
interface IntegrationModalProps {
+9 -2
View File
@@ -1,5 +1,12 @@
import { JSX, For, createSignal, createContext, useContext, ParentComponent, splitProps, children, Accessor } from "solid-js";
import type { ResolvedChildren } from "solid-js";
import {
JSX,
createSignal,
createContext,
useContext,
ParentComponent,
splitProps,
Accessor
} from "solid-js";
// Context for tab state
interface TabsContextValue {
+11 -9
View File
@@ -1,17 +1,19 @@
import { render } from "solid-js/web";
import { lazy } from "solid-js";
import { Route, Router } from "@solidjs/router";
import App from "./App";
import { AboutRoute } from "./routes/about-route";
import { AuthCallbackRoute } from "./routes/auth-callback-route";
import { BookingManageRoute } from "./routes/booking-manage-route";
import { ContactRoute } from "./routes/contact-route";
import { DashboardRoute } from "./routes/dashboard-route";
import { HomeRoute } from "./routes/home-route";
import { LegalRoute } from "./routes/legal-route";
import { NotFoundRoute } from "./routes/not-found-route";
import { PublicBookingRoute } from "./routes/public-booking-route";
import "./styles/index.css";
const HomeRoute = lazy(() => import("./routes/home-route").then((module) => ({ default: module.HomeRoute })));
const AboutRoute = lazy(() => import("./routes/about-route").then((module) => ({ default: module.AboutRoute })));
const AuthCallbackRoute = lazy(() => import("./routes/auth-callback-route").then((module) => ({ default: module.AuthCallbackRoute })));
const ContactRoute = lazy(() => import("./routes/contact-route").then((module) => ({ default: module.ContactRoute })));
const DashboardRoute = lazy(() => import("./routes/dashboard-route").then((module) => ({ default: module.DashboardRoute })));
const PublicBookingRoute = lazy(() => import("./routes/public-booking-route").then((module) => ({ default: module.PublicBookingRoute })));
const BookingManageRoute = lazy(() => import("./routes/booking-manage-route").then((module) => ({ default: module.BookingManageRoute })));
const LegalRoute = lazy(() => import("./routes/legal-route").then((module) => ({ default: module.LegalRoute })));
const NotFoundRoute = lazy(() => import("./routes/not-found-route").then((module) => ({ default: module.NotFoundRoute })));
render(
() => (
<Router root={App}>
@@ -1,5 +1,5 @@
import { A, useParams, useSearchParams } from "@solidjs/router";
import { createSignal, createResource, Show, Match, Switch } from "solid-js";
import { useParams, useSearchParams } from "@solidjs/router";
import { createSignal, createResource, Show } from "solid-js";
import { apiClient } from "../lib/api-client";
import { useI18n } from "../providers/i18n-provider";
import { BookraCharacter } from "../components/bookra-character";
+8 -1
View File
@@ -1,7 +1,14 @@
import { Show, createSignal } from "solid-js";
import { useI18n } from "../providers/i18n-provider";
import { BookraCharacter } from "../components/bookra-character";
import { Button, Card, CardContent, CardHeader, CardTitle, Input, Textarea } from "../components/ui";
import {
Button,
Card,
CardContent,
CardTitle,
Input,
Textarea
} from "../components/ui";
export function ContactRoute() {
const i18n = useI18n();
+13 -2
View File
@@ -1,4 +1,10 @@
import { For, Show, createResource, createSignal, createMemo, createEffect, onMount } from "solid-js";
import {
Show,
createResource,
createSignal,
createMemo,
createEffect
} from "solid-js";
import { A, useSearchParams } from "@solidjs/router";
import { apiClient } from "../lib/api-client";
import { getPaddle, paddleConfigured } from "../lib/paddle";
@@ -731,7 +737,12 @@ export function DashboardRoute() {
setBillingError(i18n.locale() === "cs" ? "Paddle portál není připraven." : "Paddle portal is not ready.");
return;
}
window.location.href = response.data.url;
const portalUrl = response.data.url;
if (!portalUrl.startsWith("https://")) {
setBillingError(i18n.locale() === "cs" ? "Neplatný portál URL." : "Invalid portal URL.");
return;
}
window.location.href = portalUrl;
};
createEffect(() => {
+3 -6
View File
@@ -1,5 +1,5 @@
import { A } from "@solidjs/router";
import { createSignal, onMount, JSX, createMemo } from "solid-js";
import { createSignal, onMount, createMemo } from "solid-js";
import { useI18n } from "../providers/i18n-provider";
import { BookraCharacter } from "../components/bookra-character";
@@ -637,11 +637,8 @@ export function HomeRoute() {
</section>
{/* CTA Section */}
<section class="py-20 lg:py-32 relative overflow-hidden">
<div class="absolute inset-0 pointer-events-none">
<div class="absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 w-[600px] h-[600px] bg-accent/5 rounded-full blur-3xl" />
</div>
<div class="section-container relative">
<section class="py-20 lg:py-32">
<div class="section-container">
<div class="max-w-3xl mx-auto text-center">
{/* Celebratory mascot */}
<div class="flex justify-center mb-6">