"use client"; import Image from "next/image"; import Link from "next/link"; import { Props } from "next/script"; import React, { PropsWithChildren } from "react"; const TwitterHandle: React.FC = ({ children }) => { return {children}; }; const Author: React.FC> = ({ children, href }) => ( {children} ); const Title: React.FC> = ({ children, href }) => ( {children} ); export const Testimonials = () => { const posts: { content: React.ReactNode; link: string; author: { name: React.ReactNode; title?: React.ReactNode; image: string; }; }[] = [ { content: (

My cursory audit of @chronark_'s envshare:

It is light, extremely functional, and does its symmetric block cipher correctly, unique initialization vectors, decryption keys derived securely.


Easily modified to remove minimal analytics. Superior to Privnote.


Self-hosting is easy. 👏

), link: "https://twitter.com/FrederikMarkor/status/1615299856205250560", author: { name: Frederik Markor, title: CEO @discreet, image: "https://pbs.twimg.com/profile_images/1438061314010664962/NecuMIGR_400x400.jpg", }, }, { content: (

I'm particularly chuffed about this launch, for a couple of reasons:

  • ◆ Built on @nextjs + @upstash, hosted on{" "} @vercel
  • ◆ 100% free to use & open source
  • ◆ One-click deploy via Vercel + Upstash integration

Deploy your own → http://vercel.fyi/envshare

), link: "https://twitter.com/steventey/status/1615035241772482567?ref_src=twsrc%5Etfw%7Ctwcamp%5Etweetembed%7Ctwterm%5E1615035241772482567%7Ctwgr%5E1db44bb10c690189e24c980fcd787299961c34c6%7Ctwcon%5Es1_&ref_url=https%3A%2F%2Fpublish.twitter.com%2F%3Fquery%3Dhttps3A2F2Ftwitter.com2Fsteventey2Fstatus2F1615035241772482567widget%3DTweet", author: { name: Steven Tey, title: Senior Developer Advocate at Vercel, image: "https://pbs.twimg.com/profile_images/1506792347840888834/dS-r50Je_400x400.jpg", }, }, { content: (

Congratulations on the launch @chronark_👏! This is such a valuable product for developers. Icing on the cake is that it's open source! ✨

), link: "https://twitter.com/DesignSiddharth/status/1615293209164546048", author: { name: @DesignSiddharth, image: "https://pbs.twimg.com/profile_images/1613772710009765888/MbSblJYf_400x400.jpg", }, }, ]; return (
    {posts.map((post, i) => (
    {post.content}
    {post.author.name}
    {post.author.title}
    ))}
); };