Commit Graph
75 Commits
Author SHA1 Message Date
jinhojang6 4a70bc3f5a fix: update responsive styles and improve layout across various components 2026-06-19 00:31:34 +09:00
jinhojang6 d40ee16ce1 chore: remove monorepo test coverage implementation plan document 2026-06-18 01:49:38 +09:00
jinhojang6 333c95c250 fix: update documentation links to point to the new site 2026-06-18 01:05:59 +09:00
jinhojang6 d094c0c2c8 fix: link manifesto related reading 2026-06-17 23:24:48 +09:00
jinhojang6 0eb2a5a907 fix: update Lambda Prize text for improved clarity and structure in UseCasesSection 2026-06-17 22:24:28 +09:00
jinhojang6 d943891fcd fix: link get started install cards 2026-06-17 19:57:57 +09:00
jinhojang6 fd753b765e feat: enhance homepage sections with new data structure and components; refactor social proof stats handling and tests 2026-06-16 11:56:58 +09:00
jinhojang6 d1172c6b1c refactor: address Umami tracking review comments 2026-06-13 22:11:44 +09:00
jinhojang6 562bdfb608 feat: track sitewide Umami clicks 2026-06-13 22:11:44 +09:00
jinhojang6 137e8d2b15 fix(tests): update Research panel resource link assertion for stability 2026-06-11 19:19:07 +09:00
JulesFILIOT bacb5ebc46 test(link-policy): remove stale Book link assertion from Research panel 2026-06-11 19:00:00 +09:00
Jinho Jang a9d3dcdd8a Rebrand blog to Logos Media, refresh copy, and polish stack/hero UI (#43)
* fix(content): update description for storage overview section

* fix(content): update references from "The Logos Blog" to "Logos Media" across multiple files

* feat: Refactor blog section to media section

- Created new components for articles and podcasts under the media section.
- Updated routing constants to replace blog with media.
- Adjusted all references in the codebase from blog to media, including links, buttons, and navigation.
- Implemented new layout and design for articles and podcasts to enhance user experience.
- Updated translations and content references to align with the new media section.

* feat(about): replace h1 with AnimatedHeading component in AboutHero section

* fix: update import paths for PodcastsSection and adjust LambdaBadge properties in multiple components

* fix: adjust hover translation values for desktop stack items
2026-06-11 18:56:03 +09:00
Jinho Jang 707a364fc7 fix(content): update winnable issues and initiative details for movement page (#41) 2026-06-11 00:03:40 +09:00
jinhojang6 fd0c278ec1 fix: add book link to research nav resources 2026-06-05 17:51:02 +09:00
jinhojang6 736fa75808 fix(web): make legal pages static-export safe and RFP parsing resilient
- Call setRequestLocale(locale) in the docs page factory so next-intl
  renders statically instead of bailing to headers(), which broke
  output: export on /security, /privacy-policy, /terms-and-conditions,
  /testnet-terms-and-conditions and /testnet-v01-faqs.
- Wrap gray-matter in safeMatter() so an RFP with invalid YAML
  frontmatter (e.g. RFP-015's unquoted colon in title) falls back to
  body-only heuristics instead of being dropped from the listing.
2026-06-05 00:44:19 +09:00
jinhojang6 e3b9a3d66a Add new thumbnail images for tech networking, overview, and storage
- Added tech-networking-thumb.webp to the nav-overlay/figma directory.
- Added tech-overview-thumb.webp to the nav-overlay/figma directory.
- Added tech-storage-thumb.webp to the nav-overlay/figma directory.
2026-06-05 00:21:30 +09:00
jinhojang6 eb89836592 fix(web): update class names and improve text handling in AboutCarousel component 2026-06-04 23:42:07 +09:00
jinhojang6 f37ee0db4c fix(tests): update assertions for blog article layout and node programme page contract 2026-06-04 23:27:30 +09:00
jinhojang6 0627e87cf6 test(web): update link validation to ensure correct GitHub URL format for documentation links 2026-06-04 22:21:06 +09:00
jinhojang6 2ad470aa8c chore(web): update debt problem card copy for clarity and conciseness 2026-06-04 22:14:29 +09:00
JulesFILIOT fdf58b7cbe chore(web): remove "R&D Service Units" from link policy test and secondary documentation links from technology stack 2026-06-04 20:45:37 +09:00
Jinho Jang 97589cb5c5 Update Builders Hub, Get Started, legal pages, and RFP sourcing (#36)
* fix(sitemap): remove FAQ route from static indexable routes

* feat(web): markdown-managed legal pages + Testnet FAQ & Terms

Introduce a markdown-based system for legal/info documents and add the
two testnet pages on the same docs route pattern.

- Add getLegalDoc loader (gray-matter frontmatter + zod validation) and
  LegalMarkdown renderer (react-markdown + remark-gfm) mapped to Logos
  design tokens; render legal pages as a server component.
- Refactor docs-page-factory to source content from content/legal/<slug>.md
  instead of next-intl namespaces; migrate terms, privacy, and security
  from messages/en.json to markdown.
- Add /testnet-v01-faqs and /testnet-terms-and-conditions pages with
  content mirrored from logos.co; link the FAQ's testnet-terms references
  to the internal route.
- Add Testnet FAQ and Testnet Terms to the docs ToC (remove the dead FAQ
  entry); register both routes in the sitemap.
- Align docs content to the standard page gutter by removing the
  redundant px-3 on the docs page shell.

* chore: optimise page imagery

* feat(web): link Logos Devs X account in community section

* chore(web): hide 'What you can build today' section on get-started and builders-hub

* refactor: reuse builders hub start sections

* feat(builders-hub): source RFPs from GitHub API at build time

Fetch and parse RFPs from the logos-co/rfp repo (markdown + YAML
frontmatter) at build time instead of local content, so the /rfps
listing and [slug] detail pages render from a single live source.

- add rfps-github lib: GitHub contents fetch, gray-matter frontmatter
  parse, stable slug from filename, draft/template exclusion
- detail page renders frontmatter-stripped markdown via LegalMarkdown,
  with Apply + View on GitHub CTAs
- widen RFP card/row/listing props to RfpListItem so GitHub data
  (no reward/image) and local Rfp both satisfy the UI
- add optional markdown body to BuildersHubDetailLayout

* refactor: share get started sections
2026-06-04 18:34:29 +09:00
Felicio 583d643697 fix form intros and validation (#35) 2026-06-04 10:23:39 +02:00
Jinho Jang fe62cee62b feat: tech stack related articles, feature cards polish, and node programme signup (#34)
* feat(node-programme): refactor signup form and implement submission logic

* fix(web): improve layout and styling of feature cards section

* feat(tech-stack): implement tech stack related articles functionality and update blog article fetching logic
2026-06-04 02:46:17 +09:00
Jinho Jang 5ef2d6921d Update homepage problem card carousel (#33) 2026-06-04 01:31:24 +09:00
jinhojang6 ff9da710b7 refactor(layout): remove unused meta tags from RootLayout 2026-06-03 03:09:14 +09:00
jinhojang6 1acdba0f5f refactor(blog): rename all Press identifiers/files to Blog, ROUTES.blog
Follow-up to the LPE→Blog rename: purge "Press" from code symbol and file
names and make every consumer use ROUTES.blog instead of a hardcoded path.

- ROUTES: key press -> blog (value /blog); all consumers use ROUTES.blog
- Rename files: lib/press-engine.ts -> lib/blog-engine.ts (+ test),
  blog/_sections/press-atoms.tsx -> blog-atoms.tsx,
  home/press-section.tsx -> blog-section.tsx,
  public/images/press-engine/ -> public/images/blog-engine/
- Rename code symbols: PressArticleRow/PressPodcastRow/PressHero/PressCopy/
  PressRowLink/PressSection/PressCard(Props)/PressPage, getLatest*Press*,
  getPressPageData, getPress*Image*, PRESS_ORIGIN/PRESS_HERO_IMAGE, pressT, etc.
- Rename code-referenced data keys: i18n namespace pages.press -> pages.blog
  (removed stale orphan pages.blog stub), section key home.press -> home.blog,
  DOM id press -> blog
- packages/ui: NavOverlayPressItem -> NavOverlayBlogItem, press/pressSeeAllHref
  -> blog/blogSeeAllHref (rebuilt dist); navigation.json + site schema press -> blog

Intentionally kept (not LPE branding): circles "press" date-format surface
(formatPressDate/event date style), image asset filenames (press-*.webp,
press-hero.jpg), and link-policy legacy-fixture guards.

Verified: web tsc clean, 61 web tests pass, content types + 29 validations pass,
@acid-info/logos-ui rebuilds clean.
2026-06-03 02:04:35 +09:00
jinhojang6 d9823d9026 feat(blog): rename Logos Press Engine to "The Logos Blog" and move /press to /blog
Reviewer feedback: rename LPE branding to "The Logos Blog" and serve
articles under /blog instead of /press.

- Move route dir app/[locale]/press -> app/[locale]/blog (page + _sections)
- ROUTES.press value /press -> /blog (internal key kept to limit churn)
- Display text -> "The Logos Blog" (messages press title/description/heading/
  hero line2, nav label) and navigation card + technology-stack networking label
- All internal /press hrefs -> /blog (home, tech-stack storage/messaging/
  blockchain/networking related articles, nav seeAllHref/card href)
- Update link-policy test assertion, perf budget route, and moved test paths

Article bodies already live on external blog.logos.co (unchanged). Internal
file/identifier names (press-engine lib, press-atoms, /images/.../press-*)
left as-is. No /press redirect (static export).

Verified: tsc clean, 61 web tests pass, 29 content validations pass.
2026-06-03 02:04:35 +09:00
jinhojang6 86d7b3ecf9 fix(page-transition): improve handling of browser back/forward navigation and bfcache restoration
refactor(about-scroll-stack): remove unnecessary pageshow event listener for scroll updates
chore(active-circles): update snapshot generation timestamp
2026-06-02 22:56:19 +09:00
jinhojang6 43b18f3232 feat: implement newsletter signup functionality with react-query; refactor footer components to integrate new newsletter form 2026-06-02 22:44:34 +09:00
jinhojang6 26913b012f feat: add active circles snapshot and sync script; update footer with newsletter form
- Introduced a new JSON snapshot for active circles, including details about events and statistics.
- Added a script to sync the active circles snapshot from the live Logos API.
- Updated package.json to include a new build step for syncing active circles.
- Modified footer component to include an interactive newsletter signup form.
- Adjusted various links in content to point to updated resources and initiatives.
- Enhanced link validation to support same-page anchors.
2026-06-02 22:06:36 +09:00
jinhojang6 92d121d654 refactor: remove CirclesLeafletMap and related components 2026-06-02 21:01:09 +09:00
Jules 51345d4012 feat(funnel): migrate /connect to afform-submit flow
* feat(funnel): route connect through afform-submit

Send /connect submissions to the shared afform-submit endpoint and allowlist afformCircleContactForm.

* fix(civi-crm): make connect civi-only intake

Gate Notion to movement forms, add connect case defaults, and allow missing Notion profile mappings for non-Notion intake forms.

* chore(civi-crm): remove legacy contact endpoint

Drop the old public contact submission route after connect migrated to afform-submit.

* test(civi-crm): cover connect afform-submit path

Assert connect case defaults, Note joins, and CiviCRM-required behaviour when Notion is skipped.

* docs(funnel): add connect to intake flow

Document the fourth form and its CiviCRM-only routing contract in the funnel intake guide.

* fix(web): update afform circle contact form question field

* feat(notion): add scorecard page content to funnel form submissions

heading_2, four bulleted_list_item blocks, and a paragraph for the
overall fit line using proper Notion block types.

* refactor(civi-crm): drop wildcard CORS from afform-submit

Rely on the public-cors middleware for origin allowlisting instead of
emitting Access-Control-Allow-Origin: * and a redundant OPTIONS handler.

* feat(web): rename /connect route to /contact

Updates the ROUTES constant and moves the app directory from
[locale]/connect to [locale]/contact.

* chore(web): exclude /contact from sitemap

Page currently redirects to the homepage, so it should not be indexed.

* docs(funnel): note /connect renamed to /contact and form removed
2026-06-02 16:50:28 +09:00
jinhojang6 b281e68b60 fix: open Parallel Society CTA externally 2026-06-02 02:19:57 +09:00
jinhojang6 822c9ed614 feat: implement basecamp install CTA resolver and update links across components 2026-06-02 01:35:03 +09:00
jinhojang6 9e8ffc1c84 refactor: update responsive styles and improve layout across multiple components 2026-06-02 00:58:34 +09:00
jinhojang6 5e9d2ca24f refactor: refactor responsive styles across multiple components to improve layout and readability
- Updated hero-section, mountain-section, and parallel-society-section to use min-[1025px] for responsive design.
- Adjusted press-section and social-proof-section for better mobile and desktop handling.
- Enhanced start-building-section and tech-stack-section with new responsive classes.
- Modified use-cases-section to improve scrolling behavior based on breakpoints.
- Refined tech-overview-use-cases and footer components for consistent styling.
2026-06-02 00:19:15 +09:00
FelicioandJulesFILIOT ee04d72683 add forms for CRM funnels
* add forms for CRM funnels

* a

* set profile and lead source

- https://civicrm.logos.co/civicrm/admin/afform/submissions#/?name=afformActivistBuilder
- https://civicrm.logos.co/civicrm/contact/view?reset=1&cid=1000
- https://civicrm.logos.co/civicrm/contact/view?reset=1&cid=1000
- https://civicrm.logos.co/civicrm/contact/view/case?reset=1&id=388&cid=1000&action=view&context=case&selectedChild=case&key=CRMCaseFormSearch3vjNUK027Z0YMdmpnTbHyNePydwogixSnFN3Z2YluYYR4_8939

* default checkboxes to true

* remove titles

* u

* add policy

* t

* fix(civi-crm): avoid readonly env writes in CORS test

Use a keyed env helper in the public CORS test so cleanup and setup no longer rely on delete or readonly typed env properties.

* fix(web): align node programme route keys

Rename node program route/message keys to node programme and update links, metadata, sitemap entries, and contract tests.

---------

Co-authored-by: JulesFILIOT <dev@julesfiliot.com>
2026-06-01 17:59:37 +09:00
Jinho Jang cdc110a0ac UI updates (#15)
* Refactor technology stack integration and update documentation links

- Updated the technology stack links in various components to point to the new GitHub documentation repository.
- Refactored the Lambda Prize page to utilize a shared TechStackSection instead of local tech cards.
- Removed redundant tech stack message copies from the storage and technology stack pages.
- Enhanced the home feature cards section to use Link components for navigation.
- Added tests to ensure the integrity of the new tech stack structure and documentation links.

* feat: integrate social proof stats into home page and update related components
2026-05-27 13:26:53 +09:00
Jinho Jang adfc8435ad fix: update onboarding calendar link and adjust related tests (#14) 2026-05-27 12:24:59 +09:00
Jinho Jang 8151907129 UI updates based on the Figma design (#12)
* fix: update Discord URLs to point to the new logosnetwork link

* fix: update navigation links to point to external resources and improve backdrop click handling

* feat: implement Node Programme signup form and update related page content
2026-05-27 11:57:41 +09:00
Jinho Jang 0d4f57fb0c Feature/subtle home tech motion (#10)
* fix: use canonical press reading times

* fix: reduce homepage motion intensity
2026-05-27 04:08:34 +09:00
Jinho Jang 4128e6f07b feat: update external links to point to IFT jobs board and adjust layout for article entries (#8) 2026-05-26 20:21:34 +09:00
Jinho Jang 1a37cf1f22 fix: use British English for public copy and paths (#5) 2026-05-26 19:22:57 +09:00
jinhojang6 6463494e96 feat: Add Basecamp page and update links throughout the site
- Introduced new Basecamp page at `/basecamp` with detailed sections on its features, capabilities, and installation.
- Updated multiple references across the site to link to the new Basecamp page instead of the old technology stack anchor.
- Added new images for Basecamp to the public images directory.
- Modified existing JSON files to reflect the new structure and content for Basecamp.
- Enhanced the navigation to direct users to the Basecamp installation page.
2026-05-23 00:04:32 +09:00
jinhojang6 113902fc3a fix(ci): get pnpm test:release fully green end-to-end
- apps/cms: auto-formatted prettier warnings in scripts and tests
  (schema-push-prompts.test.ts, dev.ts, schema-push-prompts.ts).
- apps/web: auto-formatted prettier warnings in lib/press-engine.ts.
- apps/web/lib/__tests__/link-policy.test.ts: drop docs.logos.co
  from the blocked-URL list — the live Get Started page now uses it
  as the canonical docs entry point via EXTERNAL_URLS.docs.
- apps/cms/.../save-site-content-as-pr.test.ts: footerSchema now
  requires a newsletter object; add it to the test fixture so the
  builder passes Zod parsing.
- apps/web/package.json: declare tsx as an explicit devDependency so
  test:perf / test:static find it under apps/web/node_modules/.bin
  after the pnpm 11 lockfile regeneration changed hoisting.
- apps/web/test/performance/budgets.ts: bump maxHtmlBytes 325k -> 430k
  to cover homepage growth from recent motion polish and Get Started.
- pnpm-lock.yaml: refresh after adding tsx to apps/web.

Verified: pnpm test:release passes locally end-to-end.
2026-05-21 20:24:54 +09:00
jinhojang6 9fb1b1c09b fix(press-engine): resilient external API fetches with diagnostics
External press/calendar APIs occasionally returned HTML (status 200) instead
of JSON during Vercel prerender, causing pages like /logos-broadcast-network
to fail with an opaque "Unexpected token '<'" JSON.parse error.

- Add Accept: application/json header to all JSON fetches
- Read body as text and surface URL/status/content-type/body snippet on
  parse failure so future regressions are diagnosable from build logs
- Retry once with cache: 'no-store' to recover from a cached bad response
- Apply same shape to article HTML fetch and calendar fetch
- Update tests to mock text() responses and assert the new fetch init shape
2026-05-21 18:45:56 +09:00
jinhojang6 9d7687e72f fix: update PRESS_ORIGIN to point to the correct blog URL 2026-05-21 17:16:38 +09:00
jinhojang6 932711206b Update SEO documentation to reflect changes in article page URLs and JSON-LD structure 2026-05-21 17:14:20 +09:00
jinhojang6 73c1665fc9 fix: enhance reading time handling in press articles and improve card display 2026-05-19 20:07:59 +09:00