Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
316 commits
Select commit Hold shift + click to select a range
f5efb1e
fix: remove duplicate build config in TinaCMS configuration
devin-ai-integration[bot] Feb 12, 2025
db0d0f3
fix: configure TinaCMS to work in local mode
devin-ai-integration[bot] Feb 12, 2025
4a47df3
fix: update TinaCMS configuration with proper search indexing
devin-ai-integration[bot] Feb 12, 2025
5f912ea
fix: remove invalid TinaCMS configuration properties
devin-ai-integration[bot] Feb 12, 2025
f037d67
fix: update TinaCMS configuration to use correct types
devin-ai-integration[bot] Feb 12, 2025
a6042ef
fix: correct syntax in TinaCMS configuration
devin-ai-integration[bot] Feb 12, 2025
39ac67b
fix: remove duplicate schema configuration
devin-ai-integration[bot] Feb 12, 2025
b0d7512
fix: add required data property to useTina hook
devin-ai-integration[bot] Feb 12, 2025
247fa98
fix: add proper type structure for blog post data
devin-ai-integration[bot] Feb 12, 2025
c13fd5d
fix: add proper MDX type structure for blog post body
devin-ai-integration[bot] Feb 12, 2025
a430ff0
fix: update TinaCMS configuration to use local branch for preview
devin-ai-integration[bot] Feb 12, 2025
e936c22
fix: update TinaCMS and MDX types
devin-ai-integration[bot] Feb 12, 2025
753f133
fix: reorder TinaCMS configuration properties
devin-ai-integration[bot] Feb 12, 2025
c15f77c
fix: update TinaCMS configuration for local development
devin-ai-integration[bot] Feb 12, 2025
496a538
fix: update TinaCMS configuration with correct local content path
devin-ai-integration[bot] Feb 12, 2025
0ea2761
fix: update TinaCMS configuration to use local branch
devin-ai-integration[bot] Feb 12, 2025
8eb0725
fix: add tina-lock.json and update branch configuration
devin-ai-integration[bot] Feb 12, 2025
44bd43b
fix: add generateStaticParams for static blog pages
devin-ai-integration[bot] Feb 12, 2025
2b6c860
fix: update blog post component to use server-side rendering
devin-ai-integration[bot] Feb 12, 2025
654834d
fix: update TinaCMS and blog configuration for local development
devin-ai-integration[bot] Feb 12, 2025
f044706
fix: simplify blog component for development
devin-ai-integration[bot] Feb 12, 2025
ed550e8
fix: update TinaCMS configuration with proper search indexing
devin-ai-integration[bot] Feb 12, 2025
5f55e28
fix: update blog post content structure and TinaCMS config
devin-ai-integration[bot] Feb 12, 2025
f88b189
fix: clean up TinaCMS configuration
devin-ai-integration[bot] Feb 12, 2025
2877e7d
fix: update TinaCMS schema configuration
devin-ai-integration[bot] Feb 12, 2025
e51f314
fix: update TinaCMS schema with navigation and blog collections
devin-ai-integration[bot] Feb 12, 2025
6c379d8
fix: add explicit TinaCMS credentials
devin-ai-integration[bot] Feb 12, 2025
4f84bb3
fix: update TinaCMS configuration to use current branch
devin-ai-integration[bot] Feb 12, 2025
ee239cf
chore: add TinaCMS generated files
devin-ai-integration[bot] Feb 12, 2025
eba9256
fix: simplify TinaCMS configuration for local development
devin-ai-integration[bot] Feb 12, 2025
e130f33
fix: update TinaCMS configuration for local development with git backend
devin-ai-integration[bot] Feb 12, 2025
9ceeff6
fix: simplify TinaCMS configuration and build process
devin-ai-integration[bot] Feb 12, 2025
eb7ddbd
fix: clean up TinaCMS configuration
devin-ai-integration[bot] Feb 12, 2025
34af397
fix: update blog post content structure to match TinaMarkdown types
devin-ai-integration[bot] Feb 12, 2025
4915117
fix: update blog post content structure to match TinaMarkdown require…
devin-ai-integration[bot] Feb 12, 2025
9cc1784
fix: simplify TinaCMS configuration and blog content handling
devin-ai-integration[bot] Feb 12, 2025
83e86f2
fix: simplify TinaCMS for local development
devin-ai-integration[bot] Feb 12, 2025
a007363
fix: clean up TinaCMS configuration and remove duplicates
devin-ai-integration[bot] Feb 12, 2025
aa73286
fix: update TinaCMS configuration and blog page types
devin-ai-integration[bot] Feb 12, 2025
46629e4
chore: clean up TinaCMS files for fresh initialization
devin-ai-integration[bot] Feb 12, 2025
e511215
fix: update TinaCMS branch configuration
devin-ai-integration[bot] Feb 12, 2025
a3eae66
chore: add TinaCMS generated files
devin-ai-integration[bot] Feb 12, 2025
7091bdf
chore: remove TinaCMS files for fresh installation
devin-ai-integration[bot] Feb 12, 2025
46e2b2e
chore: add minimal TinaCMS configuration
devin-ai-integration[bot] Feb 12, 2025
02288ed
chore: add TinaCMS generated files and schema
devin-ai-integration[bot] Feb 12, 2025
bdf9c2f
fix: update TinaCMS schema with post collection
devin-ai-integration[bot] Feb 12, 2025
e527620
fix: enable local mode for TinaCMS development
devin-ai-integration[bot] Feb 12, 2025
bfcbdda
fix: update TinaCMS configuration for local development
devin-ai-integration[bot] Feb 12, 2025
73bb8c7
chore: update TinaCMS generated files and schema
devin-ai-integration[bot] Feb 12, 2025
e19ac94
chore: remove TinaCMS for fresh start
devin-ai-integration[bot] Feb 12, 2025
9087052
chore: add TinaCMS starter template
devin-ai-integration[bot] Feb 12, 2025
d32be29
chore: clean up TinaCMS directory
devin-ai-integration[bot] Feb 12, 2025
992416b
feat: add minimal TinaCMS configuration
devin-ai-integration[bot] Feb 12, 2025
4cb9ebe
chore: add TinaCMS generated files
devin-ai-integration[bot] Feb 12, 2025
e01039a
fix: update TinaCMS configuration and generated files
devin-ai-integration[bot] Feb 12, 2025
fe99133
chore: clean up TinaCMS files for fresh initialization
devin-ai-integration[bot] Feb 12, 2025
263dc8a
chore: add TinaCMS starter template files
devin-ai-integration[bot] Feb 12, 2025
198f40f
chore: clean up TinaCMS directory
devin-ai-integration[bot] Feb 12, 2025
fb39ae5
feat: add minimal TinaCMS configuration
devin-ai-integration[bot] Feb 12, 2025
e317488
fix: configure TinaCMS for local development
devin-ai-integration[bot] Feb 12, 2025
5d51c0b
fix: update TinaCMS configuration for Next.js
devin-ai-integration[bot] Feb 12, 2025
2937dc0
fix: simplify TinaCMS configuration
devin-ai-integration[bot] Feb 12, 2025
4b0744a
fix: configure TinaCMS for local development
devin-ai-integration[bot] Feb 12, 2025
1ddf28c
fix: update TinaCMS local development configuration
devin-ai-integration[bot] Feb 12, 2025
2b6e203
fix: restore TinaCMS cloud configuration
devin-ai-integration[bot] Feb 12, 2025
e08105c
fix: update TinaCMS configuration for local development
devin-ai-integration[bot] Feb 12, 2025
a987bea
fix: install TinaCMS with specific version and legacy peer deps
devin-ai-integration[bot] Feb 12, 2025
a1cf3d5
fix: update Netlify and Next.js configuration for proper deployment
devin-ai-integration[bot] Feb 12, 2025
c02c3c5
fix: hardcode TinaCMS credentials for build process
devin-ai-integration[bot] Feb 12, 2025
3634f0f
fix: enable local mode for TinaCMS development
devin-ai-integration[bot] Feb 12, 2025
9e45088
fix: update TinaCMS configuration with hardcoded values
devin-ai-integration[bot] Feb 12, 2025
f3f9cbf
chore: add TinaCMS generated files and update dependencies
devin-ai-integration[bot] Feb 12, 2025
aaeb840
chore: clean up TinaCMS files for fresh start
devin-ai-integration[bot] Feb 12, 2025
3239472
feat: add minimal TinaCMS configuration
devin-ai-integration[bot] Feb 12, 2025
a4a0cbd
chore: add TinaCMS generated files and sync schema
devin-ai-integration[bot] Feb 12, 2025
bfbf12b
fix: update TinaCMS configuration for local development
devin-ai-integration[bot] Feb 12, 2025
aa7622e
fix: update TinaCMS configuration with Git backend
devin-ai-integration[bot] Feb 12, 2025
6f8f9ab
fix: update TinaCMS configuration and generated files
devin-ai-integration[bot] Feb 12, 2025
2303ae9
fix: update TinaCMS configuration to use feature branch
devin-ai-integration[bot] Feb 12, 2025
473648a
fix: update TinaCMS configuration and remove hardcoded values
devin-ai-integration[bot] Feb 12, 2025
d4f4ea0
chore: remove TinaCMS integration
devin-ai-integration[bot] Feb 12, 2025
b79125a
chore: restore original configuration files
devin-ai-integration[bot] Feb 12, 2025
d38cc77
fix: remove TinaCMS dependencies from blog post component
devin-ai-integration[bot] Feb 12, 2025
b45008e
fix: remove TinaCMS provider from layout
devin-ai-integration[bot] Feb 12, 2025
c7e3244
chore: remove remaining TinaCMS files
devin-ai-integration[bot] Feb 12, 2025
f71114a
chore: remove TinaCMS dependencies
devin-ai-integration[bot] Feb 12, 2025
5d29575
feat: add DecapCMS configuration
devin-ai-integration[bot] Feb 12, 2025
65b110b
Merge pull request #20 from g-but/devin/1739369831-add-tina-cms
catomean Feb 12, 2025
43ced2f
fix: mobile menu slide animation and close button
devin-ai-integration[bot] Feb 15, 2025
c97372a
fix: add proper type imports for MouseEvent
devin-ai-integration[bot] Feb 15, 2025
bfdc2db
fix: use correct React.MouseEvent type
devin-ai-integration[bot] Feb 15, 2025
e8c3d4f
chore: remove Netlify configuration and migrate to Next.js API routes
devin-ai-integration[bot] Feb 15, 2025
3972d4c
fix: use correct MouseEvent type for click outside handler
devin-ai-integration[bot] Feb 15, 2025
baf624e
fix: use proper React event types
devin-ai-integration[bot] Feb 15, 2025
4bf2a8e
fix: update TypeScript configuration and React types
devin-ai-integration[bot] Feb 15, 2025
9ac362a
chore: update package-lock.json
devin-ai-integration[bot] Feb 15, 2025
14beaa0
fix: simplify React type imports
devin-ai-integration[bot] Feb 15, 2025
81c2da0
chore: remove remaining Netlify references
devin-ai-integration[bot] Feb 15, 2025
e8aa20e
fix: use absolute import path for ConsultationForm
devin-ai-integration[bot] Feb 15, 2025
389f815
fix: remove client directive from page component
devin-ai-integration[bot] Feb 15, 2025
2b9d061
fix: use dynamic import for client component
devin-ai-integration[bot] Feb 15, 2025
d2271db
fix: remove static export to support API routes
devin-ai-integration[bot] Feb 15, 2025
3df8b1e
fix: improve build-time API validation handling
devin-ai-integration[bot] Feb 15, 2025
10fb462
fix: improve client/server boundary handling in MDX setup
devin-ai-integration[bot] Feb 15, 2025
019d14e
fix: resolve circular dependency in MDX setup
devin-ai-integration[bot] Feb 15, 2025
6a2fecb
fix: use dynamic imports for layout components
devin-ai-integration[bot] Feb 15, 2025
1758a3e
fix: split mobile menu into separate client component
devin-ai-integration[bot] Feb 15, 2025
f72cc91
fix: use absolute import path for MobileMenu
devin-ai-integration[bot] Feb 15, 2025
22a8d95
fix: resolve React fragment TypeScript errors
devin-ai-integration[bot] Feb 15, 2025
9c51ed5
fix: remove duplicate mobile menu code
devin-ai-integration[bot] Feb 15, 2025
1b53c59
fix: simplify component imports to resolve infinite loop
devin-ai-integration[bot] Feb 15, 2025
b2734a1
fix: split menu button into separate client component
devin-ai-integration[bot] Feb 15, 2025
5f44127
fix: resolve TypeScript errors in MobileMenu component
devin-ai-integration[bot] Feb 15, 2025
357ac5a
fix: make MobileMenu a server component
devin-ai-integration[bot] Feb 15, 2025
b1a7c8a
fix: improve type handling in menu components
devin-ai-integration[bot] Feb 15, 2025
6590437
fix: handle menu visibility in client component
devin-ai-integration[bot] Feb 15, 2025
5c873c8
fix: improve state management in menu components
devin-ai-integration[bot] Feb 15, 2025
b3c386b
fix: resolve circular dependencies in component imports
devin-ai-integration[bot] Feb 15, 2025
6aa0258
fix: improve dynamic import loading state
devin-ai-integration[bot] Feb 15, 2025
17e4d7c
fix: improve component loading states
devin-ai-integration[bot] Feb 15, 2025
afc4754
fix: improve loading states and SSR configuration
devin-ai-integration[bot] Feb 15, 2025
3ed38d3
fix: add navigation file and update MDX provider setup
devin-ai-integration[bot] Feb 15, 2025
4068df9
fix: configure Next.js for MDX support
devin-ai-integration[bot] Feb 15, 2025
ca0939b
fix: add MDX plugin options to Next.js config
devin-ai-integration[bot] Feb 15, 2025
ccb2083
fix: update MDX configuration with provider import source
devin-ai-integration[bot] Feb 15, 2025
93d8187
fix: enable experimental MDX support in Next.js config
devin-ai-integration[bot] Feb 15, 2025
1f76145
fix: remove duplicate use client directive in MDX provider
devin-ai-integration[bot] Feb 15, 2025
5c10997
fix: update MDX provider exports and component configuration
devin-ai-integration[bot] Feb 15, 2025
ff22222
fix: update MDX provider exports and component boundaries
devin-ai-integration[bot] Feb 15, 2025
2ad5654
fix: update MDX provider exports to use default export
devin-ai-integration[bot] Feb 15, 2025
785db6e
fix: add proper MDX component types
devin-ai-integration[bot] Feb 15, 2025
8c62548
fix: update MDX provider and layout component boundaries
devin-ai-integration[bot] Feb 15, 2025
4c7ded1
fix: update MDX provider to use named exports
devin-ai-integration[bot] Feb 15, 2025
e51f3ab
fix: resolve MDX provider export conflicts
devin-ai-integration[bot] Feb 15, 2025
1df6623
fix: update MDX configuration and imports
devin-ai-integration[bot] Feb 15, 2025
f5ed60b
fix: remove redundant [slug] route handler
devin-ai-integration[bot] Feb 15, 2025
435b749
fix: update next.config.js with proper MDX configuration
devin-ai-integration[bot] Feb 15, 2025
05670ee
fix: update blog layout to use server component with dynamic MDX content
devin-ai-integration[bot] Feb 15, 2025
06a06ea
fix: add proper types to dynamic MDX content import
devin-ai-integration[bot] Feb 15, 2025
e3a0bd3
fix: update MDX provider to use default export with MDXContent
devin-ai-integration[bot] Feb 15, 2025
fda3c4e
fix: add proper type assertion for dynamic MDX content
devin-ai-integration[bot] Feb 15, 2025
0f74c6a
fix: simplify MDX provider setup by moving it to layout
devin-ai-integration[bot] Feb 15, 2025
cfa4507
fix: update MDX configuration for proper context creation
devin-ai-integration[bot] Feb 15, 2025
9f0c023
fix: restore withMDX configuration for proper MDX file handling
devin-ai-integration[bot] Feb 15, 2025
a7b3139
fix: simplify MDX configuration and remove experimental flag
devin-ai-integration[bot] Feb 15, 2025
bb3ca35
fix: simplify MDX setup and ensure proper client component boundaries
devin-ai-integration[bot] Feb 15, 2025
80045f7
fix: update MDX configuration with proper loader setup
devin-ai-integration[bot] Feb 15, 2025
1f34bdd
chore: update package-lock.json
devin-ai-integration[bot] Feb 15, 2025
c7fdf37
fix: add export output configuration for static deployment
devin-ai-integration[bot] Feb 15, 2025
cf1fdf2
fix: remove static export to support API routes
devin-ai-integration[bot] Feb 15, 2025
b63746b
fix: configure Next.js for standalone output with API support
devin-ai-integration[bot] Feb 15, 2025
f6ef973
fix: simplify Next.js config for standalone output
devin-ai-integration[bot] Feb 15, 2025
62e6ebe
fix: update Link href type in blog page
devin-ai-integration[bot] Feb 15, 2025
a5120a0
fix: revert Link href to use template literal
devin-ai-integration[bot] Feb 15, 2025
78bee12
fix: update Link href types across all components
devin-ai-integration[bot] Feb 15, 2025
9321f70
fix: improve MongoDB connection handling for serverless environment
devin-ai-integration[bot] Feb 15, 2025
7b6bf9d
chore: trigger vercel rebuild
devin-ai-integration[bot] Feb 16, 2025
12a6939
fix: optimize MongoDB connection for serverless and add health check
devin-ai-integration[bot] Feb 16, 2025
181903d
fix: update MongoDB connection options with correct types
devin-ai-integration[bot] Feb 16, 2025
c917683
fix: update Next.js config to generate proper routes manifest
devin-ai-integration[bot] Feb 16, 2025
0dcf67b
fix: expose MongoDB URI to runtime and enable server actions
devin-ai-integration[bot] Feb 16, 2025
3d0bed7
fix: add API route rewrites to Next.js config
devin-ai-integration[bot] Feb 16, 2025
a0187dc
fix: update Next.js config for proper API route handling
devin-ai-integration[bot] Feb 16, 2025
3b5c65a
fix: simplify Next.js config for Vercel deployment
devin-ai-integration[bot] Feb 16, 2025
ea8927d
fix: update Next.js output config for serverless deployment
devin-ai-integration[bot] Feb 16, 2025
efe3f80
fix: update Next.js config and remove redundant server actions flag
devin-ai-integration[bot] Feb 16, 2025
f1ac206
fix: update Next.js config with proper route handling settings
devin-ai-integration[bot] Feb 16, 2025
01ead8a
fix: revert to export output for static site generation
devin-ai-integration[bot] Feb 16, 2025
f276dd3
fix: simplify Next.js config and use standalone output
devin-ai-integration[bot] Feb 16, 2025
5a33ef7
fix: update dynamic route handling in blog and bots pages
devin-ai-integration[bot] Feb 16, 2025
0eb4493
fix: simplify Link hrefs in mobile menu for Next.js 14 app router
devin-ai-integration[bot] Feb 16, 2025
00f856d
fix: add proper type imports for Link hrefs
devin-ai-integration[bot] Feb 16, 2025
0e2a0ee
fix: update Link href types for Next.js 14 app router
devin-ai-integration[bot] Feb 16, 2025
2a1c3c6
fix: update blog page Link hrefs for Next.js 14 app router
devin-ai-integration[bot] Feb 16, 2025
d1d9ca3
fix: add vercel.json with correct build settings
devin-ai-integration[bot] Feb 16, 2025
3e96018
fix: remove outputDirectory from vercel.json to use Next.js defaults
devin-ai-integration[bot] Feb 16, 2025
d587530
Merge pull request #23 from g-but/devin/1739620743-fix-mobile-menu
catomean Feb 16, 2025
79ca757
fix: update click outside handler to target correct mobile menu ID
devin-ai-integration[bot] Feb 16, 2025
6c5b6a5
feat: add deployment timestamp under logo
devin-ai-integration[bot] Feb 16, 2025
ff55d54
feat: add build-time deployment timestamp
devin-ai-integration[bot] Feb 16, 2025
32a8864
feat: add cache control headers to prevent caching
devin-ai-integration[bot] Feb 16, 2025
321af26
Merge pull request #24 from g-but/devin/1739620743-fix-mobile-menu
catomean Feb 16, 2025
7ad7604
fix: add API key configuration for form submission
devin-ai-integration[bot] Feb 17, 2025
dba7bfc
Merge pull request #25 from g-but/devin/1739756192-fix-form-api-key
catomean Feb 17, 2025
82e9733
Update shopping page with new version
catomean Feb 28, 2025
e433bfc
Merge pull request #28 from g-but/update-shopping-page
catomean Feb 28, 2025
1b48339
Update files and remove unnecessary components
catomean Mar 3, 2025
057aad5
Your commit message
catomean Mar 3, 2025
0f89831
Fix type error in Navigation component
catomean Mar 3, 2025
2e6abb0
Remove green Contact Us button from mobile menu
catomean Mar 3, 2025
f069b7f
Fix type errors to enable successful build
catomean Mar 3, 2025
ac1ef3d
Implement GitHub-based MDX blog system with scheduled publishing
catomean Mar 4, 2025
3fb81f5
Remove conflicting route.ts file in blog/[slug] directory
catomean Mar 4, 2025
d536c94
Fix TypeScript errors in MDXComponents img component
catomean Mar 4, 2025
3d94632
Merge pull request #30 from g-but/feature/github-mdx-blog
catomean Mar 5, 2025
a135732
Add GitHub image domain to next.config.js
catomean Mar 5, 2025
43ea367
Enable browser and CDN caching in next.config.js
catomean Mar 5, 2025
c12bd91
Fix inline image src resolution in MDXComponents
catomean Mar 5, 2025
edeb85b
Fix TypeScript error in MDXComponents img component
catomean Mar 5, 2025
f4aba7b
Fix server-side rendering error and image path resolution
catomean Mar 5, 2025
48106e0
Fix TypeScript error with Image component width/height props
catomean Mar 5, 2025
bde9208
Fix server-side rendering issues with blog post images
catomean Mar 5, 2025
3c67b9e
Fix image loading issues and server-side errors in MDX blog system
catomean Mar 5, 2025
d03cdde
Fix server-side error and inline image loading issues
catomean Mar 5, 2025
3cd7e10
Fix server-side error and inline image loading in blog post
catomean Mar 5, 2025
516480e
Fix MDX blog image loading and Callout components
catomean Mar 5, 2025
d8741a1
Fix MDX rendering with proper client component structure
catomean Mar 5, 2025
dce3d34
Implement blog enhancements: dynamic post dates and better image slug…
catomean Mar 5, 2025
06d7bea
Force current date for published posts and improve image slug handling
catomean Mar 5, 2025
97f80b7
Merge pull request #31 from g-but/feature/github-mdx-blog
catomean Mar 5, 2025
aa81750
Implement Heidi Swiss German Teacher with ChatGPT redirection and wai…
catomean Mar 7, 2025
7ab630b
Fix syntax error in data/bots.ts by using double quotes for string wi…
catomean Mar 7, 2025
42fcf8e
Merge pull request #32 from g-but/heidi-redesign
catomean Mar 7, 2025
8006d0a
Fix table width in Heidi in Action and add future vision/contributor …
catomean Mar 7, 2025
b43923b
Merge pull request #33 from g-but/heidi-ui-fix
catomean Mar 7, 2025
dfad0f7
Fix button colors and example container widths for consistent UI
catomean Mar 7, 2025
31b5ef6
Enhance Swiss German Teacher page with improved UX and content
catomean Mar 8, 2025
84670d5
Add comment to demonstrate GitHub deployment workflow
catomean Mar 8, 2025
4464a10
Merge pull request #34 from g-but/feature/swiss-german-teacher
catomean Mar 8, 2025
2b47dfb
Add Techno-Capital project page, rename Shopping to Recurring Fulfill…
catomean Mar 11, 2025
f4dc7b6
Update bot pages with Coming Soon badges and improve homepage
catomean Mar 11, 2025
54a8562
Merge pull request #35 from g-but/feature/swiss-german-teacher
catomean Mar 11, 2025
7f0b3e6
Update Swiss German Teacher page with new features
catomean Mar 13, 2025
c2ae4f3
Merge pull request #36 from g-but/swiss-german-teacher-updates
catomean Mar 13, 2025
9f1e0ef
Add interactive language learning components to Swiss German Teacher …
catomean Mar 14, 2025
841135d
Merge pull request #37 from g-but/swiss-german-interactive-components
catomean Mar 14, 2025
86aea2d
Update Nerd AI Research Assistant components and documentation
catomean Mar 17, 2025
9a3a7b3
Fix: Add className prop to Swiss German Teacher Navigation component
catomean Mar 17, 2025
48262ab
Fix: Update build script to ensure dependencies are installed
catomean Mar 17, 2025
d194cab
Merge pull request #38 from g-but/refactor-code-organization
catomean Mar 17, 2025
3ea20a4
Enhanced governance project with transparency features, agency profil…
catomean Mar 19, 2025
94b499d
Fix: Remove improperly placed page.tsx from components directory caus…
catomean Mar 19, 2025
9622c1c
Complete merge and fix issues
catomean Mar 19, 2025
10da1fc
Update bot pages and add product manager bot
catomean Mar 19, 2025
6dc8c8a
Fix: Update route path in artistic-advisor bot page
catomean Mar 19, 2025
38e86aa
Fix: Use tryLink instead of chatLink in legal-expert page
catomean Mar 19, 2025
db28d5d
Fix: Update chatLink to use tryLink in bot pages
catomean Mar 19, 2025
583925d
Fix: Update all bot pages to use tryLink instead of hardcoded URLs
catomean Mar 19, 2025
6114126
Fix: Update route paths in CoreComponentsSection to match directory s…
catomean Mar 19, 2025
e5292cf
Clean: Remove new directory structure and restore original governance…
catomean Mar 20, 2025
d8473a1
refactor navigation with mega menu
catomean Jun 13, 2025
f033c63
Fix navigation wrapper import
catomean Jun 13, 2025
144ebdc
fix mobile menu href access
catomean Jun 13, 2025
53bf5fd
Fix build issues and navigation paths
catomean Jun 13, 2025
f252b1c
Merge pull request #43 from g-but/codex/refactor-navigation-bar-for-b…
catomean Jun 13, 2025
e79c713
Revamp Lex legal assistant page
catomean Jun 14, 2025
68edfb0
Merge pull request #48 from g-but/codex/revamp-lex-page-with-best-pra…
catomean Jun 14, 2025
f491097
chore: add ci and devcontainer setup
catomean Jun 16, 2025
28bc4fd
fix: update typedoc for TypeScript
catomean Jun 16, 2025
f067317
fix typed routes link
catomean Jun 16, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .devcontainer/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
FROM mcr.microsoft.com/vscode/devcontainers/javascript-node:latest
RUN npm install -g pnpm vercel supabase
RUN npx playwright install --with-deps
7 changes: 7 additions & 0 deletions .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
{
"name": "Botsmann DevContainer",
"build": {
"dockerfile": "Dockerfile"
},
"postCreateCommand": "pnpm install && vercel login --token $VERCEL_TOKEN"
}
20 changes: 11 additions & 9 deletions .env.example
Original file line number Diff line number Diff line change
@@ -1,13 +1,15 @@
# MongoDB connection string
MONGODB_URI=mongodb://localhost:27017/botsmann
MONGODB_URI=

