@knowcode/doc-builder 1.9.30 โ 1.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/core-builder.js +164 -174
- package/lib/emoji-mapper.js +27 -12
- package/package.json +12 -2
- package/.claude/settings.local.json +0 -56
- package/CACHE-BUSTING-GUIDE.md +0 -82
- package/CLAUDE.md +0 -86
- package/CONTRIBUTING.md +0 -148
- package/GITHUB_SETUP.md +0 -203
- package/RELEASE-NOTES-1.7.5.md +0 -64
- package/Screenshot 2025-07-22 at 19.51.21.png +0 -0
- package/Screenshot 2025-07-26 at 17.06.49.png +0 -0
- package/add-user-clive.sql +0 -35
- package/add-user-lindsay-fixed.sql +0 -85
- package/add-user-lindsay.sql +0 -68
- package/add-user-pmorgan.sql +0 -35
- package/add-user-robbie.sql +0 -35
- package/add-wru-users.sql +0 -105
- package/debug-login.sql +0 -30
- package/doc-builder.config.js +0 -126
- package/doc-builder.config.js.backup.1753793768283 +0 -47
- package/doc-builder.config.js.backup.1753803964423 +0 -114
- package/doc-builder.config.js.backup.1753945707032 +0 -115
- package/doc-builder.config.js.backup.1754059241330 +0 -115
- package/doc-builder.config.js.backup.1754119567787 +0 -123
- package/doc-builder.config.js.backup.1754120048862 +0 -124
- package/doc-builder.config.js.backup.1754120529913 +0 -124
- package/doc-builder.config.js.backup.1754218469785 +0 -124
- package/doc-builder.config.js.backup.1754384764054 +0 -124
- package/doc-builder.config.js.backup.1754567425847 +0 -124
- package/doc-builder.config.js.backup.1754568137859 +0 -126
- package/doc-builder.config.js.backup.1754569388252 +0 -126
- package/doc-builder.config.js.backup.1754576694123 +0 -126
- package/doc-builder.config.js.backup.1755031374829 +0 -126
- package/doc-builder.config.js.backup.1755034500990 +0 -126
- package/doc-builder.config.js.backup.1755034809236 +0 -126
- package/grant-access.sql +0 -15
- package/html/11.png +0 -0
- package/html/404.html +0 -115
- package/html/README.html +0 -522
- package/html/Screenshot 2025-08-12 at 21.35.07.png +0 -0
- package/html/about-doc-builder.html +0 -491
- package/html/auth.js +0 -157
- package/html/claude-workflow-guide.html +0 -525
- package/html/css/notion-style.css +0 -2502
- package/html/documentation-index.html +0 -471
- package/html/guides/authentication-default-change.html +0 -370
- package/html/guides/authentication-guide.html +0 -509
- package/html/guides/cache-control-anti-pattern.html +0 -361
- package/html/guides/claude-workflow-guide.html +0 -1074
- package/html/guides/configuration-guide.html +0 -472
- package/html/guides/document-standards.html +0 -518
- package/html/guides/documentation-standards.html +0 -694
- package/html/guides/html-embedding-guide.html +0 -461
- package/html/guides/image-modal-guide.html +0 -515
- package/html/guides/next-steps-walkthrough.html +0 -638
- package/html/guides/phosphor-icons-guide.html +0 -584
- package/html/guides/private-directory-authentication-troubleshooting.html +0 -555
- package/html/guides/private-directory-authentication.html +0 -541
- package/html/guides/public-site-deployment.html +0 -431
- package/html/guides/search-engine-verification-guide.html +0 -542
- package/html/guides/seo-guide.html +0 -661
- package/html/guides/seo-optimization-guide.html +0 -887
- package/html/guides/supabase-auth-implementation-plan.html +0 -543
- package/html/guides/supabase-auth-integration-plan.html +0 -671
- package/html/guides/supabase-auth-setup-guide.html +0 -498
- package/html/guides/supabase-authentication-complete-guide.html +0 -866
- package/html/guides/troubleshooting-guide.html +0 -633
- package/html/guides/vercel-deployment-auth-setup.html +0 -337
- package/html/guides/windows-setup-guide.html +0 -859
- package/html/image-modal-test.html +0 -318
- package/html/index.html +0 -522
- package/html/js/auth.js +0 -157
- package/html/js/main.js +0 -1754
- package/html/launch/README.html +0 -297
- package/html/launch/bubble-plugin-specification.html +0 -933
- package/html/launch/go-to-market-strategy.html +0 -663
- package/html/launch/launch-announcements.html +0 -593
- package/html/login.html +0 -102
- package/html/logout.html +0 -18
- package/html/private/cache-control-anti-pattern.html +0 -429
- package/html/private/launch/README.html +0 -371
- package/html/private/launch/auth-cleanup-summary.html +0 -361
- package/html/private/launch/bubble-plugin-specification.html +0 -1007
- package/html/private/launch/go-to-market-strategy.html +0 -737
- package/html/private/launch/launch-announcements.html +0 -667
- package/html/private/launch/vercel-deployment-auth-setup.html +0 -417
- package/html/private/next-steps-walkthrough.html +0 -679
- package/html/private/supabase-auth-implementation-completed.html +0 -454
- package/html/private/supabase-auth-implementation-plan.html +0 -594
- package/html/private/supabase-auth-integration-plan.html +0 -704
- package/html/private/supabase-auth-setup-guide.html +0 -555
- package/html/private/test-private-doc.html +0 -302
- package/html/private/user-management-tooling.html +0 -601
- package/html/prompts/Screenshot 2025-08-02 at 08.49.55.png +0 -0
- package/html/prompts/beautiful-documentation-design.html +0 -784
- package/html/prompts/markdown-document-standards.html +0 -422
- package/html/prompts/project-rename-strategy-sasha-publish.html +0 -530
- package/html/robots.txt +0 -9
- package/html/sitemap.xml +0 -357
- package/html/test-questions/how-does-it-work%3F.html +0 -294
- package/html/test-questions/step-1%3A%20getting-started.html +0 -289
- package/html/test-questions/what-is-the-purpose.html +0 -293
- package/html/test-status.html +0 -281
- package/html/vercel-cli-setup-guide.html +0 -495
- package/html/vercel-first-time-setup-guide.html +0 -454
- package/html/vercel.json +0 -29
- package/html-static/11.png +0 -0
- package/html-static/404.html +0 -115
- package/html-static/README.html +0 -609
- package/html-static/Screenshot 2025-08-12 at 21.35.07.png +0 -0
- package/html-static/about-doc-builder.html +0 -578
- package/html-static/css/notion-style.css +0 -2502
- package/html-static/documentation-index.html +0 -558
- package/html-static/guides/authentication-default-change.html +0 -457
- package/html-static/guides/authentication-guide.html +0 -596
- package/html-static/guides/claude-workflow-guide.html +0 -1161
- package/html-static/guides/configuration-guide.html +0 -559
- package/html-static/guides/documentation-standards.html +0 -781
- package/html-static/guides/html-embedding-guide.html +0 -548
- package/html-static/guides/image-modal-guide.html +0 -602
- package/html-static/guides/phosphor-icons-guide.html +0 -671
- package/html-static/guides/private-directory-authentication-troubleshooting.html +0 -642
- package/html-static/guides/private-directory-authentication.html +0 -628
- package/html-static/guides/public-site-deployment.html +0 -518
- package/html-static/guides/search-engine-verification-guide.html +0 -629
- package/html-static/guides/seo-guide.html +0 -748
- package/html-static/guides/seo-optimization-guide.html +0 -974
- package/html-static/guides/supabase-authentication-complete-guide.html +0 -953
- package/html-static/guides/troubleshooting-guide.html +0 -720
- package/html-static/guides/windows-setup-guide.html +0 -946
- package/html-static/image-modal-test.html +0 -405
- package/html-static/index.html +0 -609
- package/html-static/js/main.js +0 -1754
- package/html-static/prompts/Screenshot 2025-08-02 at 08.49.55.png +0 -0
- package/html-static/prompts/beautiful-documentation-design.html +0 -871
- package/html-static/prompts/markdown-document-standards.html +0 -509
- package/html-static/prompts/project-rename-strategy-sasha-publish.html +0 -617
- package/html-static/robots.txt +0 -5
- package/html-static/sitemap.xml +0 -195
- package/html-static/test-questions/how-does-it-work%3F.html +0 -381
- package/html-static/test-questions/step-1%3A%20getting-started.html +0 -376
- package/html-static/test-questions/what-is-the-purpose.html +0 -380
- package/html-static/vercel-cli-setup-guide.html +0 -582
- package/html-static/vercel-first-time-setup-guide.html +0 -541
- package/manage-users.sql +0 -191
- package/migrate-to-domain-auth.sql +0 -47
- package/package/CACHE-BUSTING-GUIDE.md +0 -82
- package/package/CHANGELOG.md +0 -902
- package/package/README.md +0 -248
- package/package/assets/css/notion-style.css +0 -2211
- package/package/assets/js/auth.js +0 -67
- package/package/assets/js/main.js +0 -1565
- package/package/cli.js +0 -764
- package/package/index.js +0 -38
- package/package/knowcode-doc-builder-1.3.15.tgz +0 -0
- package/package/lib/builder.js +0 -32
- package/package/lib/config.js +0 -278
- package/package/lib/core-builder.js +0 -957
- package/package/lib/deploy.js +0 -497
- package/package/lib/dev-server.js +0 -96
- package/package/package.json +0 -34
- package/package/scripts/npx-runner.js +0 -27
- package/package/scripts/setup.js +0 -56
- package/package/test-cache-bust.sh +0 -43
- package/public-config.js +0 -22
- package/public-html/404.html +0 -115
- package/public-html/README.html +0 -149
- package/public-html/css/notion-style.css +0 -2036
- package/public-html/index.html +0 -149
- package/public-html/js/auth.js +0 -67
- package/public-html/js/main.js +0 -1485
- package/quick-test-commands.md +0 -40
- package/recordings/Screenshot 2025-07-24 at 18.22.01.png +0 -0
- package/recordings/mh-ls-22jul.txt +0 -2305
- package/screenshot.png +0 -0
- package/scripts/Screenshot 2025-07-23 at 15.39.41.png +0 -0
- package/setup-database-v2.sql +0 -53
- package/setup-database.sql +0 -41
- package/test-auth-config.js +0 -17
- package/test-cache-bust.sh +0 -43
- package/test-docs/README.md +0 -39
- package/test-html/404.html +0 -115
- package/test-html/README.html +0 -172
- package/test-html/auth.js +0 -97
- package/test-html/css/notion-style.css +0 -2036
- package/test-html/index.html +0 -172
- package/test-html/js/auth.js +0 -97
- package/test-html/js/main.js +0 -1485
- package/test-html/login.html +0 -102
- package/test-html/logout.html +0 -18
- package/update-domain.sql +0 -9
- package/user-access-view.sql +0 -49
- package/user-management/README.md +0 -301
- package/user-management/add-users.sh +0 -776
- package/user-management/create-user.js +0 -65
- package/user-management/users.txt +0 -15
- package/view-all-users.sql +0 -40
- package/wru-auth-config.js +0 -17
package/test-html/index.html
DELETED
|
@@ -1,172 +0,0 @@
|
|
|
1
|
-
<!DOCTYPE html>
|
|
2
|
-
<html lang="en">
|
|
3
|
-
<head>
|
|
4
|
-
<meta charset="UTF-8">
|
|
5
|
-
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
6
|
-
<meta name="description" content="Welcome to the test documentation site! If you can see this page, it means:">
|
|
7
|
-
<title>๐ Test Documentation with Supabase Auth - Test Documentation</title>
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
<!-- Fonts -->
|
|
12
|
-
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap" rel="stylesheet">
|
|
13
|
-
|
|
14
|
-
<!-- Icons -->
|
|
15
|
-
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css">
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
<!-- Mermaid -->
|
|
19
|
-
<script src="https://cdn.jsdelivr.net/npm/mermaid@10.6.1/dist/mermaid.min.js"></script>
|
|
20
|
-
|
|
21
|
-
<!-- Styles -->
|
|
22
|
-
<link rel="stylesheet" href="/css/notion-style.css">
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
<!-- Hide content until auth check -->
|
|
26
|
-
<style>
|
|
27
|
-
body {
|
|
28
|
-
visibility: hidden;
|
|
29
|
-
opacity: 0;
|
|
30
|
-
transition: opacity 0.3s ease;
|
|
31
|
-
}
|
|
32
|
-
body.authenticated {
|
|
33
|
-
visibility: visible;
|
|
34
|
-
opacity: 1;
|
|
35
|
-
}
|
|
36
|
-
/* Show login/logout pages immediately */
|
|
37
|
-
body.auth-page {
|
|
38
|
-
visibility: visible;
|
|
39
|
-
opacity: 1;
|
|
40
|
-
}
|
|
41
|
-
</style>
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
<!-- Favicon -->
|
|
45
|
-
<link rel="icon" href="data:image/svg+xml,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 100 100%22><text y=%22.9em%22 font-size=%2290%22>โจ</text></svg>">
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
</head>
|
|
49
|
-
<body>
|
|
50
|
-
<!-- Header -->
|
|
51
|
-
<header class="header">
|
|
52
|
-
<div class="header-content">
|
|
53
|
-
<a href="/index.html" class="logo">Test Documentation</a>
|
|
54
|
-
|
|
55
|
-
<div class="header-actions">
|
|
56
|
-
<div class="deployment-info">
|
|
57
|
-
<span class="deployment-date" title="Built with doc-builder v1.7.4">Last updated: Jul 25, 2025, 12:27 PM UTC</span>
|
|
58
|
-
</div>
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
<a href="../logout.html" class="logout-btn" title="Logout">
|
|
62
|
-
<i class="fas fa-sign-out-alt"></i>
|
|
63
|
-
</a>
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
<button id="theme-toggle" class="theme-toggle" aria-label="Toggle theme">
|
|
67
|
-
<i class="fas fa-moon"></i>
|
|
68
|
-
</button>
|
|
69
|
-
|
|
70
|
-
<button id="menu-toggle" class="menu-toggle" aria-label="Toggle menu">
|
|
71
|
-
<i class="fas fa-bars"></i>
|
|
72
|
-
</button>
|
|
73
|
-
</div>
|
|
74
|
-
</div>
|
|
75
|
-
</header>
|
|
76
|
-
|
|
77
|
-
<!-- Preview Banner -->
|
|
78
|
-
<div id="preview-banner" class="preview-banner">
|
|
79
|
-
<div class="banner-content">
|
|
80
|
-
<i class="fas fa-exclamation-triangle banner-icon"></i>
|
|
81
|
-
<span class="banner-text">This documentation is a preview version - some content may be incomplete</span>
|
|
82
|
-
<button id="dismiss-banner" class="banner-dismiss" aria-label="Dismiss banner">
|
|
83
|
-
<i class="fas fa-times"></i>
|
|
84
|
-
</button>
|
|
85
|
-
</div>
|
|
86
|
-
</div>
|
|
87
|
-
|
|
88
|
-
<!-- Breadcrumbs -->
|
|
89
|
-
<nav class="breadcrumbs" id="breadcrumbs">
|
|
90
|
-
<!-- Breadcrumbs will be generated by JavaScript -->
|
|
91
|
-
</nav>
|
|
92
|
-
|
|
93
|
-
<!-- Main Content -->
|
|
94
|
-
<div class="main-wrapper">
|
|
95
|
-
<!-- Sidebar -->
|
|
96
|
-
<aside class="sidebar">
|
|
97
|
-
<div class="sidebar-header">
|
|
98
|
-
<div class="filter-box">
|
|
99
|
-
<input type="text" placeholder="Filter items..." class="filter-input" id="nav-filter">
|
|
100
|
-
<i class="fas fa-search filter-icon"></i>
|
|
101
|
-
</div>
|
|
102
|
-
</div>
|
|
103
|
-
<nav class="navigation">
|
|
104
|
-
|
|
105
|
-
<div class="nav-section" data-level="0">
|
|
106
|
-
<a class="nav-title expanded" href="/README.html" >
|
|
107
|
-
<i class="fas fa-home"></i> Documentation
|
|
108
|
-
</a>
|
|
109
|
-
<div class="nav-content" >
|
|
110
|
-
<a href="/README.html" class="nav-item active" data-tooltip="๐ Test Documentation with Supabase Auth."><i class="fas fa-file-alt"></i> Overview</a></div></div>
|
|
111
|
-
</nav>
|
|
112
|
-
<div class="resize-handle"></div>
|
|
113
|
-
</aside>
|
|
114
|
-
|
|
115
|
-
<!-- Content Area -->
|
|
116
|
-
<main class="content">
|
|
117
|
-
<div class="content-inner">
|
|
118
|
-
<h1><i class="ph ph-lock-key" aria-label="secure"></i> Test Documentation with Supabase Auth</h1>
|
|
119
|
-
<p>Welcome to the test documentation site! If you can see this page, it means:</p>
|
|
120
|
-
<h2><i class="ph ph-check-circle" aria-label="checked"></i> Authentication is Working!</h2>
|
|
121
|
-
<ul>
|
|
122
|
-
<li>You successfully logged in with Supabase</li>
|
|
123
|
-
<li>Your user account has access to this documentation site</li>
|
|
124
|
-
<li>The JWT token is valid and verified</li>
|
|
125
|
-
<li>Row Level Security is properly configured</li>
|
|
126
|
-
</ul>
|
|
127
|
-
<h2>๐งช Test Features</h2>
|
|
128
|
-
<h3>Secure Access</h3>
|
|
129
|
-
<p>This page is protected by enterprise-grade Supabase authentication. Only authorized users can view this content.</p>
|
|
130
|
-
<h3>Modern Technology Stack</h3>
|
|
131
|
-
<ul>
|
|
132
|
-
<li><strong>Frontend</strong>: Generated static HTML with auth checking</li>
|
|
133
|
-
<li><strong>Backend</strong>: Supabase authentication and database</li>
|
|
134
|
-
<li><strong>Security</strong>: JWT tokens, bcrypt password hashing, RLS policies</li>
|
|
135
|
-
</ul>
|
|
136
|
-
<h3>What This Proves</h3>
|
|
137
|
-
<ol>
|
|
138
|
-
<li><strong>Database Setup</strong>: Tables were created correctly</li>
|
|
139
|
-
<li><strong>Authentication Flow</strong>: Login โ JWT โ Access check โ Content</li>
|
|
140
|
-
<li><strong>Integration</strong>: doc-builder + Supabase working together</li>
|
|
141
|
-
<li><strong>Security</strong>: Only authenticated users with proper access can see this</li>
|
|
142
|
-
</ol>
|
|
143
|
-
<h2><i class="ph ph-target" aria-label="goal"></i> Next Steps</h2>
|
|
144
|
-
<p>Once this test works, we can:</p>
|
|
145
|
-
<ul>
|
|
146
|
-
<li>Deploy to Vercel with production settings</li>
|
|
147
|
-
<li>Add more users and documentation sites </li>
|
|
148
|
-
<li>Set up your real documentation content</li>
|
|
149
|
-
<li>Configure custom domains and advanced features</li>
|
|
150
|
-
</ul>
|
|
151
|
-
<hr>
|
|
152
|
-
<p><strong>Generated by</strong>: @knowcode/doc-builder with Supabase authentication<br><strong>Test Date</strong>: July 25, 2025</p>
|
|
153
|
-
|
|
154
|
-
</div>
|
|
155
|
-
</main>
|
|
156
|
-
</div>
|
|
157
|
-
|
|
158
|
-
<!-- Scripts -->
|
|
159
|
-
<script>
|
|
160
|
-
// Pass configuration to frontend
|
|
161
|
-
window.docBuilderConfig = {
|
|
162
|
-
features: {
|
|
163
|
-
showPdfDownload: true,
|
|
164
|
-
menuDefaultOpen: true
|
|
165
|
-
}
|
|
166
|
-
};
|
|
167
|
-
</script>
|
|
168
|
-
<script src="/js/main.js"></script>
|
|
169
|
-
<script src="https://unpkg.com/@supabase/supabase-js@2"></script>
|
|
170
|
-
<script src="/js/auth.js"></script>
|
|
171
|
-
</body>
|
|
172
|
-
</html>
|
package/test-html/js/auth.js
DELETED
|
@@ -1,97 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
/**
|
|
3
|
-
* Supabase Authentication for Documentation Site
|
|
4
|
-
* Generated by @knowcode/doc-builder
|
|
5
|
-
*/
|
|
6
|
-
|
|
7
|
-
(function() {
|
|
8
|
-
'use strict';
|
|
9
|
-
|
|
10
|
-
// Skip auth check on login and logout pages
|
|
11
|
-
const currentPage = window.location.pathname;
|
|
12
|
-
if (currentPage === '/login.html' || currentPage === '/logout.html' ||
|
|
13
|
-
currentPage.includes('login') || currentPage.includes('logout')) {
|
|
14
|
-
return;
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
// Initialize Supabase client
|
|
18
|
-
const { createClient } = supabase;
|
|
19
|
-
const supabaseClient = createClient('https://xcihhnfcitjrwbynxmka.supabase.co', 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6InhjaWhobmZjaXRqcndieW54bWthIiwicm9sZSI6ImFub24iLCJpYXQiOjE3NTM0Mzc2MzcsImV4cCI6MjA2OTAxMzYzN30.zvWp3JFIR8fBIiwuFF5gqOR_Kxb42baZS5fsBz60XOY', {
|
|
20
|
-
auth: {
|
|
21
|
-
persistSession: true,
|
|
22
|
-
autoRefreshToken: true,
|
|
23
|
-
detectSessionInUrl: true
|
|
24
|
-
}
|
|
25
|
-
});
|
|
26
|
-
|
|
27
|
-
// Check authentication and site access
|
|
28
|
-
async function checkAuth() {
|
|
29
|
-
try {
|
|
30
|
-
// Get current user session
|
|
31
|
-
const { data: { user }, error: userError } = await supabaseClient.auth.getUser();
|
|
32
|
-
|
|
33
|
-
if (userError || !user) {
|
|
34
|
-
redirectToLogin();
|
|
35
|
-
return;
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
// Check if user has access to this site
|
|
39
|
-
const { data: access, error: accessError } = await supabaseClient
|
|
40
|
-
.from('docbuilder_access')
|
|
41
|
-
.select('*')
|
|
42
|
-
.eq('user_id', user.id)
|
|
43
|
-
.eq('site_id', '4d8a53bf-dcdd-48c0-98e0-cd1451518735')
|
|
44
|
-
.single();
|
|
45
|
-
|
|
46
|
-
if (accessError || !access) {
|
|
47
|
-
showAccessDenied();
|
|
48
|
-
return;
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
// User is authenticated and has access
|
|
52
|
-
console.log('User authenticated and authorized');
|
|
53
|
-
document.body.classList.add('authenticated');
|
|
54
|
-
|
|
55
|
-
} catch (error) {
|
|
56
|
-
console.error('Auth check failed:', error);
|
|
57
|
-
redirectToLogin();
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
// Redirect to login page
|
|
62
|
-
function redirectToLogin() {
|
|
63
|
-
const currentUrl = window.location.pathname + window.location.search;
|
|
64
|
-
const loginUrl = '/login.html' + (currentUrl !== '/' ? '?redirect=' + encodeURIComponent(currentUrl) : '');
|
|
65
|
-
window.location.href = loginUrl;
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
// Show access denied message
|
|
69
|
-
function showAccessDenied() {
|
|
70
|
-
document.body.classList.add('authenticated'); // Show the body
|
|
71
|
-
document.body.innerHTML = `
|
|
72
|
-
<div style="display: flex; justify-content: center; align-items: center; height: 100vh; font-family: Inter, sans-serif;">
|
|
73
|
-
<div style="text-align: center; max-width: 400px;">
|
|
74
|
-
<h1 style="color: #ef4444; margin-bottom: 1rem;">Access Denied</h1>
|
|
75
|
-
<p style="color: #6b7280; margin-bottom: 2rem;">You don't have permission to view this documentation site.</p>
|
|
76
|
-
<a href="/login.html" style="background: #3b82f6; color: white; padding: 0.75rem 1.5rem; border-radius: 0.5rem; text-decoration: none;">Try Different Account</a>
|
|
77
|
-
</div>
|
|
78
|
-
</div>
|
|
79
|
-
`;
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
// Add logout functionality
|
|
83
|
-
document.addEventListener('DOMContentLoaded', function() {
|
|
84
|
-
const logoutLinks = document.querySelectorAll('a[href*="logout"]');
|
|
85
|
-
logoutLinks.forEach(link => {
|
|
86
|
-
link.addEventListener('click', async function(e) {
|
|
87
|
-
e.preventDefault();
|
|
88
|
-
await supabaseClient.auth.signOut();
|
|
89
|
-
window.location.href = '/logout.html';
|
|
90
|
-
});
|
|
91
|
-
});
|
|
92
|
-
});
|
|
93
|
-
|
|
94
|
-
// Run auth check
|
|
95
|
-
checkAuth();
|
|
96
|
-
|
|
97
|
-
})();
|