diff --git a/landing/competitor-data.js b/landing/competitor-data.js
--- a/landing/competitor-data.js
+++ b/landing/competitor-data.js
@@ -1,6 +1,7 @@
// @flow
const competitors = Object.freeze({
+ GENERAL: 'general',
DISCORD: 'discord',
KEYBASE: 'keybase',
MATRIX: 'matrix',
@@ -27,6 +28,96 @@
};
const competitorData: { [key: string]: Competitor } = Object.freeze({
+ general: {
+ id: 'general',
+ name: 'General',
+ featureComparison: [
+ {
+ title: 'Tree structure',
+ comingSoon: false,
+ competitorDescriptionShort:
+ 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque vulputate vestibulum leo, vel sollicitudin.',
+ commDescriptionShort:
+ 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque vulputate vestibulum leo, vel sollicitudin.',
+ competitorDescriptionLong: [
+ 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque vulputate vestibulum leo, vel sollicitudin est faucibus eu. Aliquam a nisi id mauris aliquet viverra. Vivamus blandit iaculis libero, vitae hendrerit mi posuere sodales.',
+ ],
+ commDescriptionLong: [
+ 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque vulputate vestibulum leo, vel sollicitudin est faucibus eu. Aliquam a nisi id mauris aliquet viverra. Vivamus blandit iaculis libero, vitae hendrerit mi posuere sodales.',
+ ],
+ },
+ {
+ title: 'Background tab',
+ comingSoon: false,
+ competitorDescriptionShort:
+ 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque vulputate vestibulum leo, vel sollicitudin.',
+ commDescriptionShort:
+ 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque vulputate vestibulum leo, vel sollicitudin.',
+ competitorDescriptionLong: [
+ 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque vulputate vestibulum leo, vel sollicitudin est faucibus eu. Aliquam a nisi id mauris aliquet viverra. Vivamus blandit iaculis libero, vitae hendrerit mi posuere sodales.',
+ ],
+ commDescriptionLong: [
+ 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque vulputate vestibulum leo, vel sollicitudin est faucibus eu. Aliquam a nisi id mauris aliquet viverra. Vivamus blandit iaculis libero, vitae hendrerit mi posuere sodales.',
+ ],
+ },
+ {
+ title: 'Integrated calendar',
+ comingSoon: false,
+ competitorDescriptionShort:
+ 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque vulputate vestibulum leo, vel sollicitudin.',
+ commDescriptionShort:
+ 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque vulputate vestibulum leo, vel sollicitudin.',
+ competitorDescriptionLong: [
+ 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque vulputate vestibulum leo, vel sollicitudin est faucibus eu. Aliquam a nisi id mauris aliquet viverra. Vivamus blandit iaculis libero, vitae hendrerit mi posuere sodales.',
+ ],
+ commDescriptionLong: [
+ 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque vulputate vestibulum leo, vel sollicitudin est faucibus eu. Aliquam a nisi id mauris aliquet viverra. Vivamus blandit iaculis libero, vitae hendrerit mi posuere sodales.',
+ ],
+ },
+ {
+ title: 'Notif controls',
+ comingSoon: false,
+ competitorDescriptionShort:
+ 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque vulputate vestibulum leo, vel sollicitudin.',
+ commDescriptionShort:
+ 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque vulputate vestibulum leo, vel sollicitudin.',
+ competitorDescriptionLong: [
+ 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque vulputate vestibulum leo, vel sollicitudin est faucibus eu. Aliquam a nisi id mauris aliquet viverra. Vivamus blandit iaculis libero, vitae hendrerit mi posuere sodales.',
+ ],
+ commDescriptionLong: [
+ 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque vulputate vestibulum leo, vel sollicitudin est faucibus eu. Aliquam a nisi id mauris aliquet viverra. Vivamus blandit iaculis libero, vitae hendrerit mi posuere sodales.',
+ ],
+ },
+ {
+ title: 'Unique threading model',
+ comingSoon: false,
+ competitorDescriptionShort:
+ 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque vulputate vestibulum leo, vel sollicitudin.',
+ commDescriptionShort:
+ 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque vulputate vestibulum leo, vel sollicitudin.',
+ competitorDescriptionLong: [
+ 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque vulputate vestibulum leo, vel sollicitudin est faucibus eu. Aliquam a nisi id mauris aliquet viverra. Vivamus blandit iaculis libero, vitae hendrerit mi posuere sodales.',
+ ],
+ commDescriptionLong: [
+ 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque vulputate vestibulum leo, vel sollicitudin est faucibus eu. Aliquam a nisi id mauris aliquet viverra. Vivamus blandit iaculis libero, vitae hendrerit mi posuere sodales.',
+ ],
+ },
+ {
+ title: 'Inbox zero workflow',
+ comingSoon: false,
+ competitorDescriptionShort:
+ 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque vulputate vestibulum leo, vel sollicitudin.',
+ commDescriptionShort:
+ 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque vulputate vestibulum leo, vel sollicitudin.',
+ competitorDescriptionLong: [
+ 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque vulputate vestibulum leo, vel sollicitudin est faucibus eu. Aliquam a nisi id mauris aliquet viverra. Vivamus blandit iaculis libero, vitae hendrerit mi posuere sodales.',
+ ],
+ commDescriptionLong: [
+ 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque vulputate vestibulum leo, vel sollicitudin est faucibus eu. Aliquam a nisi id mauris aliquet viverra. Vivamus blandit iaculis libero, vitae hendrerit mi posuere sodales.',
+ ],
+ },
+ ],
+ },
discord: {
id: 'discord',
name: 'Discord',
@@ -525,4 +616,4 @@
},
});
-export { competitorData };
+export { competitors, competitorData };
diff --git a/landing/competitor-logo.react.js b/landing/competitor-logo.react.js
--- a/landing/competitor-logo.react.js
+++ b/landing/competitor-logo.react.js
@@ -8,7 +8,7 @@
import SignalLogo from './assets/signal-logo.react.js';
import SlackLogo from './assets/slack-logo.react.js';
import TelegramLogo from './assets/telegram-logo.react.js';
-import type { Competitors } from './competitor-data.js';
+import { competitors, type Competitors } from './competitor-data.js';
type Props = {
+name: Competitors,
@@ -18,18 +18,18 @@
function CompetitorLogo(props: Props): React.Node {
const { name, size } = props;
- let competitorLogo;
- if (name === 'discord') {
+ let competitorLogo = null;
+ if (name === competitors.DISCORD) {
competitorLogo = ;
- } else if (name === 'keybase') {
+ } else if (name === competitors.KEYBASE) {
competitorLogo = ;
- } else if (name === 'matrix') {
+ } else if (name === competitors.MATRIX) {
competitorLogo = ;
- } else if (name === 'signal') {
+ } else if (name === competitors.SIGNAL) {
competitorLogo = ;
- } else if (name === 'slack') {
+ } else if (name === competitors.SLACK) {
competitorLogo = ;
- } else {
+ } else if (name === competitors.TELEGRAM) {
competitorLogo = ;
}