# API key for authentication
API_KEY=your-secure-api-key-here
NEXT_PUBLIC_API_KEY=your-secure-api-key-here
# API key for authentication (required for form submissions)
API_KEY=
NEXT_PUBLIC_API_KEY=

# AWS SES Configuration
NEXT_AWS_ACCESS_KEY_ID=
NEXT_AWS_SECRET_ACCESS_KEY=
NEXT_AWS_REGION=

# Email Configuration
SENDGRID_API_KEY=your_sendgrid_api_key
SENDGRID_WELCOME_TEMPLATE_ID=your_template_id
EMAIL_FROM=noreply@botsmann.com
ADMIN_EMAIL=admin@botsmann.com
DASHBOARD_URL=https://app.botsmann.com/dashboard
FROM_EMAIL=
ADMIN_EMAIL=
23 changes: 23 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
name: CI
on: [push, pull_request]
jobs:
ts:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: pnpm/action-setup@v2
with:
version: 8
- uses: actions/setup-node@v3
with:
node-version: lts/*
cache: pnpm
- run: pnpm install
- run: pnpm lint && pnpm type
- run: pnpm test -- --coverage
- run: node scripts/coverage-check.js
- run: pnpm test:e2e
- run: pnpm docs
- run: pnpm chromatic --exit-once-uploaded
- run: vercel deploy --prebuilt --token ${{ secrets.VERCEL_TOKEN }} --yes --json > url.txt
- run: echo "::notice title=Preview::https://$(cat url.txt)"
20 changes: 20 additions & 0 deletions .github/workflows/codeql.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
name: CodeQL
on:
push:
branches: [main]
pull_request:
# The branches for which pull requests will be built.
branches: [main]
permissions:
contents: read
security-events: write
jobs:
analyze:
name: Analyze
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: github/codeql-action/init@v2
with:
languages: javascript
- uses: github/codeql-action/analyze@v2
21 changes: 21 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
name: Release
on:
push:
branches: [main]
jobs:
release:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: pnpm/action-setup@v2
with:
version: 8
- uses: actions/setup-node@v3
with:
node-version: lts/*
cache: pnpm
- run: pnpm install
- run: npx sentry-cli sourcemaps upload --url-prefix ~/dist ./dist
- run: npx semantic-release
- run: vercel deploy --prod --token ${{ secrets.VERCEL_TOKEN }} --yes --json > url.txt
- run: curl -X POST -H 'Content-Type: application/json' -d '{"text":"New release deployed: https://$(cat url.txt)"}' ${{ secrets.SLACK_WEBHOOK }}
4 changes: 4 additions & 0 deletions .husky/commit-msg
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
#!/bin/sh
. "$(dirname "$0")/_/husky.sh"

npx commitlint --edit "$1"
4 changes: 4 additions & 0 deletions .husky/pre-commit
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
#!/bin/sh
. "$(dirname "$0")/_/husky.sh"

npx lint-staged
79 changes: 79 additions & 0 deletions README-botsmann-blog-content.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
# Botsmann Blog Content

This repository contains content for the Botsmann blog. Each post is stored as an MDX file in its own directory under `posts/`.

## Post Structure

Each post should follow this structure:
- A directory under `posts/` with a URL-friendly name
- An `index.mdx` file containing the post content and frontmatter
- Any media files (images, etc.) stored in the same directory or a `media/` subdirectory

## Frontmatter Format

Each MDX file should begin with frontmatter in this format:

```
---
title: "Post Title"
date: "YYYY-MM-DD"
author: "Author Name"
excerpt: "Brief description of the post"
published: true # Set to true to publish at next 9am window
tags: ["tag1", "tag2"] # Optional
featuredImage: "./featured.jpg" # Optional
---
```

## Publishing Workflow

1. Create a new directory under `posts/`
2. Add your content as `index.mdx` with proper frontmatter
3. Add any images or media to the same directory
4. Set `published: true` when ready to publish
5. The post will go live at the next 9am publishing window

## Rich Media Support

The blog supports various rich media components:

### Images

```markdown
![Alt text](./media/image-name.jpg)
```

### YouTube Videos

```markdown
<YouTube id="video-id" />
```

### Tweets

```markdown
<Tweet id="tweet-id" />
```

### Callouts

```markdown
<Callout type="info">
Important information goes here.
</Callout>
```

Types: `info`, `warning`, `success`

## Example Structure

```
posts/
├── welcome-post/
│ ├── index.mdx
│ └── featured.jpg
└── test-post/
├── index.mdx
└── media/
└── example.png
```
72 changes: 72 additions & 0 deletions README-heidi-implementation.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
# Heidi – Your Swiss German Companion

This document outlines the implementation of Heidi, an AI-powered Swiss German language assistant integrated into the Botsmann platform.

## Overview

Heidi helps expats and learners master High German (Hochdeutsch) and Swiss German (Züridütsch), offering practical language tools, communication support, and cultural integration insights for Switzerland.

## Implementation Details

### Files Updated/Created

1. **Data Files**:
- `data/bots.ts` - Updated with Heidi's information, including title, description, features, and tryLink
- `data/solutions.json` - Updated the swiss-german-teacher entry with Heidi's information
- `data/waitlist.json` - Created to store waitlist entries

2. **UI Files**:
- `app/bots/swiss-german-teacher/page.tsx` - Redesigned to match the TDD requirements with responsive sections, including:
- In-page input field that redirects to the ChatGPT version of Heidi
- Waitlist form for collecting emails and preferences for future features
- Solutions pages use the dynamic routing via `app/solutions/individuals/[slug]/page.tsx`

3. **Backend Logic**:
- `lib/nlp.ts` - Created but kept inactive as NLP processing occurs in the ChatGPT custom GPT
- `app/api/waitlist/route.ts` - API endpoint to handle waitlist form submissions

### Features Implemented

- **Input Redirection**: In-page input field that redirects to the ChatGPT version of Heidi
- **Waitlist Collection**: Form to collect email addresses and content preferences for future features
- **Integration with Try Link**: Direct links to ChatGPT version of Heidi throughout the interface
- **Local Data Storage**: Simple JSON-based storage for waitlist entries

## Current Functionality

Heidi's functionality is currently delivered via a ChatGPT custom GPT:

1. **Main Interaction Flow**:
- Users enter input on the Botsmann website
- They are redirected to the ChatGPT version of Heidi with their input
- All NLP processing occurs within ChatGPT, not within Botsmann

2. **Waitlist Collection**:
- Users can join a waitlist for future features
- Collected data includes email and content preferences
- Data is stored in a local JSON file (would be connected to CRM in production)

## Future Enhancements

As noted in the TDD, potential future enhancements (requiring approval) include:

### Phase 2 (3-6 Months):
- Activate `lib/nlp.ts` for in-page demo (e.g., single-word tables via OpenAI API)

### Phase 3 (12-18 Months):
- Full in-house NLP for all inputs
- Sign-up system for:
- Zurich Events: Post events in chat/section
- Newsletters: Personalized emails
- Blog: Züridütsch posts in /app/blog
- Videos/Audios: Daily content via text-to-speech
- Custom Communication: Tailored chat with user profiles

## Testing

To test the implementation:
1. Visit the bot page at `/bots/swiss-german-teacher`
2. Verify all sections display correctly, including the input field
3. Test the input field by entering text and confirming redirection to ChatGPT
4. Test the waitlist form by submitting an email and preferences
5. Check the solution page at `/solutions/individuals/swiss-german-teacher`
Loading
Loading