@stacksjs/defaults 0.70.206 → 0.70.208
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/TODO.md +21 -0
- package/ai/AGENTS.md +79 -0
- package/ai/README.md +45 -0
- package/ai/claude/launch.json +12 -0
- package/ai/skills/stacks-actions/SKILL.md +128 -0
- package/ai/skills/stacks-ai/SKILL.md +276 -0
- package/ai/skills/stacks-alias/SKILL.md +94 -0
- package/ai/skills/stacks-analytics/SKILL.md +91 -0
- package/ai/skills/stacks-api/SKILL.md +738 -0
- package/ai/skills/stacks-arrays/SKILL.md +277 -0
- package/ai/skills/stacks-auth/SKILL.md +422 -0
- package/ai/skills/stacks-auto-imports/SKILL.md +138 -0
- package/ai/skills/stacks-brandkit/SKILL.md +811 -0
- package/ai/skills/stacks-browse/SKILL.md +127 -0
- package/ai/skills/stacks-browse/scripts/browse.ts +492 -0
- package/ai/skills/stacks-browser/SKILL.md +145 -0
- package/ai/skills/stacks-buddy/SKILL.md +676 -0
- package/ai/skills/stacks-build/SKILL.md +163 -0
- package/ai/skills/stacks-cache/SKILL.md +125 -0
- package/ai/skills/stacks-calendar/SKILL.md +113 -0
- package/ai/skills/stacks-chat/SKILL.md +371 -0
- package/ai/skills/stacks-cli/SKILL.md +112 -0
- package/ai/skills/stacks-cloud/SKILL.md +192 -0
- package/ai/skills/stacks-cms/SKILL.md +217 -0
- package/ai/skills/stacks-collections/SKILL.md +82 -0
- package/ai/skills/stacks-commerce/SKILL.md +114 -0
- package/ai/skills/stacks-composables/SKILL.md +161 -0
- package/ai/skills/stacks-config/SKILL.md +144 -0
- package/ai/skills/stacks-configuration/SKILL.md +154 -0
- package/ai/skills/stacks-cron/SKILL.md +123 -0
- package/ai/skills/stacks-crosswind/SKILL.md +190 -0
- package/ai/skills/stacks-dashboard/SKILL.md +173 -0
- package/ai/skills/stacks-database/SKILL.md +286 -0
- package/ai/skills/stacks-datetime/SKILL.md +269 -0
- package/ai/skills/stacks-dependencies/SKILL.md +111 -0
- package/ai/skills/stacks-deploy/SKILL.md +102 -0
- package/ai/skills/stacks-design-brutalist/SKILL.md +110 -0
- package/ai/skills/stacks-design-minimalist/SKILL.md +115 -0
- package/ai/skills/stacks-design-output/SKILL.md +55 -0
- package/ai/skills/stacks-design-soft/SKILL.md +156 -0
- package/ai/skills/stacks-design-taste/SKILL.md +1012 -0
- package/ai/skills/stacks-design-taste-codex/SKILL.md +294 -0
- package/ai/skills/stacks-desktop/SKILL.md +78 -0
- package/ai/skills/stacks-development/SKILL.md +298 -0
- package/ai/skills/stacks-dns/SKILL.md +149 -0
- package/ai/skills/stacks-docs/SKILL.md +109 -0
- package/ai/skills/stacks-email/SKILL.md +236 -0
- package/ai/skills/stacks-enums/SKILL.md +100 -0
- package/ai/skills/stacks-env/SKILL.md +181 -0
- package/ai/skills/stacks-error-handling/SKILL.md +137 -0
- package/ai/skills/stacks-events/SKILL.md +228 -0
- package/ai/skills/stacks-faker/SKILL.md +158 -0
- package/ai/skills/stacks-git/SKILL.md +158 -0
- package/ai/skills/stacks-guard/SKILL.md +98 -0
- package/ai/skills/stacks-health/SKILL.md +75 -0
- package/ai/skills/stacks-http/SKILL.md +316 -0
- package/ai/skills/stacks-i18n/SKILL.md +198 -0
- package/ai/skills/stacks-image-to-code/SKILL.md +629 -0
- package/ai/skills/stacks-imagegen-mobile/SKILL.md +1474 -0
- package/ai/skills/stacks-imagegen-web/SKILL.md +998 -0
- package/ai/skills/stacks-investigate/SKILL.md +119 -0
- package/ai/skills/stacks-jobs/SKILL.md +136 -0
- package/ai/skills/stacks-lint/SKILL.md +184 -0
- package/ai/skills/stacks-listeners/SKILL.md +99 -0
- package/ai/skills/stacks-logging/SKILL.md +78 -0
- package/ai/skills/stacks-mail/SKILL.md +120 -0
- package/ai/skills/stacks-middleware/SKILL.md +249 -0
- package/ai/skills/stacks-migrations/SKILL.md +105 -0
- package/ai/skills/stacks-models/SKILL.md +267 -0
- package/ai/skills/stacks-new-feature/SKILL.md +206 -0
- package/ai/skills/stacks-notifications/SKILL.md +210 -0
- package/ai/skills/stacks-objects/SKILL.md +205 -0
- package/ai/skills/stacks-office-hours/SKILL.md +134 -0
- package/ai/skills/stacks-orm/SKILL.md +342 -0
- package/ai/skills/stacks-path/SKILL.md +118 -0
- package/ai/skills/stacks-payments/SKILL.md +373 -0
- package/ai/skills/stacks-plan-review/SKILL.md +152 -0
- package/ai/skills/stacks-plugins/SKILL.md +149 -0
- package/ai/skills/stacks-push/SKILL.md +376 -0
- package/ai/skills/stacks-query-builder/SKILL.md +128 -0
- package/ai/skills/stacks-queue/SKILL.md +559 -0
- package/ai/skills/stacks-realtime/SKILL.md +442 -0
- package/ai/skills/stacks-redesign/SKILL.md +182 -0
- package/ai/skills/stacks-registry/SKILL.md +58 -0
- package/ai/skills/stacks-repl/SKILL.md +80 -0
- package/ai/skills/stacks-retro/SKILL.md +122 -0
- package/ai/skills/stacks-review/SKILL.md +135 -0
- package/ai/skills/stacks-router/SKILL.md +231 -0
- package/ai/skills/stacks-routes/SKILL.md +105 -0
- package/ai/skills/stacks-scaffolding/SKILL.md +162 -0
- package/ai/skills/stacks-scheduler/SKILL.md +363 -0
- package/ai/skills/stacks-search-engine/SKILL.md +112 -0
- package/ai/skills/stacks-security/SKILL.md +129 -0
- package/ai/skills/stacks-security-audit/SKILL.md +128 -0
- package/ai/skills/stacks-server/SKILL.md +458 -0
- package/ai/skills/stacks-shell/SKILL.md +62 -0
- package/ai/skills/stacks-slug/SKILL.md +87 -0
- package/ai/skills/stacks-sms/SKILL.md +385 -0
- package/ai/skills/stacks-socials/SKILL.md +303 -0
- package/ai/skills/stacks-storage/SKILL.md +576 -0
- package/ai/skills/stacks-strings/SKILL.md +416 -0
- package/ai/skills/stacks-stx/SKILL.md +176 -0
- package/ai/skills/stacks-technical-diagrams/LICENSE +22 -0
- package/ai/skills/stacks-technical-diagrams/SKILL.md +290 -0
- package/ai/skills/stacks-technical-diagrams/agents/openai.yaml +4 -0
- package/ai/skills/stacks-technical-diagrams/assets/template.html +1252 -0
- package/ai/skills/stacks-technical-diagrams/bin/technical-diagrams.mjs +289 -0
- package/ai/skills/stacks-technical-diagrams/bunfig.toml +1 -0
- package/ai/skills/stacks-technical-diagrams/examples/agent-run.lifecycle.json +64 -0
- package/ai/skills/stacks-technical-diagrams/examples/agent-tool-call.workflow.json +88 -0
- package/ai/skills/stacks-technical-diagrams/examples/cache-miss-request.sequence.json +75 -0
- package/ai/skills/stacks-technical-diagrams/examples/product-analytics.dataflow.json +70 -0
- package/ai/skills/stacks-technical-diagrams/examples/web-app.architecture.json +41 -0
- package/ai/skills/stacks-technical-diagrams/renderers/architecture/grid.mjs +62 -0
- package/ai/skills/stacks-technical-diagrams/renderers/architecture/render-architecture.mjs +371 -0
- package/ai/skills/stacks-technical-diagrams/renderers/dataflow/README.md +82 -0
- package/ai/skills/stacks-technical-diagrams/renderers/dataflow/render-dataflow.mjs +295 -0
- package/ai/skills/stacks-technical-diagrams/renderers/lifecycle/README.md +91 -0
- package/ai/skills/stacks-technical-diagrams/renderers/lifecycle/render-lifecycle.mjs +384 -0
- package/ai/skills/stacks-technical-diagrams/renderers/sequence/README.md +84 -0
- package/ai/skills/stacks-technical-diagrams/renderers/sequence/render-sequence.mjs +257 -0
- package/ai/skills/stacks-technical-diagrams/renderers/shared/cli.mjs +42 -0
- package/ai/skills/stacks-technical-diagrams/renderers/shared/generated-validators.mjs +13 -0
- package/ai/skills/stacks-technical-diagrams/renderers/shared/geometry.mjs +230 -0
- package/ai/skills/stacks-technical-diagrams/renderers/shared/layout-report.mjs +40 -0
- package/ai/skills/stacks-technical-diagrams/renderers/shared/utils.mjs +88 -0
- package/ai/skills/stacks-technical-diagrams/renderers/shared/validator.mjs +40 -0
- package/ai/skills/stacks-technical-diagrams/renderers/workflow/README.md +103 -0
- package/ai/skills/stacks-technical-diagrams/renderers/workflow/render-workflow.mjs +481 -0
- package/ai/skills/stacks-technical-diagrams/schemas/README.md +68 -0
- package/ai/skills/stacks-technical-diagrams/schemas/architecture.schema.json +121 -0
- package/ai/skills/stacks-technical-diagrams/schemas/common.schema.json +43 -0
- package/ai/skills/stacks-technical-diagrams/schemas/dataflow.schema.json +221 -0
- package/ai/skills/stacks-technical-diagrams/schemas/lifecycle.schema.json +241 -0
- package/ai/skills/stacks-technical-diagrams/schemas/sequence.schema.json +186 -0
- package/ai/skills/stacks-technical-diagrams/schemas/workflow.schema.json +332 -0
- package/ai/skills/stacks-technical-diagrams/scripts/check-render-output.mjs +297 -0
- package/ai/skills/stacks-technical-diagrams/scripts/render-examples.mjs +28 -0
- package/ai/skills/stacks-testing/SKILL.md +129 -0
- package/ai/skills/stacks-tunnel/SKILL.md +125 -0
- package/ai/skills/stacks-types/SKILL.md +178 -0
- package/ai/skills/stacks-ui/SKILL.md +246 -0
- package/ai/skills/stacks-utils/SKILL.md +444 -0
- package/ai/skills/stacks-validation/SKILL.md +371 -0
- package/ai/skills/stacks-whois/SKILL.md +315 -0
- package/assets/world-map-data.ts +121 -0
- package/bootstrap.ts +114 -0
- package/docs/api-examples.md +46 -0
- package/docs/index.md +24 -0
- package/docs/markdown-examples.md +87 -0
- package/functions/analytics.ts +97 -0
- package/functions/api.ts +143 -0
- package/functions/auth.ts +208 -0
- package/functions/billing/payments.ts +149 -0
- package/functions/blog.ts +120 -0
- package/functions/cms/categorizables.ts +107 -0
- package/functions/cms/pages.ts +108 -0
- package/functions/cms/posts.ts +100 -0
- package/functions/cms/taggables.ts +102 -0
- package/functions/commerce/coupons.ts +128 -0
- package/functions/commerce/customers.ts +128 -0
- package/functions/commerce/gift-cards.ts +119 -0
- package/functions/commerce/orders.ts +112 -0
- package/functions/commerce/payments.ts +119 -0
- package/functions/commerce/products/categories.ts +123 -0
- package/functions/commerce/products/manufacturers.ts +123 -0
- package/functions/commerce/products/products.ts +123 -0
- package/functions/commerce/products/reviews.ts +123 -0
- package/functions/commerce/products/units.ts +123 -0
- package/functions/commerce/products/variants.ts +123 -0
- package/functions/commerce/shippings/delivery-routes.ts +123 -0
- package/functions/commerce/shippings/digital-deliveries.ts +119 -0
- package/functions/commerce/shippings/drivers.ts +123 -0
- package/functions/commerce/shippings/license-keys.ts +123 -0
- package/functions/commerce/shippings/shipping-methods.ts +123 -0
- package/functions/commerce/shippings/shipping-rates.ts +119 -0
- package/functions/commerce/shippings/shipping-zones.ts +119 -0
- package/functions/commerce/taxes.ts +119 -0
- package/functions/commerce/waitlist/products.ts +123 -0
- package/functions/commerce/waitlist/restaurants.ts +123 -0
- package/functions/craft.ts +107 -0
- package/functions/dashboard.ts +153 -0
- package/functions/inbox.ts +95 -0
- package/functions/jobs.ts +86 -0
- package/functions/monitoring/errors.ts +295 -0
- package/functions/queue.ts +111 -0
- package/functions/realtime/websockets.ts +96 -0
- package/functions/realtime.ts +52 -0
- package/functions/releases.ts +49 -0
- package/functions/search.ts +126 -0
- package/functions/toasts.ts +95 -0
- package/functions/uploads.ts +216 -0
- package/ide/.gitignore +4 -0
- package/ide/cursor/rules/auto-imports.mdc +574 -0
- package/ide/cursor/rules/code-style.mdc +12 -0
- package/ide/cursor/rules/documentation.mdc +9 -0
- package/ide/cursor/rules/error-handling-validation.mdc +11 -0
- package/ide/cursor/rules/key-conventions.mdc +11 -0
- package/ide/cursor/rules/project-structure.mdc +169 -0
- package/ide/cursor/rules/readme.mdc +318 -0
- package/ide/cursor/rules/syntax-formatting.mdc +9 -0
- package/ide/cursor/rules/testing.mdc +10 -0
- package/ide/cursor/rules/typescript.mdc +9 -0
- package/ide/cursor/rules/ui-styling.mdc +0 -0
- package/ide/dictionary.txt +397 -0
- package/ide/jetbrains/.fleet/settings.json +4 -0
- package/ide/jetbrains/.idea/.gitignore +5 -0
- package/ide/jetbrains/.idea/.name +1 -0
- package/ide/jetbrains/.idea/inspectionProfiles/Project_Default.xml +6 -0
- package/ide/jetbrains/.idea/jsLinters/eslint.xml +7 -0
- package/ide/jetbrains/.idea/modules.xml +8 -0
- package/ide/jetbrains/.idea/stacks.iml +22 -0
- package/ide/jetbrains/.idea/vcs.xml +6 -0
- package/ide/jetbrains/.idea/webResources.xml +14 -0
- package/ide/jetbrains/IntelliJ IDEA Global Settings +0 -0
- package/ide/jetbrains/installed.txt +4 -0
- package/ide/jetbrains/options/github-copilot.xml +5 -0
- package/ide/jetbrains/options/nodejs.xml +7 -0
- package/ide/jetbrains/options/templates.xml +124 -0
- package/ide/jetbrains/templates/JavaScript.xml +6 -0
- package/ide/jetbrains/templates/Stacks.xml +8 -0
- package/ide/vscode/.vscode/README.md +23 -0
- package/ide/vscode/.vscode/extensions.json +5 -0
- package/ide/vscode/.vscode/settings.json +176 -0
- package/ide/vscode/.vscode/stacks.code-snippets +181 -0
- package/ide/vscode/LICENSE.md +21 -0
- package/ide/vscode/README.md +36 -0
- package/ide/vscode/logo.png +0 -0
- package/ide/vscode/package.json +79 -0
- package/ide/zed/.zed/settings.json +139 -0
- package/lang/README.md +28 -0
- package/lang/de.yml +14 -0
- package/lang/en.yml +15 -0
- package/package.json +19 -3
- package/project/bootstrap +161 -0
- package/project/buddy +175 -0
- package/project/storage/framework/tsconfig.app.json +50 -0
- package/project/storage/framework/tsconfig.base.json +58 -0
- package/routes/core.ts +78 -0
- package/routes/dashboard-api.ts +233 -0
- package/routes/dashboard.ts +739 -0
- package/routes/email.ts +129 -0
- package/stores/[name].stx +16 -0
- package/stores/git.ts +71 -0
- package/stores/payment.ts +474 -0
- package/stores/queue.ts +43 -0
- package/stores/user.ts +29 -0
- package/stx-components-plugin.ts +25 -0
- package/styles/design-tokens.css +597 -0
- package/types/dashboard.ts +70 -0
- package/types/defaults.ts +438 -0
- package/vcs/github/CODE_OF_CONDUCT.md +83 -0
- package/vcs/github/CONTRIBUTING.md +187 -0
- package/vcs/github/EXPLANATIONS.md +41 -0
- package/vcs/github/FUNDING.yml +1 -0
- package/vcs/github/ISSUE_TEMPLATE/bug_report.yml +49 -0
- package/vcs/github/ISSUE_TEMPLATE/config.yml +10 -0
- package/vcs/github/ISSUE_TEMPLATE/feature_request.yml +44 -0
- package/vcs/github/SECURITY.md +70 -0
- package/vcs/github/renovate.json +5 -0
- package/vcs/github/stale.yml +14 -0
- package/vcs/github/workflows/README.md +16 -0
- package/vcs/github/workflows/ci.yml +114 -0
- package/vcs/github/workflows/export-size.yml +25 -0
- package/vcs/github/workflows/labeler.yml +13 -0
- package/vcs/github/workflows/release.yml +219 -0
- package/views/[...all].stx +8 -0
- package/views/about.md +3 -0
- package/views/auth/login.stx +1 -0
- package/views/auth/signup.stx +85 -0
- package/views/dashboard/.discovered-models.json +542 -0
- package/views/dashboard/AUDIT.md +904 -0
- package/views/dashboard/[...all].stx +89 -0
- package/views/dashboard/access-tokens/index.stx +177 -0
- package/views/dashboard/actions/index.stx +129 -0
- package/views/dashboard/analytics/blog/index.stx +356 -0
- package/views/dashboard/analytics/browsers/index.stx +263 -0
- package/views/dashboard/analytics/commerce/sales/index.stx +329 -0
- package/views/dashboard/analytics/commerce/web/index.stx +379 -0
- package/views/dashboard/analytics/countries/index.stx +289 -0
- package/views/dashboard/analytics/devices/index.stx +305 -0
- package/views/dashboard/analytics/events/index.stx +536 -0
- package/views/dashboard/analytics/index.stx +88 -0
- package/views/dashboard/analytics/marketing/index.stx +315 -0
- package/views/dashboard/analytics/pages/index.stx +271 -0
- package/views/dashboard/analytics/referrers/index.stx +319 -0
- package/views/dashboard/analytics/web/index.stx +356 -0
- package/views/dashboard/buddy/index.stx +198 -0
- package/views/dashboard/ci/index.stx +462 -0
- package/views/dashboard/cloud/index.stx +452 -0
- package/views/dashboard/commands/index.stx +295 -0
- package/views/dashboard/commerce/categories/index.stx +406 -0
- package/views/dashboard/commerce/coupons/index.stx +485 -0
- package/views/dashboard/commerce/customers/index.stx +410 -0
- package/views/dashboard/commerce/dashboard/index.stx +287 -0
- package/views/dashboard/commerce/delivery/delivery-routes.stx +305 -0
- package/views/dashboard/commerce/delivery/digital-delivery.stx +332 -0
- package/views/dashboard/commerce/delivery/drivers.stx +397 -0
- package/views/dashboard/commerce/delivery/index.stx +18 -0
- package/views/dashboard/commerce/delivery/license-keys.stx +380 -0
- package/views/dashboard/commerce/delivery/shipping-methods.stx +346 -0
- package/views/dashboard/commerce/delivery/shipping-rates.stx +338 -0
- package/views/dashboard/commerce/delivery/shipping-zones.stx +302 -0
- package/views/dashboard/commerce/delivery/tabs.ts +25 -0
- package/views/dashboard/commerce/gift-cards/index.stx +561 -0
- package/views/dashboard/commerce/manufacturers/index.stx +308 -0
- package/views/dashboard/commerce/orders/index.stx +247 -0
- package/views/dashboard/commerce/payments/index.stx +535 -0
- package/views/dashboard/commerce/pos/index.stx +653 -0
- package/views/dashboard/commerce/printers/devices/index.stx +273 -0
- package/views/dashboard/commerce/printers/receipts/index.stx +308 -0
- package/views/dashboard/commerce/products/detail.stx +563 -0
- package/views/dashboard/commerce/products/index.stx +370 -0
- package/views/dashboard/commerce/reviews/index.stx +656 -0
- package/views/dashboard/commerce/reviews/index.ts +0 -0
- package/views/dashboard/commerce/taxes/index.stx +377 -0
- package/views/dashboard/commerce/units/index.stx +317 -0
- package/views/dashboard/commerce/variants/index.stx +319 -0
- package/views/dashboard/commerce/waitlist/products.stx +942 -0
- package/views/dashboard/commerce/waitlist/restaurant.stx +1024 -0
- package/views/dashboard/components/index.stx +330 -0
- package/views/dashboard/composables/index.ts +19 -0
- package/views/dashboard/composables/useChart.ts +77 -0
- package/views/dashboard/composables/useNavigation.ts +99 -0
- package/views/dashboard/composables/useRole.ts +58 -0
- package/views/dashboard/composables/useTheme.ts +74 -0
- package/views/dashboard/content/authors/index.stx +171 -0
- package/views/dashboard/content/blog/index.stx +493 -0
- package/views/dashboard/content/categories/index.stx +169 -0
- package/views/dashboard/content/comments/index.stx +189 -0
- package/views/dashboard/content/dashboard.stx +383 -0
- package/views/dashboard/content/files/index.stx +706 -0
- package/views/dashboard/content/pages/index.stx +174 -0
- package/views/dashboard/content/posts/index.stx +269 -0
- package/views/dashboard/content/seo/index.stx +240 -0
- package/views/dashboard/content/tags/index.stx +167 -0
- package/views/dashboard/data/activity/index.stx +261 -0
- package/views/dashboard/data/dashboard/index.stx +116 -0
- package/views/dashboard/data/subscribers.stx +270 -0
- package/views/dashboard/data/teams.stx +275 -0
- package/views/dashboard/data/users.stx +279 -0
- package/views/dashboard/dependencies/index.stx +178 -0
- package/views/dashboard/deployments/[id].stx +234 -0
- package/views/dashboard/deployments/index.stx +9 -0
- package/views/dashboard/dns/index.stx +163 -0
- package/views/dashboard/environment/index.stx +283 -0
- package/views/dashboard/errors/index.stx +274 -0
- package/views/dashboard/forgot-password.stx +57 -0
- package/views/dashboard/functions/index.stx +159 -0
- package/views/dashboard/health/index.stx +248 -0
- package/views/dashboard/inbox/activity.stx +350 -0
- package/views/dashboard/inbox/index.stx +452 -0
- package/views/dashboard/inbox/settings.stx +290 -0
- package/views/dashboard/index.stx +252 -0
- package/views/dashboard/insights/index.stx +529 -0
- package/views/dashboard/jobs/[id].stx +430 -0
- package/views/dashboard/jobs/history.stx +222 -0
- package/views/dashboard/jobs/index.stx +214 -0
- package/views/dashboard/kanban/[id].stx +899 -0
- package/views/dashboard/kanban/index.stx +260 -0
- package/views/dashboard/layouts/default.stx +565 -0
- package/views/dashboard/layouts/guest.stx +10 -0
- package/views/dashboard/login.stx +48 -0
- package/views/dashboard/logs/index.stx +540 -0
- package/views/dashboard/mailboxes/index.stx +149 -0
- package/views/dashboard/management/permissions/index.stx +490 -0
- package/views/dashboard/marketing/campaigns/index.stx +604 -0
- package/views/dashboard/marketing/lists/index.stx +514 -0
- package/views/dashboard/marketing/reviews/index.stx +475 -0
- package/views/dashboard/marketing/social-posts/index.stx +560 -0
- package/views/dashboard/models/[model].stx +195 -0
- package/views/dashboard/models/index.stx +159 -0
- package/views/dashboard/monitoring/errors/index.stx +415 -0
- package/views/dashboard/notifications/dashboard.stx +383 -0
- package/views/dashboard/notifications/email.stx +336 -0
- package/views/dashboard/notifications/history.stx +373 -0
- package/views/dashboard/notifications/sms.stx +332 -0
- package/views/dashboard/packages/index.stx +195 -0
- package/views/dashboard/queries/[id].stx +381 -0
- package/views/dashboard/queries/history.stx +227 -0
- package/views/dashboard/queries/index.stx +335 -0
- package/views/dashboard/queries/slow.stx +318 -0
- package/views/dashboard/queue/index.stx +427 -0
- package/views/dashboard/realtime/index.stx +429 -0
- package/views/dashboard/register.stx +46 -0
- package/views/dashboard/releases/index.stx +389 -0
- package/views/dashboard/requests/index.stx +462 -0
- package/views/dashboard/serverless/index.stx +475 -0
- package/views/dashboard/servers/[id].stx +299 -0
- package/views/dashboard/servers/index.stx +483 -0
- package/views/dashboard/settings/billing.stx +50 -0
- package/views/dashboard/settings/index.stx +256 -0
- package/views/dashboard/settings/mail.stx +252 -0
- package/views/dashboard/stores/auth.ts +123 -0
- package/views/dashboard/stores/ci.ts +342 -0
- package/views/dashboard/stores/index.ts +129 -0
- package/views/dashboard/stores/kanban.ts +723 -0
- package/views/dashboard/stores/rbac.ts +350 -0
- package/views/dashboard/stx.config.ts +34 -0
- package/views/dashboard/teams/[id].stx +170 -0
- package/views/forum/category.stx +92 -0
- package/views/forum/index.stx +209 -0
- package/views/forum/new-topic.stx +113 -0
- package/views/forum/profile.stx +1 -0
- package/views/forum/topic.stx +143 -0
- package/views/hello-world/[name].stx +47 -0
- package/views/index.stx +21 -0
- package/views/system-tray/index.stx +147 -0
|
@@ -0,0 +1,209 @@
|
|
|
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>
|
|
@@ -0,0 +1,113 @@
|
|
|
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>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<!-- Forum profile view -->
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
<script server>
|
|
2
|
+
const topicId = 0
|
|
3
|
+
</script>
|
|
4
|
+
<ForumLayout route="forum-topic">
|
|
5
|
+
<div class="grid gap-8 grid-cols-1 lg:grid-cols-3">
|
|
6
|
+
<div class="lg:col-span-2">
|
|
7
|
+
<ForumBreadcrumb :items="[
|
|
8
|
+
{ label: 'Forum', link: '/forum' },
|
|
9
|
+
{ label: 'Technical Support', link: '/forum/category/support/installation' },
|
|
10
|
+
{ label: 'How to implement authentication in a new Stacks.js project?', link: '/forum/topic/1' }
|
|
11
|
+
]" />
|
|
12
|
+
|
|
13
|
+
<ForumPost
|
|
14
|
+
id="1"
|
|
15
|
+
authorName="JohnDoe"
|
|
16
|
+
authorAvatar="/images/avatars/default.png"
|
|
17
|
+
createdAt="2 hours ago"
|
|
18
|
+
:likeCount="7"
|
|
19
|
+
isOriginalPost
|
|
20
|
+
title="How to implement authentication in a new Stacks.js project?"
|
|
21
|
+
>
|
|
22
|
+
<p>Hello everyone,</p>
|
|
23
|
+
<p>I'm trying to implement authentication in my new Stacks.js project but I'm having some issues with the middleware. Here's what I've tried so far:</p>
|
|
24
|
+
|
|
25
|
+
<pre class="my-4 p-4 bg-gray-100 rounded-md"><code>
|
|
26
|
+
// My authentication middleware
|
|
27
|
+
function authMiddleware(req, res, next) {
|
|
28
|
+
if (!req.session.user) {
|
|
29
|
+
return res.redirect('/login');
|
|
30
|
+
}
|
|
31
|
+
next();
|
|
32
|
+
}
|
|
33
|
+
</code></pre>
|
|
34
|
+
|
|
35
|
+
<p>But when I try to use this middleware, I get the following error:</p>
|
|
36
|
+
|
|
37
|
+
<blockquote class="my-4 pl-4 italic border-gray-300 border-l-4">
|
|
38
|
+
Error: req.session is undefined
|
|
39
|
+
</blockquote>
|
|
40
|
+
|
|
41
|
+
<p>Any help would be greatly appreciated! I'm using Stacks.js v1.8.2 with Express 4.18.0.</p>
|
|
42
|
+
</ForumPost>
|
|
43
|
+
|
|
44
|
+
<ForumPost
|
|
45
|
+
id="2"
|
|
46
|
+
authorName="ExpertUser"
|
|
47
|
+
authorAvatar="/images/avatars/default.png"
|
|
48
|
+
createdAt="1 hour ago"
|
|
49
|
+
:likeCount="3"
|
|
50
|
+
>
|
|
51
|
+
<p>Hi <a href="/forum/profile/johndoe" class="text-primary hover:underline">@JohnDoe</a>,</p>
|
|
52
|
+
<p>It looks like you haven't set up the session middleware correctly. You need to add it before your authentication middleware:</p>
|
|
53
|
+
|
|
54
|
+
<pre class="my-4 p-4 bg-gray-100 rounded-md"><code>
|
|
55
|
+
const session = require('express-session');
|
|
56
|
+
|
|
57
|
+
app.use(session({
|
|
58
|
+
secret: 'your-secret-key',
|
|
59
|
+
resave: false,
|
|
60
|
+
saveUninitialized: true,
|
|
61
|
+
cookie: { secure: process.env.NODE_ENV === 'production' }
|
|
62
|
+
}));
|
|
63
|
+
|
|
64
|
+
// Now your auth middleware will work
|
|
65
|
+
app.use(authMiddleware);
|
|
66
|
+
</code></pre>
|
|
67
|
+
|
|
68
|
+
<p>Also, make sure you've installed the express-session package:</p>
|
|
69
|
+
|
|
70
|
+
<pre class="my-4 p-4 bg-gray-100 rounded-md"><code>
|
|
71
|
+
npm install express-session
|
|
72
|
+
# or with bun
|
|
73
|
+
bun add express-session
|
|
74
|
+
</code></pre>
|
|
75
|
+
|
|
76
|
+
<p>Hope this helps!</p>
|
|
77
|
+
</ForumPost>
|
|
78
|
+
|
|
79
|
+
<ForumPost
|
|
80
|
+
id="3"
|
|
81
|
+
authorName="JohnDoe"
|
|
82
|
+
authorAvatar="/images/avatars/default.png"
|
|
83
|
+
createdAt="30 minutes ago"
|
|
84
|
+
:likeCount="2"
|
|
85
|
+
>
|
|
86
|
+
<p>Thank you so much, <a href="/forum/profile/expertuser" class="text-primary hover:underline">@ExpertUser</a>! That fixed my issue.</p>
|
|
87
|
+
<p>I completely forgot to set up the session middleware. Your solution works perfectly!</p>
|
|
88
|
+
<p>For anyone else who might run into this issue, I also had to install the express-session types for TypeScript:</p>
|
|
89
|
+
|
|
90
|
+
<pre class="my-4 p-4 bg-gray-100 rounded-md"><code>
|
|
91
|
+
npm install --save-dev @types/express-session
|
|
92
|
+
# or with bun
|
|
93
|
+
bun add -d @types/express-session
|
|
94
|
+
</code></pre>
|
|
95
|
+
</ForumPost>
|
|
96
|
+
|
|
97
|
+
<ForumReplyForm />
|
|
98
|
+
|
|
99
|
+
<ForumPagination :currentPage="1" :totalPages="1" />
|
|
100
|
+
</div>
|
|
101
|
+
|
|
102
|
+
<div class="lg:col-span-1">
|
|
103
|
+
<ForumSidebar
|
|
104
|
+
:stats="{
|
|
105
|
+
topics: 540,
|
|
106
|
+
posts: 3287,
|
|
107
|
+
members: 1245,
|
|
108
|
+
newestMember: 'NewUser123'
|
|
109
|
+
}"
|
|
110
|
+
:popularTopics="[
|
|
111
|
+
{
|
|
112
|
+
id: 1,
|
|
113
|
+
title: 'How to implement authentication in a new Stacks.js project?',
|
|
114
|
+
link: '/forum/topic/1',
|
|
115
|
+
replyCount: 3,
|
|
116
|
+
viewCount: 45
|
|
117
|
+
},
|
|
118
|
+
{
|
|
119
|
+
id: 2,
|
|
120
|
+
title: 'Best practices for database migrations in Stacks.js',
|
|
121
|
+
link: '/forum/topic/3',
|
|
122
|
+
replyCount: 15,
|
|
123
|
+
viewCount: 128
|
|
124
|
+
},
|
|
125
|
+
{
|
|
126
|
+
id: 3,
|
|
127
|
+
title: 'Introducing myself to the community!',
|
|
128
|
+
link: '/forum/topic/2',
|
|
129
|
+
replyCount: 8,
|
|
130
|
+
viewCount: 32
|
|
131
|
+
}
|
|
132
|
+
]"
|
|
133
|
+
:onlineUsers="[
|
|
134
|
+
{ id: 1, name: 'JohnDoe', avatar: '/images/avatars/default.png' },
|
|
135
|
+
{ id: 2, name: 'DatabaseGuru', avatar: '/images/avatars/default.png' },
|
|
136
|
+
{ id: 3, name: 'NewUser123', avatar: '/images/avatars/default.png' },
|
|
137
|
+
{ id: 4, name: 'ExpertUser', avatar: '/images/avatars/default.png' },
|
|
138
|
+
{ id: 5, name: 'StacksMaster', avatar: '/images/avatars/default.png' }
|
|
139
|
+
]"
|
|
140
|
+
/>
|
|
141
|
+
</div>
|
|
142
|
+
</div>
|
|
143
|
+
</ForumLayout>
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
<script>
|
|
2
|
+
const router = useRouter()
|
|
3
|
+
const route = useRoute('/hello-world/[name]')
|
|
4
|
+
const user = useUserStore()
|
|
5
|
+
const { t } = useI18n()
|
|
6
|
+
|
|
7
|
+
watchEffect(() => {
|
|
8
|
+
user.setNewName(route.params.name)
|
|
9
|
+
})
|
|
10
|
+
</script>
|
|
11
|
+
|
|
12
|
+
<div>
|
|
13
|
+
<div text-4xl>
|
|
14
|
+
<div i-carbon-pedestrian inline-block />
|
|
15
|
+
</div>
|
|
16
|
+
<p>
|
|
17
|
+
{{ t('intro.hi', { name: user.savedName }) }}
|
|
18
|
+
</p>
|
|
19
|
+
|
|
20
|
+
<p text-sm opacity-75>
|
|
21
|
+
<em>{{ t('intro.dynamic-route') }}</em>
|
|
22
|
+
</p>
|
|
23
|
+
|
|
24
|
+
@if(user.otherNames.length)
|
|
25
|
+
<p mt-4 text-sm>
|
|
26
|
+
<span opacity-75>{{ t('intro.aka') }}:</span>
|
|
27
|
+
<ul>
|
|
28
|
+
@foreach(otherName in user.otherNames)
|
|
29
|
+
<li :key="otherName">
|
|
30
|
+
<RouterLink :to="`/hello-world/${otherName}`" replace>
|
|
31
|
+
{{ otherName }}
|
|
32
|
+
</RouterLink>
|
|
33
|
+
</li>
|
|
34
|
+
@endforeach
|
|
35
|
+
</ul>
|
|
36
|
+
</p>
|
|
37
|
+
@endif
|
|
38
|
+
|
|
39
|
+
<div>
|
|
40
|
+
<button
|
|
41
|
+
m="3 t6" text-sm btn
|
|
42
|
+
@click="router.back()"
|
|
43
|
+
>
|
|
44
|
+
{{ t('button.back') }}
|
|
45
|
+
</button>
|
|
46
|
+
</div>
|
|
47
|
+
</div>
|
package/views/index.stx
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
<script>
|
|
2
|
+
defineOptions({
|
|
3
|
+
name: 'HomePage',
|
|
4
|
+
}
|
|
5
|
+
</script>
|
|
6
|
+
|
|
7
|
+
<!-- <Header /> -->
|
|
8
|
+
|
|
9
|
+
<main>
|
|
10
|
+
<ComingSoon />
|
|
11
|
+
<!-- <Hero /> -->
|
|
12
|
+
<!-- <PrimaryFeatures /> -->
|
|
13
|
+
<!-- <PrimaryFeatures2 />
|
|
14
|
+
<SecondaryFeatures />
|
|
15
|
+
<CallToAction />
|
|
16
|
+
<Testimonials />
|
|
17
|
+
<Pricing />
|
|
18
|
+
<Faqs /> -->
|
|
19
|
+
</main>
|
|
20
|
+
|
|
21
|
+
<Footer />
|