@stacksjs/defaults 0.72.49 → 0.72.54
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/ai/skills/stacks-browse/scripts/browse.ts +63 -4
- package/ide/vscode/package.json +1 -1
- package/lang/de.yml +0 -1
- package/package.json +7 -2
- package/resources/components/Dashboard/Auth/ForgotPasswordDashboard.stx +8 -0
- package/resources/components/Dashboard/Auth/Login.stx +8 -0
- package/resources/components/Dashboard/Auth/LoginDashboard.stx +5 -1
- package/resources/components/Dashboard/Auth/MagicLink.stx +94 -0
- package/resources/components/Dashboard/Auth/Register.stx +7 -0
- package/resources/components/Dashboard/Auth/RegisterDashboard.stx +5 -1
- package/resources/components/Dashboard/Auth/ResetPassword.stx +163 -0
- package/resources/components/Dashboard/Auth/ResetPasswordDashboard.stx +95 -0
- package/resources/layouts/403.stx +15 -148
- package/resources/layouts/404.stx +7 -2
- package/resources/views/auth/magic/[token].stx +24 -0
- package/resources/views/errors/404.stx +42 -0
- package/resources/views/forgot-password.stx +13 -0
- package/resources/views/login.stx +68 -0
- package/resources/views/password/reset/[token].stx +18 -0
- package/resources/views/register.stx +64 -0
- package/vcs/github/workflows/ci.yml +87 -0
- package/views/[...all].stx +0 -7
- package/views/about.md +0 -3
- package/views/auth/login.stx +0 -1
- package/views/auth/magic/[token].stx +0 -88
- package/views/auth/signup.stx +0 -120
- package/views/forum/category.stx +0 -92
- package/views/forum/index.stx +0 -209
- package/views/forum/new-topic.stx +0 -113
- package/views/forum/profile.stx +0 -1
- package/views/forum/topic.stx +0 -143
- package/views/hello-world/[name].stx +0 -47
- package/views/index.stx +0 -21
package/views/auth/signup.stx
DELETED
|
@@ -1,120 +0,0 @@
|
|
|
1
|
-
<script server>
|
|
2
|
-
/**
|
|
3
|
-
* The providers whose buttons are worth rendering.
|
|
4
|
-
*
|
|
5
|
-
* `configuredSocialProviders()` knows each provider's own required config,
|
|
6
|
-
* so a provider missing credentials never reaches a visitor as a button
|
|
7
|
-
* that fails at the redirect. Adding credentials to `config/services.ts`
|
|
8
|
-
* is the whole of what turns one on.
|
|
9
|
-
*
|
|
10
|
-
* Icons come from hugeicons, the collection Stacks defaults to. Swap the
|
|
11
|
-
* map if your app standardises on another one.
|
|
12
|
-
*/
|
|
13
|
-
import { configuredSocialProviders } from '@stacksjs/socials'
|
|
14
|
-
|
|
15
|
-
const PROVIDER_ICONS = {
|
|
16
|
-
apple: 'i-hugeicons-apple',
|
|
17
|
-
facebook: 'i-hugeicons-facebook-01',
|
|
18
|
-
github: 'i-hugeicons-github',
|
|
19
|
-
google: 'i-hugeicons-google',
|
|
20
|
-
twitter: 'i-hugeicons-new-twitter',
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
const socialSignIn = configuredSocialProviders().map(provider => ({
|
|
24
|
-
label: provider.label,
|
|
25
|
-
href: `/auth/${provider.name}/redirect`,
|
|
26
|
-
icon: PROVIDER_ICONS[provider.name] ?? 'i-hugeicons-user-circle',
|
|
27
|
-
}))
|
|
28
|
-
</script>
|
|
29
|
-
|
|
30
|
-
<div class="flex flex-col justify-center py-12 sm:px-6 lg:px-8 min-h-full">
|
|
31
|
-
<div class="sm:mx-auto sm:max-w-md sm:w-full">
|
|
32
|
-
<Logo class="mx-auto h-11 w-auto" />
|
|
33
|
-
<h2 class="mt-6 font-bold leading-9 text-2xl text-center text-gray-900 tracking-tight">
|
|
34
|
-
Sign up to your account
|
|
35
|
-
</h2>
|
|
36
|
-
</div>
|
|
37
|
-
|
|
38
|
-
<div class="mt-10 sm:mx-auto sm:max-w-[480px] sm:w-full">
|
|
39
|
-
<div class="px-6 py-12 sm:px-12 bg-white sm:rounded-lg shadow">
|
|
40
|
-
<form class="space-y-6" action="#" method="POST">
|
|
41
|
-
<div>
|
|
42
|
-
<label for="name" class="block font-medium leading-6 text-gray-900 text-sm">Name</label>
|
|
43
|
-
<div class="mt-2">
|
|
44
|
-
<input id="name" name="name" type="text" autocomplete="name" required class="block py-1.5 w-full text-gray-900 sm:leading-6 sm:text-sm placeholder:text-gray-400 border-0 ring-1 ring-gray-300 ring-inset rounded-md focus:ring-2 focus:ring-blue-600 focus:ring-inset shadow-sm">
|
|
45
|
-
</div>
|
|
46
|
-
</div>
|
|
47
|
-
|
|
48
|
-
<div>
|
|
49
|
-
<label for="email" class="block font-medium leading-6 text-gray-900 text-sm">Email address</label>
|
|
50
|
-
<div class="mt-2">
|
|
51
|
-
<input id="email" name="email" type="email" autocomplete="email" required class="block py-1.5 w-full text-gray-900 sm:leading-6 sm:text-sm placeholder:text-gray-400 border-0 ring-1 ring-gray-300 ring-inset rounded-md focus:ring-2 focus:ring-blue-600 focus:ring-inset shadow-sm">
|
|
52
|
-
</div>
|
|
53
|
-
</div>
|
|
54
|
-
|
|
55
|
-
<div>
|
|
56
|
-
<label for="password" class="block font-medium leading-6 text-gray-900 text-sm">Password</label>
|
|
57
|
-
<div class="mt-2">
|
|
58
|
-
<input id="password" name="password" type="password" autocomplete="current-password" required class="block py-1.5 w-full text-gray-900 sm:leading-6 sm:text-sm placeholder:text-gray-400 border-0 ring-1 ring-gray-300 ring-inset rounded-md focus:ring-2 focus:ring-blue-600 focus:ring-inset shadow-sm">
|
|
59
|
-
</div>
|
|
60
|
-
</div>
|
|
61
|
-
|
|
62
|
-
<div>
|
|
63
|
-
<label for="password" class="block font-medium leading-6 text-gray-900 text-sm">Confirm Password</label>
|
|
64
|
-
<div class="mt-2">
|
|
65
|
-
<input id="password" name="password" type="password" autocomplete="current-password" required class="block py-1.5 w-full text-gray-900 sm:leading-6 sm:text-sm placeholder:text-gray-400 border-0 ring-1 ring-gray-300 ring-inset rounded-md focus:ring-2 focus:ring-blue-600 focus:ring-inset shadow-sm">
|
|
66
|
-
</div>
|
|
67
|
-
</div>
|
|
68
|
-
|
|
69
|
-
<div>
|
|
70
|
-
<div>
|
|
71
|
-
<button type="submit" class="flex justify-center px-3 py-1.5 w-full font-semibold leading-6 text-sm text-white bg-blue-600 hover:bg-blue-500 rounded-md focus-visible:outline focus-visible:outline-2 focus-visible:outline-blue-600 focus-visible:outline-offset-2 shadow-sm">
|
|
72
|
-
Sign up
|
|
73
|
-
</button>
|
|
74
|
-
</div>
|
|
75
|
-
</div>
|
|
76
|
-
</form>
|
|
77
|
-
|
|
78
|
-
{{--
|
|
79
|
-
Social sign-in, driven by which providers are actually configured.
|
|
80
|
-
|
|
81
|
-
This block used to be two hardcoded buttons pointing at `href="#"`,
|
|
82
|
-
so a scaffolded app shipped a Google and a GitHub button that both
|
|
83
|
-
did nothing, and offered them whether or not either provider had
|
|
84
|
-
credentials. `configuredSocialProviders()` answers that per
|
|
85
|
-
provider on each provider's own terms (Apple has no clientSecret
|
|
86
|
-
and is validated on its signing key instead), so what renders here
|
|
87
|
-
is exactly the set that will complete a sign-in.
|
|
88
|
-
--}}
|
|
89
|
-
@if (socialSignIn.length)
|
|
90
|
-
<div>
|
|
91
|
-
<div class="relative mt-10">
|
|
92
|
-
<div class="flex absolute inset-0 items-center" aria-hidden="true">
|
|
93
|
-
<div class="w-full border-gray-200 border-t"></div>
|
|
94
|
-
</div>
|
|
95
|
-
<div class="flex relative justify-center font-medium leading-6 text-sm">
|
|
96
|
-
<span class="px-6 text-gray-900 bg-white">Or continue with</span>
|
|
97
|
-
</div>
|
|
98
|
-
</div>
|
|
99
|
-
|
|
100
|
-
<div class="grid gap-4 mt-6 {{ socialSignIn.length > 1 ? 'grid-cols-2' : 'grid-cols-1' }}">
|
|
101
|
-
@foreach (socialSignIn as provider)
|
|
102
|
-
<a
|
|
103
|
-
href="{{ provider.href }}"
|
|
104
|
-
class="flex gap-3 items-center justify-center px-3 py-2 w-full font-semibold text-gray-900 text-sm bg-white hover:bg-gray-50 ring-1 ring-gray-300 ring-inset rounded-md focus-visible:ring-transparent shadow-sm"
|
|
105
|
-
>
|
|
106
|
-
<i class="h-5 w-5 {{ provider.icon }}" aria-hidden="true"></i>
|
|
107
|
-
<span class="font-semibold leading-6 text-sm">{{ provider.label }}</span>
|
|
108
|
-
</a>
|
|
109
|
-
@endforeach
|
|
110
|
-
</div>
|
|
111
|
-
</div>
|
|
112
|
-
@endif
|
|
113
|
-
</div>
|
|
114
|
-
|
|
115
|
-
<p class="mt-10 text-center text-gray-500 text-sm">
|
|
116
|
-
Already have an account?
|
|
117
|
-
<a href="/login" class="font-semibold leading-6 text-blue-600 hover:text-blue-500">Sign in</a>
|
|
118
|
-
</p>
|
|
119
|
-
</div>
|
|
120
|
-
</div>
|
package/views/forum/category.stx
DELETED
|
@@ -1,92 +0,0 @@
|
|
|
1
|
-
<script server>
|
|
2
|
-
const category = ''
|
|
3
|
-
const subcategory = ''
|
|
4
|
-
const filter = ''
|
|
5
|
-
</script>
|
|
6
|
-
<ForumLayout :route="routeType">
|
|
7
|
-
<div class="grid gap-8 grid-cols-1 lg:grid-cols-3">
|
|
8
|
-
<div class="lg:col-span-2">
|
|
9
|
-
<ForumBreadcrumb :items="breadcrumbItems" />
|
|
10
|
-
|
|
11
|
-
<div class="mb-6">
|
|
12
|
-
<div class="flex items-center justify-between px-4 py-3 bg-gray-100 rounded-t-md">
|
|
13
|
-
<div>
|
|
14
|
-
<h1 class="font-bold text-xl">{{ categoryTitle }}</h1>
|
|
15
|
-
<p class="mt-1 text-gray-600 text-sm">{{ categoryDescription }}</p>
|
|
16
|
-
</div>
|
|
17
|
-
|
|
18
|
-
<div>
|
|
19
|
-
<a href="/forum/new-topic" class="px-4 py-2 text-white bg-primary rounded-md hover:opacity-90">New Topic</a>
|
|
20
|
-
</div>
|
|
21
|
-
</div>
|
|
22
|
-
</div>
|
|
23
|
-
|
|
24
|
-
<ForumTopicList :title="listTitle">
|
|
25
|
-
@foreach (topic in topics)
|
|
26
|
-
<ForumTopicItem
|
|
27
|
-
:key="topic.id"
|
|
28
|
-
:title="topic.title"
|
|
29
|
-
:link="topic.link"
|
|
30
|
-
:authorName="topic.authorName"
|
|
31
|
-
:authorAvatar="topic.authorAvatar"
|
|
32
|
-
:createdAt="topic.createdAt"
|
|
33
|
-
:viewCount="topic.viewCount"
|
|
34
|
-
:replyCount="topic.replyCount"
|
|
35
|
-
:likeCount="topic.likeCount"
|
|
36
|
-
:category="topic.category"
|
|
37
|
-
:categoryLink="topic.categoryLink"
|
|
38
|
-
:excerpt="topic.excerpt || ''"
|
|
39
|
-
:isPinned="!!topic.isPinned"
|
|
40
|
-
:isSolved="!!topic.isSolved"
|
|
41
|
-
:lastReplyAuthorName="topic.lastReplyAuthorName || ''"
|
|
42
|
-
:lastReplyAuthorAvatar="topic.lastReplyAuthorAvatar || ''"
|
|
43
|
-
:lastReplyAt="topic.lastReplyAt || ''"
|
|
44
|
-
/>
|
|
45
|
-
@endforeach
|
|
46
|
-
</ForumTopicList>
|
|
47
|
-
|
|
48
|
-
<ForumPagination :currentPage="1" :totalPages="5" />
|
|
49
|
-
</div>
|
|
50
|
-
|
|
51
|
-
<div class="lg:col-span-1">
|
|
52
|
-
<ForumSidebar
|
|
53
|
-
:stats="{
|
|
54
|
-
topics: 540,
|
|
55
|
-
posts: 3287,
|
|
56
|
-
members: 1245,
|
|
57
|
-
newestMember: 'NewUser123'
|
|
58
|
-
}"
|
|
59
|
-
:popularTopics="[
|
|
60
|
-
{
|
|
61
|
-
id: 1,
|
|
62
|
-
title: 'How to implement authentication in a new Stacks.js project?',
|
|
63
|
-
link: '/forum/topic/1',
|
|
64
|
-
replyCount: 3,
|
|
65
|
-
viewCount: 45
|
|
66
|
-
},
|
|
67
|
-
{
|
|
68
|
-
id: 2,
|
|
69
|
-
title: 'Best practices for database migrations in Stacks.js',
|
|
70
|
-
link: '/forum/topic/3',
|
|
71
|
-
replyCount: 15,
|
|
72
|
-
viewCount: 128
|
|
73
|
-
},
|
|
74
|
-
{
|
|
75
|
-
id: 3,
|
|
76
|
-
title: 'Introducing myself to the community!',
|
|
77
|
-
link: '/forum/topic/2',
|
|
78
|
-
replyCount: 8,
|
|
79
|
-
viewCount: 32
|
|
80
|
-
}
|
|
81
|
-
]"
|
|
82
|
-
:onlineUsers="[
|
|
83
|
-
{ id: 1, name: 'JohnDoe', avatar: '/images/avatars/default.png' },
|
|
84
|
-
{ id: 2, name: 'DatabaseGuru', avatar: '/images/avatars/default.png' },
|
|
85
|
-
{ id: 3, name: 'NewUser123', avatar: '/images/avatars/default.png' },
|
|
86
|
-
{ id: 4, name: 'ExpertUser', avatar: '/images/avatars/default.png' },
|
|
87
|
-
{ id: 5, name: 'StacksMaster', avatar: '/images/avatars/default.png' }
|
|
88
|
-
]"
|
|
89
|
-
/>
|
|
90
|
-
</div>
|
|
91
|
-
</div>
|
|
92
|
-
</ForumLayout>
|
package/views/forum/index.stx
DELETED
|
@@ -1,209 +0,0 @@
|
|
|
1
|
-
<script server>
|
|
2
|
-
const filter = ''
|
|
3
|
-
</script>
|
|
4
|
-
<ForumLayout :route="currentRoute">
|
|
5
|
-
<div class="grid gap-8 grid-cols-1 lg:grid-cols-3">
|
|
6
|
-
<div class="lg:col-span-2">
|
|
7
|
-
<ForumBreadcrumb :items="breadcrumbItems" />
|
|
8
|
-
|
|
9
|
-
@if (!filter)
|
|
10
|
-
<div>
|
|
11
|
-
<ForumCategory title="Announcements">
|
|
12
|
-
<ForumCategoryItem
|
|
13
|
-
title="Welcome to the Stacks Community Forum"
|
|
14
|
-
description="Important information about the forum rules and guidelines. Please read before posting."
|
|
15
|
-
link="/forum/category/announcements/welcome"
|
|
16
|
-
:topicCount="5"
|
|
17
|
-
:postCount="42"
|
|
18
|
-
icon="i-hugeicons-megaphone"
|
|
19
|
-
:latestTopic="{
|
|
20
|
-
title: 'Forum Rules and Guidelines',
|
|
21
|
-
link: '/forum/topic/4',
|
|
22
|
-
timeAgo: '1 week ago',
|
|
23
|
-
author: 'Admin',
|
|
24
|
-
authorLink: '/forum/profile/admin'
|
|
25
|
-
}"
|
|
26
|
-
/>
|
|
27
|
-
<ForumCategoryItem
|
|
28
|
-
title="Stacks.js v2.0 Release Notes"
|
|
29
|
-
description="Learn about the latest features and improvements in Stacks.js v2.0"
|
|
30
|
-
link="/forum/category/announcements/release-notes"
|
|
31
|
-
:topicCount="12"
|
|
32
|
-
:postCount="87"
|
|
33
|
-
icon="i-hugeicons-newspaper"
|
|
34
|
-
:latestTopic="{
|
|
35
|
-
title: 'Stacks.js v2.0 Released!',
|
|
36
|
-
link: '/forum/topic/6',
|
|
37
|
-
timeAgo: '3 days ago',
|
|
38
|
-
author: 'StacksMaster',
|
|
39
|
-
authorLink: '/forum/profile/stacksmaster'
|
|
40
|
-
}"
|
|
41
|
-
/>
|
|
42
|
-
</ForumCategory>
|
|
43
|
-
|
|
44
|
-
<ForumCategory title="General Discussion">
|
|
45
|
-
<ForumCategoryItem
|
|
46
|
-
title="General Chat"
|
|
47
|
-
description="A place to discuss anything related to Stacks.js and our community."
|
|
48
|
-
link="/forum/category/general/chat"
|
|
49
|
-
:topicCount="128"
|
|
50
|
-
:postCount="1243"
|
|
51
|
-
:latestTopic="{
|
|
52
|
-
title: 'Best practices for database migrations in Stacks.js',
|
|
53
|
-
link: '/forum/topic/3',
|
|
54
|
-
timeAgo: '1 day ago',
|
|
55
|
-
author: 'DatabaseGuru',
|
|
56
|
-
authorLink: '/forum/profile/databaseguru'
|
|
57
|
-
}"
|
|
58
|
-
/>
|
|
59
|
-
<ForumCategoryItem
|
|
60
|
-
title="Introductions"
|
|
61
|
-
description="New to the forum? Introduce yourself here and meet other community members!"
|
|
62
|
-
link="/forum/category/general/introductions"
|
|
63
|
-
:topicCount="75"
|
|
64
|
-
:postCount="312"
|
|
65
|
-
icon="i-hugeicons-user-plus"
|
|
66
|
-
:latestTopic="{
|
|
67
|
-
title: 'Introducing myself to the community!',
|
|
68
|
-
link: '/forum/topic/2',
|
|
69
|
-
timeAgo: '5 hours ago',
|
|
70
|
-
author: 'NewUser123',
|
|
71
|
-
authorLink: '/forum/profile/newuser123'
|
|
72
|
-
}"
|
|
73
|
-
/>
|
|
74
|
-
<ForumCategoryItem
|
|
75
|
-
title="Feedback & Suggestions"
|
|
76
|
-
description="Share your ideas and suggestions for improving Stacks.js and the forum."
|
|
77
|
-
link="/forum/category/general/feedback"
|
|
78
|
-
:topicCount="34"
|
|
79
|
-
:postCount="156"
|
|
80
|
-
icon="i-hugeicons-lightbulb"
|
|
81
|
-
:latestTopic="{
|
|
82
|
-
title: 'Suggestion: Add dark mode to the forum',
|
|
83
|
-
link: '/forum/topic/7',
|
|
84
|
-
timeAgo: '2 days ago',
|
|
85
|
-
author: 'DarkModeEnthusiast',
|
|
86
|
-
authorLink: '/forum/profile/darkmode'
|
|
87
|
-
}"
|
|
88
|
-
/>
|
|
89
|
-
</ForumCategory>
|
|
90
|
-
|
|
91
|
-
<ForumCategory title="Technical Support">
|
|
92
|
-
<ForumCategoryItem
|
|
93
|
-
title="Installation & Setup"
|
|
94
|
-
description="Need help with installing or setting up Stacks.js? Ask here."
|
|
95
|
-
link="/forum/category/support/installation"
|
|
96
|
-
:topicCount="87"
|
|
97
|
-
:postCount="423"
|
|
98
|
-
icon="i-hugeicons-wrench"
|
|
99
|
-
:latestTopic="{
|
|
100
|
-
title: 'How to implement authentication in a new Stacks.js project?',
|
|
101
|
-
link: '/forum/topic/1',
|
|
102
|
-
timeAgo: '2 hours ago',
|
|
103
|
-
author: 'JohnDoe',
|
|
104
|
-
authorLink: '/forum/profile/johndoe'
|
|
105
|
-
}"
|
|
106
|
-
/>
|
|
107
|
-
<ForumCategoryItem
|
|
108
|
-
title="Troubleshooting"
|
|
109
|
-
description="Having issues with your Stacks.js project? Get help from the community."
|
|
110
|
-
link="/forum/category/support/troubleshooting"
|
|
111
|
-
:topicCount="142"
|
|
112
|
-
:postCount="768"
|
|
113
|
-
icon="i-hugeicons-bug"
|
|
114
|
-
:latestTopic="{
|
|
115
|
-
title: 'TypeError when using the new API client',
|
|
116
|
-
link: '/forum/topic/8',
|
|
117
|
-
timeAgo: '6 hours ago',
|
|
118
|
-
author: 'BugHunter',
|
|
119
|
-
authorLink: '/forum/profile/bughunter'
|
|
120
|
-
}"
|
|
121
|
-
/>
|
|
122
|
-
<ForumCategoryItem
|
|
123
|
-
title="Feature Requests"
|
|
124
|
-
description="Request new features or enhancements for Stacks.js."
|
|
125
|
-
link="/forum/category/support/feature-requests"
|
|
126
|
-
:topicCount="56"
|
|
127
|
-
:postCount="289"
|
|
128
|
-
icon="i-hugeicons-star"
|
|
129
|
-
:latestTopic="{
|
|
130
|
-
title: 'Request: Add built-in support for WebSockets',
|
|
131
|
-
link: '/forum/topic/9',
|
|
132
|
-
timeAgo: '4 days ago',
|
|
133
|
-
author: 'RealtimeDev',
|
|
134
|
-
authorLink: '/forum/profile/realtimedev'
|
|
135
|
-
}"
|
|
136
|
-
/>
|
|
137
|
-
</ForumCategory>
|
|
138
|
-
</div>
|
|
139
|
-
@endif
|
|
140
|
-
|
|
141
|
-
<ForumTopicList :title="listTitle">
|
|
142
|
-
@foreach (topic in topics)
|
|
143
|
-
<ForumTopicItem
|
|
144
|
-
:key="topic.id"
|
|
145
|
-
:title="topic.title"
|
|
146
|
-
:link="topic.link"
|
|
147
|
-
:authorName="topic.authorName"
|
|
148
|
-
:authorAvatar="topic.authorAvatar"
|
|
149
|
-
:createdAt="topic.createdAt"
|
|
150
|
-
:viewCount="topic.viewCount"
|
|
151
|
-
:replyCount="topic.replyCount"
|
|
152
|
-
:likeCount="topic.likeCount"
|
|
153
|
-
:category="topic.category"
|
|
154
|
-
:categoryLink="topic.categoryLink"
|
|
155
|
-
:excerpt="topic.excerpt || ''"
|
|
156
|
-
:isPinned="!!topic.isPinned"
|
|
157
|
-
:isSolved="!!topic.isSolved"
|
|
158
|
-
:lastReplyAuthorName="topic.lastReplyAuthorName || ''"
|
|
159
|
-
:lastReplyAuthorAvatar="topic.lastReplyAuthorAvatar || ''"
|
|
160
|
-
:lastReplyAt="topic.lastReplyAt || ''"
|
|
161
|
-
/>
|
|
162
|
-
@endforeach
|
|
163
|
-
</ForumTopicList>
|
|
164
|
-
|
|
165
|
-
<ForumPagination :currentPage="1" :totalPages="5" />
|
|
166
|
-
</div>
|
|
167
|
-
|
|
168
|
-
<div class="lg:col-span-1">
|
|
169
|
-
<ForumSidebar
|
|
170
|
-
:stats="{
|
|
171
|
-
topics: 540,
|
|
172
|
-
posts: 3287,
|
|
173
|
-
members: 1245,
|
|
174
|
-
newestMember: 'NewUser123'
|
|
175
|
-
}"
|
|
176
|
-
:popularTopics="[
|
|
177
|
-
{
|
|
178
|
-
id: 1,
|
|
179
|
-
title: 'How to implement authentication in a new Stacks.js project?',
|
|
180
|
-
link: '/forum/topic/1',
|
|
181
|
-
replyCount: 3,
|
|
182
|
-
viewCount: 45
|
|
183
|
-
},
|
|
184
|
-
{
|
|
185
|
-
id: 2,
|
|
186
|
-
title: 'Best practices for database migrations in Stacks.js',
|
|
187
|
-
link: '/forum/topic/3',
|
|
188
|
-
replyCount: 15,
|
|
189
|
-
viewCount: 128
|
|
190
|
-
},
|
|
191
|
-
{
|
|
192
|
-
id: 3,
|
|
193
|
-
title: 'Introducing myself to the community!',
|
|
194
|
-
link: '/forum/topic/2',
|
|
195
|
-
replyCount: 8,
|
|
196
|
-
viewCount: 32
|
|
197
|
-
}
|
|
198
|
-
]"
|
|
199
|
-
:onlineUsers="[
|
|
200
|
-
{ id: 1, name: 'JohnDoe', avatar: '/images/avatars/default.png' },
|
|
201
|
-
{ id: 2, name: 'DatabaseGuru', avatar: '/images/avatars/default.png' },
|
|
202
|
-
{ id: 3, name: 'NewUser123', avatar: '/images/avatars/default.png' },
|
|
203
|
-
{ id: 4, name: 'ExpertUser', avatar: '/images/avatars/default.png' },
|
|
204
|
-
{ id: 5, name: 'StacksMaster', avatar: '/images/avatars/default.png' }
|
|
205
|
-
]"
|
|
206
|
-
/>
|
|
207
|
-
</div>
|
|
208
|
-
</div>
|
|
209
|
-
</ForumLayout>
|
|
@@ -1,113 +0,0 @@
|
|
|
1
|
-
<script>
|
|
2
|
-
</script>
|
|
3
|
-
|
|
4
|
-
<ForumLayout route="forum-new-topic">
|
|
5
|
-
<div class="mx-auto max-w-3xl">
|
|
6
|
-
<ForumBreadcrumb :items="[
|
|
7
|
-
{ label: 'Forum', link: '/forum' },
|
|
8
|
-
{ label: 'New Topic', link: '/forum/new-topic' }
|
|
9
|
-
]" />
|
|
10
|
-
|
|
11
|
-
<div class="mb-6 border rounded-md">
|
|
12
|
-
<div class="flex items-center px-4 py-3 bg-gray-50 rounded-t-md">
|
|
13
|
-
<h1 class="font-medium text-lg">Create New Topic</h1>
|
|
14
|
-
</div>
|
|
15
|
-
|
|
16
|
-
<div class="p-4">
|
|
17
|
-
<div class="space-y-4">
|
|
18
|
-
<div>
|
|
19
|
-
<label class="block mb-1 font-medium">Title</label>
|
|
20
|
-
<input
|
|
21
|
-
type="text"
|
|
22
|
-
placeholder="Enter a descriptive title for your topic"
|
|
23
|
-
class="px-3 py-2 w-full border rounded-md focus:outline-none focus:ring-2 focus:ring-primary"
|
|
24
|
-
>
|
|
25
|
-
<div class="mt-1 text-gray-500 text-xs">
|
|
26
|
-
Be specific and imagine you're asking a question to another person
|
|
27
|
-
</div>
|
|
28
|
-
</div>
|
|
29
|
-
|
|
30
|
-
<div>
|
|
31
|
-
<label class="block mb-1 font-medium">Category</label>
|
|
32
|
-
<select class="px-3 py-2 w-full border rounded-md focus:outline-none focus:ring-2 focus:ring-primary">
|
|
33
|
-
<option value="">Select a category</option>
|
|
34
|
-
<optgroup label="General Discussion">
|
|
35
|
-
<option value="general-chat">General Chat</option>
|
|
36
|
-
<option value="introductions">Introductions</option>
|
|
37
|
-
<option value="feedback">Feedback & Suggestions</option>
|
|
38
|
-
</optgroup>
|
|
39
|
-
<optgroup label="Technical Support">
|
|
40
|
-
<option value="installation">Installation & Setup</option>
|
|
41
|
-
<option value="troubleshooting">Troubleshooting</option>
|
|
42
|
-
<option value="feature-requests">Feature Requests</option>
|
|
43
|
-
</optgroup>
|
|
44
|
-
</select>
|
|
45
|
-
</div>
|
|
46
|
-
|
|
47
|
-
<div>
|
|
48
|
-
<label class="block mb-1 font-medium">Content</label>
|
|
49
|
-
<div class="mb-2">
|
|
50
|
-
<div class="flex gap-2 mb-2">
|
|
51
|
-
<button class="px-2 py-1 text-sm hover:bg-gray-100 border rounded">B</button>
|
|
52
|
-
<button class="px-2 py-1 text-sm hover:bg-gray-100 border rounded">I</button>
|
|
53
|
-
<button class="px-2 py-1 text-sm hover:bg-gray-100 border rounded">
|
|
54
|
-
<span class="i-hugeicons-link"></span>
|
|
55
|
-
</button>
|
|
56
|
-
<button class="px-2 py-1 text-sm hover:bg-gray-100 border rounded">
|
|
57
|
-
<span class="i-hugeicons-code"></span>
|
|
58
|
-
</button>
|
|
59
|
-
<button class="px-2 py-1 text-sm hover:bg-gray-100 border rounded">
|
|
60
|
-
<span class="i-hugeicons-image"></span>
|
|
61
|
-
</button>
|
|
62
|
-
</div>
|
|
63
|
-
<textarea
|
|
64
|
-
class="p-3 min-h-40 w-full border rounded-md focus:outline-none focus:ring-2 focus:ring-primary"
|
|
65
|
-
placeholder="Describe your topic in detail. Include any relevant code, error messages, or screenshots."
|
|
66
|
-
></textarea>
|
|
67
|
-
</div>
|
|
68
|
-
</div>
|
|
69
|
-
|
|
70
|
-
<div>
|
|
71
|
-
<label class="block mb-1 font-medium">Tags</label>
|
|
72
|
-
<input
|
|
73
|
-
type="text"
|
|
74
|
-
placeholder="Add tags separated by commas (e.g. javascript, stx, api)"
|
|
75
|
-
class="px-3 py-2 w-full border rounded-md focus:outline-none focus:ring-2 focus:ring-primary"
|
|
76
|
-
>
|
|
77
|
-
<div class="mt-1 text-gray-500 text-xs">
|
|
78
|
-
Add up to 5 tags to help categorize your topic and make it more discoverable
|
|
79
|
-
</div>
|
|
80
|
-
</div>
|
|
81
|
-
|
|
82
|
-
<div class="flex items-center">
|
|
83
|
-
<input type="checkbox" id="notify" class="mr-2" checked>
|
|
84
|
-
<label for="notify" class="text-gray-600 text-sm">
|
|
85
|
-
Notify me when someone replies to this topic
|
|
86
|
-
</label>
|
|
87
|
-
</div>
|
|
88
|
-
|
|
89
|
-
<div class="flex gap-2 justify-end">
|
|
90
|
-
<a href="/forum" class="px-4 py-2 hover:bg-gray-100 border rounded-md">
|
|
91
|
-
Cancel
|
|
92
|
-
</a>
|
|
93
|
-
<button class="px-4 py-2 text-white bg-primary rounded-md hover:opacity-90">
|
|
94
|
-
Create Topic
|
|
95
|
-
</button>
|
|
96
|
-
</div>
|
|
97
|
-
</div>
|
|
98
|
-
</div>
|
|
99
|
-
</div>
|
|
100
|
-
|
|
101
|
-
<div class="p-4 bg-gray-50 border rounded-md">
|
|
102
|
-
<h3 class="mb-2 font-medium">Forum Guidelines</h3>
|
|
103
|
-
<ul class="space-y-1 list-disc list-inside text-gray-600 text-sm">
|
|
104
|
-
<li>Be respectful and courteous to other community members</li>
|
|
105
|
-
<li>Search before posting to avoid duplicate topics</li>
|
|
106
|
-
<li>Use descriptive titles that summarize your question or discussion</li>
|
|
107
|
-
<li>Format code using the code formatting button for better readability</li>
|
|
108
|
-
<li>Tag your topic appropriately to help others find it</li>
|
|
109
|
-
<li>If you're asking for help, include relevant details like version numbers and error messages</li>
|
|
110
|
-
</ul>
|
|
111
|
-
</div>
|
|
112
|
-
</div>
|
|
113
|
-
</ForumLayout>
|
package/views/forum/profile.stx
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
<!-- Forum profile view -->
|