diff --git a/frontend/src/components/blog/comments/CommentLock.tsx b/frontend/src/components/blog/comments/CommentLock.tsx
index fe45782..01744dc 100644
--- a/frontend/src/components/blog/comments/CommentLock.tsx
+++ b/frontend/src/components/blog/comments/CommentLock.tsx
@@ -1,7 +1,8 @@
-import { createSignal, onMount } from "solid-js";
+import { createSignal, onMount, Show } from "solid-js";
export default function CommentLock() {
const [currentPath, setCurrentPath] = createSignal("/auth/sign-in");
+ const [signupPath, setSignupPath] = createSignal("/auth/sign-up");
const commentsSvg = ``;
@@ -10,6 +11,7 @@ export default function CommentLock() {
const hash = window.location.hash;
const redirectTo = hash ? `${path}${hash}` : path;
setCurrentPath(`/auth/sign-in?redirect=${encodeURIComponent(redirectTo)}`);
+ setSignupPath(`/auth/sign-up?redirect=${encodeURIComponent(redirectTo)}`);
});
return (
@@ -51,13 +53,9 @@ export default function CommentLock() {
Нет аккаунта?{" "}
-
- Зарегистрироваться
-
+ Зарегистрироваться}>
+ Зарегистрироваться
+
diff --git a/frontend/src/pages/blog/[slug].astro b/frontend/src/pages/blog/[slug].astro
index 7d67a81..5693f60 100644
--- a/frontend/src/pages/blog/[slug].astro
+++ b/frontend/src/pages/blog/[slug].astro
@@ -26,24 +26,39 @@ if (!post) {
// SSR проверка авторизации
let isAuthorized = false;
const pbAuthCookie = Astro.cookies.get('pb_auth')?.value;
-if (pbAuthCookie) {
+
+if (pbAuthCookie && PB_POCKETBASE_URL && PB_POCKETBASE_URL.startsWith('http')) {
try {
const token = pbAuthCookie.trim();
+ const controller = new AbortController();
+ const timeoutId = setTimeout(() => controller.abort(), 5000);
+
+ console.log('[SSR] Checking auth with PB...');
+
const response = await fetch(`${PB_POCKETBASE_URL}/api/collections/users/auth-refresh`, {
method: 'POST',
headers: {
Authorization: `Bearer ${token}`,
'Content-Type': 'application/json',
},
+ signal: controller.signal,
});
+
+ clearTimeout(timeoutId);
+ console.log('[SSR] Auth response:', response.status);
+
if (response.ok) {
isAuthorized = true;
+ console.log('[SSR] User authorized');
} else {
Astro.cookies.delete('pb_auth', { path: '/' });
+ console.log('[SSR] Auth failed, cookie deleted');
}
} catch (e) {
console.error('[SSR Auth] Error:', e);
}
+} else {
+ console.log('[SSR] No cookie or no PB_URL');
}
const { likes = 0, dislikes = 0 } = await getPostVotesStats(post.id).catch(() => ({ likes: 0, dislikes: 0 }));