Chore: Update Storybook libs to v6 (#4439)
This commit is contained in:
parent
fa72d4cc76
commit
e723990e82
|
@ -23,6 +23,8 @@ SECURITY.md
|
||||||
npm-debug.log
|
npm-debug.log
|
||||||
yarn-error.log
|
yarn-error.log
|
||||||
|
|
||||||
|
.storybook/
|
||||||
|
|
||||||
app/i18n/locales/
|
app/i18n/locales/
|
||||||
app/containers/CustomIcon/mappedIcons.js
|
app/containers/CustomIcon/mappedIcons.js
|
||||||
app/containers/CustomIcon/selection.json
|
app/containers/CustomIcon/selection.json
|
||||||
|
|
|
@ -0,0 +1,17 @@
|
||||||
|
import { getStorybookUI } from '@storybook/react-native';
|
||||||
|
import './storybook.requires';
|
||||||
|
|
||||||
|
import RNBootSplash from 'react-native-bootsplash';
|
||||||
|
|
||||||
|
import { selectServerRequest } from '../app/actions/server';
|
||||||
|
import { mockedStore as store } from '../app/reducers/mockedStore';
|
||||||
|
import database from '../app/lib/database';
|
||||||
|
|
||||||
|
RNBootSplash.hide();
|
||||||
|
|
||||||
|
const baseUrl = 'https://open.rocket.chat';
|
||||||
|
store.dispatch(selectServerRequest(baseUrl));
|
||||||
|
database.setActiveDB(baseUrl);
|
||||||
|
|
||||||
|
const StorybookUIRoot = getStorybookUI({});
|
||||||
|
export default StorybookUIRoot;
|
|
@ -0,0 +1,4 @@
|
||||||
|
module.exports = {
|
||||||
|
stories: ['../app/**/*.stories.?(ts|tsx|js|jsx)'],
|
||||||
|
addons: []
|
||||||
|
};
|
|
@ -0,0 +1,34 @@
|
||||||
|
import React from 'react';
|
||||||
|
import { Provider } from 'react-redux';
|
||||||
|
|
||||||
|
import { themes } from '../app/lib/constants';
|
||||||
|
import MessageContext from '../app/containers/message/Context';
|
||||||
|
import { mockedStore as store } from '../app/reducers/mockedStore';
|
||||||
|
|
||||||
|
export const decorators = [
|
||||||
|
Story => (
|
||||||
|
<Provider store={store}>
|
||||||
|
<MessageContext.Provider
|
||||||
|
value={{
|
||||||
|
user: {
|
||||||
|
id: 'y8bd77ptZswPj3EW8',
|
||||||
|
username: 'diego.mello',
|
||||||
|
token: 'abc'
|
||||||
|
},
|
||||||
|
baseUrl: 'https://open.rocket.chat',
|
||||||
|
onPress: () => {},
|
||||||
|
onLongPress: () => {},
|
||||||
|
reactionInit: () => {},
|
||||||
|
onErrorPress: () => {},
|
||||||
|
replyBroadcast: () => {},
|
||||||
|
onReactionPress: () => {},
|
||||||
|
onDiscussionPress: () => {},
|
||||||
|
onReactionLongPress: () => {},
|
||||||
|
threadBadgeColor: themes.light.tunreadColor
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
<Story />
|
||||||
|
</MessageContext.Provider>
|
||||||
|
</Provider>
|
||||||
|
)
|
||||||
|
];
|
|
@ -0,0 +1,47 @@
|
||||||
|
/* do not change this file, it is auto generated by storybook. */
|
||||||
|
|
||||||
|
import {
|
||||||
|
configure,
|
||||||
|
addDecorator,
|
||||||
|
addParameters,
|
||||||
|
addArgsEnhancer,
|
||||||
|
} from "@storybook/react-native";
|
||||||
|
|
||||||
|
import { decorators, parameters } from "./preview";
|
||||||
|
|
||||||
|
if (decorators) {
|
||||||
|
decorators.forEach((decorator) => addDecorator(decorator));
|
||||||
|
}
|
||||||
|
|
||||||
|
if (parameters) {
|
||||||
|
addParameters(parameters);
|
||||||
|
}
|
||||||
|
|
||||||
|
const getStories = () => {
|
||||||
|
return [
|
||||||
|
require("../app/containers/Avatar/Avatar.stories.tsx"),
|
||||||
|
require("../app/containers/BackgroundContainer/index.stories.tsx"),
|
||||||
|
require("../app/containers/Button/Button.stories.tsx"),
|
||||||
|
require("../app/containers/HeaderButton/HeaderButtons.stories.tsx"),
|
||||||
|
require("../app/containers/List/List.stories.tsx"),
|
||||||
|
require("../app/containers/LoginServices/LoginServices.stories.tsx"),
|
||||||
|
require("../app/containers/markdown/Markdown.stories.tsx"),
|
||||||
|
require("../app/containers/markdown/new/NewMarkdown.stories.tsx"),
|
||||||
|
require("../app/containers/message/Components/CollapsibleQuote/CollapsibleQuote.stories.tsx"),
|
||||||
|
require("../app/containers/message/Message.stories.tsx"),
|
||||||
|
require("../app/containers/RoomHeader/RoomHeader.stories.tsx"),
|
||||||
|
require("../app/containers/RoomItem/RoomItem.stories.tsx"),
|
||||||
|
require("../app/containers/SearchBox/SearchBox.stories.tsx"),
|
||||||
|
require("../app/containers/ServerItem/ServerItem.stories.tsx"),
|
||||||
|
require("../app/containers/TextInput/TextInput.stories.tsx"),
|
||||||
|
require("../app/containers/UIKit/UiKitMessage.stories.tsx"),
|
||||||
|
require("../app/containers/UIKit/UiKitModal.stories.tsx"),
|
||||||
|
require("../app/containers/UnreadBadge/UnreadBadge.stories.tsx"),
|
||||||
|
require("../app/views/CannedResponsesListView/CannedResponseItem.stories.tsx"),
|
||||||
|
require("../app/views/DiscussionsView/Item.stories.tsx"),
|
||||||
|
require("../app/views/RoomView/LoadMore/LoadMore.stories.tsx"),
|
||||||
|
require("../app/views/ThreadMessagesView/Item.stories.tsx"),
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
configure(getStories, module, false);
|
|
@ -1,20 +1,20 @@
|
||||||
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
||||||
|
|
||||||
exports[`Storyshots Avatar Avatar by path 1`] = `"{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":56,\\"height\\":56,\\"borderRadius\\":4},null],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":56,\\"height\\":56,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=112\\",\\"headers\\":{\\"User-Agent\\":\\"RC Mobile; ios unknown; vunknown (unknown)\\"},\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}"`;
|
exports[`Storyshots Avatar Avatar Path 1`] = `"{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":56,\\"height\\":56,\\"borderRadius\\":4},null],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":56,\\"height\\":56,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=112\\",\\"headers\\":{\\"User-Agent\\":\\"RC Mobile; ios unknown; vunknown (unknown)\\"},\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}"`;
|
||||||
|
|
||||||
exports[`Storyshots Avatar Avatar by roomId 1`] = `"{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":56,\\"height\\":56,\\"borderRadius\\":4},null],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":56,\\"height\\":56,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/room/devWBbYr7inwupPqK?format=png&size=112\\",\\"headers\\":{\\"User-Agent\\":\\"RC Mobile; ios unknown; vunknown (unknown)\\"},\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}"`;
|
exports[`Storyshots Avatar Avatar Room Id 1`] = `"{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":56,\\"height\\":56,\\"borderRadius\\":4},null],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":56,\\"height\\":56,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/room/devWBbYr7inwupPqK?format=png&size=112\\",\\"headers\\":{\\"User-Agent\\":\\"RC Mobile; ios unknown; vunknown (unknown)\\"},\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}"`;
|
||||||
|
|
||||||
exports[`Storyshots Avatar Avatar by text 1`] = `"{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":56,\\"height\\":56,\\"borderRadius\\":4},null],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":56,\\"height\\":56,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/Avatar?format=png&size=112\\",\\"headers\\":{\\"User-Agent\\":\\"RC Mobile; ios unknown; vunknown (unknown)\\"},\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}"`;
|
exports[`Storyshots Avatar Avatar Text 1`] = `"{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":56,\\"height\\":56,\\"borderRadius\\":4},null],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":56,\\"height\\":56,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/Avatar?format=png&size=112\\",\\"headers\\":{\\"User-Agent\\":\\"RC Mobile; ios unknown; vunknown (unknown)\\"},\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}"`;
|
||||||
|
|
||||||
exports[`Storyshots Avatar Avatar by url 1`] = `"{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":56,\\"height\\":56,\\"borderRadius\\":4},null],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":56,\\"height\\":56,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://user-images.githubusercontent.com/29778115/89444446-14738480-d728-11ea-9412-75fd978d95fb.jpg\\",\\"headers\\":{\\"User-Agent\\":\\"RC Mobile; ios unknown; vunknown (unknown)\\"},\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}"`;
|
exports[`Storyshots Avatar Avatar Url 1`] = `"{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":56,\\"height\\":56,\\"borderRadius\\":4},null],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":56,\\"height\\":56,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://user-images.githubusercontent.com/29778115/89444446-14738480-d728-11ea-9412-75fd978d95fb.jpg\\",\\"headers\\":{\\"User-Agent\\":\\"RC Mobile; ios unknown; vunknown (unknown)\\"},\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}"`;
|
||||||
|
|
||||||
exports[`Storyshots Avatar Channel 1`] = `"{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":56,\\"height\\":56,\\"borderRadius\\":4},null],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":56,\\"height\\":56,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/@general?format=png&size=112\\",\\"headers\\":{\\"User-Agent\\":\\"RC Mobile; ios unknown; vunknown (unknown)\\"},\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}"`;
|
exports[`Storyshots Avatar Channel 1`] = `"{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":56,\\"height\\":56,\\"borderRadius\\":4},null],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":56,\\"height\\":56,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/@general?format=png&size=112\\",\\"headers\\":{\\"User-Agent\\":\\"RC Mobile; ios unknown; vunknown (unknown)\\"},\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}"`;
|
||||||
|
|
||||||
exports[`Storyshots Avatar Children 1`] = `"{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":56,\\"height\\":56,\\"borderRadius\\":4},null],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":56,\\"height\\":56,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/Avatar?format=png&size=112\\",\\"headers\\":{\\"User-Agent\\":\\"RC Mobile; ios unknown; vunknown (unknown)\\"},\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"selectable\\":false,\\"theme\\":\\"light\\",\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":24,\\"color\\":\\"#cbced1\\"},[{\\"width\\":24,\\"height\\":24,\\"textAlignVertical\\":\\"center\\"},[{\\"position\\":\\"absolute\\",\\"bottom\\":-2,\\"right\\":-2,\\"borderRadius\\":10},null]],{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}"`;
|
exports[`Storyshots Avatar Children 1`] = `"{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":56,\\"height\\":56,\\"borderRadius\\":4},null],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":56,\\"height\\":56,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/Avatar?format=png&size=112\\",\\"headers\\":{\\"User-Agent\\":\\"RC Mobile; ios unknown; vunknown (unknown)\\"},\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"selectable\\":false,\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":24,\\"color\\":\\"#f5455c\\"},[{\\"width\\":24,\\"height\\":24,\\"textAlignVertical\\":\\"center\\"},[{\\"position\\":\\"absolute\\",\\"bottom\\":-2,\\"right\\":-2,\\"borderRadius\\":10}]],{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}"`;
|
||||||
|
|
||||||
exports[`Storyshots Avatar Custom borderRadius 1`] = `"{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":56,\\"height\\":56,\\"borderRadius\\":28},null],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":56,\\"height\\":56,\\"borderRadius\\":28}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/Avatar?format=png&size=112\\",\\"headers\\":{\\"User-Agent\\":\\"RC Mobile; ios unknown; vunknown (unknown)\\"},\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}"`;
|
exports[`Storyshots Avatar Custom Border Radius 1`] = `"{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":56,\\"height\\":56,\\"borderRadius\\":28},null],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":56,\\"height\\":56,\\"borderRadius\\":28}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/Avatar?format=png&size=112\\",\\"headers\\":{\\"User-Agent\\":\\"RC Mobile; ios unknown; vunknown (unknown)\\"},\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}"`;
|
||||||
|
|
||||||
exports[`Storyshots Avatar Custom style 1`] = `"{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":56,\\"height\\":56,\\"borderRadius\\":4},{\\"padding\\":16}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":56,\\"height\\":56,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/Avatar?format=png&size=112\\",\\"headers\\":{\\"User-Agent\\":\\"RC Mobile; ios unknown; vunknown (unknown)\\"},\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}"`;
|
exports[`Storyshots Avatar Custom Style 1`] = `"{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":56,\\"height\\":56,\\"borderRadius\\":4},{\\"padding\\":16}],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":56,\\"height\\":56,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/Avatar?format=png&size=112\\",\\"headers\\":{\\"User-Agent\\":\\"RC Mobile; ios unknown; vunknown (unknown)\\"},\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}"`;
|
||||||
|
|
||||||
exports[`Storyshots Avatar Direct 1`] = `"{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":56,\\"height\\":56,\\"borderRadius\\":4},null],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":56,\\"height\\":56,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=112\\",\\"headers\\":{\\"User-Agent\\":\\"RC Mobile; ios unknown; vunknown (unknown)\\"},\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}"`;
|
exports[`Storyshots Avatar Direct 1`] = `"{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":56,\\"height\\":56,\\"borderRadius\\":4},null],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":56,\\"height\\":56,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/diego.mello?format=png&size=112\\",\\"headers\\":{\\"User-Agent\\":\\"RC Mobile; ios unknown; vunknown (unknown)\\"},\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}"`;
|
||||||
|
|
||||||
|
@ -24,8 +24,8 @@ exports[`Storyshots Avatar Static 1`] = `"{\\"type\\":\\"View\\",\\"props\\":{\\
|
||||||
|
|
||||||
exports[`Storyshots Avatar Touchable 1`] = `"{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":56,\\"height\\":56,\\"borderRadius\\":4},null],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"collapsable\\":false,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":56,\\"height\\":56,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/Avatar?format=png&size=112\\",\\"headers\\":{\\"User-Agent\\":\\"RC Mobile; ios unknown; vunknown (unknown)\\"},\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]}"`;
|
exports[`Storyshots Avatar Touchable 1`] = `"{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":56,\\"height\\":56,\\"borderRadius\\":4},null],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"focusable\\":true,\\"collapsable\\":false,\\"style\\":{\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":56,\\"height\\":56,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/Avatar?format=png&size=112\\",\\"headers\\":{\\"User-Agent\\":\\"RC Mobile; ios unknown; vunknown (unknown)\\"},\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}]}"`;
|
||||||
|
|
||||||
exports[`Storyshots Avatar With ETag 1`] = `"{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":56,\\"height\\":56,\\"borderRadius\\":4},null],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":56,\\"height\\":56,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/djorkaeff.alexandre?format=png&size=112&etag=5ag8KffJcZj9m5rCv\\",\\"headers\\":{\\"User-Agent\\":\\"RC Mobile; ios unknown; vunknown (unknown)\\"},\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}"`;
|
exports[`Storyshots Avatar With E Tag 1`] = `"{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":56,\\"height\\":56,\\"borderRadius\\":4},null],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":56,\\"height\\":56,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/djorkaeff.alexandre?format=png&size=112&etag=5ag8KffJcZj9m5rCv\\",\\"headers\\":{\\"User-Agent\\":\\"RC Mobile; ios unknown; vunknown (unknown)\\"},\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}"`;
|
||||||
|
|
||||||
exports[`Storyshots Avatar Without ETag 1`] = `"{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":56,\\"height\\":56,\\"borderRadius\\":4},null],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":56,\\"height\\":56,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/djorkaeff.alexandre?format=png&size=112\\",\\"headers\\":{\\"User-Agent\\":\\"RC Mobile; ios unknown; vunknown (unknown)\\"},\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}"`;
|
exports[`Storyshots Avatar Without E Tag 1`] = `"{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":56,\\"height\\":56,\\"borderRadius\\":4},null],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":56,\\"height\\":56,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://open.rocket.chat/avatar/djorkaeff.alexandre?format=png&size=112\\",\\"headers\\":{\\"User-Agent\\":\\"RC Mobile; ios unknown; vunknown (unknown)\\"},\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}"`;
|
||||||
|
|
||||||
exports[`Storyshots Avatar Wrong server 1`] = `"{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":56,\\"height\\":56,\\"borderRadius\\":4},null],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":56,\\"height\\":56,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://google.com/avatar/Avatar?format=png&size=112\\",\\"headers\\":{\\"User-Agent\\":\\"RC Mobile; ios unknown; vunknown (unknown)\\"},\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}"`;
|
exports[`Storyshots Avatar Wrong Server 1`] = `"{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"width\\":56,\\"height\\":56,\\"borderRadius\\":4},null],\\"testID\\":\\"avatar\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"overflow\\":\\"hidden\\"},{\\"width\\":56,\\"height\\":56,\\"borderRadius\\":4}]},\\"children\\":[{\\"type\\":\\"FastImageView\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},\\"source\\":{\\"uri\\":\\"https://google.com/avatar/Avatar?format=png&size=112\\",\\"headers\\":{\\"User-Agent\\":\\"RC Mobile; ios unknown; vunknown (unknown)\\"},\\"priority\\":\\"high\\"},\\"resizeMode\\":\\"cover\\"},\\"children\\":null}]}]}"`;
|
|
@ -1,17 +1,17 @@
|
||||||
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
||||||
|
|
||||||
exports[`Storyshots BackgroundContainer basic 1`] = `"{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessibilityIgnoresInvertColors\\":true,\\"style\\":{\\"width\\":\\"100%\\",\\"height\\":\\"100%\\",\\"position\\":\\"absolute\\"}},\\"children\\":[{\\"type\\":\\"Image\\",\\"props\\":{\\"source\\":{\\"uri\\":\\"message_empty_light\\"},\\"style\\":[{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},{\\"width\\":\\"100%\\",\\"height\\":\\"100%\\"},null]},\\"children\\":null}]}]}"`;
|
exports[`Storyshots BackgroundContainer Basic 1`] = `"{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessibilityIgnoresInvertColors\\":true,\\"style\\":{\\"width\\":\\"100%\\",\\"height\\":\\"100%\\",\\"position\\":\\"absolute\\"}},\\"children\\":[{\\"type\\":\\"Image\\",\\"props\\":{\\"source\\":{\\"uri\\":\\"message_empty_light\\"},\\"style\\":[{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},{\\"width\\":\\"100%\\",\\"height\\":\\"100%\\"},null]},\\"children\\":null}]}]}"`;
|
||||||
|
|
||||||
exports[`Storyshots BackgroundContainer black theme - loading 1`] = `"{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessibilityIgnoresInvertColors\\":true,\\"style\\":{\\"width\\":\\"100%\\",\\"height\\":\\"100%\\",\\"position\\":\\"absolute\\"}},\\"children\\":[{\\"type\\":\\"Image\\",\\"props\\":{\\"source\\":{\\"uri\\":\\"message_empty_black\\"},\\"style\\":[{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},{\\"width\\":\\"100%\\",\\"height\\":\\"100%\\"},null]},\\"children\\":null}]},{\\"type\\":\\"ActivityIndicator\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"top\\":60,\\"left\\":0,\\"right\\":0,\\"fontSize\\":16,\\"paddingHorizontal\\":24,\\"textAlign\\":\\"center\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},\\"color\\":\\"#f9f9f9\\"},\\"children\\":null}]}"`;
|
exports[`Storyshots BackgroundContainer Black Theme Loading 1`] = `"{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessibilityIgnoresInvertColors\\":true,\\"style\\":{\\"width\\":\\"100%\\",\\"height\\":\\"100%\\",\\"position\\":\\"absolute\\"}},\\"children\\":[{\\"type\\":\\"Image\\",\\"props\\":{\\"source\\":{\\"uri\\":\\"message_empty_black\\"},\\"style\\":[{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},{\\"width\\":\\"100%\\",\\"height\\":\\"100%\\"},null]},\\"children\\":null}]},{\\"type\\":\\"ActivityIndicator\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"top\\":60,\\"left\\":0,\\"right\\":0,\\"fontSize\\":16,\\"paddingHorizontal\\":24,\\"textAlign\\":\\"center\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},\\"color\\":\\"#f9f9f9\\"},\\"children\\":null}]}"`;
|
||||||
|
|
||||||
exports[`Storyshots BackgroundContainer black theme - text 1`] = `"{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessibilityIgnoresInvertColors\\":true,\\"style\\":{\\"width\\":\\"100%\\",\\"height\\":\\"100%\\",\\"position\\":\\"absolute\\"}},\\"children\\":[{\\"type\\":\\"Image\\",\\"props\\":{\\"source\\":{\\"uri\\":\\"message_empty_black\\"},\\"style\\":[{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},{\\"width\\":\\"100%\\",\\"height\\":\\"100%\\"},null]},\\"children\\":null}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"top\\":60,\\"left\\":0,\\"right\\":0,\\"fontSize\\":16,\\"paddingHorizontal\\":24,\\"textAlign\\":\\"center\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#f9f9f9\\"}]},\\"children\\":[\\"Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industrys standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries\\"]}]}"`;
|
exports[`Storyshots BackgroundContainer Black Theme Text 1`] = `"{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessibilityIgnoresInvertColors\\":true,\\"style\\":{\\"width\\":\\"100%\\",\\"height\\":\\"100%\\",\\"position\\":\\"absolute\\"}},\\"children\\":[{\\"type\\":\\"Image\\",\\"props\\":{\\"source\\":{\\"uri\\":\\"message_empty_black\\"},\\"style\\":[{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},{\\"width\\":\\"100%\\",\\"height\\":\\"100%\\"},null]},\\"children\\":null}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"top\\":60,\\"left\\":0,\\"right\\":0,\\"fontSize\\":16,\\"paddingHorizontal\\":24,\\"textAlign\\":\\"center\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#f9f9f9\\"}]},\\"children\\":[\\"Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industrys standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries\\"]}]}"`;
|
||||||
|
|
||||||
exports[`Storyshots BackgroundContainer dark theme - loading 1`] = `"{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessibilityIgnoresInvertColors\\":true,\\"style\\":{\\"width\\":\\"100%\\",\\"height\\":\\"100%\\",\\"position\\":\\"absolute\\"}},\\"children\\":[{\\"type\\":\\"Image\\",\\"props\\":{\\"source\\":{\\"uri\\":\\"message_empty_dark\\"},\\"style\\":[{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},{\\"width\\":\\"100%\\",\\"height\\":\\"100%\\"},null]},\\"children\\":null}]},{\\"type\\":\\"ActivityIndicator\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"top\\":60,\\"left\\":0,\\"right\\":0,\\"fontSize\\":16,\\"paddingHorizontal\\":24,\\"textAlign\\":\\"center\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},\\"color\\":\\"#f9f9f9\\"},\\"children\\":null}]}"`;
|
exports[`Storyshots BackgroundContainer Dark Theme Loading 1`] = `"{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessibilityIgnoresInvertColors\\":true,\\"style\\":{\\"width\\":\\"100%\\",\\"height\\":\\"100%\\",\\"position\\":\\"absolute\\"}},\\"children\\":[{\\"type\\":\\"Image\\",\\"props\\":{\\"source\\":{\\"uri\\":\\"message_empty_dark\\"},\\"style\\":[{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},{\\"width\\":\\"100%\\",\\"height\\":\\"100%\\"},null]},\\"children\\":null}]},{\\"type\\":\\"ActivityIndicator\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"top\\":60,\\"left\\":0,\\"right\\":0,\\"fontSize\\":16,\\"paddingHorizontal\\":24,\\"textAlign\\":\\"center\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},\\"color\\":\\"#f9f9f9\\"},\\"children\\":null}]}"`;
|
||||||
|
|
||||||
exports[`Storyshots BackgroundContainer dark theme - text 1`] = `"{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessibilityIgnoresInvertColors\\":true,\\"style\\":{\\"width\\":\\"100%\\",\\"height\\":\\"100%\\",\\"position\\":\\"absolute\\"}},\\"children\\":[{\\"type\\":\\"Image\\",\\"props\\":{\\"source\\":{\\"uri\\":\\"message_empty_dark\\"},\\"style\\":[{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},{\\"width\\":\\"100%\\",\\"height\\":\\"100%\\"},null]},\\"children\\":null}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"top\\":60,\\"left\\":0,\\"right\\":0,\\"fontSize\\":16,\\"paddingHorizontal\\":24,\\"textAlign\\":\\"center\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#f9f9f9\\"}]},\\"children\\":[\\"Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industrys standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries\\"]}]}"`;
|
exports[`Storyshots BackgroundContainer Dark Theme Text 1`] = `"{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessibilityIgnoresInvertColors\\":true,\\"style\\":{\\"width\\":\\"100%\\",\\"height\\":\\"100%\\",\\"position\\":\\"absolute\\"}},\\"children\\":[{\\"type\\":\\"Image\\",\\"props\\":{\\"source\\":{\\"uri\\":\\"message_empty_dark\\"},\\"style\\":[{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},{\\"width\\":\\"100%\\",\\"height\\":\\"100%\\"},null]},\\"children\\":null}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"top\\":60,\\"left\\":0,\\"right\\":0,\\"fontSize\\":16,\\"paddingHorizontal\\":24,\\"textAlign\\":\\"center\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#f9f9f9\\"}]},\\"children\\":[\\"Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industrys standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries\\"]}]}"`;
|
||||||
|
|
||||||
exports[`Storyshots BackgroundContainer loading 1`] = `"{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessibilityIgnoresInvertColors\\":true,\\"style\\":{\\"width\\":\\"100%\\",\\"height\\":\\"100%\\",\\"position\\":\\"absolute\\"}},\\"children\\":[{\\"type\\":\\"Image\\",\\"props\\":{\\"source\\":{\\"uri\\":\\"message_empty_light\\"},\\"style\\":[{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},{\\"width\\":\\"100%\\",\\"height\\":\\"100%\\"},null]},\\"children\\":null}]},{\\"type\\":\\"ActivityIndicator\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"top\\":60,\\"left\\":0,\\"right\\":0,\\"fontSize\\":16,\\"paddingHorizontal\\":24,\\"textAlign\\":\\"center\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},\\"color\\":\\"#6C727A\\"},\\"children\\":null}]}"`;
|
exports[`Storyshots BackgroundContainer Loading 1`] = `"{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessibilityIgnoresInvertColors\\":true,\\"style\\":{\\"width\\":\\"100%\\",\\"height\\":\\"100%\\",\\"position\\":\\"absolute\\"}},\\"children\\":[{\\"type\\":\\"Image\\",\\"props\\":{\\"source\\":{\\"uri\\":\\"message_empty_light\\"},\\"style\\":[{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},{\\"width\\":\\"100%\\",\\"height\\":\\"100%\\"},null]},\\"children\\":null}]},{\\"type\\":\\"ActivityIndicator\\",\\"props\\":{\\"style\\":{\\"position\\":\\"absolute\\",\\"top\\":60,\\"left\\":0,\\"right\\":0,\\"fontSize\\":16,\\"paddingHorizontal\\":24,\\"textAlign\\":\\"center\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},\\"color\\":\\"#6C727A\\"},\\"children\\":null}]}"`;
|
||||||
|
|
||||||
exports[`Storyshots BackgroundContainer long text 1`] = `"{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessibilityIgnoresInvertColors\\":true,\\"style\\":{\\"width\\":\\"100%\\",\\"height\\":\\"100%\\",\\"position\\":\\"absolute\\"}},\\"children\\":[{\\"type\\":\\"Image\\",\\"props\\":{\\"source\\":{\\"uri\\":\\"message_empty_light\\"},\\"style\\":[{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},{\\"width\\":\\"100%\\",\\"height\\":\\"100%\\"},null]},\\"children\\":null}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"top\\":60,\\"left\\":0,\\"right\\":0,\\"fontSize\\":16,\\"paddingHorizontal\\":24,\\"textAlign\\":\\"center\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#6C727A\\"}]},\\"children\\":[\\"Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industrys standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries\\"]}]}"`;
|
exports[`Storyshots BackgroundContainer Long Text 1`] = `"{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessibilityIgnoresInvertColors\\":true,\\"style\\":{\\"width\\":\\"100%\\",\\"height\\":\\"100%\\",\\"position\\":\\"absolute\\"}},\\"children\\":[{\\"type\\":\\"Image\\",\\"props\\":{\\"source\\":{\\"uri\\":\\"message_empty_light\\"},\\"style\\":[{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},{\\"width\\":\\"100%\\",\\"height\\":\\"100%\\"},null]},\\"children\\":null}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"top\\":60,\\"left\\":0,\\"right\\":0,\\"fontSize\\":16,\\"paddingHorizontal\\":24,\\"textAlign\\":\\"center\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#6C727A\\"}]},\\"children\\":[\\"Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industrys standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries\\"]}]}"`;
|
||||||
|
|
||||||
exports[`Storyshots BackgroundContainer text 1`] = `"{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessibilityIgnoresInvertColors\\":true,\\"style\\":{\\"width\\":\\"100%\\",\\"height\\":\\"100%\\",\\"position\\":\\"absolute\\"}},\\"children\\":[{\\"type\\":\\"Image\\",\\"props\\":{\\"source\\":{\\"uri\\":\\"message_empty_light\\"},\\"style\\":[{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},{\\"width\\":\\"100%\\",\\"height\\":\\"100%\\"},null]},\\"children\\":null}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"top\\":60,\\"left\\":0,\\"right\\":0,\\"fontSize\\":16,\\"paddingHorizontal\\":24,\\"textAlign\\":\\"center\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#6C727A\\"}]},\\"children\\":[\\"Text here\\"]}]}"`;
|
exports[`Storyshots BackgroundContainer Text 1`] = `"{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessibilityIgnoresInvertColors\\":true,\\"style\\":{\\"width\\":\\"100%\\",\\"height\\":\\"100%\\",\\"position\\":\\"absolute\\"}},\\"children\\":[{\\"type\\":\\"Image\\",\\"props\\":{\\"source\\":{\\"uri\\":\\"message_empty_light\\"},\\"style\\":[{\\"position\\":\\"absolute\\",\\"left\\":0,\\"right\\":0,\\"top\\":0,\\"bottom\\":0},{\\"width\\":\\"100%\\",\\"height\\":\\"100%\\"},null]},\\"children\\":null}]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"position\\":\\"absolute\\",\\"top\\":60,\\"left\\":0,\\"right\\":0,\\"fontSize\\":16,\\"paddingHorizontal\\":24,\\"textAlign\\":\\"center\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\"},{\\"color\\":\\"#6C727A\\"}]},\\"children\\":[\\"Text here\\"]}]}"`;
|
|
@ -0,0 +1,13 @@
|
||||||
|
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
||||||
|
|
||||||
|
exports[`Storyshots Button Custom Button 1`] = `"{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"accessibilityLabel\\":\\"Press me!\\",\\"accessibilityState\\":{\\"disabled\\":false},\\"testID\\":\\"testButton\\",\\"focusable\\":true,\\"collapsable\\":false,\\"style\\":{\\"paddingHorizontal\\":14,\\"justifyContent\\":\\"center\\",\\"height\\":48,\\"borderRadius\\":2,\\"marginBottom\\":12,\\"backgroundColor\\":\\"purple\\",\\"padding\\":10,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"textAlign\\":\\"center\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"yellow\\",\\"fontSize\\":18},[{\\"textAlign\\":\\"left\\"}]],\\"accessibilityLabel\\":\\"Press me!\\"},\\"children\\":[\\"Press me!\\"]}]}"`;
|
||||||
|
|
||||||
|
exports[`Storyshots Button Disabled Button 1`] = `"{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"accessibilityLabel\\":\\"Press me!\\",\\"accessibilityState\\":{\\"disabled\\":true},\\"testID\\":\\"testButton\\",\\"focusable\\":true,\\"collapsable\\":false,\\"style\\":{\\"paddingHorizontal\\":14,\\"justifyContent\\":\\"center\\",\\"height\\":48,\\"borderRadius\\":2,\\"marginBottom\\":12,\\"backgroundColor\\":\\"#1d74f5\\",\\"opacity\\":0.3}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"textAlign\\":\\"center\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#ffffff\\",\\"fontSize\\":16},null],\\"accessibilityLabel\\":\\"Press me!\\"},\\"children\\":[\\"Press me!\\"]}]}"`;
|
||||||
|
|
||||||
|
exports[`Storyshots Button Disabled Loading Button 1`] = `"{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"accessibilityLabel\\":\\"Press me!\\",\\"accessibilityState\\":{\\"disabled\\":true},\\"testID\\":\\"testButton\\",\\"focusable\\":true,\\"collapsable\\":false,\\"style\\":{\\"paddingHorizontal\\":14,\\"justifyContent\\":\\"center\\",\\"height\\":48,\\"borderRadius\\":2,\\"marginBottom\\":12,\\"backgroundColor\\":\\"#1d74f5\\",\\"opacity\\":0.3}},\\"children\\":[{\\"type\\":\\"ActivityIndicator\\",\\"props\\":{\\"style\\":[{\\"padding\\":16,\\"flex\\":1},null],\\"color\\":\\"#ffffff\\"},\\"children\\":null}]}"`;
|
||||||
|
|
||||||
|
exports[`Storyshots Button Loading Button 1`] = `"{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"accessibilityLabel\\":\\"Press me!\\",\\"accessibilityState\\":{\\"disabled\\":true},\\"testID\\":\\"testButton\\",\\"focusable\\":true,\\"collapsable\\":false,\\"style\\":{\\"paddingHorizontal\\":14,\\"justifyContent\\":\\"center\\",\\"height\\":48,\\"borderRadius\\":2,\\"marginBottom\\":12,\\"backgroundColor\\":\\"#1d74f5\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"ActivityIndicator\\",\\"props\\":{\\"style\\":[{\\"padding\\":16,\\"flex\\":1},null],\\"color\\":\\"#ffffff\\"},\\"children\\":null}]}"`;
|
||||||
|
|
||||||
|
exports[`Storyshots Button Primary Button 1`] = `"{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"accessibilityLabel\\":\\"Press me!\\",\\"accessibilityState\\":{\\"disabled\\":false},\\"testID\\":\\"testButton\\",\\"focusable\\":true,\\"collapsable\\":false,\\"style\\":{\\"paddingHorizontal\\":14,\\"justifyContent\\":\\"center\\",\\"height\\":48,\\"borderRadius\\":2,\\"marginBottom\\":12,\\"backgroundColor\\":\\"#1d74f5\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"textAlign\\":\\"center\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#ffffff\\",\\"fontSize\\":16},null],\\"accessibilityLabel\\":\\"Press me!\\"},\\"children\\":[\\"Press me!\\"]}]}"`;
|
||||||
|
|
||||||
|
exports[`Storyshots Button Secondary Button 1`] = `"{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"accessibilityLabel\\":\\"Press me!\\",\\"accessibilityState\\":{\\"disabled\\":false},\\"testID\\":\\"testButton\\",\\"focusable\\":true,\\"collapsable\\":false,\\"style\\":{\\"paddingHorizontal\\":14,\\"justifyContent\\":\\"center\\",\\"height\\":48,\\"borderRadius\\":2,\\"marginBottom\\":12,\\"backgroundColor\\":\\"#ffffff\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"textAlign\\":\\"center\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#2f343d\\",\\"fontSize\\":16},null],\\"accessibilityLabel\\":\\"Press me!\\"},\\"children\\":[\\"Press me!\\"]}]}"`;
|
|
@ -0,0 +1,11 @@
|
||||||
|
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
||||||
|
|
||||||
|
exports[`Storyshots HeaderButtons Badge 1`] = `"{\\"type\\":\\"RNCSafeAreaProvider\\",\\"props\\":{\\"style\\":[{\\"flex\\":1},null]},\\"children\\":null}"`;
|
||||||
|
|
||||||
|
exports[`Storyshots HeaderButtons Common 1`] = `"{\\"type\\":\\"RNCSafeAreaProvider\\",\\"props\\":{\\"style\\":[{\\"flex\\":1},null]},\\"children\\":null}"`;
|
||||||
|
|
||||||
|
exports[`Storyshots HeaderButtons Icons 1`] = `"{\\"type\\":\\"RNCSafeAreaProvider\\",\\"props\\":{\\"style\\":[{\\"flex\\":1},null]},\\"children\\":null}"`;
|
||||||
|
|
||||||
|
exports[`Storyshots HeaderButtons Themes 1`] = `"{\\"type\\":\\"RNCSafeAreaProvider\\",\\"props\\":{\\"style\\":[{\\"flex\\":1},null]},\\"children\\":null}"`;
|
||||||
|
|
||||||
|
exports[`Storyshots HeaderButtons Title 1`] = `"{\\"type\\":\\"RNCSafeAreaProvider\\",\\"props\\":{\\"style\\":[{\\"flex\\":1},null]},\\"children\\":null}"`;
|
File diff suppressed because one or more lines are too long
|
@ -0,0 +1,5 @@
|
||||||
|
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
||||||
|
|
||||||
|
exports[`Storyshots Login Services Separators 1`] = `"[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"accessibilityLabel\\":\\"More options\\",\\"accessibilityState\\":{\\"disabled\\":false},\\"focusable\\":true,\\"collapsable\\":false,\\"style\\":{\\"paddingHorizontal\\":14,\\"justifyContent\\":\\"center\\",\\"height\\":48,\\"borderRadius\\":2,\\"marginBottom\\":0,\\"backgroundColor\\":\\"#ffffff\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"textAlign\\":\\"center\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#1d74f5\\",\\"fontSize\\":16},null],\\"accessibilityLabel\\":\\"More options\\"},\\"children\\":[\\"More options\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"marginVertical\\":24}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"height\\":1,\\"flex\\":1},{\\"backgroundColor\\":\\"#e1e5e8\\"}]},\\"children\\":null},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":14,\\"marginLeft\\":14,\\"marginRight\\":14,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#9ca2a8\\"}]},\\"children\\":[\\"OR\\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"height\\":1,\\"flex\\":1},{\\"backgroundColor\\":\\"#e1e5e8\\"}]},\\"children\\":null}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"accessibilityLabel\\":\\"Less options\\",\\"accessibilityState\\":{\\"disabled\\":false},\\"focusable\\":true,\\"collapsable\\":false,\\"style\\":{\\"paddingHorizontal\\":14,\\"justifyContent\\":\\"center\\",\\"height\\":48,\\"borderRadius\\":2,\\"marginBottom\\":0,\\"backgroundColor\\":\\"#ffffff\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"textAlign\\":\\"center\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#1d74f5\\",\\"fontSize\\":16},null],\\"accessibilityLabel\\":\\"Less options\\"},\\"children\\":[\\"Less options\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"marginVertical\\":24}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"height\\":1,\\"flex\\":1},{\\"backgroundColor\\":\\"#e1e5e8\\"}]},\\"children\\":null},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":14,\\"marginLeft\\":14,\\"marginRight\\":14,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#9ca2a8\\"}]},\\"children\\":[\\"OR\\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"height\\":1,\\"flex\\":1},{\\"backgroundColor\\":\\"#e1e5e8\\"}]},\\"children\\":null}]}]"`;
|
||||||
|
|
||||||
|
exports[`Storyshots Login Services Service List 1`] = `"[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"borderRadius\\":2,\\"width\\":\\"100%\\",\\"height\\":48,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"justifyContent\\":\\"center\\",\\"paddingHorizontal\\":15}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"selectable\\":false,\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":24,\\"color\\":\\"#0d0e12\\"},{\\"position\\":\\"absolute\\",\\"left\\":15,\\"top\\":12,\\"width\\":24,\\"height\\":24},{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\",\\"fontSize\\":16},{\\"color\\":\\"#0d0e12\\"}]},\\"children\\":[\\"Continue with\\",\\" \\",{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":{\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"}},\\"children\\":[\\"github\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"borderRadius\\":2,\\"width\\":\\"100%\\",\\"height\\":48,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"justifyContent\\":\\"center\\",\\"paddingHorizontal\\":15}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"selectable\\":false,\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":24,\\"color\\":\\"#0d0e12\\"},{\\"position\\":\\"absolute\\",\\"left\\":15,\\"top\\":12,\\"width\\":24,\\"height\\":24},{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\",\\"fontSize\\":16},{\\"color\\":\\"#0d0e12\\"}]},\\"children\\":[\\"Continue with\\",\\" \\",{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":{\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"}},\\"children\\":[\\"gitlab\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"borderRadius\\":2,\\"width\\":\\"100%\\",\\"height\\":48,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"justifyContent\\":\\"center\\",\\"paddingHorizontal\\":15}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"selectable\\":false,\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":24,\\"color\\":\\"#0d0e12\\"},{\\"position\\":\\"absolute\\",\\"left\\":15,\\"top\\":12,\\"width\\":24,\\"height\\":24},{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\",\\"fontSize\\":16},{\\"color\\":\\"#0d0e12\\"}]},\\"children\\":[\\"Continue with\\",\\" \\",{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":{\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"}},\\"children\\":[\\"google\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"borderRadius\\":2,\\"width\\":\\"100%\\",\\"height\\":48,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"justifyContent\\":\\"center\\",\\"paddingHorizontal\\":15}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"selectable\\":false,\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":24,\\"color\\":\\"#0d0e12\\"},{\\"position\\":\\"absolute\\",\\"left\\":15,\\"top\\":12,\\"width\\":24,\\"height\\":24},{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\",\\"fontSize\\":16},{\\"color\\":\\"#0d0e12\\"}]},\\"children\\":[\\"Continue with\\",\\" \\",{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":{\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"}},\\"children\\":[\\"apple\\"]}]}]}]"`;
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
@ -0,0 +1,3 @@
|
||||||
|
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
||||||
|
|
||||||
|
exports[`Storyshots SearchBox Basic 1`] = `"{\\"type\\":\\"View\\",\\"props\\":{\\"testID\\":\\"searchbox\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"marginBottom\\":10},{\\"margin\\":16,\\"marginBottom\\":16}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"relative\\"}},\\"children\\":[{\\"type\\":\\"TextInput\\",\\"props\\":{\\"style\\":[{\\"color\\":\\"#0d0e12\\"},[{\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\",\\"height\\":48,\\"fontSize\\":16,\\"padding\\":14,\\"borderWidth\\":0.5,\\"borderRadius\\":2},null,{\\"paddingRight\\":45},{\\"backgroundColor\\":\\"#ffffff\\",\\"borderColor\\":\\"#cbcbcc\\",\\"color\\":\\"#0d0e12\\"},null,null],{\\"textAlign\\":\\"auto\\"}],\\"placeholderTextColor\\":\\"#9ca2a8\\",\\"keyboardAppearance\\":\\"light\\",\\"autoCorrect\\":false,\\"autoCapitalize\\":\\"none\\",\\"underlineColorAndroid\\":\\"transparent\\",\\"accessibilityLabel\\":\\"Search\\",\\"placeholder\\":\\"Search\\",\\"value\\":\\"\\",\\"blurOnSubmit\\":true,\\"returnKeyType\\":\\"search\\"},\\"children\\":null},{\\"type\\":\\"Text\\",\\"props\\":{\\"selectable\\":false,\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":20,\\"color\\":\\"#2f343d\\"},[{\\"position\\":\\"absolute\\",\\"top\\":14},{\\"right\\":15}],{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]}]}"`;
|
File diff suppressed because one or more lines are too long
|
@ -0,0 +1,3 @@
|
||||||
|
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
||||||
|
|
||||||
|
exports[`Storyshots TextInput Short And Long 1`] = `"{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"paddingHorizontal\\":14}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"marginBottom\\":10},null]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"marginBottom\\":10,\\"fontSize\\":14,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#0d0e12\\"},null]},\\"children\\":[\\"Short Text\\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"relative\\"}},\\"children\\":[{\\"type\\":\\"TextInput\\",\\"props\\":{\\"style\\":[{\\"color\\":\\"#0d0e12\\"},[{\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\",\\"height\\":48,\\"fontSize\\":16,\\"padding\\":14,\\"borderWidth\\":0.5,\\"borderRadius\\":2},null,null,{\\"backgroundColor\\":\\"#ffffff\\",\\"borderColor\\":\\"#cbcbcc\\",\\"color\\":\\"#0d0e12\\"},null,null],{\\"textAlign\\":\\"auto\\"}],\\"placeholderTextColor\\":\\"#9ca2a8\\",\\"keyboardAppearance\\":\\"light\\",\\"autoCorrect\\":false,\\"autoCapitalize\\":\\"none\\",\\"underlineColorAndroid\\":\\"transparent\\",\\"accessibilityLabel\\":\\"placeholder\\",\\"placeholder\\":\\"placeholder\\",\\"value\\":\\"Rocket.Chat\\"},\\"children\\":null}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"marginBottom\\":10},null]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"marginBottom\\":10,\\"fontSize\\":14,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#0d0e12\\"},null]},\\"children\\":[\\"Long Text\\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"relative\\"}},\\"children\\":[{\\"type\\":\\"TextInput\\",\\"props\\":{\\"style\\":[{\\"color\\":\\"#0d0e12\\"},[{\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\",\\"height\\":48,\\"fontSize\\":16,\\"padding\\":14,\\"borderWidth\\":0.5,\\"borderRadius\\":2},null,null,{\\"backgroundColor\\":\\"#ffffff\\",\\"borderColor\\":\\"#cbcbcc\\",\\"color\\":\\"#0d0e12\\"},null,null],{\\"textAlign\\":\\"auto\\"}],\\"placeholderTextColor\\":\\"#9ca2a8\\",\\"keyboardAppearance\\":\\"light\\",\\"autoCorrect\\":false,\\"autoCapitalize\\":\\"none\\",\\"underlineColorAndroid\\":\\"transparent\\",\\"accessibilityLabel\\":\\"placeholder\\",\\"placeholder\\":\\"placeholder\\",\\"value\\":\\"https://open.rocket.chat/images/logo/android-chrome-512x512.png\\"},\\"children\\":null}]}]}]}"`;
|
|
@ -0,0 +1,27 @@
|
||||||
|
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
||||||
|
|
||||||
|
exports[`Storyshots UIKit/UiKitMessage Action - Buttons 1`] = `"{\\"type\\":\\"RCTScrollView\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"backgroundColor\\":\\"#fff\\"},{\\"paddingHorizontal\\":16}],\\"keyboardShouldPersistTaps\\":\\"always\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":null}]}"`;
|
||||||
|
|
||||||
|
exports[`Storyshots UIKit/UiKitMessage Action - Select 1`] = `"{\\"type\\":\\"RCTScrollView\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"backgroundColor\\":\\"#fff\\"},{\\"paddingHorizontal\\":16}],\\"keyboardShouldPersistTaps\\":\\"always\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":null}]}"`;
|
||||||
|
|
||||||
|
exports[`Storyshots UIKit/UiKitMessage Context 1`] = `"{\\"type\\":\\"RCTScrollView\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"backgroundColor\\":\\"#fff\\"},{\\"paddingHorizontal\\":16}],\\"keyboardShouldPersistTaps\\":\\"always\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":null}]}"`;
|
||||||
|
|
||||||
|
exports[`Storyshots UIKit/UiKitMessage Fields 1`] = `"{\\"type\\":\\"RCTScrollView\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"backgroundColor\\":\\"#fff\\"},{\\"paddingHorizontal\\":16}],\\"keyboardShouldPersistTaps\\":\\"always\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":null}]}"`;
|
||||||
|
|
||||||
|
exports[`Storyshots UIKit/UiKitMessage Image 1`] = `"{\\"type\\":\\"RCTScrollView\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"backgroundColor\\":\\"#fff\\"},{\\"paddingHorizontal\\":16}],\\"keyboardShouldPersistTaps\\":\\"always\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":null}]}"`;
|
||||||
|
|
||||||
|
exports[`Storyshots UIKit/UiKitMessage Section + DatePicker 1`] = `"{\\"type\\":\\"RCTScrollView\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"backgroundColor\\":\\"#fff\\"},{\\"paddingHorizontal\\":16}],\\"keyboardShouldPersistTaps\\":\\"always\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":null}]}"`;
|
||||||
|
|
||||||
|
exports[`Storyshots UIKit/UiKitMessage Section + Markdown List 1`] = `"{\\"type\\":\\"RCTScrollView\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"backgroundColor\\":\\"#fff\\"},{\\"paddingHorizontal\\":16}],\\"keyboardShouldPersistTaps\\":\\"always\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":null}]}"`;
|
||||||
|
|
||||||
|
exports[`Storyshots UIKit/UiKitMessage Section + Multi Select 1`] = `"{\\"type\\":\\"RCTScrollView\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"backgroundColor\\":\\"#fff\\"},{\\"paddingHorizontal\\":16}],\\"keyboardShouldPersistTaps\\":\\"always\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":null}]}"`;
|
||||||
|
|
||||||
|
exports[`Storyshots UIKit/UiKitMessage Section + Overflow 1`] = `"{\\"type\\":\\"RCTScrollView\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"backgroundColor\\":\\"#fff\\"},{\\"paddingHorizontal\\":16}],\\"keyboardShouldPersistTaps\\":\\"always\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":null}]}"`;
|
||||||
|
|
||||||
|
exports[`Storyshots UIKit/UiKitMessage Section + Select 1`] = `"{\\"type\\":\\"RCTScrollView\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"backgroundColor\\":\\"#fff\\"},{\\"paddingHorizontal\\":16}],\\"keyboardShouldPersistTaps\\":\\"always\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":null}]}"`;
|
||||||
|
|
||||||
|
exports[`Storyshots UIKit/UiKitMessage Section + button 1`] = `"{\\"type\\":\\"RCTScrollView\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"backgroundColor\\":\\"#fff\\"},{\\"paddingHorizontal\\":16}],\\"keyboardShouldPersistTaps\\":\\"always\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":null}]}"`;
|
||||||
|
|
||||||
|
exports[`Storyshots UIKit/UiKitMessage Section + image 1`] = `"{\\"type\\":\\"RCTScrollView\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"backgroundColor\\":\\"#fff\\"},{\\"paddingHorizontal\\":16}],\\"keyboardShouldPersistTaps\\":\\"always\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":null}]}"`;
|
||||||
|
|
||||||
|
exports[`Storyshots UIKit/UiKitMessage Section 1`] = `"{\\"type\\":\\"RCTScrollView\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"backgroundColor\\":\\"#fff\\"},{\\"paddingHorizontal\\":16}],\\"keyboardShouldPersistTaps\\":\\"always\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":null}]}"`;
|
|
@ -0,0 +1,21 @@
|
||||||
|
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
||||||
|
|
||||||
|
exports[`Storyshots UIKit/UiKitModal Modal - Actions 1`] = `"{\\"type\\":\\"RCTScrollView\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"backgroundColor\\":\\"#fff\\"},{\\"paddingHorizontal\\":16}],\\"keyboardShouldPersistTaps\\":\\"always\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":null}]}"`;
|
||||||
|
|
||||||
|
exports[`Storyshots UIKit/UiKitModal Modal - Contexts and Dividers 1`] = `"{\\"type\\":\\"RCTScrollView\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"backgroundColor\\":\\"#fff\\"},{\\"paddingHorizontal\\":16}],\\"keyboardShouldPersistTaps\\":\\"always\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":null}]}"`;
|
||||||
|
|
||||||
|
exports[`Storyshots UIKit/UiKitModal Modal - DatePicker with error 1`] = `"{\\"type\\":\\"RCTScrollView\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"backgroundColor\\":\\"#fff\\"},{\\"paddingHorizontal\\":16}],\\"keyboardShouldPersistTaps\\":\\"always\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":null}]}"`;
|
||||||
|
|
||||||
|
exports[`Storyshots UIKit/UiKitModal Modal - Form Input 1`] = `"{\\"type\\":\\"RCTScrollView\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"backgroundColor\\":\\"#fff\\"},{\\"paddingHorizontal\\":16}],\\"keyboardShouldPersistTaps\\":\\"always\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":null}]}"`;
|
||||||
|
|
||||||
|
exports[`Storyshots UIKit/UiKitModal Modal - Form TextArea 1`] = `"{\\"type\\":\\"RCTScrollView\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"backgroundColor\\":\\"#fff\\"},{\\"paddingHorizontal\\":16}],\\"keyboardShouldPersistTaps\\":\\"always\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":null}]}"`;
|
||||||
|
|
||||||
|
exports[`Storyshots UIKit/UiKitModal Modal - Images 1`] = `"{\\"type\\":\\"RCTScrollView\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"backgroundColor\\":\\"#fff\\"},{\\"paddingHorizontal\\":16}],\\"keyboardShouldPersistTaps\\":\\"always\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":null}]}"`;
|
||||||
|
|
||||||
|
exports[`Storyshots UIKit/UiKitModal Modal - Input with error 1`] = `"{\\"type\\":\\"RCTScrollView\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"backgroundColor\\":\\"#fff\\"},{\\"paddingHorizontal\\":16}],\\"keyboardShouldPersistTaps\\":\\"always\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":null}]}"`;
|
||||||
|
|
||||||
|
exports[`Storyshots UIKit/UiKitModal Modal - Multilne with error 1`] = `"{\\"type\\":\\"RCTScrollView\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"backgroundColor\\":\\"#fff\\"},{\\"paddingHorizontal\\":16}],\\"keyboardShouldPersistTaps\\":\\"always\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":null}]}"`;
|
||||||
|
|
||||||
|
exports[`Storyshots UIKit/UiKitModal Modal - Section and Accessories 1`] = `"{\\"type\\":\\"RCTScrollView\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"backgroundColor\\":\\"#fff\\"},{\\"paddingHorizontal\\":16}],\\"keyboardShouldPersistTaps\\":\\"always\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":null}]}"`;
|
||||||
|
|
||||||
|
exports[`Storyshots UIKit/UiKitModal Modal - Section and Selects 1`] = `"{\\"type\\":\\"RCTScrollView\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"backgroundColor\\":\\"#fff\\"},{\\"paddingHorizontal\\":16}],\\"keyboardShouldPersistTaps\\":\\"always\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":null}]}"`;
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
@ -0,0 +1,3 @@
|
||||||
|
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
||||||
|
|
||||||
|
exports[`Storyshots CollapsibleQuote Item 1`] = `"{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"padding\\":10}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"testID\\":\\"collapsibleQuoteTouchable-Engineering (9 today)\\",\\"hitSlop\\":{\\"top\\":4,\\"right\\":4,\\"bottom\\":4,\\"left\\":4},\\"focusable\\":true,\\"collapsable\\":false,\\"style\\":{\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"marginTop\\":6,\\"borderWidth\\":1,\\"borderRadius\\":4,\\"minHeight\\":40,\\"backgroundColor\\":\\"#f3f4f5\\",\\"borderLeftColor\\":\\"#CBCED1\\",\\"borderTopColor\\":\\"#e1e5e8\\",\\"borderRightColor\\":\\"#e1e5e8\\",\\"borderBottomColor\\":\\"#e1e5e8\\",\\"borderLeftWidth\\":2,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"borderRadius\\":4,\\"padding\\":8}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#6C727A\\"}]},\\"children\\":[\\"Engineering (9 today)\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"width\\":20,\\"height\\":20,\\"right\\":8,\\"top\\":8,\\"justifyContent\\":\\"center\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"selectable\\":false,\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":22,\\"color\\":\\"#6C727A\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]}]}]}"`;
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
@ -1,23 +1,24 @@
|
||||||
/* eslint-disable */
|
import AsyncStorage from '@react-native-async-storage/async-storage';
|
||||||
import AsyncStorage from '@react-native-community/async-storage';
|
import { NativeModules, LogBox } from 'react-native';
|
||||||
import { NativeModules } from 'react-native';
|
|
||||||
import Reactotron from 'reactotron-react-native';
|
import Reactotron from 'reactotron-react-native';
|
||||||
import { reactotronRedux } from 'reactotron-redux';
|
import { reactotronRedux } from 'reactotron-redux';
|
||||||
import sagaPlugin from 'reactotron-redux-saga';
|
import sagaPlugin from 'reactotron-redux-saga';
|
||||||
|
|
||||||
if (__DEV__) {
|
if (__DEV__) {
|
||||||
const scriptURL = NativeModules.SourceCode.scriptURL;
|
const { scriptURL } = NativeModules.SourceCode;
|
||||||
const scriptHostname = scriptURL.split('://')[1].split(':')[0];
|
const scriptHostname = scriptURL.split('://')[1].split(':')[0];
|
||||||
Reactotron.setAsyncStorageHandler(AsyncStorage)
|
Reactotron.setAsyncStorageHandler?.(AsyncStorage)
|
||||||
.configure({ host: scriptHostname })
|
.configure({ host: scriptHostname })
|
||||||
.useReactNative()
|
.useReactNative()
|
||||||
.use(reactotronRedux())
|
.use(reactotronRedux())
|
||||||
.use(sagaPlugin())
|
.use(sagaPlugin({}))
|
||||||
.connect();
|
.connect();
|
||||||
// Running on android device
|
// Running on android device
|
||||||
// $ adb reverse tcp:9090 tcp:9090
|
// $ adb reverse tcp:9090 tcp:9090
|
||||||
Reactotron.clear();
|
Reactotron.clear?.();
|
||||||
|
// @ts-ignore
|
||||||
console.warn = Reactotron.log;
|
console.warn = Reactotron.log;
|
||||||
|
// @ts-ignore
|
||||||
console.log = Reactotron.log;
|
console.log = Reactotron.log;
|
||||||
console.disableYellowBox = true;
|
LogBox.ignoreAllLogs(true);
|
||||||
}
|
}
|
|
@ -0,0 +1,69 @@
|
||||||
|
import React from 'react';
|
||||||
|
import { StyleSheet } from 'react-native';
|
||||||
|
|
||||||
|
import Status from '../Status/Status';
|
||||||
|
import sharedStyles from '../../views/Styles';
|
||||||
|
import Avatar from './Avatar';
|
||||||
|
|
||||||
|
const styles = StyleSheet.create({
|
||||||
|
custom: {
|
||||||
|
padding: 16
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
const server = 'https://open.rocket.chat';
|
||||||
|
|
||||||
|
export default {
|
||||||
|
title: 'Avatar'
|
||||||
|
};
|
||||||
|
|
||||||
|
export const AvatarText = () => <Avatar text='Avatar' server={server} size={56} />;
|
||||||
|
|
||||||
|
export const AvatarRoomId = () => <Avatar type='p' rid='devWBbYr7inwupPqK' server={server} size={56} />;
|
||||||
|
|
||||||
|
export const AvatarUrl = () => (
|
||||||
|
<Avatar
|
||||||
|
avatar='https://user-images.githubusercontent.com/29778115/89444446-14738480-d728-11ea-9412-75fd978d95fb.jpg'
|
||||||
|
server={server}
|
||||||
|
size={56}
|
||||||
|
/>
|
||||||
|
);
|
||||||
|
|
||||||
|
export const AvatarPath = () => <Avatar avatar='/avatar/diego.mello' server={server} size={56} />;
|
||||||
|
|
||||||
|
export const WithETag = () => (
|
||||||
|
<Avatar type='d' text='djorkaeff.alexandre' avatarETag='5ag8KffJcZj9m5rCv' server={server} size={56} />
|
||||||
|
);
|
||||||
|
|
||||||
|
export const WithoutETag = () => <Avatar type='d' text='djorkaeff.alexandre' server={server} size={56} />;
|
||||||
|
|
||||||
|
export const Emoji = () => (
|
||||||
|
<Avatar emoji='troll' getCustomEmoji={() => ({ name: 'troll', extension: 'jpg' })} server={server} size={56} />
|
||||||
|
);
|
||||||
|
|
||||||
|
export const Direct = () => <Avatar text='diego.mello' server={server} type='d' size={56} />;
|
||||||
|
|
||||||
|
export const Channel = () => <Avatar text='general' server={server} type='c' size={56} />;
|
||||||
|
|
||||||
|
export const Touchable = () => <Avatar text='Avatar' server={server} onPress={() => console.log('Pressed!')} size={56} />;
|
||||||
|
|
||||||
|
export const Static = () => (
|
||||||
|
<Avatar
|
||||||
|
avatar='https://user-images.githubusercontent.com/29778115/89444446-14738480-d728-11ea-9412-75fd978d95fb.jpg'
|
||||||
|
server={server}
|
||||||
|
isStatic
|
||||||
|
size={56}
|
||||||
|
/>
|
||||||
|
);
|
||||||
|
|
||||||
|
export const CustomBorderRadius = () => <Avatar text='Avatar' server={server} borderRadius={28} size={56} />;
|
||||||
|
|
||||||
|
export const Children = () => (
|
||||||
|
<Avatar text='Avatar' server={server} size={56}>
|
||||||
|
<Status size={24} style={[sharedStyles.status]} status='busy' />
|
||||||
|
</Avatar>
|
||||||
|
);
|
||||||
|
|
||||||
|
export const WrongServer = () => <Avatar text='Avatar' server='https://google.com' size={56} />;
|
||||||
|
|
||||||
|
export const CustomStyle = () => <Avatar text='Avatar' server={server} size={56} style={styles.custom} />;
|
|
@ -1,32 +0,0 @@
|
||||||
/* eslint-disable import/no-extraneous-dependencies, import/no-unresolved, import/extensions, react/prop-types */
|
|
||||||
import React from 'react';
|
|
||||||
import { storiesOf } from '@storybook/react-native';
|
|
||||||
|
|
||||||
import { ThemeContext } from '../../theme';
|
|
||||||
import { longText } from '../../../storybook/utils';
|
|
||||||
import { themes } from '../../lib/constants';
|
|
||||||
import BackgroundContainer from '.';
|
|
||||||
|
|
||||||
const stories = storiesOf('BackgroundContainer', module);
|
|
||||||
|
|
||||||
stories.add('basic', () => <BackgroundContainer />);
|
|
||||||
|
|
||||||
stories.add('loading', () => <BackgroundContainer loading />);
|
|
||||||
|
|
||||||
stories.add('text', () => <BackgroundContainer text='Text here' />);
|
|
||||||
|
|
||||||
stories.add('long text', () => <BackgroundContainer text={longText} />);
|
|
||||||
|
|
||||||
const ThemeStory = ({ theme, ...props }) => (
|
|
||||||
<ThemeContext.Provider value={{ theme, colors: themes[theme] }}>
|
|
||||||
<BackgroundContainer {...props} />
|
|
||||||
</ThemeContext.Provider>
|
|
||||||
);
|
|
||||||
|
|
||||||
stories.add('dark theme - loading', () => <ThemeStory theme='dark' loading />);
|
|
||||||
|
|
||||||
stories.add('dark theme - text', () => <ThemeStory theme='dark' text={longText} />);
|
|
||||||
|
|
||||||
stories.add('black theme - loading', () => <ThemeStory theme='black' loading />);
|
|
||||||
|
|
||||||
stories.add('black theme - text', () => <ThemeStory theme='black' text={longText} />);
|
|
|
@ -0,0 +1,36 @@
|
||||||
|
import React from 'react';
|
||||||
|
|
||||||
|
import { ThemeContext, TSupportedThemes } from '../../theme';
|
||||||
|
import { longText } from '../../../.storybook/utils';
|
||||||
|
import BackgroundContainer, { IBackgroundContainer } from '.';
|
||||||
|
import { themes } from '../../lib/constants';
|
||||||
|
|
||||||
|
export default {
|
||||||
|
title: 'BackgroundContainer'
|
||||||
|
};
|
||||||
|
|
||||||
|
export const Basic = () => <BackgroundContainer />;
|
||||||
|
|
||||||
|
export const Loading = () => <BackgroundContainer loading />;
|
||||||
|
|
||||||
|
export const Text = () => <BackgroundContainer text='Text here' />;
|
||||||
|
|
||||||
|
export const LongText = () => <BackgroundContainer text={longText} />;
|
||||||
|
|
||||||
|
interface ThemeStoryProps extends IBackgroundContainer {
|
||||||
|
theme: TSupportedThemes;
|
||||||
|
}
|
||||||
|
|
||||||
|
const ThemeStory = ({ theme, ...props }: ThemeStoryProps) => (
|
||||||
|
<ThemeContext.Provider value={{ theme, colors: themes[theme] }}>
|
||||||
|
<BackgroundContainer {...props} />
|
||||||
|
</ThemeContext.Provider>
|
||||||
|
);
|
||||||
|
|
||||||
|
export const DarkThemeLoading = () => <ThemeStory theme='dark' loading />;
|
||||||
|
|
||||||
|
export const DarkThemeText = () => <ThemeStory theme='dark' text={longText} />;
|
||||||
|
|
||||||
|
export const BlackThemeLoading = () => <ThemeStory theme='black' loading />;
|
||||||
|
|
||||||
|
export const BlackThemeText = () => <ThemeStory theme='black' text={longText} />;
|
|
@ -5,7 +5,7 @@ import { useTheme } from '../../theme';
|
||||||
import sharedStyles from '../../views/Styles';
|
import sharedStyles from '../../views/Styles';
|
||||||
import { themes } from '../../lib/constants';
|
import { themes } from '../../lib/constants';
|
||||||
|
|
||||||
interface IBackgroundContainer {
|
export interface IBackgroundContainer {
|
||||||
text?: string;
|
text?: string;
|
||||||
loading?: boolean;
|
loading?: boolean;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,28 +0,0 @@
|
||||||
import React from 'react';
|
|
||||||
import { storiesOf } from '@storybook/react-native';
|
|
||||||
|
|
||||||
import Button from '.';
|
|
||||||
|
|
||||||
const buttonProps = {
|
|
||||||
title: 'Press me!',
|
|
||||||
type: 'primary',
|
|
||||||
onPress: () => {},
|
|
||||||
testID: 'testButton',
|
|
||||||
fontSize: 16,
|
|
||||||
style: {
|
|
||||||
padding: 10,
|
|
||||||
justifyContent: 'center'
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
const stories = storiesOf('Button', module);
|
|
||||||
|
|
||||||
stories.add('primary button', () => <Button {...buttonProps} />);
|
|
||||||
|
|
||||||
stories.add('secondary button', () => <Button {...buttonProps} type='secondary' />);
|
|
||||||
|
|
||||||
stories.add('loading button', () => <Button loading {...buttonProps} />);
|
|
||||||
|
|
||||||
stories.add('disabled button', () => <Button disabled {...buttonProps} />);
|
|
||||||
|
|
||||||
stories.add('disabled loading button', () => <Button disabled loading {...buttonProps} />);
|
|
|
@ -0,0 +1,41 @@
|
||||||
|
import React from 'react';
|
||||||
|
|
||||||
|
import Button from '.';
|
||||||
|
|
||||||
|
const buttonProps = {
|
||||||
|
title: 'Press me!',
|
||||||
|
type: 'primary',
|
||||||
|
onPress: () => {},
|
||||||
|
testID: 'testButton'
|
||||||
|
};
|
||||||
|
|
||||||
|
export default {
|
||||||
|
title: 'Button'
|
||||||
|
};
|
||||||
|
|
||||||
|
export const PrimaryButton = () => <Button {...buttonProps} />;
|
||||||
|
|
||||||
|
export const SecondaryButton = () => <Button {...buttonProps} type='secondary' />;
|
||||||
|
|
||||||
|
export const LoadingButton = () => <Button loading {...buttonProps} />;
|
||||||
|
|
||||||
|
export const DisabledButton = () => <Button disabled {...buttonProps} />;
|
||||||
|
|
||||||
|
export const DisabledLoadingButton = () => <Button disabled loading {...buttonProps} />;
|
||||||
|
|
||||||
|
export const CustomButton = () => (
|
||||||
|
<Button
|
||||||
|
{...buttonProps}
|
||||||
|
fontSize={18}
|
||||||
|
backgroundColor='purple'
|
||||||
|
color='yellow'
|
||||||
|
style={{
|
||||||
|
padding: 10
|
||||||
|
}}
|
||||||
|
styleText={[
|
||||||
|
{
|
||||||
|
textAlign: 'left'
|
||||||
|
}
|
||||||
|
]}
|
||||||
|
/>
|
||||||
|
);
|
|
@ -1,11 +0,0 @@
|
||||||
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
|
||||||
|
|
||||||
exports[`Storyshots Button disabled button 1`] = `"{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"accessibilityLabel\\":\\"Press me!\\",\\"accessibilityState\\":{\\"disabled\\":true},\\"testID\\":\\"testButton\\",\\"focusable\\":true,\\"collapsable\\":false,\\"style\\":{\\"paddingHorizontal\\":14,\\"justifyContent\\":\\"center\\",\\"height\\":48,\\"borderRadius\\":2,\\"marginBottom\\":12,\\"backgroundColor\\":\\"#1d74f5\\",\\"opacity\\":0.3,\\"padding\\":10}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"textAlign\\":\\"center\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#ffffff\\",\\"fontSize\\":16},null],\\"accessibilityLabel\\":\\"Press me!\\"},\\"children\\":[\\"Press me!\\"]}]}"`;
|
|
||||||
|
|
||||||
exports[`Storyshots Button disabled loading button 1`] = `"{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"accessibilityLabel\\":\\"Press me!\\",\\"accessibilityState\\":{\\"disabled\\":true},\\"testID\\":\\"testButton\\",\\"focusable\\":true,\\"collapsable\\":false,\\"style\\":{\\"paddingHorizontal\\":14,\\"justifyContent\\":\\"center\\",\\"height\\":48,\\"borderRadius\\":2,\\"marginBottom\\":12,\\"backgroundColor\\":\\"#1d74f5\\",\\"opacity\\":0.3,\\"padding\\":10}},\\"children\\":[{\\"type\\":\\"ActivityIndicator\\",\\"props\\":{\\"style\\":[{\\"padding\\":16,\\"flex\\":1},null],\\"color\\":\\"#ffffff\\"},\\"children\\":null}]}"`;
|
|
||||||
|
|
||||||
exports[`Storyshots Button loading button 1`] = `"{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"accessibilityLabel\\":\\"Press me!\\",\\"accessibilityState\\":{\\"disabled\\":true},\\"testID\\":\\"testButton\\",\\"focusable\\":true,\\"collapsable\\":false,\\"style\\":{\\"paddingHorizontal\\":14,\\"justifyContent\\":\\"center\\",\\"height\\":48,\\"borderRadius\\":2,\\"marginBottom\\":12,\\"backgroundColor\\":\\"#1d74f5\\",\\"padding\\":10,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"ActivityIndicator\\",\\"props\\":{\\"style\\":[{\\"padding\\":16,\\"flex\\":1},null],\\"color\\":\\"#ffffff\\"},\\"children\\":null}]}"`;
|
|
||||||
|
|
||||||
exports[`Storyshots Button primary button 1`] = `"{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"accessibilityLabel\\":\\"Press me!\\",\\"accessibilityState\\":{\\"disabled\\":false},\\"testID\\":\\"testButton\\",\\"focusable\\":true,\\"collapsable\\":false,\\"style\\":{\\"paddingHorizontal\\":14,\\"justifyContent\\":\\"center\\",\\"height\\":48,\\"borderRadius\\":2,\\"marginBottom\\":12,\\"backgroundColor\\":\\"#1d74f5\\",\\"padding\\":10,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"textAlign\\":\\"center\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#ffffff\\",\\"fontSize\\":16},null],\\"accessibilityLabel\\":\\"Press me!\\"},\\"children\\":[\\"Press me!\\"]}]}"`;
|
|
||||||
|
|
||||||
exports[`Storyshots Button secondary button 1`] = `"{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"accessibilityLabel\\":\\"Press me!\\",\\"accessibilityState\\":{\\"disabled\\":false},\\"testID\\":\\"testButton\\",\\"focusable\\":true,\\"collapsable\\":false,\\"style\\":{\\"paddingHorizontal\\":14,\\"justifyContent\\":\\"center\\",\\"height\\":48,\\"borderRadius\\":2,\\"marginBottom\\":12,\\"backgroundColor\\":\\"#ffffff\\",\\"padding\\":10,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"textAlign\\":\\"center\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#2f343d\\",\\"fontSize\\":16},null],\\"accessibilityLabel\\":\\"Press me!\\"},\\"children\\":[\\"Press me!\\"]}]}"`;
|
|
|
@ -1,14 +1,11 @@
|
||||||
import React from 'react';
|
import React from 'react';
|
||||||
import { storiesOf } from '@storybook/react-native';
|
|
||||||
import { SafeAreaView } from 'react-native';
|
|
||||||
import { Header, HeaderBackground } from '@react-navigation/elements';
|
import { Header, HeaderBackground } from '@react-navigation/elements';
|
||||||
|
import { NavigationContainer } from '@react-navigation/native';
|
||||||
import { SafeAreaProvider } from 'react-native-safe-area-context';
|
import { SafeAreaProvider } from 'react-native-safe-area-context';
|
||||||
|
|
||||||
import * as HeaderButton from '../../app/containers/HeaderButton';
|
import * as HeaderButton from '.';
|
||||||
import { TColors, ThemeContext, TSupportedThemes } from '../../app/theme';
|
import { TColors, ThemeContext, TSupportedThemes } from '../../theme';
|
||||||
import { colors } from '../../app/lib/constants';
|
import { colors } from '../../lib/constants';
|
||||||
|
|
||||||
const stories = storiesOf('Header Buttons', module).addDecorator(story => <SafeAreaProvider>{story()}</SafeAreaProvider>);
|
|
||||||
|
|
||||||
interface IHeader {
|
interface IHeader {
|
||||||
left?: () => React.ReactElement | null;
|
left?: () => React.ReactElement | null;
|
||||||
|
@ -17,18 +14,29 @@ interface IHeader {
|
||||||
colors?: TColors;
|
colors?: TColors;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export default {
|
||||||
|
title: 'HeaderButtons',
|
||||||
|
decorators: [
|
||||||
|
(Story: any) => (
|
||||||
|
<NavigationContainer>
|
||||||
|
<SafeAreaProvider>
|
||||||
|
<Story />
|
||||||
|
</SafeAreaProvider>
|
||||||
|
</NavigationContainer>
|
||||||
|
)
|
||||||
|
]
|
||||||
|
};
|
||||||
|
|
||||||
const HeaderExample = ({ left, right, colors, title = '' }: IHeader) => (
|
const HeaderExample = ({ left, right, colors, title = '' }: IHeader) => (
|
||||||
<SafeAreaView>
|
|
||||||
<Header
|
<Header
|
||||||
title={title}
|
title={title}
|
||||||
headerLeft={left}
|
headerLeft={left}
|
||||||
headerRight={right}
|
headerRight={right}
|
||||||
headerBackground={() => <HeaderBackground style={{ backgroundColor: colors?.headerBackground }} />}
|
headerBackground={() => <HeaderBackground style={{ backgroundColor: colors?.headerBackground }} />}
|
||||||
/>
|
/>
|
||||||
</SafeAreaView>
|
|
||||||
);
|
);
|
||||||
|
|
||||||
stories.add('title', () => (
|
export const Title = () => (
|
||||||
<>
|
<>
|
||||||
<HeaderExample
|
<HeaderExample
|
||||||
left={() => (
|
left={() => (
|
||||||
|
@ -57,9 +65,9 @@ stories.add('title', () => (
|
||||||
)}
|
)}
|
||||||
/>
|
/>
|
||||||
</>
|
</>
|
||||||
));
|
);
|
||||||
|
|
||||||
stories.add('icons', () => (
|
export const Icons = () => (
|
||||||
<>
|
<>
|
||||||
<HeaderExample
|
<HeaderExample
|
||||||
left={() => (
|
left={() => (
|
||||||
|
@ -88,9 +96,9 @@ stories.add('icons', () => (
|
||||||
)}
|
)}
|
||||||
/>
|
/>
|
||||||
</>
|
</>
|
||||||
));
|
);
|
||||||
|
|
||||||
stories.add('badge', () => (
|
export const Badge = () => (
|
||||||
<>
|
<>
|
||||||
<HeaderExample
|
<HeaderExample
|
||||||
left={() => (
|
left={() => (
|
||||||
|
@ -102,7 +110,7 @@ stories.add('badge', () => (
|
||||||
)}
|
)}
|
||||||
/>
|
/>
|
||||||
</>
|
</>
|
||||||
));
|
);
|
||||||
|
|
||||||
const ThemeStory = ({ theme }: { theme: TSupportedThemes }) => (
|
const ThemeStory = ({ theme }: { theme: TSupportedThemes }) => (
|
||||||
<ThemeContext.Provider value={{ theme, colors: colors[theme] }}>
|
<ThemeContext.Provider value={{ theme, colors: colors[theme] }}>
|
||||||
|
@ -123,15 +131,15 @@ const ThemeStory = ({ theme }: { theme: TSupportedThemes }) => (
|
||||||
</ThemeContext.Provider>
|
</ThemeContext.Provider>
|
||||||
);
|
);
|
||||||
|
|
||||||
stories.add('themes', () => (
|
export const Themes = () => (
|
||||||
<>
|
<>
|
||||||
<ThemeStory theme='light' />
|
<ThemeStory theme='light' />
|
||||||
<ThemeStory theme='dark' />
|
<ThemeStory theme='dark' />
|
||||||
<ThemeStory theme='black' />
|
<ThemeStory theme='black' />
|
||||||
</>
|
</>
|
||||||
));
|
);
|
||||||
|
|
||||||
stories.add('common', () => (
|
export const Common = () => (
|
||||||
<>
|
<>
|
||||||
<HeaderExample left={() => <HeaderButton.Drawer />} />
|
<HeaderExample left={() => <HeaderButton.Drawer />} />
|
||||||
<HeaderExample left={() => <HeaderButton.CloseModal />} />
|
<HeaderExample left={() => <HeaderButton.CloseModal />} />
|
||||||
|
@ -141,4 +149,4 @@ stories.add('common', () => (
|
||||||
<HeaderExample right={() => <HeaderButton.Preferences />} />
|
<HeaderExample right={() => <HeaderButton.Preferences />} />
|
||||||
<HeaderExample right={() => <HeaderButton.Legal />} />
|
<HeaderExample right={() => <HeaderButton.Legal />} />
|
||||||
</>
|
</>
|
||||||
));
|
);
|
|
@ -1,18 +1,18 @@
|
||||||
/* eslint-disable import/no-extraneous-dependencies, import/no-unresolved, import/extensions, react/prop-types */
|
|
||||||
import React from 'react';
|
import React from 'react';
|
||||||
import { FlatList } from 'react-native';
|
import { FlatList } from 'react-native';
|
||||||
import { storiesOf } from '@storybook/react-native';
|
|
||||||
|
|
||||||
import * as List from '../../app/containers/List';
|
import * as List from '.';
|
||||||
import SafeAreaView from '../../app/containers/SafeAreaView';
|
import SafeAreaView from '../SafeAreaView';
|
||||||
import { longText } from '../utils';
|
import { longText } from '../../../.storybook/utils';
|
||||||
import { ThemeContext } from '../../app/theme';
|
import { ThemeContext, TSupportedThemes } from '../../theme';
|
||||||
import { DimensionsContext } from '../../app/dimensions';
|
import { DimensionsContext } from '../../dimensions';
|
||||||
import { themes } from '../../app/lib/constants';
|
import { themes } from '../../lib/constants';
|
||||||
|
|
||||||
const stories = storiesOf('List', module);
|
export default {
|
||||||
|
title: 'List'
|
||||||
|
};
|
||||||
|
|
||||||
stories.add('title and subtitle', () => (
|
export const TitleAndSubtitle = () => (
|
||||||
<List.Container>
|
<List.Container>
|
||||||
<List.Separator />
|
<List.Separator />
|
||||||
<List.Item title='Chats' />
|
<List.Item title='Chats' />
|
||||||
|
@ -22,9 +22,9 @@ stories.add('title and subtitle', () => (
|
||||||
<List.Item title={longText} subtitle={longText} translateTitle={false} translateSubtitle={false} testID='test-id' />
|
<List.Item title={longText} subtitle={longText} translateTitle={false} translateSubtitle={false} testID='test-id' />
|
||||||
<List.Separator />
|
<List.Separator />
|
||||||
</List.Container>
|
</List.Container>
|
||||||
));
|
);
|
||||||
|
|
||||||
stories.add('alert', () => (
|
export const Alert = () => (
|
||||||
<List.Container>
|
<List.Container>
|
||||||
<List.Separator />
|
<List.Separator />
|
||||||
<List.Item title='Chats' alert />
|
<List.Item title='Chats' alert />
|
||||||
|
@ -36,9 +36,9 @@ stories.add('alert', () => (
|
||||||
<List.Item title={longText} translateTitle={false} translateSubtitle={false} right={() => <List.Icon name='emoji' />} alert />
|
<List.Item title={longText} translateTitle={false} translateSubtitle={false} right={() => <List.Icon name='emoji' />} alert />
|
||||||
<List.Separator />
|
<List.Separator />
|
||||||
</List.Container>
|
</List.Container>
|
||||||
));
|
);
|
||||||
|
|
||||||
stories.add('pressable', () => (
|
export const Pressable = () => (
|
||||||
<List.Container>
|
<List.Container>
|
||||||
<List.Separator />
|
<List.Separator />
|
||||||
<List.Item title='Press me' onPress={() => alert('Hi there!')} translateTitle={false} />
|
<List.Item title='Press me' onPress={() => alert('Hi there!')} translateTitle={false} />
|
||||||
|
@ -46,28 +46,28 @@ stories.add('pressable', () => (
|
||||||
<List.Item title={"I'm disabled"} onPress={() => alert('Hi there!')} disabled translateTitle={false} />
|
<List.Item title={"I'm disabled"} onPress={() => alert('Hi there!')} disabled translateTitle={false} />
|
||||||
<List.Separator />
|
<List.Separator />
|
||||||
</List.Container>
|
</List.Container>
|
||||||
));
|
);
|
||||||
|
|
||||||
stories.add('header', () => (
|
export const Header = () => (
|
||||||
<List.Container>
|
<List.Container>
|
||||||
<List.Header title='Chats' />
|
<List.Header title='Chats' />
|
||||||
<List.Header title={longText} translateTitle={false} />
|
<List.Header title={longText} translateTitle={false} />
|
||||||
</List.Container>
|
</List.Container>
|
||||||
));
|
);
|
||||||
|
|
||||||
stories.add('icon', () => (
|
export const Icon = () => (
|
||||||
<List.Container>
|
<List.Container>
|
||||||
<List.Icon name='emoji' />
|
<List.Icon name='emoji' />
|
||||||
</List.Container>
|
</List.Container>
|
||||||
));
|
);
|
||||||
|
|
||||||
stories.add('separator', () => (
|
export const Separator = () => (
|
||||||
<List.Container>
|
<List.Container>
|
||||||
<List.Separator />
|
<List.Separator />
|
||||||
</List.Container>
|
</List.Container>
|
||||||
));
|
);
|
||||||
|
|
||||||
stories.add('with section and info', () => (
|
export const SectionAndInfo = () => (
|
||||||
<SafeAreaView>
|
<SafeAreaView>
|
||||||
<List.Container>
|
<List.Container>
|
||||||
<List.Section>
|
<List.Section>
|
||||||
|
@ -102,9 +102,9 @@ stories.add('with section and info', () => (
|
||||||
</List.Section>
|
</List.Section>
|
||||||
</List.Container>
|
</List.Container>
|
||||||
</SafeAreaView>
|
</SafeAreaView>
|
||||||
));
|
);
|
||||||
|
|
||||||
stories.add('with icon', () => (
|
export const WithIcon = () => (
|
||||||
<List.Container>
|
<List.Container>
|
||||||
<List.Separator />
|
<List.Separator />
|
||||||
<List.Item title='Icon Left' translateTitle={false} left={() => <List.Icon name='emoji' />} />
|
<List.Item title='Icon Left' translateTitle={false} left={() => <List.Icon name='emoji' />} />
|
||||||
|
@ -123,9 +123,9 @@ stories.add('with icon', () => (
|
||||||
<List.Item title='Show Action Indicator' translateTitle={false} showActionIndicator />
|
<List.Item title='Show Action Indicator' translateTitle={false} showActionIndicator />
|
||||||
<List.Separator />
|
<List.Separator />
|
||||||
</List.Container>
|
</List.Container>
|
||||||
));
|
);
|
||||||
|
|
||||||
stories.add('with custom colors', () => (
|
export const WithCustomColors = () => (
|
||||||
<List.Container>
|
<List.Container>
|
||||||
<List.Separator />
|
<List.Separator />
|
||||||
<List.Item title='Chats' color='red' />
|
<List.Item title='Chats' color='red' />
|
||||||
|
@ -140,7 +140,7 @@ stories.add('with custom colors', () => (
|
||||||
/>
|
/>
|
||||||
<List.Separator />
|
<List.Separator />
|
||||||
</List.Container>
|
</List.Container>
|
||||||
));
|
);
|
||||||
|
|
||||||
const ListItemFull = ({ ...props }) => (
|
const ListItemFull = ({ ...props }) => (
|
||||||
<List.Item
|
<List.Item
|
||||||
|
@ -176,17 +176,18 @@ const ListFull = () => (
|
||||||
</SafeAreaView>
|
</SafeAreaView>
|
||||||
);
|
);
|
||||||
|
|
||||||
const ThemeStory = ({ theme }) => (
|
const ThemeStory = ({ theme }: { theme: TSupportedThemes }) => (
|
||||||
<ThemeContext.Provider value={{ theme, colors: themes[theme] }}>
|
<ThemeContext.Provider value={{ theme, colors: themes[theme] }}>
|
||||||
<ListFull />
|
<ListFull />
|
||||||
</ThemeContext.Provider>
|
</ThemeContext.Provider>
|
||||||
);
|
);
|
||||||
|
|
||||||
stories.add('with dark theme', () => <ThemeStory theme='dark' />);
|
export const WithDarkTheme = () => <ThemeStory theme='dark' />;
|
||||||
|
|
||||||
stories.add('with black theme', () => <ThemeStory theme='black' />);
|
export const WithBlackTheme = () => <ThemeStory theme='black' />;
|
||||||
|
|
||||||
const FontStory = ({ fontScale }) => (
|
const FontStory = ({ fontScale }: { fontScale: number }) => (
|
||||||
|
// @ts-ignore
|
||||||
<DimensionsContext.Provider value={{ fontScale }}>
|
<DimensionsContext.Provider value={{ fontScale }}>
|
||||||
<ListFull />
|
<ListFull />
|
||||||
</DimensionsContext.Provider>
|
</DimensionsContext.Provider>
|
||||||
|
@ -196,20 +197,19 @@ const FontStory = ({ fontScale }) => (
|
||||||
* It's going to test height only.
|
* It's going to test height only.
|
||||||
* Font scale on text and icons is applied based on OS setting
|
* Font scale on text and icons is applied based on OS setting
|
||||||
*/
|
*/
|
||||||
stories.add('with small font', () => <FontStory fontScale={0.8} />);
|
export const WithSmallFont = () => <FontStory fontScale={0.8} />;
|
||||||
|
|
||||||
stories.add('with bigger font', () => <FontStory fontScale={1.5} />);
|
export const WithBiggerFont = () => <FontStory fontScale={1.5} />;
|
||||||
|
|
||||||
stories.add('with FlatList', () => (
|
export const WithFlatList = () => (
|
||||||
<SafeAreaView>
|
<SafeAreaView>
|
||||||
<FlatList
|
<FlatList
|
||||||
data={[...Array(30).keys()]}
|
data={[...Array(30).keys()]}
|
||||||
contentContainerStyle={List.styles.contentContainerStyleFlatList}
|
contentContainerStyle={List.styles.contentContainerStyleFlatList}
|
||||||
renderItem={({ item }) => <List.Item title={item} translateTitle={false} />}
|
renderItem={({ item }) => <List.Item title={item.toString()} translateTitle={false} />}
|
||||||
ListHeaderComponent={List.Separator}
|
ListHeaderComponent={List.Separator}
|
||||||
ListFooterComponent={List.Separator}
|
ListFooterComponent={List.Separator}
|
||||||
ItemSeparatorComponent={List.Separator}
|
ItemSeparatorComponent={List.Separator}
|
||||||
keyExtractor={item => item}
|
|
||||||
/>
|
/>
|
||||||
</SafeAreaView>
|
</SafeAreaView>
|
||||||
));
|
);
|
|
@ -1,7 +1,6 @@
|
||||||
import React from 'react';
|
import React from 'react';
|
||||||
import { ScrollView, StyleSheet } from 'react-native';
|
import { ScrollView, StyleSheet } from 'react-native';
|
||||||
|
|
||||||
import { withTheme } from '../../theme';
|
|
||||||
import scrollPersistTaps from '../../lib/methods/helpers/scrollPersistTaps';
|
import scrollPersistTaps from '../../lib/methods/helpers/scrollPersistTaps';
|
||||||
|
|
||||||
const styles = StyleSheet.create({
|
const styles = StyleSheet.create({
|
||||||
|
@ -14,7 +13,7 @@ interface IListContainer {
|
||||||
children: (React.ReactElement | null)[] | React.ReactElement | null;
|
children: (React.ReactElement | null)[] | React.ReactElement | null;
|
||||||
testID?: string;
|
testID?: string;
|
||||||
}
|
}
|
||||||
const ListContainer = React.memo(({ children, ...props }: IListContainer) => (
|
const ListContainer = ({ children, ...props }: IListContainer) => (
|
||||||
<ScrollView
|
<ScrollView
|
||||||
contentContainerStyle={styles.container}
|
contentContainerStyle={styles.container}
|
||||||
scrollIndicatorInsets={{ right: 1 }} // https://github.com/facebook/react-native/issues/26610#issuecomment-539843444
|
scrollIndicatorInsets={{ right: 1 }} // https://github.com/facebook/react-native/issues/26610#issuecomment-539843444
|
||||||
|
@ -23,8 +22,8 @@ const ListContainer = React.memo(({ children, ...props }: IListContainer) => (
|
||||||
>
|
>
|
||||||
{children}
|
{children}
|
||||||
</ScrollView>
|
</ScrollView>
|
||||||
));
|
);
|
||||||
|
|
||||||
ListContainer.displayName = 'List.Container';
|
ListContainer.displayName = 'List.Container';
|
||||||
|
|
||||||
export default withTheme(ListContainer);
|
export default ListContainer;
|
||||||
|
|
|
@ -15,12 +15,12 @@ interface IListSection {
|
||||||
translateTitle?: boolean;
|
translateTitle?: boolean;
|
||||||
}
|
}
|
||||||
|
|
||||||
const ListSection = React.memo(({ children, title, translateTitle }: IListSection) => (
|
const ListSection = ({ children, title, translateTitle }: IListSection) => (
|
||||||
<View style={styles.container}>
|
<View style={styles.container}>
|
||||||
{title ? <Header {...{ title, translateTitle }} /> : null}
|
{title ? <Header {...{ title, translateTitle }} /> : null}
|
||||||
{children}
|
{children}
|
||||||
</View>
|
</View>
|
||||||
));
|
);
|
||||||
|
|
||||||
ListSection.displayName = 'List.Section';
|
ListSection.displayName = 'List.Section';
|
||||||
|
|
||||||
|
|
|
@ -1,15 +1,13 @@
|
||||||
import React from 'react';
|
import React from 'react';
|
||||||
import { storiesOf } from '@storybook/react-native';
|
import { StyleSheet, Text } from 'react-native';
|
||||||
import { Provider } from 'react-redux';
|
|
||||||
import { StyleSheet, Text, ScrollView } from 'react-native';
|
|
||||||
|
|
||||||
import { store } from '../../../storybook/stories';
|
|
||||||
import { ThemeContext } from '../../theme';
|
|
||||||
import { colors } from '../../lib/constants';
|
import { colors } from '../../lib/constants';
|
||||||
import i18n from '../../i18n';
|
import i18n from '../../i18n';
|
||||||
import sharedStyles from '../../views/Styles';
|
import sharedStyles from '../../views/Styles';
|
||||||
import ServicesSeparator from './ServicesSeparator';
|
import ServicesSeparator from './ServicesSeparator';
|
||||||
import ButtonService from './ButtonService';
|
import ButtonService from './ButtonService';
|
||||||
|
import { IServices } from '../../selectors/login';
|
||||||
|
import { TIconsName } from '../CustomIcon';
|
||||||
|
|
||||||
const styles = StyleSheet.create({
|
const styles = StyleSheet.create({
|
||||||
serviceName: {
|
serviceName: {
|
||||||
|
@ -58,26 +56,25 @@ const services = {
|
||||||
custom: false,
|
custom: false,
|
||||||
authType: 'apple'
|
authType: 'apple'
|
||||||
}
|
}
|
||||||
};
|
} as unknown as IServices;
|
||||||
|
|
||||||
const theme = 'light';
|
const theme = 'light';
|
||||||
|
|
||||||
const stories = storiesOf('Login Services', module)
|
export default {
|
||||||
.addDecorator(story => <Provider store={store}>{story()}</Provider>)
|
title: 'Login Services'
|
||||||
.addDecorator(story => <ThemeContext.Provider value={{ theme, colors: colors[theme] }}>{story()}</ThemeContext.Provider>)
|
};
|
||||||
.addDecorator(story => <ScrollView style={sharedStyles.containerScrollView}>{story()}</ScrollView>);
|
|
||||||
|
|
||||||
stories.add('ServicesSeparator', () => (
|
export const Separators = () => (
|
||||||
<>
|
<>
|
||||||
<ServicesSeparator collapsed onPressButtonSeparator={() => {}} separator services={services} />
|
<ServicesSeparator collapsed onPress={() => {}} separator services={services} />
|
||||||
<ServicesSeparator collapsed={false} onPressButtonSeparator={() => {}} separator services={services} />
|
<ServicesSeparator collapsed={false} onPress={() => {}} separator services={services} />
|
||||||
</>
|
</>
|
||||||
));
|
);
|
||||||
|
|
||||||
stories.add('ServiceList', () => (
|
export const ServiceList = () => (
|
||||||
<>
|
<>
|
||||||
{Object.values(services).map(service => {
|
{Object.values(services).map(service => {
|
||||||
const icon = `${service.name}-monochromatic`;
|
const icon = `${service.name}-monochromatic` as TIconsName;
|
||||||
const buttonText = (
|
const buttonText = (
|
||||||
<>
|
<>
|
||||||
{i18n.t('Continue_with')} <Text style={styles.serviceName}>{service.name}</Text>
|
{i18n.t('Continue_with')} <Text style={styles.serviceName}>{service.name}</Text>
|
||||||
|
@ -96,4 +93,4 @@ stories.add('ServiceList', () => (
|
||||||
);
|
);
|
||||||
})}
|
})}
|
||||||
</>
|
</>
|
||||||
));
|
);
|
|
@ -1,5 +0,0 @@
|
||||||
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
|
||||||
|
|
||||||
exports[`Storyshots Login Services ServiceList 1`] = `"{\\"type\\":\\"RCTScrollView\\",\\"props\\":{\\"style\\":{\\"padding\\":15,\\"paddingBottom\\":30}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"borderRadius\\":2,\\"width\\":\\"100%\\",\\"height\\":48,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"justifyContent\\":\\"center\\",\\"paddingHorizontal\\":15}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"selectable\\":false,\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":24,\\"color\\":\\"#0d0e12\\"},{\\"position\\":\\"absolute\\",\\"left\\":15,\\"top\\":12,\\"width\\":24,\\"height\\":24},{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\",\\"fontSize\\":16},{\\"color\\":\\"#0d0e12\\"}]},\\"children\\":[\\"Continue with\\",\\" \\",{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":{\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"}},\\"children\\":[\\"github\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"borderRadius\\":2,\\"width\\":\\"100%\\",\\"height\\":48,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"justifyContent\\":\\"center\\",\\"paddingHorizontal\\":15}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"selectable\\":false,\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":24,\\"color\\":\\"#0d0e12\\"},{\\"position\\":\\"absolute\\",\\"left\\":15,\\"top\\":12,\\"width\\":24,\\"height\\":24},{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\",\\"fontSize\\":16},{\\"color\\":\\"#0d0e12\\"}]},\\"children\\":[\\"Continue with\\",\\" \\",{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":{\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"}},\\"children\\":[\\"gitlab\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"borderRadius\\":2,\\"width\\":\\"100%\\",\\"height\\":48,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"justifyContent\\":\\"center\\",\\"paddingHorizontal\\":15}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"selectable\\":false,\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":24,\\"color\\":\\"#0d0e12\\"},{\\"position\\":\\"absolute\\",\\"left\\":15,\\"top\\":12,\\"width\\":24,\\"height\\":24},{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\",\\"fontSize\\":16},{\\"color\\":\\"#0d0e12\\"}]},\\"children\\":[\\"Continue with\\",\\" \\",{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":{\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"}},\\"children\\":[\\"google\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"borderRadius\\":2,\\"width\\":\\"100%\\",\\"height\\":48,\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"justifyContent\\":\\"center\\",\\"paddingHorizontal\\":15}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"selectable\\":false,\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":24,\\"color\\":\\"#0d0e12\\"},{\\"position\\":\\"absolute\\",\\"left\\":15,\\"top\\":12,\\"width\\":24,\\"height\\":24},{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\",\\"fontSize\\":16},{\\"color\\":\\"#0d0e12\\"}]},\\"children\\":[\\"Continue with\\",\\" \\",{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":{\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"}},\\"children\\":[\\"apple\\"]}]}]}]}]}"`;
|
|
||||||
|
|
||||||
exports[`Storyshots Login Services ServicesSeparator 1`] = `"{\\"type\\":\\"RCTScrollView\\",\\"props\\":{\\"style\\":{\\"padding\\":15,\\"paddingBottom\\":30}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"accessibilityLabel\\":\\"More options\\",\\"accessibilityState\\":{\\"disabled\\":false},\\"focusable\\":false,\\"collapsable\\":false,\\"style\\":{\\"paddingHorizontal\\":14,\\"justifyContent\\":\\"center\\",\\"height\\":48,\\"borderRadius\\":2,\\"marginBottom\\":0,\\"backgroundColor\\":\\"#ffffff\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"textAlign\\":\\"center\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#1d74f5\\",\\"fontSize\\":16},null],\\"accessibilityLabel\\":\\"More options\\"},\\"children\\":[\\"More options\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"marginVertical\\":24}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"height\\":1,\\"flex\\":1},{\\"backgroundColor\\":\\"#e1e5e8\\"}]},\\"children\\":null},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":14,\\"marginLeft\\":14,\\"marginRight\\":14,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#9ca2a8\\"}]},\\"children\\":[\\"OR\\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"height\\":1,\\"flex\\":1},{\\"backgroundColor\\":\\"#e1e5e8\\"}]},\\"children\\":null}]},{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"accessibilityLabel\\":\\"Less options\\",\\"accessibilityState\\":{\\"disabled\\":false},\\"focusable\\":false,\\"collapsable\\":false,\\"style\\":{\\"paddingHorizontal\\":14,\\"justifyContent\\":\\"center\\",\\"height\\":48,\\"borderRadius\\":2,\\"marginBottom\\":0,\\"backgroundColor\\":\\"#ffffff\\",\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"textAlign\\":\\"center\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#1d74f5\\",\\"fontSize\\":16},null],\\"accessibilityLabel\\":\\"Less options\\"},\\"children\\":[\\"Less options\\"]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"marginVertical\\":24}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"height\\":1,\\"flex\\":1},{\\"backgroundColor\\":\\"#e1e5e8\\"}]},\\"children\\":null},{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":14,\\"marginLeft\\":14,\\"marginRight\\":14,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#9ca2a8\\"}]},\\"children\\":[\\"OR\\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"height\\":1,\\"flex\\":1},{\\"backgroundColor\\":\\"#e1e5e8\\"}]},\\"children\\":null}]}]}]}"`;
|
|
|
@ -1,5 +1,5 @@
|
||||||
import React, { useEffect, useRef, useState } from 'react';
|
import React, { useEffect, useRef, useState } from 'react';
|
||||||
import { useAsyncStorage } from '@react-native-community/async-storage';
|
import { useAsyncStorage } from '@react-native-async-storage/async-storage';
|
||||||
import { gestureHandlerRootHOC } from 'react-native-gesture-handler';
|
import { gestureHandlerRootHOC } from 'react-native-gesture-handler';
|
||||||
import * as Haptics from 'expo-haptics';
|
import * as Haptics from 'expo-haptics';
|
||||||
import { sha256 } from 'js-sha256';
|
import { sha256 } from 'js-sha256';
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
import AsyncStorage from '@react-native-community/async-storage';
|
import AsyncStorage from '@react-native-async-storage/async-storage';
|
||||||
import moment from 'moment';
|
import moment from 'moment';
|
||||||
|
|
||||||
import { LOCKED_OUT_TIMER_KEY, TIME_TO_LOCK } from '../../lib/constants';
|
import { LOCKED_OUT_TIMER_KEY, TIME_TO_LOCK } from '../../lib/constants';
|
||||||
|
|
|
@ -1,31 +1,20 @@
|
||||||
import React from 'react';
|
import React from 'react';
|
||||||
import { Dimensions, SafeAreaView } from 'react-native';
|
import { Dimensions, View } from 'react-native';
|
||||||
import { storiesOf } from '@storybook/react-native';
|
|
||||||
import { Provider } from 'react-redux';
|
|
||||||
import { SafeAreaProvider } from 'react-native-safe-area-context';
|
|
||||||
import { Header, HeaderBackground } from '@react-navigation/elements';
|
|
||||||
|
|
||||||
import { longText } from '../../../storybook/utils';
|
import { longText } from '../../../.storybook/utils';
|
||||||
import { ThemeContext } from '../../theme';
|
import { ThemeContext, TSupportedThemes } from '../../theme';
|
||||||
import { store } from '../../../storybook/stories';
|
|
||||||
import { colors, themes } from '../../lib/constants';
|
import { colors, themes } from '../../lib/constants';
|
||||||
import RoomHeaderComponent from './RoomHeader';
|
import RoomHeaderComponent from './RoomHeader';
|
||||||
|
|
||||||
const stories = storiesOf('RoomHeader', module)
|
|
||||||
.addDecorator(story => <Provider store={store}>{story()}</Provider>)
|
|
||||||
.addDecorator(story => <SafeAreaProvider>{story()}</SafeAreaProvider>);
|
|
||||||
|
|
||||||
const { width, height } = Dimensions.get('window');
|
const { width, height } = Dimensions.get('window');
|
||||||
|
|
||||||
const HeaderExample = ({ title, theme = 'light' }) => (
|
export default {
|
||||||
<SafeAreaView>
|
title: 'RoomHeader'
|
||||||
<Header
|
};
|
||||||
title=''
|
|
||||||
headerTitle={title}
|
const HeaderExample = ({ title, theme = 'light' }: { title: Function; theme?: TSupportedThemes }) => (
|
||||||
headerTitleAlign='left'
|
// Using View directly instead of Header from react-navigation because it's easier to test.
|
||||||
headerBackground={() => <HeaderBackground style={{ backgroundColor: themes[theme].headerBackground }} />}
|
<View style={{ flex: 1, maxHeight: 48, backgroundColor: themes[theme].headerBackground }}>{title()}</View>
|
||||||
/>
|
|
||||||
</SafeAreaView>
|
|
||||||
);
|
);
|
||||||
|
|
||||||
const RoomHeader = ({ ...props }) => (
|
const RoomHeader = ({ ...props }) => (
|
||||||
|
@ -42,7 +31,7 @@ const RoomHeader = ({ ...props }) => (
|
||||||
/>
|
/>
|
||||||
);
|
);
|
||||||
|
|
||||||
stories.add('title and subtitle', () => (
|
export const TitleSubtitle = () => (
|
||||||
<>
|
<>
|
||||||
<HeaderExample title={() => <RoomHeader title='title' type='p' />} />
|
<HeaderExample title={() => <RoomHeader title='title' type='p' />} />
|
||||||
<HeaderExample title={() => <RoomHeader title={longText} type='p' />} />
|
<HeaderExample title={() => <RoomHeader title={longText} type='p' />} />
|
||||||
|
@ -50,9 +39,9 @@ stories.add('title and subtitle', () => (
|
||||||
<HeaderExample title={() => <RoomHeader subtitle={longText} />} />
|
<HeaderExample title={() => <RoomHeader subtitle={longText} />} />
|
||||||
<HeaderExample title={() => <RoomHeader title={longText} subtitle={longText} />} />
|
<HeaderExample title={() => <RoomHeader title={longText} subtitle={longText} />} />
|
||||||
</>
|
</>
|
||||||
));
|
);
|
||||||
|
|
||||||
stories.add('icons', () => (
|
export const Icons = () => (
|
||||||
<>
|
<>
|
||||||
<HeaderExample title={() => <RoomHeader title='private channel' type='p' />} />
|
<HeaderExample title={() => <RoomHeader title='private channel' type='p' />} />
|
||||||
<HeaderExample title={() => <RoomHeader title='public channel' type='c' />} />
|
<HeaderExample title={() => <RoomHeader title='public channel' type='c' />} />
|
||||||
|
@ -67,41 +56,41 @@ stories.add('icons', () => (
|
||||||
<HeaderExample title={() => <RoomHeader title='loading dm' type='d' status='loading' />} />
|
<HeaderExample title={() => <RoomHeader title='loading dm' type='d' status='loading' />} />
|
||||||
<HeaderExample title={() => <RoomHeader title='offline dm' type='d' />} />
|
<HeaderExample title={() => <RoomHeader title='offline dm' type='d' />} />
|
||||||
</>
|
</>
|
||||||
));
|
);
|
||||||
|
|
||||||
stories.add('typing', () => (
|
export const Typing = () => (
|
||||||
<>
|
<>
|
||||||
<HeaderExample title={() => <RoomHeader usersTyping={['user 1']} />} />
|
<HeaderExample title={() => <RoomHeader usersTyping={['user 1']} />} />
|
||||||
<HeaderExample title={() => <RoomHeader usersTyping={['user 1', 'user 2']} />} />
|
<HeaderExample title={() => <RoomHeader usersTyping={['user 1', 'user 2']} />} />
|
||||||
<HeaderExample title={() => <RoomHeader usersTyping={['user 1', 'user 2', 'user 3', 'user 4', 'user 5']} />} />
|
<HeaderExample title={() => <RoomHeader usersTyping={['user 1', 'user 2', 'user 3', 'user 4', 'user 5']} />} />
|
||||||
</>
|
</>
|
||||||
));
|
);
|
||||||
|
|
||||||
stories.add('landscape', () => (
|
export const Landscape = () => (
|
||||||
<>
|
<>
|
||||||
<HeaderExample title={() => <RoomHeader width={height} height={width} />} />
|
<HeaderExample title={() => <RoomHeader width={height} height={width} />} />
|
||||||
<HeaderExample title={() => <RoomHeader width={height} height={width} subtitle='subtitle' />} />
|
<HeaderExample title={() => <RoomHeader width={height} height={width} subtitle='subtitle' />} />
|
||||||
<HeaderExample title={() => <RoomHeader width={height} height={width} title={longText} subtitle={longText} />} />
|
<HeaderExample title={() => <RoomHeader width={height} height={width} title={longText} subtitle={longText} />} />
|
||||||
</>
|
</>
|
||||||
));
|
);
|
||||||
|
|
||||||
stories.add('thread', () => (
|
export const Thread = () => (
|
||||||
<>
|
<>
|
||||||
<HeaderExample title={() => <RoomHeader tmid='123' parentTitle='parent title' />} />
|
<HeaderExample title={() => <RoomHeader tmid='123' parentTitle='parent title' />} />
|
||||||
<HeaderExample title={() => <RoomHeader tmid='123' title={'markdown\npreview\n#3\n4\n5'} parentTitle={longText} />} />
|
<HeaderExample title={() => <RoomHeader tmid='123' title={'markdown\npreview\n#3\n4\n5'} parentTitle={longText} />} />
|
||||||
</>
|
</>
|
||||||
));
|
);
|
||||||
|
|
||||||
const ThemeStory = ({ theme }) => (
|
const ThemeStory = ({ theme }: { theme: TSupportedThemes }) => (
|
||||||
<ThemeContext.Provider value={{ theme, colors: colors[theme] }}>
|
<ThemeContext.Provider value={{ theme, colors: colors[theme] }}>
|
||||||
<HeaderExample title={() => <RoomHeader subtitle='subtitle' />} theme={theme} />
|
<HeaderExample title={() => <RoomHeader subtitle='subtitle' />} theme={theme} />
|
||||||
</ThemeContext.Provider>
|
</ThemeContext.Provider>
|
||||||
);
|
);
|
||||||
|
|
||||||
stories.add('themes', () => (
|
export const Themes = () => (
|
||||||
<>
|
<>
|
||||||
<ThemeStory theme='light' />
|
<ThemeStory theme='light' />
|
||||||
<ThemeStory theme='dark' />
|
<ThemeStory theme='dark' />
|
||||||
<ThemeStory theme='black' />
|
<ThemeStory theme='black' />
|
||||||
</>
|
</>
|
||||||
));
|
);
|
|
@ -1,13 +0,0 @@
|
||||||
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
|
||||||
|
|
||||||
exports[`Storyshots RoomHeader icons 1`] = `"{\\"type\\":\\"RNCSafeAreaProvider\\",\\"props\\":{\\"style\\":[{\\"flex\\":1},null]},\\"children\\":null}"`;
|
|
||||||
|
|
||||||
exports[`Storyshots RoomHeader landscape 1`] = `"{\\"type\\":\\"RNCSafeAreaProvider\\",\\"props\\":{\\"style\\":[{\\"flex\\":1},null]},\\"children\\":null}"`;
|
|
||||||
|
|
||||||
exports[`Storyshots RoomHeader themes 1`] = `"{\\"type\\":\\"RNCSafeAreaProvider\\",\\"props\\":{\\"style\\":[{\\"flex\\":1},null]},\\"children\\":null}"`;
|
|
||||||
|
|
||||||
exports[`Storyshots RoomHeader thread 1`] = `"{\\"type\\":\\"RNCSafeAreaProvider\\",\\"props\\":{\\"style\\":[{\\"flex\\":1},null]},\\"children\\":null}"`;
|
|
||||||
|
|
||||||
exports[`Storyshots RoomHeader title and subtitle 1`] = `"{\\"type\\":\\"RNCSafeAreaProvider\\",\\"props\\":{\\"style\\":[{\\"flex\\":1},null]},\\"children\\":null}"`;
|
|
||||||
|
|
||||||
exports[`Storyshots RoomHeader typing 1`] = `"{\\"type\\":\\"RNCSafeAreaProvider\\",\\"props\\":{\\"style\\":[{\\"flex\\":1},null]},\\"children\\":null}"`;
|
|
|
@ -1,16 +1,10 @@
|
||||||
/* eslint-disable import/no-extraneous-dependencies */
|
|
||||||
import React from 'react';
|
import React from 'react';
|
||||||
import { Dimensions, ScrollView } from 'react-native';
|
import { Dimensions } from 'react-native';
|
||||||
import { storiesOf } from '@storybook/react-native';
|
|
||||||
import { Provider } from 'react-redux';
|
|
||||||
import { SafeAreaProvider } from 'react-native-safe-area-context';
|
|
||||||
|
|
||||||
import RoomItemComponent from '../../app/containers/RoomItem/RoomItem';
|
import { longText } from '../../../.storybook/utils';
|
||||||
import { longText } from '../utils';
|
import { DisplayMode } from '../../lib/constants';
|
||||||
import { DisplayMode, themes } from '../../app/lib/constants';
|
import RoomItemComponent from './RoomItem';
|
||||||
import { store } from './index';
|
|
||||||
|
|
||||||
const baseUrl = 'https://open.rocket.chat';
|
|
||||||
const { width } = Dimensions.get('window');
|
const { width } = Dimensions.get('window');
|
||||||
const _theme = 'light';
|
const _theme = 'light';
|
||||||
const lastMessage = {
|
const lastMessage = {
|
||||||
|
@ -23,12 +17,11 @@ const updatedAt = {
|
||||||
date: '10:00'
|
date: '10:00'
|
||||||
};
|
};
|
||||||
|
|
||||||
const RoomItem = props => (
|
const RoomItem = (props: any) => (
|
||||||
<RoomItemComponent
|
<RoomItemComponent
|
||||||
type='d'
|
type='d'
|
||||||
name='rocket.cat'
|
name='rocket.cat'
|
||||||
avatar='rocket.cat'
|
avatar='rocket.cat'
|
||||||
baseUrl={baseUrl}
|
|
||||||
width={width}
|
width={width}
|
||||||
theme={_theme}
|
theme={_theme}
|
||||||
showAvatar
|
showAvatar
|
||||||
|
@ -38,23 +31,22 @@ const RoomItem = props => (
|
||||||
/>
|
/>
|
||||||
);
|
);
|
||||||
|
|
||||||
const stories = storiesOf('Room Item', module)
|
export default {
|
||||||
.addDecorator(story => <Provider store={store}>{story()}</Provider>)
|
title: 'RoomItem'
|
||||||
.addDecorator(story => <SafeAreaProvider>{story()}</SafeAreaProvider>)
|
};
|
||||||
.addDecorator(story => <ScrollView style={{ backgroundColor: themes[_theme].backgroundColor }}>{story()}</ScrollView>);
|
|
||||||
|
|
||||||
stories.add('Basic', () => <RoomItem />);
|
export const Basic = () => <RoomItem />;
|
||||||
|
|
||||||
stories.add('Touch', () => <RoomItem onPress={() => alert('on press')} onLongPress={() => alert('on long press')} />);
|
export const Touch = () => <RoomItem onPress={() => alert('on press')} onLongPress={() => alert('on long press')} />;
|
||||||
|
|
||||||
stories.add('User', () => (
|
export const User = () => (
|
||||||
<>
|
<>
|
||||||
<RoomItem name='diego.mello' avatar='diego.mello' />
|
<RoomItem name='diego.mello' avatar='diego.mello' />
|
||||||
<RoomItem name={longText} />
|
<RoomItem name={longText} />
|
||||||
</>
|
</>
|
||||||
));
|
);
|
||||||
|
|
||||||
stories.add('Type', () => (
|
export const Type = () => (
|
||||||
<>
|
<>
|
||||||
<RoomItem type='d' />
|
<RoomItem type='d' />
|
||||||
<RoomItem type='c' />
|
<RoomItem type='c' />
|
||||||
|
@ -64,9 +56,9 @@ stories.add('Type', () => (
|
||||||
<RoomItem type='d' isGroupChat />
|
<RoomItem type='d' isGroupChat />
|
||||||
<RoomItem type='&' />
|
<RoomItem type='&' />
|
||||||
</>
|
</>
|
||||||
));
|
);
|
||||||
|
|
||||||
stories.add('User status', () => (
|
export const UserStatus = () => (
|
||||||
<>
|
<>
|
||||||
<RoomItem status='online' />
|
<RoomItem status='online' />
|
||||||
<RoomItem status='away' />
|
<RoomItem status='away' />
|
||||||
|
@ -75,9 +67,9 @@ stories.add('User status', () => (
|
||||||
<RoomItem status='loading' />
|
<RoomItem status='loading' />
|
||||||
<RoomItem status='wrong' />
|
<RoomItem status='wrong' />
|
||||||
</>
|
</>
|
||||||
));
|
);
|
||||||
|
|
||||||
stories.add('Alerts', () => (
|
export const Alerts = () => (
|
||||||
<>
|
<>
|
||||||
<RoomItem alert />
|
<RoomItem alert />
|
||||||
<RoomItem alert name='unread' unread={1} />
|
<RoomItem alert name='unread' unread={1} />
|
||||||
|
@ -91,18 +83,18 @@ stories.add('Alerts', () => (
|
||||||
<RoomItem name='group mentions priority 2' alert unread={1} groupMentions={1} tunread={[1]} />
|
<RoomItem name='group mentions priority 2' alert unread={1} groupMentions={1} tunread={[1]} />
|
||||||
<RoomItem name='thread unread priority 3' alert unread={1} tunread={[1]} />
|
<RoomItem name='thread unread priority 3' alert unread={1} tunread={[1]} />
|
||||||
</>
|
</>
|
||||||
));
|
);
|
||||||
|
|
||||||
stories.add('Tag', () => (
|
export const Tag = () => (
|
||||||
<>
|
<>
|
||||||
<RoomItem autoJoin />
|
<RoomItem autoJoin />
|
||||||
<RoomItem showLastMessage autoJoin />
|
<RoomItem showLastMessage autoJoin />
|
||||||
<RoomItem name={longText} autoJoin />
|
<RoomItem name={longText} autoJoin />
|
||||||
<RoomItem name={longText} autoJoin showLastMessage />
|
<RoomItem name={longText} autoJoin showLastMessage />
|
||||||
</>
|
</>
|
||||||
));
|
);
|
||||||
|
|
||||||
stories.add('Last Message', () => (
|
export const LastMessage = () => (
|
||||||
<>
|
<>
|
||||||
<RoomItem showLastMessage />
|
<RoomItem showLastMessage />
|
||||||
<RoomItem
|
<RoomItem
|
||||||
|
@ -129,18 +121,18 @@ stories.add('Last Message', () => (
|
||||||
<RoomItem showLastMessage alert unread={1000} lastMessage={lastMessage} />
|
<RoomItem showLastMessage alert unread={1000} lastMessage={lastMessage} />
|
||||||
<RoomItem showLastMessage alert tunread={[1]} lastMessage={lastMessage} />
|
<RoomItem showLastMessage alert tunread={[1]} lastMessage={lastMessage} />
|
||||||
</>
|
</>
|
||||||
));
|
);
|
||||||
|
|
||||||
stories.add('Condensed Room Item', () => (
|
export const CondensedRoomItem = () => (
|
||||||
<>
|
<>
|
||||||
<RoomItem showLastMessage alert tunread={[1]} lastMessage={lastMessage} displayMode={DisplayMode.Condensed} />
|
<RoomItem showLastMessage alert tunread={[1]} lastMessage={lastMessage} displayMode={DisplayMode.Condensed} />
|
||||||
<RoomItem showLastMessage alert name='unread' unread={1000} displayMode={DisplayMode.Condensed} />
|
<RoomItem showLastMessage alert name='unread' unread={1000} displayMode={DisplayMode.Condensed} />
|
||||||
|
|
||||||
<RoomItem type='c' displayMode={DisplayMode.Condensed} autoJoin />
|
<RoomItem type='c' displayMode={DisplayMode.Condensed} autoJoin />
|
||||||
</>
|
</>
|
||||||
));
|
);
|
||||||
|
|
||||||
stories.add('Condensed Room Item without Avatar', () => (
|
export const CondensedRoomItemWithoutAvatar = () => (
|
||||||
<>
|
<>
|
||||||
<RoomItem
|
<RoomItem
|
||||||
showLastMessage
|
showLastMessage
|
||||||
|
@ -153,9 +145,9 @@ stories.add('Condensed Room Item without Avatar', () => (
|
||||||
<RoomItem type='p' displayMode={DisplayMode.Condensed} showAvatar={false} />
|
<RoomItem type='p' displayMode={DisplayMode.Condensed} showAvatar={false} />
|
||||||
<RoomItem name={longText} autoJoin displayMode={DisplayMode.Condensed} showAvatar={false} />
|
<RoomItem name={longText} autoJoin displayMode={DisplayMode.Condensed} showAvatar={false} />
|
||||||
</>
|
</>
|
||||||
));
|
);
|
||||||
|
|
||||||
stories.add('Expanded Room Item without Avatar', () => (
|
export const ExpandedRoomItemWithoutAvatar = () => (
|
||||||
<>
|
<>
|
||||||
<RoomItem
|
<RoomItem
|
||||||
showLastMessage
|
showLastMessage
|
||||||
|
@ -183,9 +175,9 @@ stories.add('Expanded Room Item without Avatar', () => (
|
||||||
showAvatar={false}
|
showAvatar={false}
|
||||||
/>
|
/>
|
||||||
</>
|
</>
|
||||||
));
|
);
|
||||||
|
|
||||||
stories.add('Omnichannel Icon', () => (
|
export const OmnichannelIcon = () => (
|
||||||
<>
|
<>
|
||||||
<RoomItem type='l' sourceType={{ type: 'widget' }} status='online' />
|
<RoomItem type='l' sourceType={{ type: 'widget' }} status='online' />
|
||||||
<RoomItem type='l' sourceType={{ type: 'widget' }} status='away' />
|
<RoomItem type='l' sourceType={{ type: 'widget' }} status='away' />
|
||||||
|
@ -198,4 +190,4 @@ stories.add('Omnichannel Icon', () => (
|
||||||
<RoomItem type='l' sourceType={{ type: 'other' }} status='online' />
|
<RoomItem type='l' sourceType={{ type: 'other' }} status='online' />
|
||||||
<RoomItem type='l' sourceType={{ type: 'other' }} />
|
<RoomItem type='l' sourceType={{ type: 'other' }} />
|
||||||
</>
|
</>
|
||||||
));
|
);
|
|
@ -1,7 +0,0 @@
|
||||||
import { storiesOf } from '@storybook/react-native';
|
|
||||||
import React from 'react';
|
|
||||||
import SearchBox from './index';
|
|
||||||
|
|
||||||
const stories = storiesOf('SearchBox', module);
|
|
||||||
|
|
||||||
stories.add('Item', () => <SearchBox />);
|
|
|
@ -0,0 +1,9 @@
|
||||||
|
import React from 'react';
|
||||||
|
|
||||||
|
import SearchBox from './index';
|
||||||
|
|
||||||
|
export default {
|
||||||
|
title: 'SearchBox'
|
||||||
|
};
|
||||||
|
|
||||||
|
export const Basic = () => <SearchBox />;
|
|
@ -1,3 +0,0 @@
|
||||||
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
|
||||||
|
|
||||||
exports[`Storyshots SearchBox Item 1`] = `"{\\"type\\":\\"View\\",\\"props\\":{\\"testID\\":\\"searchbox\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"marginBottom\\":10},{\\"margin\\":16,\\"marginBottom\\":16}]},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"relative\\"}},\\"children\\":[{\\"type\\":\\"TextInput\\",\\"props\\":{\\"style\\":[{\\"color\\":\\"#0d0e12\\"},[{\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\",\\"height\\":48,\\"fontSize\\":16,\\"padding\\":14,\\"borderWidth\\":0.5,\\"borderRadius\\":2},null,{\\"paddingRight\\":45},{\\"backgroundColor\\":\\"#ffffff\\",\\"borderColor\\":\\"#cbcbcc\\",\\"color\\":\\"#0d0e12\\"},null,null],{\\"textAlign\\":\\"auto\\"}],\\"placeholderTextColor\\":\\"#9ca2a8\\",\\"keyboardAppearance\\":\\"light\\",\\"autoCorrect\\":false,\\"autoCapitalize\\":\\"none\\",\\"underlineColorAndroid\\":\\"transparent\\",\\"accessibilityLabel\\":\\"Search\\",\\"placeholder\\":\\"Search\\",\\"value\\":\\"\\",\\"blurOnSubmit\\":true,\\"returnKeyType\\":\\"search\\"},\\"children\\":null},{\\"type\\":\\"Text\\",\\"props\\":{\\"selectable\\":false,\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":20,\\"color\\":\\"#2f343d\\"},[{\\"position\\":\\"absolute\\",\\"top\\":14},{\\"right\\":15}],{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]}]}"`;
|
|
|
@ -0,0 +1,69 @@
|
||||||
|
import React from 'react';
|
||||||
|
|
||||||
|
import { themes } from '../../lib/constants';
|
||||||
|
import ServerItemComponent, { IServerItem } from '.';
|
||||||
|
import { ThemeContext, TSupportedThemes } from '../../theme';
|
||||||
|
|
||||||
|
export default {
|
||||||
|
title: 'ServerItem'
|
||||||
|
};
|
||||||
|
|
||||||
|
const defaultItem = {
|
||||||
|
name: 'Rocket.Chat',
|
||||||
|
id: 'https://open.rocket.chat/',
|
||||||
|
iconURL: 'https://open.rocket.chat/images/logo/android-chrome-512x512.png'
|
||||||
|
};
|
||||||
|
|
||||||
|
const ServerItem = ({
|
||||||
|
item,
|
||||||
|
theme = 'light',
|
||||||
|
onPress = () => alert('Press'),
|
||||||
|
onLongPress,
|
||||||
|
hasCheck
|
||||||
|
}: {
|
||||||
|
item?: Partial<IServerItem['item']>;
|
||||||
|
theme?: TSupportedThemes;
|
||||||
|
onPress?: IServerItem['onPress'];
|
||||||
|
onLongPress?: IServerItem['onLongPress'];
|
||||||
|
hasCheck?: IServerItem['hasCheck'];
|
||||||
|
}) => (
|
||||||
|
<ThemeContext.Provider
|
||||||
|
value={{
|
||||||
|
theme,
|
||||||
|
colors: themes[theme]
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
<ServerItemComponent item={{ ...defaultItem, ...item }} onPress={onPress} onLongPress={onLongPress} hasCheck={hasCheck} />
|
||||||
|
</ThemeContext.Provider>
|
||||||
|
);
|
||||||
|
|
||||||
|
export const Content = () => (
|
||||||
|
<>
|
||||||
|
<ServerItem hasCheck />
|
||||||
|
<ServerItem
|
||||||
|
item={{
|
||||||
|
name: 'Super Long Server Name in Rocket.Chat',
|
||||||
|
id: 'https://superlongservername.tologintoasuperlongservername/'
|
||||||
|
}}
|
||||||
|
/>
|
||||||
|
<ServerItem
|
||||||
|
item={{
|
||||||
|
id: 'https://stable.rocket.chat/'
|
||||||
|
}}
|
||||||
|
/>
|
||||||
|
</>
|
||||||
|
);
|
||||||
|
|
||||||
|
export const Touchable = () => (
|
||||||
|
<>
|
||||||
|
<ServerItem onLongPress={() => alert('Long Press')} />
|
||||||
|
</>
|
||||||
|
);
|
||||||
|
|
||||||
|
export const Themes = () => (
|
||||||
|
<>
|
||||||
|
<ServerItem theme={'light'} />
|
||||||
|
<ServerItem theme={'dark'} />
|
||||||
|
<ServerItem theme={'black'} />
|
||||||
|
</>
|
||||||
|
);
|
|
@ -12,7 +12,7 @@ import { useTheme } from '../../theme';
|
||||||
|
|
||||||
export { ROW_HEIGHT };
|
export { ROW_HEIGHT };
|
||||||
|
|
||||||
interface IServerItem {
|
export interface IServerItem {
|
||||||
item: IServerInfo;
|
item: IServerInfo;
|
||||||
onPress(): void;
|
onPress(): void;
|
||||||
onLongPress?(): void;
|
onLongPress?(): void;
|
||||||
|
|
|
@ -1,8 +1,6 @@
|
||||||
/* eslint-disable import/no-extraneous-dependencies, import/no-unresolved, import/extensions, react/prop-types */
|
|
||||||
import React from 'react';
|
import React from 'react';
|
||||||
import { storiesOf } from '@storybook/react-native';
|
|
||||||
|
|
||||||
import { View, StyleSheet } from 'react-native';
|
import { View, StyleSheet } from 'react-native';
|
||||||
|
|
||||||
import { FormTextInput } from '.';
|
import { FormTextInput } from '.';
|
||||||
|
|
||||||
const styles = StyleSheet.create({
|
const styles = StyleSheet.create({
|
||||||
|
@ -11,14 +9,16 @@ const styles = StyleSheet.create({
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
const stories = storiesOf('Text Input', module);
|
export default {
|
||||||
|
title: 'TextInput'
|
||||||
|
};
|
||||||
|
|
||||||
const item = {
|
const item = {
|
||||||
name: 'Rocket.Chat',
|
name: 'Rocket.Chat',
|
||||||
longText: 'https://open.rocket.chat/images/logo/android-chrome-512x512.png'
|
longText: 'https://open.rocket.chat/images/logo/android-chrome-512x512.png'
|
||||||
};
|
};
|
||||||
|
|
||||||
stories.add('Short and Long Text', () => (
|
export const ShortAndLong = () => (
|
||||||
<>
|
<>
|
||||||
<View style={styles.paddingHorizontal}>
|
<View style={styles.paddingHorizontal}>
|
||||||
<FormTextInput label='Short Text' placeholder='placeholder' value={item.name} />
|
<FormTextInput label='Short Text' placeholder='placeholder' value={item.name} />
|
||||||
|
@ -26,4 +26,4 @@ stories.add('Short and Long Text', () => (
|
||||||
<FormTextInput label='Long Text' placeholder='placeholder' value={item.longText} />
|
<FormTextInput label='Long Text' placeholder='placeholder' value={item.longText} />
|
||||||
</View>
|
</View>
|
||||||
</>
|
</>
|
||||||
));
|
);
|
|
@ -1,3 +0,0 @@
|
||||||
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
|
||||||
|
|
||||||
exports[`Storyshots Text Input Short and Long Text 1`] = `"{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"paddingHorizontal\\":14}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"marginBottom\\":10},null]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"marginBottom\\":10,\\"fontSize\\":14,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#0d0e12\\"},null]},\\"children\\":[\\"Short Text\\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"relative\\"}},\\"children\\":[{\\"type\\":\\"TextInput\\",\\"props\\":{\\"style\\":[{\\"color\\":\\"#0d0e12\\"},[{\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\",\\"height\\":48,\\"fontSize\\":16,\\"padding\\":14,\\"borderWidth\\":0.5,\\"borderRadius\\":2},null,null,{\\"backgroundColor\\":\\"#ffffff\\",\\"borderColor\\":\\"#cbcbcc\\",\\"color\\":\\"#0d0e12\\"},null,null],{\\"textAlign\\":\\"auto\\"}],\\"placeholderTextColor\\":\\"#9ca2a8\\",\\"keyboardAppearance\\":\\"light\\",\\"autoCorrect\\":false,\\"autoCapitalize\\":\\"none\\",\\"underlineColorAndroid\\":\\"transparent\\",\\"accessibilityLabel\\":\\"placeholder\\",\\"placeholder\\":\\"placeholder\\",\\"value\\":\\"Rocket.Chat\\"},\\"children\\":null}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":[{\\"marginBottom\\":10},null]},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"marginBottom\\":10,\\"fontSize\\":14,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"600\\"},{\\"color\\":\\"#0d0e12\\"},null]},\\"children\\":[\\"Long Text\\"]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"position\\":\\"relative\\"}},\\"children\\":[{\\"type\\":\\"TextInput\\",\\"props\\":{\\"style\\":[{\\"color\\":\\"#0d0e12\\"},[{\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"400\\",\\"height\\":48,\\"fontSize\\":16,\\"padding\\":14,\\"borderWidth\\":0.5,\\"borderRadius\\":2},null,null,{\\"backgroundColor\\":\\"#ffffff\\",\\"borderColor\\":\\"#cbcbcc\\",\\"color\\":\\"#0d0e12\\"},null,null],{\\"textAlign\\":\\"auto\\"}],\\"placeholderTextColor\\":\\"#9ca2a8\\",\\"keyboardAppearance\\":\\"light\\",\\"autoCorrect\\":false,\\"autoCapitalize\\":\\"none\\",\\"underlineColorAndroid\\":\\"transparent\\",\\"accessibilityLabel\\":\\"placeholder\\",\\"placeholder\\":\\"placeholder\\",\\"value\\":\\"https://open.rocket.chat/images/logo/android-chrome-512x512.png\\"},\\"children\\":null}]}]}]}"`;
|
|
|
@ -1,11 +1,9 @@
|
||||||
/* eslint-disable import/no-extraneous-dependencies */
|
|
||||||
import React from 'react';
|
import React from 'react';
|
||||||
import { SafeAreaView, ScrollView, StyleSheet } from 'react-native';
|
import { ScrollView, StyleSheet } from 'react-native';
|
||||||
import { storiesOf } from '@storybook/react-native';
|
|
||||||
|
|
||||||
import MessageContext from '../../app/containers/message/Context';
|
import MessageContext from '../message/Context';
|
||||||
import { UiKitMessage } from '../../app/containers/UIKit';
|
import { UiKitMessage } from '.';
|
||||||
import { themes } from '../../app/lib/constants';
|
import { themes } from '../../lib/constants';
|
||||||
|
|
||||||
const styles = StyleSheet.create({
|
const styles = StyleSheet.create({
|
||||||
container: {
|
container: {
|
||||||
|
@ -20,12 +18,16 @@ const styles = StyleSheet.create({
|
||||||
const user = {
|
const user = {
|
||||||
id: 'y8bd77ptZswPj3EW8',
|
id: 'y8bd77ptZswPj3EW8',
|
||||||
username: 'diego.mello',
|
username: 'diego.mello',
|
||||||
token: '79q6lH40W4ZRGLOshDiDiVlQaCc4f_lU9HNdHLAzuHz'
|
token: 'abc'
|
||||||
};
|
};
|
||||||
|
|
||||||
const baseUrl = 'https://open.rocket.chat';
|
const baseUrl = 'https://open.rocket.chat';
|
||||||
|
|
||||||
const messageDecorator = story => (
|
export default {
|
||||||
|
title: 'UIKit/UiKitMessage',
|
||||||
|
decorators: [
|
||||||
|
(Story: any) => (
|
||||||
|
<ScrollView style={[styles.container, styles.padding]} keyboardShouldPersistTaps='always'>
|
||||||
<MessageContext.Provider
|
<MessageContext.Provider
|
||||||
value={{
|
value={{
|
||||||
user,
|
user,
|
||||||
|
@ -41,20 +43,14 @@ const messageDecorator = story => (
|
||||||
threadBadgeColor: themes.light.tunreadColor
|
threadBadgeColor: themes.light.tunreadColor
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
{story()}
|
<Story />
|
||||||
</MessageContext.Provider>
|
</MessageContext.Provider>
|
||||||
);
|
|
||||||
|
|
||||||
const stories = storiesOf('UiKitMessage', module)
|
|
||||||
.addDecorator(story => <SafeAreaView style={styles.container}>{story()}</SafeAreaView>)
|
|
||||||
.addDecorator(story => (
|
|
||||||
<ScrollView style={[styles.container, styles.padding]} keyboardShouldPersistTaps='always'>
|
|
||||||
{story()}
|
|
||||||
</ScrollView>
|
</ScrollView>
|
||||||
))
|
)
|
||||||
.addDecorator(messageDecorator);
|
]
|
||||||
|
};
|
||||||
|
|
||||||
const Section = () =>
|
export const Section = () =>
|
||||||
UiKitMessage([
|
UiKitMessage([
|
||||||
{
|
{
|
||||||
type: 'section',
|
type: 'section',
|
||||||
|
@ -64,9 +60,8 @@ const Section = () =>
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
]);
|
]);
|
||||||
stories.add('Section', () => <Section />);
|
|
||||||
|
|
||||||
const SectionMarkdownList = () =>
|
export const SectionMarkdownList = () =>
|
||||||
UiKitMessage([
|
UiKitMessage([
|
||||||
{
|
{
|
||||||
type: 'section',
|
type: 'section',
|
||||||
|
@ -76,9 +71,9 @@ const SectionMarkdownList = () =>
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
]);
|
]);
|
||||||
stories.add('Section + Markdown List', () => <SectionMarkdownList />);
|
SectionMarkdownList.storyName = 'Section + Markdown List';
|
||||||
|
|
||||||
const SectionOverflow = () =>
|
export const SectionOverflow = () =>
|
||||||
UiKitMessage([
|
UiKitMessage([
|
||||||
{
|
{
|
||||||
type: 'section',
|
type: 'section',
|
||||||
|
@ -125,9 +120,9 @@ const SectionOverflow = () =>
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
]);
|
]);
|
||||||
stories.add('Section + Overflow', () => <SectionOverflow />);
|
SectionOverflow.storyName = 'Section + Overflow';
|
||||||
|
|
||||||
const SectionImage = () =>
|
export const SectionImage = () =>
|
||||||
UiKitMessage([
|
UiKitMessage([
|
||||||
{
|
{
|
||||||
type: 'section',
|
type: 'section',
|
||||||
|
@ -142,9 +137,9 @@ const SectionImage = () =>
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
]);
|
]);
|
||||||
stories.add('Section + image', () => <SectionImage />);
|
SectionImage.storyName = 'Section + image';
|
||||||
|
|
||||||
const SectionButton = () =>
|
export const SectionButton = () =>
|
||||||
UiKitMessage([
|
UiKitMessage([
|
||||||
{
|
{
|
||||||
type: 'section',
|
type: 'section',
|
||||||
|
@ -161,9 +156,9 @@ const SectionButton = () =>
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
]);
|
]);
|
||||||
stories.add('Section + button', () => <SectionButton />);
|
SectionButton.storyName = 'Section + button';
|
||||||
|
|
||||||
const SectionSelect = () =>
|
export const SectionSelect = () =>
|
||||||
UiKitMessage([
|
UiKitMessage([
|
||||||
{
|
{
|
||||||
type: 'section',
|
type: 'section',
|
||||||
|
@ -192,9 +187,9 @@ const SectionSelect = () =>
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
]);
|
]);
|
||||||
stories.add('Section + Select', () => <SectionSelect />);
|
SectionSelect.storyName = 'Section + Select';
|
||||||
|
|
||||||
const SectionDatePicker = () =>
|
export const SectionDatePicker = () =>
|
||||||
UiKitMessage([
|
UiKitMessage([
|
||||||
{
|
{
|
||||||
type: 'section',
|
type: 'section',
|
||||||
|
@ -213,9 +208,9 @@ const SectionDatePicker = () =>
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
]);
|
]);
|
||||||
stories.add('Section + DatePicker', () => <SectionDatePicker />);
|
SectionDatePicker.storyName = 'Section + DatePicker';
|
||||||
|
|
||||||
const SectionMultiSelect = () =>
|
export const SectionMultiSelect = () =>
|
||||||
UiKitMessage([
|
UiKitMessage([
|
||||||
{
|
{
|
||||||
type: 'section',
|
type: 'section',
|
||||||
|
@ -258,9 +253,9 @@ const SectionMultiSelect = () =>
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
]);
|
]);
|
||||||
stories.add('Section + Multi Select', () => <SectionMultiSelect />);
|
SectionMultiSelect.storyName = 'Section + Multi Select';
|
||||||
|
|
||||||
const Image = () =>
|
export const Image = () =>
|
||||||
UiKitMessage([
|
UiKitMessage([
|
||||||
{
|
{
|
||||||
type: 'image',
|
type: 'image',
|
||||||
|
@ -273,9 +268,9 @@ const Image = () =>
|
||||||
altText: 'Example Image'
|
altText: 'Example Image'
|
||||||
}
|
}
|
||||||
]);
|
]);
|
||||||
stories.add('Image', () => <Image />);
|
Image.storyName = 'Image';
|
||||||
|
|
||||||
const Context = () =>
|
export const Context = () =>
|
||||||
UiKitMessage([
|
UiKitMessage([
|
||||||
{
|
{
|
||||||
type: 'context',
|
type: 'context',
|
||||||
|
@ -297,9 +292,9 @@ const Context = () =>
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
]);
|
]);
|
||||||
stories.add('Context', () => <Context />);
|
Context.storyName = 'Context';
|
||||||
|
|
||||||
const ActionButton = () =>
|
export const ActionButton = () =>
|
||||||
UiKitMessage([
|
UiKitMessage([
|
||||||
{
|
{
|
||||||
type: 'actions',
|
type: 'actions',
|
||||||
|
@ -377,9 +372,9 @@ const ActionButton = () =>
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
]);
|
]);
|
||||||
stories.add('Action - Buttons', () => <ActionButton />);
|
ActionButton.storyName = 'Action - Buttons';
|
||||||
|
|
||||||
const Fields = () =>
|
export const Fields = () =>
|
||||||
UiKitMessage([
|
UiKitMessage([
|
||||||
{
|
{
|
||||||
type: 'section',
|
type: 'section',
|
||||||
|
@ -412,9 +407,9 @@ const Fields = () =>
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
]);
|
]);
|
||||||
stories.add('Fields', () => <Fields />);
|
Fields.storyName = 'Fields';
|
||||||
|
|
||||||
const ActionSelect = () =>
|
export const ActionSelect = () =>
|
||||||
UiKitMessage([
|
UiKitMessage([
|
||||||
{
|
{
|
||||||
type: 'actions',
|
type: 'actions',
|
||||||
|
@ -488,12 +483,4 @@ const ActionSelect = () =>
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
]);
|
]);
|
||||||
stories.add('Action - Select', () => <ActionSelect />);
|
ActionSelect.storyName = 'Action - Select';
|
||||||
|
|
||||||
// stories.add('Section', () => UiKitMessage([{
|
|
||||||
// type: 'section',
|
|
||||||
// text: {
|
|
||||||
// type: 'mrkdwn',
|
|
||||||
// text: 'Section'
|
|
||||||
// }
|
|
||||||
// }]));
|
|
|
@ -1,12 +1,11 @@
|
||||||
/* eslint-disable import/no-extraneous-dependencies */
|
/* eslint-disable import/no-extraneous-dependencies */
|
||||||
import React from 'react';
|
import React from 'react';
|
||||||
import { SafeAreaView, ScrollView, StyleSheet } from 'react-native';
|
import { ScrollView, StyleSheet } from 'react-native';
|
||||||
import { storiesOf } from '@storybook/react-native';
|
|
||||||
|
|
||||||
import { UiKitComponent, UiKitModal } from '../../app/containers/UIKit';
|
import { UiKitComponent, UiKitModal } from '.';
|
||||||
import { KitContext, defaultContext } from '../../app/containers/UIKit/utils';
|
import { KitContext, defaultContext } from './utils';
|
||||||
import MessageContext from '../../app/containers/message/Context';
|
import MessageContext from '../message/Context';
|
||||||
import { themes } from '../../app/lib/constants';
|
import { themes } from '../../lib/constants';
|
||||||
|
|
||||||
const styles = StyleSheet.create({
|
const styles = StyleSheet.create({
|
||||||
container: {
|
container: {
|
||||||
|
@ -21,12 +20,16 @@ const styles = StyleSheet.create({
|
||||||
const user = {
|
const user = {
|
||||||
id: 'y8bd77ptZswPj3EW8',
|
id: 'y8bd77ptZswPj3EW8',
|
||||||
username: 'diego.mello',
|
username: 'diego.mello',
|
||||||
token: '79q6lH40W4ZRGLOshDiDiVlQaCc4f_lU9HNdHLAzuHz'
|
token: 'abc'
|
||||||
};
|
};
|
||||||
|
|
||||||
const baseUrl = 'https://open.rocket.chat';
|
const baseUrl = 'https://open.rocket.chat';
|
||||||
|
|
||||||
const messageDecorator = story => (
|
export default {
|
||||||
|
title: 'UIKit/UiKitModal',
|
||||||
|
decorators: [
|
||||||
|
(Story: any) => (
|
||||||
|
<ScrollView style={[styles.container, styles.padding]} keyboardShouldPersistTaps='always'>
|
||||||
<MessageContext.Provider
|
<MessageContext.Provider
|
||||||
value={{
|
value={{
|
||||||
user,
|
user,
|
||||||
|
@ -42,20 +45,14 @@ const messageDecorator = story => (
|
||||||
threadBadgeColor: themes.light.tunreadColor
|
threadBadgeColor: themes.light.tunreadColor
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
{story()}
|
<Story />
|
||||||
</MessageContext.Provider>
|
</MessageContext.Provider>
|
||||||
);
|
|
||||||
|
|
||||||
const stories = storiesOf('UiKitModal', module)
|
|
||||||
.addDecorator(story => <SafeAreaView style={styles.container}>{story()}</SafeAreaView>)
|
|
||||||
.addDecorator(story => (
|
|
||||||
<ScrollView style={[styles.container, styles.padding]} keyboardShouldPersistTaps='always'>
|
|
||||||
{story()}
|
|
||||||
</ScrollView>
|
</ScrollView>
|
||||||
))
|
)
|
||||||
.addDecorator(messageDecorator);
|
]
|
||||||
|
};
|
||||||
|
|
||||||
const ModalSectionSelects = () =>
|
export const ModalSectionSelects = () =>
|
||||||
UiKitModal([
|
UiKitModal([
|
||||||
{
|
{
|
||||||
type: 'section',
|
type: 'section',
|
||||||
|
@ -94,9 +91,9 @@ const ModalSectionSelects = () =>
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
]);
|
]);
|
||||||
stories.add('Modal - Section and Selects', () => <ModalSectionSelects />);
|
ModalSectionSelects.storyName = 'Modal - Section and Selects';
|
||||||
|
|
||||||
const ModalSectionAccessories = () =>
|
export const ModalSectionAccessories = () =>
|
||||||
UiKitModal([
|
UiKitModal([
|
||||||
{
|
{
|
||||||
type: 'section',
|
type: 'section',
|
||||||
|
@ -141,9 +138,9 @@ const ModalSectionAccessories = () =>
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
]);
|
]);
|
||||||
stories.add('Modal - Section Accessories', () => <ModalSectionAccessories />);
|
ModalSectionAccessories.storyName = 'Modal - Section and Accessories';
|
||||||
|
|
||||||
const ModalFormInput = () =>
|
export const ModalFormInput = () =>
|
||||||
UiKitModal([
|
UiKitModal([
|
||||||
{
|
{
|
||||||
type: 'input',
|
type: 'input',
|
||||||
|
@ -206,9 +203,9 @@ const ModalFormInput = () =>
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
]);
|
]);
|
||||||
stories.add('Modal - Form Input', () => <ModalFormInput />);
|
ModalFormInput.storyName = 'Modal - Form Input';
|
||||||
|
|
||||||
const ModalFormTextArea = () =>
|
export const ModalFormTextArea = () =>
|
||||||
UiKitModal([
|
UiKitModal([
|
||||||
{
|
{
|
||||||
type: 'context',
|
type: 'context',
|
||||||
|
@ -264,9 +261,9 @@ const ModalFormTextArea = () =>
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
]);
|
]);
|
||||||
stories.add('Modal - Form TextArea', () => <ModalFormTextArea />);
|
ModalFormTextArea.storyName = 'Modal - Form TextArea';
|
||||||
|
|
||||||
const ModalImages = () =>
|
export const ModalImages = () =>
|
||||||
UiKitModal([
|
UiKitModal([
|
||||||
{
|
{
|
||||||
type: 'image',
|
type: 'image',
|
||||||
|
@ -306,9 +303,9 @@ const ModalImages = () =>
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
]);
|
]);
|
||||||
stories.add('Modal - Images', () => <ModalImages />);
|
ModalImages.storyName = 'Modal - Images';
|
||||||
|
|
||||||
const ModalActions = () =>
|
export const ModalActions = () =>
|
||||||
UiKitModal([
|
UiKitModal([
|
||||||
{
|
{
|
||||||
type: 'input',
|
type: 'input',
|
||||||
|
@ -434,9 +431,9 @@ const ModalActions = () =>
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
]);
|
]);
|
||||||
stories.add('Modal - Actions', () => <ModalActions />);
|
ModalActions.storyName = 'Modal - Actions';
|
||||||
|
|
||||||
const ModalContextsDividers = () =>
|
export const ModalContextsDividers = () =>
|
||||||
UiKitModal([
|
UiKitModal([
|
||||||
{
|
{
|
||||||
type: 'context',
|
type: 'context',
|
||||||
|
@ -538,9 +535,9 @@ const ModalContextsDividers = () =>
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
]);
|
]);
|
||||||
stories.add('Modal - Contexts and Dividers', () => <ModalContextsDividers />);
|
ModalContextsDividers.storyName = 'Modal - Contexts and Dividers';
|
||||||
|
|
||||||
const ModalInputWithError = () => (
|
export const ModalInputWithError = () => (
|
||||||
<KitContext.Provider value={{ ...defaultContext, errors: { 'input-test': 'error test' } }}>
|
<KitContext.Provider value={{ ...defaultContext, errors: { 'input-test': 'error test' } }}>
|
||||||
<UiKitComponent
|
<UiKitComponent
|
||||||
render={UiKitModal}
|
render={UiKitModal}
|
||||||
|
@ -561,9 +558,9 @@ const ModalInputWithError = () => (
|
||||||
/>
|
/>
|
||||||
</KitContext.Provider>
|
</KitContext.Provider>
|
||||||
);
|
);
|
||||||
stories.add('Modal - Input with error', () => <ModalInputWithError />);
|
ModalInputWithError.storyName = 'Modal - Input with error';
|
||||||
|
|
||||||
const ModalMultilneWithError = () => (
|
export const ModalMultilneWithError = () => (
|
||||||
<KitContext.Provider value={{ ...defaultContext, errors: { 'input-test': 'error test' } }}>
|
<KitContext.Provider value={{ ...defaultContext, errors: { 'input-test': 'error test' } }}>
|
||||||
<UiKitComponent
|
<UiKitComponent
|
||||||
render={UiKitModal}
|
render={UiKitModal}
|
||||||
|
@ -585,9 +582,9 @@ const ModalMultilneWithError = () => (
|
||||||
/>
|
/>
|
||||||
</KitContext.Provider>
|
</KitContext.Provider>
|
||||||
);
|
);
|
||||||
stories.add('Modal - Multilne with error', () => <ModalMultilneWithError />);
|
ModalMultilneWithError.storyName = 'Modal - Multilne with error';
|
||||||
|
|
||||||
const ModalDatePickerWithError = () => (
|
export const ModalDatePickerWithError = () => (
|
||||||
<KitContext.Provider value={{ ...defaultContext, errors: { 'input-test': 'error test' } }}>
|
<KitContext.Provider value={{ ...defaultContext, errors: { 'input-test': 'error test' } }}>
|
||||||
<UiKitComponent
|
<UiKitComponent
|
||||||
render={UiKitModal}
|
render={UiKitModal}
|
||||||
|
@ -614,4 +611,4 @@ const ModalDatePickerWithError = () => (
|
||||||
/>
|
/>
|
||||||
</KitContext.Provider>
|
</KitContext.Provider>
|
||||||
);
|
);
|
||||||
stories.add('Modal - DatePicker with error', () => <ModalDatePickerWithError />);
|
ModalDatePickerWithError.storyName = 'Modal - DatePicker with error';
|
|
@ -1,14 +1,15 @@
|
||||||
/* eslint-disable import/no-extraneous-dependencies, import/no-unresolved, import/extensions, react/prop-types */
|
|
||||||
import React from 'react';
|
import React from 'react';
|
||||||
import { storiesOf } from '@storybook/react-native';
|
|
||||||
import { View } from 'react-native';
|
import { View } from 'react-native';
|
||||||
|
|
||||||
import UnreadBadge from '../../app/containers/UnreadBadge';
|
import { themes } from '../../lib/constants';
|
||||||
import { ThemeContext } from '../../app/theme';
|
import UnreadBadge from '.';
|
||||||
|
import { ThemeContext, TSupportedThemes } from '../../theme';
|
||||||
|
|
||||||
const stories = storiesOf('Unread Badge', module);
|
export default {
|
||||||
|
title: 'Unread Badge'
|
||||||
|
};
|
||||||
|
|
||||||
const StoryTester = ({ children }) => (
|
const StoryTester = ({ children }: { children: React.ReactElement | React.ReactElement[] }) => (
|
||||||
<View
|
<View
|
||||||
style={{
|
style={{
|
||||||
flex: 1,
|
flex: 1,
|
||||||
|
@ -21,7 +22,7 @@ const StoryTester = ({ children }) => (
|
||||||
</View>
|
</View>
|
||||||
);
|
);
|
||||||
|
|
||||||
stories.add('all', () => (
|
export const All = () => (
|
||||||
<StoryTester>
|
<StoryTester>
|
||||||
<UnreadBadge unread={9} small />
|
<UnreadBadge unread={9} small />
|
||||||
<UnreadBadge unread={999} small />
|
<UnreadBadge unread={999} small />
|
||||||
|
@ -31,23 +32,23 @@ stories.add('all', () => (
|
||||||
<UnreadBadge unread={9} groupMentions={1} />
|
<UnreadBadge unread={9} groupMentions={1} />
|
||||||
<UnreadBadge unread={9} tunread={[1]} />
|
<UnreadBadge unread={9} tunread={[1]} />
|
||||||
</StoryTester>
|
</StoryTester>
|
||||||
));
|
);
|
||||||
|
|
||||||
stories.add('small', () => (
|
export const Small = () => (
|
||||||
<StoryTester>
|
<StoryTester>
|
||||||
<UnreadBadge unread={9} small />
|
<UnreadBadge unread={9} small />
|
||||||
<UnreadBadge unread={999} small />
|
<UnreadBadge unread={999} small />
|
||||||
</StoryTester>
|
</StoryTester>
|
||||||
));
|
);
|
||||||
|
|
||||||
stories.add('normal', () => (
|
export const Normal = () => (
|
||||||
<StoryTester>
|
<StoryTester>
|
||||||
<UnreadBadge unread={9} />
|
<UnreadBadge unread={9} />
|
||||||
<UnreadBadge unread={9999} />
|
<UnreadBadge unread={9999} />
|
||||||
</StoryTester>
|
</StoryTester>
|
||||||
));
|
);
|
||||||
|
|
||||||
stories.add('different mention types', () => (
|
export const DifferentMentionTypes = () => (
|
||||||
<StoryTester>
|
<StoryTester>
|
||||||
<UnreadBadge unread={1} />
|
<UnreadBadge unread={1} />
|
||||||
<UnreadBadge unread={1} userMentions={1} />
|
<UnreadBadge unread={1} userMentions={1} />
|
||||||
|
@ -57,10 +58,10 @@ stories.add('different mention types', () => (
|
||||||
<UnreadBadge unread={1} tunreadUser={[1]} />
|
<UnreadBadge unread={1} tunreadUser={[1]} />
|
||||||
<UnreadBadge unread={1} tunreadGroup={[1]} />
|
<UnreadBadge unread={1} tunreadGroup={[1]} />
|
||||||
</StoryTester>
|
</StoryTester>
|
||||||
));
|
);
|
||||||
|
|
||||||
const ThemeStory = ({ theme }) => (
|
const ThemeStory = ({ theme }: { theme: TSupportedThemes }) => (
|
||||||
<ThemeContext.Provider value={{ theme }}>
|
<ThemeContext.Provider value={{ theme, colors: themes[theme] }}>
|
||||||
<StoryTester>
|
<StoryTester>
|
||||||
<UnreadBadge unread={1} />
|
<UnreadBadge unread={1} />
|
||||||
<UnreadBadge unread={1} userMentions={1} />
|
<UnreadBadge unread={1} userMentions={1} />
|
||||||
|
@ -70,10 +71,10 @@ const ThemeStory = ({ theme }) => (
|
||||||
</ThemeContext.Provider>
|
</ThemeContext.Provider>
|
||||||
);
|
);
|
||||||
|
|
||||||
stories.add('themes', () => (
|
export const Themes = () => (
|
||||||
<>
|
<>
|
||||||
<ThemeStory theme='light' />
|
<ThemeStory theme='light' />
|
||||||
<ThemeStory theme='dark' />
|
<ThemeStory theme='dark' />
|
||||||
<ThemeStory theme='black' />
|
<ThemeStory theme='black' />
|
||||||
</>
|
</>
|
||||||
));
|
);
|
|
@ -34,9 +34,9 @@ export interface IUnreadBadge {
|
||||||
userMentions?: number;
|
userMentions?: number;
|
||||||
groupMentions?: number;
|
groupMentions?: number;
|
||||||
style?: StyleProp<ViewStyle>;
|
style?: StyleProp<ViewStyle>;
|
||||||
tunread?: [];
|
tunread?: any[];
|
||||||
tunreadUser?: [];
|
tunreadUser?: any[];
|
||||||
tunreadGroup?: [];
|
tunreadGroup?: any[];
|
||||||
small?: boolean;
|
small?: boolean;
|
||||||
hideUnreadStatus?: boolean;
|
hideUnreadStatus?: boolean;
|
||||||
hideMentionStatus?: boolean;
|
hideMentionStatus?: boolean;
|
||||||
|
|
|
@ -1,13 +1,10 @@
|
||||||
import React from 'react';
|
import React from 'react';
|
||||||
import { ScrollView, StyleSheet, View } from 'react-native';
|
import { ScrollView, StyleSheet, View } from 'react-native';
|
||||||
import { storiesOf } from '@storybook/react-native';
|
import { NavigationContainer } from '@react-navigation/native';
|
||||||
import { Provider } from 'react-redux';
|
|
||||||
|
|
||||||
import Markdown, { MarkdownPreview } from '../../app/containers/markdown';
|
import Markdown, { MarkdownPreview } from '.';
|
||||||
import { themes } from '../../app/lib/constants';
|
import { themes } from '../../lib/constants';
|
||||||
import { TGetCustomEmoji, IEmoji } from '../../app/definitions/IEmoji';
|
import { TGetCustomEmoji, IEmoji } from '../../definitions/IEmoji';
|
||||||
import { store } from '.';
|
|
||||||
import { NavigationDecorator } from '../StoryNavigator';
|
|
||||||
|
|
||||||
const theme = 'light';
|
const theme = 'light';
|
||||||
|
|
||||||
|
@ -16,10 +13,6 @@ const styles = StyleSheet.create({
|
||||||
marginHorizontal: 15,
|
marginHorizontal: 15,
|
||||||
backgroundColor: themes[theme].backgroundColor,
|
backgroundColor: themes[theme].backgroundColor,
|
||||||
marginVertical: 50
|
marginVertical: 50
|
||||||
},
|
|
||||||
separator: {
|
|
||||||
marginHorizontal: 10,
|
|
||||||
marginVertical: 10
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -45,11 +38,18 @@ const getCustomEmoji: TGetCustomEmoji = content => {
|
||||||
return customEmoji;
|
return customEmoji;
|
||||||
};
|
};
|
||||||
|
|
||||||
const stories = storiesOf('Markdown', module)
|
export default {
|
||||||
.addDecorator(story => <Provider store={store}>{story()}</Provider>)
|
title: 'Markdown',
|
||||||
.addDecorator(NavigationDecorator);
|
decorators: [
|
||||||
|
(Story: any) => (
|
||||||
|
<NavigationContainer>
|
||||||
|
<Story />
|
||||||
|
</NavigationContainer>
|
||||||
|
)
|
||||||
|
]
|
||||||
|
};
|
||||||
|
|
||||||
stories.add('Text', () => (
|
export const Text = () => (
|
||||||
<View style={styles.container}>
|
<View style={styles.container}>
|
||||||
<Markdown msg='This is Rocket.Chat' theme={theme} />
|
<Markdown msg='This is Rocket.Chat' theme={theme} />
|
||||||
<Markdown msg={longText} theme={theme} />
|
<Markdown msg={longText} theme={theme} />
|
||||||
|
@ -57,9 +57,9 @@ stories.add('Text', () => (
|
||||||
<Markdown msg={sequentialEmptySpacesText} theme={theme} />
|
<Markdown msg={sequentialEmptySpacesText} theme={theme} />
|
||||||
<Markdown msg='Strong emphasis, aka bold, with **asterisks** or __underscores__' theme={theme} />
|
<Markdown msg='Strong emphasis, aka bold, with **asterisks** or __underscores__' theme={theme} />
|
||||||
</View>
|
</View>
|
||||||
));
|
);
|
||||||
|
|
||||||
stories.add('Preview', () => (
|
export const Preview = () => (
|
||||||
<View style={styles.container}>
|
<View style={styles.container}>
|
||||||
<MarkdownPreview msg={longText} />
|
<MarkdownPreview msg={longText} />
|
||||||
<MarkdownPreview msg={lineBreakText} />
|
<MarkdownPreview msg={lineBreakText} />
|
||||||
|
@ -68,9 +68,9 @@ stories.add('Preview', () => (
|
||||||
<MarkdownPreview msg='Testing: 😃 :+1: :marioparty:' />
|
<MarkdownPreview msg='Testing: 😃 :+1: :marioparty:' />
|
||||||
<MarkdownPreview msg='Fallback from new md to old' />
|
<MarkdownPreview msg='Fallback from new md to old' />
|
||||||
</View>
|
</View>
|
||||||
));
|
);
|
||||||
|
|
||||||
stories.add('Mentions', () => (
|
export const Mentions = () => (
|
||||||
<ScrollView style={styles.container}>
|
<ScrollView style={styles.container}>
|
||||||
<Markdown
|
<Markdown
|
||||||
msg='@rocket.cat @name1 @all @here @unknown'
|
msg='@rocket.cat @name1 @all @here @unknown'
|
||||||
|
@ -96,15 +96,15 @@ stories.add('Mentions', () => (
|
||||||
useRealName
|
useRealName
|
||||||
/>
|
/>
|
||||||
</ScrollView>
|
</ScrollView>
|
||||||
));
|
);
|
||||||
|
|
||||||
stories.add('Hashtag', () => (
|
export const Hashtag = () => (
|
||||||
<View style={styles.container}>
|
<View style={styles.container}>
|
||||||
<Markdown msg='#test-channel #unknown' theme={theme} channels={[{ _id: '123', name: 'test-channel' }]} />
|
<Markdown msg='#test-channel #unknown' theme={theme} channels={[{ _id: '123', name: 'test-channel' }]} />
|
||||||
</View>
|
</View>
|
||||||
));
|
);
|
||||||
|
|
||||||
stories.add('Emoji', () => (
|
export const Emoji = () => (
|
||||||
<View style={styles.container}>
|
<View style={styles.container}>
|
||||||
<Markdown msg='Unicode: 😃😇👍' theme={theme} />
|
<Markdown msg='Unicode: 😃😇👍' theme={theme} />
|
||||||
<Markdown msg='Shortnames: :joy::+1:' theme={theme} />
|
<Markdown msg='Shortnames: :joy::+1:' theme={theme} />
|
||||||
|
@ -116,9 +116,9 @@ stories.add('Emoji', () => (
|
||||||
/>
|
/>
|
||||||
<Markdown msg='😃 :+1: :marioparty:' theme={theme} getCustomEmoji={getCustomEmoji} baseUrl={baseUrl} />
|
<Markdown msg='😃 :+1: :marioparty:' theme={theme} getCustomEmoji={getCustomEmoji} baseUrl={baseUrl} />
|
||||||
</View>
|
</View>
|
||||||
));
|
);
|
||||||
|
|
||||||
stories.add('Block quote', () => (
|
export const BlockQuote = () => (
|
||||||
<View style={styles.container}>
|
<View style={styles.container}>
|
||||||
<Markdown
|
<Markdown
|
||||||
msg={`> This is block quote
|
msg={`> This is block quote
|
||||||
|
@ -126,22 +126,22 @@ this is a normal line`}
|
||||||
theme={theme}
|
theme={theme}
|
||||||
/>
|
/>
|
||||||
</View>
|
</View>
|
||||||
));
|
);
|
||||||
|
|
||||||
stories.add('Links', () => (
|
export const Links = () => (
|
||||||
<View style={styles.container}>
|
<View style={styles.container}>
|
||||||
<Markdown msg='[Markdown link](https://rocket.chat): `[description](url)`' theme={theme} />
|
<Markdown msg='[Markdown link](https://rocket.chat): `[description](url)`' theme={theme} />
|
||||||
<Markdown msg='<https://rocket.chat|Formatted Link>: `<url|description>`' theme={theme} />
|
<Markdown msg='<https://rocket.chat|Formatted Link>: `<url|description>`' theme={theme} />
|
||||||
</View>
|
</View>
|
||||||
));
|
);
|
||||||
|
|
||||||
stories.add('Image', () => (
|
export const Image = () => (
|
||||||
<View style={styles.container}>
|
<View style={styles.container}>
|
||||||
<Markdown msg='![alt text](https://play.google.com/intl/en_us/badges/images/badge_new.png)' theme={theme} />
|
<Markdown msg='![alt text](https://play.google.com/intl/en_us/badges/images/badge_new.png)' theme={theme} />
|
||||||
</View>
|
</View>
|
||||||
));
|
);
|
||||||
|
|
||||||
stories.add('Headers', () => (
|
export const Headers = () => (
|
||||||
<View style={styles.container}>
|
<View style={styles.container}>
|
||||||
<Markdown msg='# Header 1' theme={theme} />
|
<Markdown msg='# Header 1' theme={theme} />
|
||||||
<Markdown msg='## Header 2' theme={theme} />
|
<Markdown msg='## Header 2' theme={theme} />
|
||||||
|
@ -150,9 +150,9 @@ stories.add('Headers', () => (
|
||||||
<Markdown msg='##### Header 5' theme={theme} />
|
<Markdown msg='##### Header 5' theme={theme} />
|
||||||
<Markdown msg='###### Header 6' theme={theme} />
|
<Markdown msg='###### Header 6' theme={theme} />
|
||||||
</View>
|
</View>
|
||||||
));
|
);
|
||||||
|
|
||||||
stories.add('Code', () => (
|
export const Code = () => (
|
||||||
<View style={styles.container}>
|
<View style={styles.container}>
|
||||||
<Markdown msg='This is `inline code`' theme={theme} />
|
<Markdown msg='This is `inline code`' theme={theme} />
|
||||||
<Markdown
|
<Markdown
|
||||||
|
@ -163,16 +163,16 @@ Code block
|
||||||
theme={theme}
|
theme={theme}
|
||||||
/>
|
/>
|
||||||
</View>
|
</View>
|
||||||
));
|
);
|
||||||
|
|
||||||
stories.add('Lists', () => (
|
export const Lists = () => (
|
||||||
<View style={styles.container}>
|
<View style={styles.container}>
|
||||||
<Markdown msg={'* Open Source\n* Rocket.Chat\n - nodejs\n - ReactNative'} theme={theme} />
|
<Markdown msg={'* Open Source\n* Rocket.Chat\n - nodejs\n - ReactNative'} theme={theme} />
|
||||||
<Markdown msg={'1. Open Source\n2. Rocket.Chat'} theme={theme} />
|
<Markdown msg={'1. Open Source\n2. Rocket.Chat'} theme={theme} />
|
||||||
</View>
|
</View>
|
||||||
));
|
);
|
||||||
|
|
||||||
stories.add('Table', () => (
|
export const Table = () => (
|
||||||
<View style={styles.container}>
|
<View style={styles.container}>
|
||||||
<Markdown
|
<Markdown
|
||||||
msg='First Header | Second Header
|
msg='First Header | Second Header
|
||||||
|
@ -182,4 +182,4 @@ Content in the first column | Content in the second column'
|
||||||
theme={theme}
|
theme={theme}
|
||||||
/>
|
/>
|
||||||
</View>
|
</View>
|
||||||
));
|
);
|
|
@ -1,18 +1,21 @@
|
||||||
/* eslint-disable import/no-extraneous-dependencies */
|
|
||||||
import React from 'react';
|
import React from 'react';
|
||||||
import { StyleSheet, View } from 'react-native';
|
import { StyleSheet, View } from 'react-native';
|
||||||
import { storiesOf } from '@storybook/react-native';
|
import { NavigationContainer } from '@react-navigation/native';
|
||||||
import { Provider } from 'react-redux';
|
|
||||||
|
|
||||||
import NewMarkdown from '../../app/containers/markdown/new';
|
import NewMarkdownComponent from '.';
|
||||||
import { themes } from '../../app/lib/constants';
|
import { themes } from '../../../lib/constants';
|
||||||
import { longText } from '../utils';
|
import { longText } from '../../../../.storybook/utils';
|
||||||
import { NavigationDecorator } from '../StoryNavigator';
|
|
||||||
import { store } from './index';
|
|
||||||
|
|
||||||
const stories = storiesOf('NewMarkdown', module)
|
export default {
|
||||||
.addDecorator(story => <Provider store={store}>{story()}</Provider>)
|
title: 'NewMarkdown',
|
||||||
.addDecorator(NavigationDecorator);
|
decorators: [
|
||||||
|
(Story: any) => (
|
||||||
|
<NavigationContainer>
|
||||||
|
<Story />
|
||||||
|
</NavigationContainer>
|
||||||
|
)
|
||||||
|
]
|
||||||
|
};
|
||||||
|
|
||||||
const theme = 'light';
|
const theme = 'light';
|
||||||
|
|
||||||
|
@ -24,7 +27,7 @@ const styles = StyleSheet.create({
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
const getCustomEmoji = content => {
|
const getCustomEmoji = (content: string) => {
|
||||||
const customEmoji = {
|
const customEmoji = {
|
||||||
marioparty: { name: content, extension: 'gif' },
|
marioparty: { name: content, extension: 'gif' },
|
||||||
nyan_rocket: { name: content, extension: 'png' }
|
nyan_rocket: { name: content, extension: 'png' }
|
||||||
|
@ -33,6 +36,10 @@ const getCustomEmoji = content => {
|
||||||
};
|
};
|
||||||
const baseUrl = 'https://open.rocket.chat';
|
const baseUrl = 'https://open.rocket.chat';
|
||||||
|
|
||||||
|
const NewMarkdown = ({ ...props }) => (
|
||||||
|
<NewMarkdownComponent baseUrl={baseUrl} getCustomEmoji={getCustomEmoji} username='rocket.cat' {...props} />
|
||||||
|
);
|
||||||
|
|
||||||
const simpleTextMsg = [
|
const simpleTextMsg = [
|
||||||
{
|
{
|
||||||
type: 'PARAGRAPH',
|
type: 'PARAGRAPH',
|
||||||
|
@ -109,7 +116,7 @@ const sequentialEmptySpacesMsg = [
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
|
|
||||||
stories.add('Text', () => (
|
export const Text = () => (
|
||||||
<View style={styles.container}>
|
<View style={styles.container}>
|
||||||
<NewMarkdown tokens={simpleTextMsg} />
|
<NewMarkdown tokens={simpleTextMsg} />
|
||||||
<NewMarkdown tokens={longTextMsg} />
|
<NewMarkdown tokens={longTextMsg} />
|
||||||
|
@ -117,7 +124,7 @@ stories.add('Text', () => (
|
||||||
<NewMarkdown tokens={sequentialEmptySpacesMsg} />
|
<NewMarkdown tokens={sequentialEmptySpacesMsg} />
|
||||||
<NewMarkdown tokens={[...simpleTextMsg, ...longTextMsg]} />
|
<NewMarkdown tokens={[...simpleTextMsg, ...longTextMsg]} />
|
||||||
</View>
|
</View>
|
||||||
));
|
);
|
||||||
|
|
||||||
const allMentionTokens = [
|
const allMentionTokens = [
|
||||||
{
|
{
|
||||||
|
@ -160,6 +167,17 @@ const multipleMentionTokens = [
|
||||||
type: 'PLAIN_TEXT',
|
type: 'PLAIN_TEXT',
|
||||||
value: ' '
|
value: ' '
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
type: 'MENTION_USER',
|
||||||
|
value: {
|
||||||
|
type: 'PLAIN_TEXT',
|
||||||
|
value: 'not_a_user'
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: 'PLAIN_TEXT',
|
||||||
|
value: ' '
|
||||||
|
},
|
||||||
{
|
{
|
||||||
type: 'MENTION_USER',
|
type: 'MENTION_USER',
|
||||||
value: {
|
value: {
|
||||||
|
@ -208,18 +226,12 @@ const multipleMentions = [
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
|
|
||||||
stories.add('Mentions', () => (
|
export const Mentions = () => (
|
||||||
<View style={styles.container}>
|
<View style={styles.container}>
|
||||||
<NewMarkdown tokens={allMentionTokens} mentions={allMentions} navToRoomInfo={() => {}} style={[]} />
|
<NewMarkdown tokens={allMentionTokens} mentions={allMentions} navToRoomInfo={() => {}} style={[]} />
|
||||||
<NewMarkdown
|
<NewMarkdown tokens={multipleMentionTokens} mentions={multipleMentions} navToRoomInfo={() => {}} style={[]} />
|
||||||
tokens={multipleMentionTokens}
|
|
||||||
mentions={multipleMentions}
|
|
||||||
navToRoomInfo={() => {}}
|
|
||||||
style={[]}
|
|
||||||
username='rocket.cat'
|
|
||||||
/>
|
|
||||||
</View>
|
</View>
|
||||||
));
|
);
|
||||||
|
|
||||||
const channelTokens = [
|
const channelTokens = [
|
||||||
{
|
{
|
||||||
|
@ -254,11 +266,11 @@ const channelMention = [
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
|
|
||||||
stories.add('Hashtag', () => (
|
export const Hashtag = () => (
|
||||||
<View style={styles.container}>
|
<View style={styles.container}>
|
||||||
<NewMarkdown tokens={channelTokens} channels={channelMention} navToRoomInfo={() => {}} />
|
<NewMarkdown tokens={channelTokens} channels={channelMention} navToRoomInfo={() => {}} />
|
||||||
</View>
|
</View>
|
||||||
));
|
);
|
||||||
|
|
||||||
const bigEmojiTokens = [
|
const bigEmojiTokens = [
|
||||||
{
|
{
|
||||||
|
@ -325,12 +337,12 @@ const emojiTokens = [
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
|
|
||||||
stories.add('Emoji', () => (
|
export const Emoji = () => (
|
||||||
<View style={styles.container}>
|
<View style={styles.container}>
|
||||||
<NewMarkdown tokens={bigEmojiTokens} />
|
<NewMarkdown tokens={bigEmojiTokens} />
|
||||||
<NewMarkdown tokens={emojiTokens} getCustomEmoji={getCustomEmoji} baseUrl={baseUrl} />
|
<NewMarkdown tokens={emojiTokens} getCustomEmoji={getCustomEmoji} baseUrl={baseUrl} />
|
||||||
</View>
|
</View>
|
||||||
));
|
);
|
||||||
|
|
||||||
const blockQuoteTokens = [
|
const blockQuoteTokens = [
|
||||||
{
|
{
|
||||||
|
@ -363,11 +375,11 @@ const blockQuoteTokens = [
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
|
|
||||||
stories.add('Block quote', () => (
|
export const BlockQuote = () => (
|
||||||
<View style={styles.container}>
|
<View style={styles.container}>
|
||||||
<NewMarkdown tokens={blockQuoteTokens} />
|
<NewMarkdown tokens={blockQuoteTokens} />
|
||||||
</View>
|
</View>
|
||||||
));
|
);
|
||||||
|
|
||||||
const rocketChatLink = [
|
const rocketChatLink = [
|
||||||
{
|
{
|
||||||
|
@ -411,14 +423,14 @@ const markdownLink = [
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
|
|
||||||
stories.add('Links', () => (
|
export const Links = () => (
|
||||||
<View style={styles.container}>
|
<View style={styles.container}>
|
||||||
<NewMarkdown tokens={rocketChatLink} />
|
<NewMarkdown tokens={rocketChatLink} />
|
||||||
<NewMarkdown tokens={markdownLink} />
|
<NewMarkdown tokens={markdownLink} />
|
||||||
</View>
|
</View>
|
||||||
));
|
);
|
||||||
|
|
||||||
stories.add('Headers', () => (
|
export const Headers = () => (
|
||||||
<View style={styles.container}>
|
<View style={styles.container}>
|
||||||
<NewMarkdown
|
<NewMarkdown
|
||||||
tokens={[
|
tokens={[
|
||||||
|
@ -505,7 +517,7 @@ stories.add('Headers', () => (
|
||||||
]}
|
]}
|
||||||
/>
|
/>
|
||||||
</View>
|
</View>
|
||||||
));
|
);
|
||||||
|
|
||||||
const inlineCodeToken = [
|
const inlineCodeToken = [
|
||||||
{
|
{
|
||||||
|
@ -538,12 +550,12 @@ const multilineCodeToken = [
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
|
|
||||||
stories.add('Code', () => (
|
export const Code = () => (
|
||||||
<View style={styles.container}>
|
<View style={styles.container}>
|
||||||
<NewMarkdown tokens={inlineCodeToken} style={[]} />
|
<NewMarkdown tokens={inlineCodeToken} style={[]} />
|
||||||
<NewMarkdown tokens={multilineCodeToken} style={[]} />
|
<NewMarkdown tokens={multilineCodeToken} style={[]} />
|
||||||
</View>
|
</View>
|
||||||
));
|
);
|
||||||
|
|
||||||
const items = [
|
const items = [
|
||||||
[
|
[
|
||||||
|
@ -685,13 +697,13 @@ const tasks = [
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
|
|
||||||
stories.add('Lists', () => (
|
export const Lists = () => (
|
||||||
<View style={styles.container}>
|
<View style={styles.container}>
|
||||||
<NewMarkdown tokens={unorederedListToken} mentions={listMentions} channels={listChannels} />
|
<NewMarkdown tokens={unorederedListToken} mentions={listMentions} channels={listChannels} />
|
||||||
<NewMarkdown tokens={orderedListToken} mentions={listMentions} channels={listChannels} />
|
<NewMarkdown tokens={orderedListToken} mentions={listMentions} channels={listChannels} />
|
||||||
<NewMarkdown tokens={tasks} mentions={listMentions} channels={listChannels} />
|
<NewMarkdown tokens={tasks} mentions={listMentions} channels={listChannels} />
|
||||||
</View>
|
</View>
|
||||||
));
|
);
|
||||||
|
|
||||||
const katex = [
|
const katex = [
|
||||||
{
|
{
|
||||||
|
@ -720,14 +732,14 @@ const inlineKatex = [
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
|
|
||||||
stories.add('Katex', () => (
|
export const Katex = () => (
|
||||||
<View style={styles.container}>
|
<View style={styles.container}>
|
||||||
<NewMarkdown tokens={katex} />
|
<NewMarkdown tokens={katex} />
|
||||||
</View>
|
</View>
|
||||||
));
|
);
|
||||||
|
|
||||||
stories.add('Inline Katex', () => (
|
export const InlineKatex = () => (
|
||||||
<View style={styles.container}>
|
<View style={styles.container}>
|
||||||
<NewMarkdown tokens={inlineKatex} />
|
<NewMarkdown tokens={inlineKatex} />
|
||||||
</View>
|
</View>
|
||||||
));
|
);
|
|
@ -1,4 +1,3 @@
|
||||||
import { storiesOf } from '@storybook/react-native';
|
|
||||||
import React from 'react';
|
import React from 'react';
|
||||||
import { View } from 'react-native';
|
import { View } from 'react-native';
|
||||||
|
|
||||||
|
@ -19,9 +18,11 @@ const testAttachment = {
|
||||||
collapsed: true
|
collapsed: true
|
||||||
};
|
};
|
||||||
|
|
||||||
const stories = storiesOf('Message', module);
|
export default {
|
||||||
|
title: 'CollapsibleQuote'
|
||||||
|
};
|
||||||
|
|
||||||
stories.add('Item', () => (
|
export const Item = () => (
|
||||||
<View style={{ padding: 10 }}>
|
<View style={{ padding: 10 }}>
|
||||||
<MessageContext.Provider
|
<MessageContext.Provider
|
||||||
value={{
|
value={{
|
||||||
|
@ -32,4 +33,4 @@ stories.add('Item', () => (
|
||||||
<CollapsibleQuote key={0} index={0} attachment={testAttachment} getCustomEmoji={() => {}} timeFormat='LT' />
|
<CollapsibleQuote key={0} index={0} attachment={testAttachment} getCustomEmoji={() => {}} timeFormat='LT' />
|
||||||
</MessageContext.Provider>
|
</MessageContext.Provider>
|
||||||
</View>
|
</View>
|
||||||
));
|
);
|
|
@ -1,3 +0,0 @@
|
||||||
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
|
||||||
|
|
||||||
exports[`Storyshots Message Item 1`] = `"{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"padding\\":10}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"accessible\\":true,\\"testID\\":\\"collapsibleQuoteTouchable-Engineering (9 today)\\",\\"hitSlop\\":{\\"top\\":4,\\"right\\":4,\\"bottom\\":4,\\"left\\":4},\\"focusable\\":true,\\"collapsable\\":false,\\"style\\":{\\"flexDirection\\":\\"row\\",\\"alignItems\\":\\"center\\",\\"marginTop\\":6,\\"borderWidth\\":1,\\"borderRadius\\":4,\\"minHeight\\":40,\\"backgroundColor\\":\\"#f3f4f5\\",\\"borderLeftColor\\":\\"#CBCED1\\",\\"borderTopColor\\":\\"#e1e5e8\\",\\"borderRightColor\\":\\"#e1e5e8\\",\\"borderBottomColor\\":\\"#e1e5e8\\",\\"borderLeftWidth\\":2,\\"opacity\\":1}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flex\\":1,\\"borderRadius\\":4,\\"padding\\":8}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"flexDirection\\":\\"row\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"style\\":[{\\"fontSize\\":16,\\"textAlign\\":\\"left\\",\\"backgroundColor\\":\\"transparent\\",\\"fontFamily\\":\\"System\\",\\"fontWeight\\":\\"500\\"},{\\"color\\":\\"#6C727A\\"}]},\\"children\\":[\\"Engineering (9 today)\\"]}]}]},{\\"type\\":\\"View\\",\\"props\\":{\\"style\\":{\\"width\\":20,\\"height\\":20,\\"right\\":8,\\"top\\":8,\\"justifyContent\\":\\"center\\",\\"alignItems\\":\\"center\\"}},\\"children\\":[{\\"type\\":\\"Text\\",\\"props\\":{\\"selectable\\":false,\\"allowFontScaling\\":false,\\"style\\":[{\\"fontSize\\":22,\\"color\\":\\"#6C727A\\"},null,{\\"fontFamily\\":\\"custom\\",\\"fontWeight\\":\\"normal\\",\\"fontStyle\\":\\"normal\\"},{}]},\\"children\\":[\\"\\"]}]}]}]}]}"`;
|
|
|
@ -1,23 +1,18 @@
|
||||||
/* eslint-disable import/no-extraneous-dependencies */
|
|
||||||
import React from 'react';
|
import React from 'react';
|
||||||
import { ScrollView, StyleSheet } from 'react-native';
|
import { ScrollView } from 'react-native';
|
||||||
import { Provider } from 'react-redux';
|
import { NavigationContainer } from '@react-navigation/native';
|
||||||
import { storiesOf } from '@storybook/react-native';
|
|
||||||
|
|
||||||
import MessageComponent from '../../app/containers/message/Message';
|
import MessageComponent from './Message';
|
||||||
import { E2E_MESSAGE_TYPE, messagesStatus, themes } from '../../app/lib/constants';
|
import { E2E_MESSAGE_TYPE, messagesStatus, themes } from '../../lib/constants';
|
||||||
import MessageSeparator from '../../app/views/RoomView/Separator';
|
import MessageSeparator from '../../views/RoomView/Separator';
|
||||||
import MessageContext from '../../app/containers/message/Context';
|
import MessageContext from './Context';
|
||||||
import { store } from './index';
|
|
||||||
|
|
||||||
const _theme = 'light';
|
const _theme = 'light';
|
||||||
|
|
||||||
const styles = StyleSheet.create({});
|
|
||||||
|
|
||||||
const user = {
|
const user = {
|
||||||
id: 'y8bd77ptZswPj3EW8',
|
id: 'y8bd77ptZswPj3EW8',
|
||||||
username: 'diego.mello',
|
username: 'diego.mello',
|
||||||
token: '79q6lH40W4ZRGLOshDiDiVlQaCc4f_lU9HNdHLAzuHz'
|
token: 'abc'
|
||||||
};
|
};
|
||||||
const author = {
|
const author = {
|
||||||
_id: 'userid',
|
_id: 'userid',
|
||||||
|
@ -34,7 +29,7 @@ const date = new Date(2017, 10, 10, 10);
|
||||||
const longText =
|
const longText =
|
||||||
'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.';
|
'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.';
|
||||||
|
|
||||||
const getCustomEmoji = content => {
|
const getCustomEmoji = (content: string) => {
|
||||||
const customEmoji = {
|
const customEmoji = {
|
||||||
marioparty: { name: content, extension: 'gif' },
|
marioparty: { name: content, extension: 'gif' },
|
||||||
react_rocket: { name: content, extension: 'png' },
|
react_rocket: { name: content, extension: 'png' },
|
||||||
|
@ -43,7 +38,12 @@ const getCustomEmoji = content => {
|
||||||
return customEmoji;
|
return customEmoji;
|
||||||
};
|
};
|
||||||
|
|
||||||
export const MessageDecorator = story => (
|
export default {
|
||||||
|
title: 'Message',
|
||||||
|
decorators: [
|
||||||
|
(Story: any) => (
|
||||||
|
<NavigationContainer>
|
||||||
|
<ScrollView style={{ backgroundColor: themes[_theme].backgroundColor }}>
|
||||||
<MessageContext.Provider
|
<MessageContext.Provider
|
||||||
value={{
|
value={{
|
||||||
user,
|
user,
|
||||||
|
@ -59,11 +59,15 @@ export const MessageDecorator = story => (
|
||||||
threadBadgeColor: themes.light.tunreadColor
|
threadBadgeColor: themes.light.tunreadColor
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
{story()}
|
<Story />
|
||||||
</MessageContext.Provider>
|
</MessageContext.Provider>
|
||||||
);
|
</ScrollView>
|
||||||
|
</NavigationContainer>
|
||||||
|
)
|
||||||
|
]
|
||||||
|
};
|
||||||
|
|
||||||
export const Message = props => (
|
export const Message = (props: any) => (
|
||||||
<MessageComponent
|
<MessageComponent
|
||||||
baseUrl={baseUrl}
|
baseUrl={baseUrl}
|
||||||
user={user}
|
user={user}
|
||||||
|
@ -77,23 +81,14 @@ export const Message = props => (
|
||||||
/>
|
/>
|
||||||
);
|
);
|
||||||
|
|
||||||
export const StoryProvider = story => <Provider store={store}>{story()}</Provider>;
|
export const Basic = () => (
|
||||||
|
|
||||||
const MessageScrollView = story => <ScrollView style={{ backgroundColor: themes[_theme].backgroundColor }}>{story()}</ScrollView>;
|
|
||||||
|
|
||||||
const stories = storiesOf('Message', module)
|
|
||||||
.addDecorator(StoryProvider)
|
|
||||||
.addDecorator(MessageScrollView)
|
|
||||||
.addDecorator(MessageDecorator);
|
|
||||||
|
|
||||||
stories.add('Basic', () => (
|
|
||||||
<>
|
<>
|
||||||
<Message msg='Message' />
|
<Message msg='Message' />
|
||||||
<Message msg={longText} />
|
<Message msg={longText} />
|
||||||
</>
|
</>
|
||||||
));
|
);
|
||||||
|
|
||||||
stories.add('Grouped messages', () => (
|
export const GroupedMessages = () => (
|
||||||
<>
|
<>
|
||||||
<Message msg='...' />
|
<Message msg='...' />
|
||||||
<Message
|
<Message
|
||||||
|
@ -107,11 +102,11 @@ stories.add('Grouped messages', () => (
|
||||||
<Message msg='This is the second message' isHeader={false} />
|
<Message msg='This is the second message' isHeader={false} />
|
||||||
<Message msg='This is the first message' />
|
<Message msg='This is the first message' />
|
||||||
</>
|
</>
|
||||||
));
|
);
|
||||||
|
|
||||||
stories.add('Without header', () => <Message msg='Message' isHeader={false} />);
|
export const WithoutHeader = () => <Message msg='Message' isHeader={false} />;
|
||||||
|
|
||||||
stories.add('With alias', () => (
|
export const WithAlias = () => (
|
||||||
<>
|
<>
|
||||||
<Message msg='Message' alias='Diego Mello' />
|
<Message msg='Message' alias='Diego Mello' />
|
||||||
<Message
|
<Message
|
||||||
|
@ -123,16 +118,16 @@ stories.add('With alias', () => (
|
||||||
alias='Diego Mello'
|
alias='Diego Mello'
|
||||||
/>
|
/>
|
||||||
</>
|
</>
|
||||||
));
|
);
|
||||||
|
|
||||||
stories.add('Edited', () => (
|
export const Edited = () => (
|
||||||
<>
|
<>
|
||||||
<Message msg='Message header' isEdited />
|
<Message msg='Message header' isEdited />
|
||||||
<Message msg='Message without header' isEdited isHeader={false} />
|
<Message msg='Message without header' isEdited isHeader={false} />
|
||||||
</>
|
</>
|
||||||
));
|
);
|
||||||
|
|
||||||
stories.add('Encrypted', () => (
|
export const Encrypted = () => (
|
||||||
<>
|
<>
|
||||||
<Message msg='Message' type='e2e' />
|
<Message msg='Message' type='e2e' />
|
||||||
<Message msg='Message Encrypted without Header' isHeader={false} type='e2e' />
|
<Message msg='Message Encrypted without Header' isHeader={false} type='e2e' />
|
||||||
|
@ -168,29 +163,29 @@ stories.add('Encrypted', () => (
|
||||||
<Message msg='Read Receipt encrypted with Header' isReadReceiptEnabled read type='e2e' />
|
<Message msg='Read Receipt encrypted with Header' isReadReceiptEnabled read type='e2e' />
|
||||||
<Message msg='Read Receipt encrypted without Header' isReadReceiptEnabled read isHeader={false} type='e2e' />
|
<Message msg='Read Receipt encrypted without Header' isReadReceiptEnabled read isHeader={false} type='e2e' />
|
||||||
</>
|
</>
|
||||||
));
|
);
|
||||||
|
|
||||||
stories.add('Block Quote', () => (
|
export const BlockQuote = () => (
|
||||||
<>
|
<>
|
||||||
<Message msg='> Testing block quote' />
|
<Message msg='> Testing block quote' />
|
||||||
<Message msg={'> Testing block quote\nTesting block quote'} />
|
<Message msg={'> Testing block quote\nTesting block quote'} />
|
||||||
</>
|
</>
|
||||||
));
|
);
|
||||||
|
|
||||||
stories.add('Lists', () => (
|
export const Lists = () => (
|
||||||
<>
|
<>
|
||||||
<Message msg={'* Dogs\n * cats\n - cats'} />
|
<Message msg={'* Dogs\n * cats\n - cats'} />
|
||||||
<Message msg={'1. Dogs \n 2. Cats'} />
|
<Message msg={'1. Dogs \n 2. Cats'} />
|
||||||
<Message msg='1. Dogs' />
|
<Message msg='1. Dogs' />
|
||||||
<Message msg='2. Cats' isHeader={false} />
|
<Message msg='2. Cats' isHeader={false} />
|
||||||
</>
|
</>
|
||||||
));
|
);
|
||||||
|
|
||||||
stories.add('Static avatar', () => (
|
export const StaticAvatar = () => (
|
||||||
<Message msg='Message' avatar='https://pbs.twimg.com/profile_images/1016397063649660929/14EIApTi_400x400.jpg' />
|
<Message msg='Message' avatar='https://pbs.twimg.com/profile_images/1016397063649660929/14EIApTi_400x400.jpg' />
|
||||||
));
|
);
|
||||||
|
|
||||||
stories.add('Full name', () => (
|
export const FullName = () => (
|
||||||
<Message
|
<Message
|
||||||
msg='Message'
|
msg='Message'
|
||||||
author={{
|
author={{
|
||||||
|
@ -200,9 +195,9 @@ stories.add('Full name', () => (
|
||||||
}}
|
}}
|
||||||
useRealName
|
useRealName
|
||||||
/>
|
/>
|
||||||
));
|
);
|
||||||
|
|
||||||
stories.add('Mentions', () => (
|
export const Mentions = () => (
|
||||||
<>
|
<>
|
||||||
<Message
|
<Message
|
||||||
msg='@rocket.cat @diego.mello @all @here #general'
|
msg='@rocket.cat @diego.mello @all @here #general'
|
||||||
|
@ -249,9 +244,9 @@ stories.add('Mentions', () => (
|
||||||
]}
|
]}
|
||||||
/>
|
/>
|
||||||
</>
|
</>
|
||||||
));
|
);
|
||||||
|
|
||||||
stories.add('Emojis', () => (
|
export const Emojis = () => (
|
||||||
<>
|
<>
|
||||||
<Message msg='👊🤙👏' />
|
<Message msg='👊🤙👏' />
|
||||||
<Message msg='👏' />
|
<Message msg='👏' />
|
||||||
|
@ -260,11 +255,11 @@ stories.add('Emojis', () => (
|
||||||
<Message msg='🤙:react_rocket:' />
|
<Message msg='🤙:react_rocket:' />
|
||||||
<Message msg='🤙:react_rocket:🤙🤙' />
|
<Message msg='🤙:react_rocket:🤙🤙' />
|
||||||
</>
|
</>
|
||||||
));
|
);
|
||||||
|
|
||||||
stories.add('Time format', () => <Message msg='Testing' timeFormat='DD MMMM YYYY' />);
|
export const TimeFormat = () => <Message msg='Testing' timeFormat='DD MMMM YYYY' />;
|
||||||
|
|
||||||
stories.add('Reactions', () => (
|
export const Reactions = () => (
|
||||||
<>
|
<>
|
||||||
<Message
|
<Message
|
||||||
msg='Reactions'
|
msg='Reactions'
|
||||||
|
@ -327,9 +322,9 @@ stories.add('Reactions', () => (
|
||||||
onReactionPress={() => {}}
|
onReactionPress={() => {}}
|
||||||
/>
|
/>
|
||||||
</>
|
</>
|
||||||
));
|
);
|
||||||
|
|
||||||
stories.add('Date and Unread separators', () => (
|
export const DateAndUnreadSeparators = () => (
|
||||||
<>
|
<>
|
||||||
<Message
|
<Message
|
||||||
msg='Fourth message'
|
msg='Fourth message'
|
||||||
|
@ -338,9 +333,9 @@ stories.add('Date and Unread separators', () => (
|
||||||
username: 'rocket.cat'
|
username: 'rocket.cat'
|
||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
<MessageSeparator ts={date} unread theme={_theme} />
|
<MessageSeparator ts={date} unread />
|
||||||
<Message msg='Third message' />
|
<Message msg='Third message' />
|
||||||
<MessageSeparator unread theme={_theme} />
|
<MessageSeparator unread ts={null} />
|
||||||
<Message
|
<Message
|
||||||
msg='Second message'
|
msg='Second message'
|
||||||
author={{
|
author={{
|
||||||
|
@ -356,12 +351,12 @@ stories.add('Date and Unread separators', () => (
|
||||||
username: 'rocket.cat'
|
username: 'rocket.cat'
|
||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
<MessageSeparator ts={date} theme={_theme} />
|
<MessageSeparator ts={date} unread={false} />
|
||||||
<Message msg='First message' />
|
<Message msg='First message' />
|
||||||
</>
|
</>
|
||||||
));
|
);
|
||||||
|
|
||||||
stories.add('With image', () => (
|
export const WithImage = () => (
|
||||||
<>
|
<>
|
||||||
<Message
|
<Message
|
||||||
attachments={[
|
attachments={[
|
||||||
|
@ -382,9 +377,9 @@ stories.add('With image', () => (
|
||||||
]}
|
]}
|
||||||
/>
|
/>
|
||||||
</>
|
</>
|
||||||
));
|
);
|
||||||
|
|
||||||
stories.add('With video', () => (
|
export const WithVideo = () => (
|
||||||
<>
|
<>
|
||||||
<Message
|
<Message
|
||||||
attachments={[
|
attachments={[
|
||||||
|
@ -404,9 +399,9 @@ stories.add('With video', () => (
|
||||||
]}
|
]}
|
||||||
/>
|
/>
|
||||||
</>
|
</>
|
||||||
));
|
);
|
||||||
|
|
||||||
stories.add('With audio', () => (
|
export const WithAudio = () => (
|
||||||
<>
|
<>
|
||||||
<Message
|
<Message
|
||||||
attachments={[
|
attachments={[
|
||||||
|
@ -447,9 +442,9 @@ stories.add('With audio', () => (
|
||||||
isHeader={false}
|
isHeader={false}
|
||||||
/>
|
/>
|
||||||
</>
|
</>
|
||||||
));
|
);
|
||||||
|
|
||||||
stories.add('With file', () => (
|
export const WithFile = () => (
|
||||||
<>
|
<>
|
||||||
<Message
|
<Message
|
||||||
attachments={[
|
attachments={[
|
||||||
|
@ -469,9 +464,9 @@ stories.add('With file', () => (
|
||||||
isHeader={false}
|
isHeader={false}
|
||||||
/>
|
/>
|
||||||
</>
|
</>
|
||||||
));
|
);
|
||||||
|
|
||||||
stories.add('Message with reply', () => (
|
export const MessageWithReply = () => (
|
||||||
<>
|
<>
|
||||||
<Message
|
<Message
|
||||||
msg="I'm fine!"
|
msg="I'm fine!"
|
||||||
|
@ -514,18 +509,18 @@ stories.add('Message with reply', () => (
|
||||||
]}
|
]}
|
||||||
/>
|
/>
|
||||||
</>
|
</>
|
||||||
));
|
);
|
||||||
|
|
||||||
stories.add('Message with read receipt', () => (
|
export const MessageWithReadReceipt = () => (
|
||||||
<>
|
<>
|
||||||
<Message msg="I'm fine!" isReadReceiptEnabled unread />
|
<Message msg="I'm fine!" isReadReceiptEnabled unread />
|
||||||
<Message msg="I'm fine!" isReadReceiptEnabled unread isHeader={false} />
|
<Message msg="I'm fine!" isReadReceiptEnabled unread isHeader={false} />
|
||||||
<Message msg="I'm fine!" isReadReceiptEnabled read />
|
<Message msg="I'm fine!" isReadReceiptEnabled read />
|
||||||
<Message msg="I'm fine!" isReadReceiptEnabled read isHeader={false} />
|
<Message msg="I'm fine!" isReadReceiptEnabled read isHeader={false} />
|
||||||
</>
|
</>
|
||||||
));
|
);
|
||||||
|
|
||||||
stories.add('Message with thread', () => (
|
export const MessageWithThread = () => (
|
||||||
<>
|
<>
|
||||||
<Message msg='How are you?' tcount={1} tlm={date} />
|
<Message msg='How are you?' tcount={1} tlm={date} />
|
||||||
<Message msg="I'm fine!" tmid='1' tmsg='How are you?' isThreadReply />
|
<Message msg="I'm fine!" tmid='1' tmsg='How are you?' isThreadReply />
|
||||||
|
@ -546,9 +541,9 @@ stories.add('Message with thread', () => (
|
||||||
isThreadReply
|
isThreadReply
|
||||||
/>
|
/>
|
||||||
</>
|
</>
|
||||||
));
|
);
|
||||||
|
|
||||||
stories.add('Sequential thread messages following thread button', () => (
|
export const SequentialThreadMessagesFollowingThreadButton = () => (
|
||||||
<>
|
<>
|
||||||
<Message msg='How are you?' tcount={1} tlm={date} />
|
<Message msg='How are you?' tcount={1} tlm={date} />
|
||||||
<Message msg="I'm fine!" tmid='1' isThreadSequential />
|
<Message msg="I'm fine!" tmid='1' isThreadSequential />
|
||||||
|
@ -565,9 +560,9 @@ stories.add('Sequential thread messages following thread button', () => (
|
||||||
isThreadSequential
|
isThreadSequential
|
||||||
/>
|
/>
|
||||||
</>
|
</>
|
||||||
));
|
);
|
||||||
|
|
||||||
stories.add('Sequential thread messages following thread reply', () => (
|
export const SequentialThreadMessagesFollowingThreadReply = () => (
|
||||||
<>
|
<>
|
||||||
<Message msg="I'm fine!" tmid='1' tmsg='How are you?' isThreadReply />
|
<Message msg="I'm fine!" tmid='1' tmsg='How are you?' isThreadReply />
|
||||||
<Message msg='Cool!' tmid='1' isThreadSequential />
|
<Message msg='Cool!' tmid='1' isThreadSequential />
|
||||||
|
@ -584,18 +579,18 @@ stories.add('Sequential thread messages following thread reply', () => (
|
||||||
isThreadSequential
|
isThreadSequential
|
||||||
/>
|
/>
|
||||||
</>
|
</>
|
||||||
));
|
);
|
||||||
|
|
||||||
stories.add('Discussion', () => (
|
export const Discussion = () => (
|
||||||
<>
|
<>
|
||||||
<Message type='discussion-created' drid='aisduhasidhs' dcount={null} dlm={null} msg='This is a discussion' />
|
<Message type='discussion-created' drid='aisduhasidhs' dcount={null} dlm={null} msg='This is a discussion' />
|
||||||
<Message type='discussion-created' drid='aisduhasidhs' dcount={1} dlm={date} msg='This is a discussion' />
|
<Message type='discussion-created' drid='aisduhasidhs' dcount={1} dlm={date} msg='This is a discussion' />
|
||||||
<Message type='discussion-created' drid='aisduhasidhs' dcount={10} dlm={date} msg={longText} />
|
<Message type='discussion-created' drid='aisduhasidhs' dcount={10} dlm={date} msg={longText} />
|
||||||
<Message type='discussion-created' drid='aisduhasidhs' dcount={1000} dlm={date} msg='This is a discussion' />
|
<Message type='discussion-created' drid='aisduhasidhs' dcount={1000} dlm={date} msg='This is a discussion' />
|
||||||
</>
|
</>
|
||||||
));
|
);
|
||||||
|
|
||||||
stories.add('URL', () => (
|
export const URL = () => (
|
||||||
<>
|
<>
|
||||||
<Message
|
<Message
|
||||||
urls={[
|
urls={[
|
||||||
|
@ -637,9 +632,9 @@ stories.add('URL', () => (
|
||||||
isHeader={false}
|
isHeader={false}
|
||||||
/>
|
/>
|
||||||
</>
|
</>
|
||||||
));
|
);
|
||||||
|
|
||||||
stories.add('Custom fields', () => (
|
export const CustomFields = () => (
|
||||||
<>
|
<>
|
||||||
<Message
|
<Message
|
||||||
msg='Message'
|
msg='Message'
|
||||||
|
@ -675,9 +670,9 @@ stories.add('Custom fields', () => (
|
||||||
]}
|
]}
|
||||||
/>
|
/>
|
||||||
</>
|
</>
|
||||||
));
|
);
|
||||||
|
|
||||||
stories.add('Two short custom fields with markdown', () => (
|
export const TwoShortCustomFieldsWithMarkdown = () => (
|
||||||
<Message
|
<Message
|
||||||
msg='Message'
|
msg='Message'
|
||||||
attachments={[
|
attachments={[
|
||||||
|
@ -719,9 +714,9 @@ stories.add('Two short custom fields with markdown', () => (
|
||||||
}
|
}
|
||||||
]}
|
]}
|
||||||
/>
|
/>
|
||||||
));
|
);
|
||||||
|
|
||||||
stories.add('Colored attachments', () => (
|
export const ColoredAttachments = () => (
|
||||||
<Message
|
<Message
|
||||||
attachments={[
|
attachments={[
|
||||||
{
|
{
|
||||||
|
@ -771,13 +766,13 @@ stories.add('Colored attachments', () => (
|
||||||
}
|
}
|
||||||
]}
|
]}
|
||||||
/>
|
/>
|
||||||
));
|
);
|
||||||
|
|
||||||
stories.add('Broadcast', () => <Message msg='Broadcasted message' broadcast replyBroadcast={() => alert('broadcast!')} />);
|
export const Broadcast = () => <Message msg='Broadcasted message' broadcast replyBroadcast={() => alert('broadcast!')} />;
|
||||||
|
|
||||||
stories.add('Archived', () => <Message msg='This message is inside an archived room' archived />);
|
export const Archived = () => <Message msg='This message is inside an archived room' archived />;
|
||||||
|
|
||||||
stories.add('Error', () => (
|
export const Error = () => (
|
||||||
<>
|
<>
|
||||||
<Message hasError msg='This message has error' status={messagesStatus.ERROR} onErrorPress={() => alert('Error pressed')} />
|
<Message hasError msg='This message has error' status={messagesStatus.ERROR} onErrorPress={() => alert('Error pressed')} />
|
||||||
<Message
|
<Message
|
||||||
|
@ -788,13 +783,13 @@ stories.add('Error', () => (
|
||||||
isHeader={false}
|
isHeader={false}
|
||||||
/>
|
/>
|
||||||
</>
|
</>
|
||||||
));
|
);
|
||||||
|
|
||||||
stories.add('Temp', () => <Message msg='Temp message' status={messagesStatus.TEMP} isTemp />);
|
export const Temp = () => <Message msg='Temp message' status={messagesStatus.TEMP} isTemp />;
|
||||||
|
|
||||||
stories.add('Editing', () => <Message msg='Message being edited' editing />);
|
export const Editing = () => <Message msg='Message being edited' editing />;
|
||||||
|
|
||||||
stories.add('System messages', () => (
|
export const SystemMessages = () => (
|
||||||
<>
|
<>
|
||||||
<Message type='rm' isInfo />
|
<Message type='rm' isInfo />
|
||||||
<Message type='uj' isInfo />
|
<Message type='uj' isInfo />
|
||||||
|
@ -833,13 +828,13 @@ stories.add('System messages', () => (
|
||||||
<Message type='user-deleted-room-from-team' isInfo msg='channel-name' />
|
<Message type='user-deleted-room-from-team' isInfo msg='channel-name' />
|
||||||
<Message type='user-removed-room-from-team' isInfo msg='channel-name' />
|
<Message type='user-removed-room-from-team' isInfo msg='channel-name' />
|
||||||
</>
|
</>
|
||||||
));
|
);
|
||||||
|
|
||||||
stories.add('Ignored', () => <Message isIgnored />);
|
export const Ignored = () => <Message isIgnored />;
|
||||||
|
|
||||||
stories.add('Custom style', () => <Message msg='Message' style={[styles.normalize, { backgroundColor: '#ddd' }]} />);
|
export const CustomStyle = () => <Message msg='Message' style={[{ backgroundColor: '#ddd' }]} />;
|
||||||
|
|
||||||
stories.add('Show a button as attachment', () => (
|
export const ShowButtonAsAttachment = () => (
|
||||||
<Message
|
<Message
|
||||||
attachments={[
|
attachments={[
|
||||||
{
|
{
|
||||||
|
@ -855,9 +850,9 @@ stories.add('Show a button as attachment', () => (
|
||||||
}
|
}
|
||||||
]}
|
]}
|
||||||
/>
|
/>
|
||||||
));
|
);
|
||||||
|
|
||||||
stories.add('Thumbnail from server', () => (
|
export const ThumbnailFromServer = () => (
|
||||||
<Message
|
<Message
|
||||||
msg='this is a thumbnail'
|
msg='this is a thumbnail'
|
||||||
attachments={[
|
attachments={[
|
||||||
|
@ -869,9 +864,9 @@ stories.add('Thumbnail from server', () => (
|
||||||
}
|
}
|
||||||
]}
|
]}
|
||||||
/>
|
/>
|
||||||
));
|
);
|
||||||
|
|
||||||
stories.add('Long Name user', () => (
|
export const LongNameUser = () => (
|
||||||
<>
|
<>
|
||||||
<Message msg={'this is a normal message'} author={longNameAuthor} />
|
<Message msg={'this is a normal message'} author={longNameAuthor} />
|
||||||
<Message msg={'Edited message'} author={longNameAuthor} isEdited />
|
<Message msg={'Edited message'} author={longNameAuthor} isEdited />
|
||||||
|
@ -911,4 +906,4 @@ stories.add('Long Name user', () => (
|
||||||
read
|
read
|
||||||
/>
|
/>
|
||||||
</>
|
</>
|
||||||
));
|
);
|
|
@ -1,4 +1,4 @@
|
||||||
import AsyncStorage from '@react-native-community/async-storage';
|
import AsyncStorage from '@react-native-async-storage/async-storage';
|
||||||
|
|
||||||
import { ANALYTICS_EVENTS_KEY, CRASH_REPORT_KEY } from '../constants';
|
import { ANALYTICS_EVENTS_KEY, CRASH_REPORT_KEY } from '../constants';
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
import * as LocalAuthentication from 'expo-local-authentication';
|
import * as LocalAuthentication from 'expo-local-authentication';
|
||||||
import RNBootSplash from 'react-native-bootsplash';
|
import RNBootSplash from 'react-native-bootsplash';
|
||||||
import AsyncStorage from '@react-native-community/async-storage';
|
import AsyncStorage from '@react-native-async-storage/async-storage';
|
||||||
import { sha256 } from 'js-sha256';
|
import { sha256 } from 'js-sha256';
|
||||||
import moment from 'moment';
|
import moment from 'moment';
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
import { Alert, Linking } from 'react-native';
|
import { Alert, Linking } from 'react-native';
|
||||||
import AsyncStorage from '@react-native-community/async-storage';
|
import AsyncStorage from '@react-native-async-storage/async-storage';
|
||||||
|
|
||||||
import I18n from '../../../i18n';
|
import I18n from '../../../i18n';
|
||||||
import { isFDroidBuild, STORE_REVIEW_LINK } from '../../constants';
|
import { isFDroidBuild, STORE_REVIEW_LINK } from '../../constants';
|
||||||
|
|
|
@ -1,10 +1,10 @@
|
||||||
/* eslint-disable import/no-extraneous-dependencies */
|
|
||||||
import React from 'react';
|
import React from 'react';
|
||||||
import { storiesOf } from '@storybook/react-native';
|
|
||||||
|
|
||||||
import CannedResponseItem from './CannedResponseItem';
|
import CannedResponseItem from './CannedResponseItem';
|
||||||
|
|
||||||
const stories = storiesOf('CannedResponseItem', module);
|
export default {
|
||||||
|
title: 'CannedResponseItem'
|
||||||
|
};
|
||||||
|
|
||||||
const item = [
|
const item = [
|
||||||
{
|
{
|
||||||
|
@ -40,7 +40,7 @@ const item = [
|
||||||
|
|
||||||
const theme = 'light';
|
const theme = 'light';
|
||||||
|
|
||||||
stories.add('Itens', () => (
|
export const Itens = () => (
|
||||||
<>
|
<>
|
||||||
<CannedResponseItem
|
<CannedResponseItem
|
||||||
theme={theme}
|
theme={theme}
|
||||||
|
@ -61,4 +61,4 @@ stories.add('Itens', () => (
|
||||||
onPressUse={() => alert('Back to RoomView and wrote in MessageBox')}
|
onPressUse={() => alert('Back to RoomView and wrote in MessageBox')}
|
||||||
/>
|
/>
|
||||||
</>
|
</>
|
||||||
));
|
);
|
|
@ -15,7 +15,7 @@ interface ICannedResponseItem {
|
||||||
scope: string;
|
scope: string;
|
||||||
onPressUse: () => void;
|
onPressUse: () => void;
|
||||||
text: string;
|
text: string;
|
||||||
tags: string[];
|
tags?: string[];
|
||||||
}
|
}
|
||||||
|
|
||||||
const CannedResponseItem = ({
|
const CannedResponseItem = ({
|
||||||
|
@ -25,7 +25,7 @@ const CannedResponseItem = ({
|
||||||
scope,
|
scope,
|
||||||
onPressUse = () => {},
|
onPressUse = () => {},
|
||||||
text,
|
text,
|
||||||
tags
|
tags = []
|
||||||
}: ICannedResponseItem): JSX.Element => (
|
}: ICannedResponseItem): JSX.Element => (
|
||||||
<Touchable onPress={onPressDetail} style={[styles.wrapCannedItem, { backgroundColor: themes[theme].messageboxBackground }]}>
|
<Touchable onPress={onPressDetail} style={[styles.wrapCannedItem, { backgroundColor: themes[theme].messageboxBackground }]}>
|
||||||
<>
|
<>
|
||||||
|
|
|
@ -1,21 +1,16 @@
|
||||||
/* eslint-disable import/no-extraneous-dependencies, import/no-unresolved, import/extensions, react/prop-types */
|
|
||||||
import React from 'react';
|
import React from 'react';
|
||||||
import { storiesOf } from '@storybook/react-native';
|
|
||||||
import { ScrollView } from 'react-native';
|
import { ScrollView } from 'react-native';
|
||||||
import { Provider } from 'react-redux';
|
|
||||||
|
|
||||||
import * as List from '../../containers/List';
|
import * as List from '../../containers/List';
|
||||||
import { themes, colors } from '../../lib/constants';
|
import { colors } from '../../lib/constants';
|
||||||
import { ThemeContext } from '../../theme';
|
import { ThemeContext, TSupportedThemes } from '../../theme';
|
||||||
import { store } from '../../../storybook/stories';
|
import Item, { IItem } from './Item';
|
||||||
import Item from './Item';
|
|
||||||
|
|
||||||
const author = {
|
const author = {
|
||||||
_id: 'userid',
|
_id: 'userid',
|
||||||
username: 'rocket.cat',
|
username: 'rocket.cat',
|
||||||
name: 'Rocket Cat'
|
name: 'Rocket Cat'
|
||||||
};
|
};
|
||||||
const baseUrl = 'https://open.rocket.chat';
|
|
||||||
const date = new Date(2020, 10, 10, 10);
|
const date = new Date(2020, 10, 10, 10);
|
||||||
const longText =
|
const longText =
|
||||||
'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.';
|
'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.';
|
||||||
|
@ -27,33 +22,32 @@ const defaultItem = {
|
||||||
tlm: date,
|
tlm: date,
|
||||||
u: author,
|
u: author,
|
||||||
attachments: []
|
attachments: []
|
||||||
|
} as unknown as IItem['item'];
|
||||||
|
|
||||||
|
export default {
|
||||||
|
title: 'DiscussionsView/Item',
|
||||||
|
decorators: [
|
||||||
|
(Story: any) => (
|
||||||
|
<ScrollView>
|
||||||
|
<List.Separator />
|
||||||
|
<Story />
|
||||||
|
<List.Separator />
|
||||||
|
</ScrollView>
|
||||||
|
)
|
||||||
|
]
|
||||||
};
|
};
|
||||||
|
|
||||||
const BaseItem = ({ item, ...props }) => (
|
const BaseItem = ({ item }: { item?: Partial<IItem['item']> }) => (
|
||||||
<Item
|
<Item
|
||||||
baseUrl={baseUrl}
|
|
||||||
item={{
|
item={{
|
||||||
...defaultItem,
|
...defaultItem,
|
||||||
...item
|
...item
|
||||||
}}
|
}}
|
||||||
onPress={() => alert('pressed')}
|
onPress={() => alert('pressed')}
|
||||||
{...props}
|
|
||||||
/>
|
/>
|
||||||
);
|
);
|
||||||
|
|
||||||
const listDecorator = story => (
|
export const Content = () => (
|
||||||
<ScrollView>
|
|
||||||
<List.Separator />
|
|
||||||
{story()}
|
|
||||||
<List.Separator />
|
|
||||||
</ScrollView>
|
|
||||||
);
|
|
||||||
|
|
||||||
const stories = storiesOf('Discussions.Item', module)
|
|
||||||
.addDecorator(listDecorator)
|
|
||||||
.addDecorator(story => <Provider store={store}>{story()}</Provider>);
|
|
||||||
|
|
||||||
stories.add('content', () => (
|
|
||||||
<>
|
<>
|
||||||
<BaseItem />
|
<BaseItem />
|
||||||
<List.Separator />
|
<List.Separator />
|
||||||
|
@ -65,8 +59,7 @@ stories.add('content', () => (
|
||||||
<List.Separator />
|
<List.Separator />
|
||||||
<BaseItem
|
<BaseItem
|
||||||
item={{
|
item={{
|
||||||
dcount: 1000,
|
dcount: 1000
|
||||||
replies: [...new Array(1000)]
|
|
||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
<List.Separator />
|
<List.Separator />
|
||||||
|
@ -77,20 +70,21 @@ stories.add('content', () => (
|
||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
<List.Separator />
|
<List.Separator />
|
||||||
|
{/* @ts-ignore: FIXME: useRealName is not working */}
|
||||||
<BaseItem useRealName />
|
<BaseItem useRealName />
|
||||||
</>
|
</>
|
||||||
));
|
);
|
||||||
|
|
||||||
const ThemeStory = ({ theme }) => (
|
const ThemeStory = ({ theme }: { theme: TSupportedThemes }) => (
|
||||||
<ThemeContext.Provider value={{ theme, colors: colors[theme] }}>
|
<ThemeContext.Provider value={{ theme, colors: colors[theme] }}>
|
||||||
<BaseItem badgeColor={themes[theme].mentionMeColor} />
|
<BaseItem />
|
||||||
</ThemeContext.Provider>
|
</ThemeContext.Provider>
|
||||||
);
|
);
|
||||||
|
|
||||||
stories.add('themes', () => (
|
export const Themes = () => (
|
||||||
<>
|
<>
|
||||||
<ThemeStory theme='light' />
|
<ThemeStory theme='light' />
|
||||||
<ThemeStory theme='dark' />
|
<ThemeStory theme='dark' />
|
||||||
<ThemeStory theme='black' />
|
<ThemeStory theme='black' />
|
||||||
</>
|
</>
|
||||||
));
|
);
|
|
@ -46,12 +46,9 @@ const styles = StyleSheet.create({
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
interface IItem {
|
export interface IItem {
|
||||||
item: IMessageFromServer;
|
item: IMessageFromServer;
|
||||||
onPress: {
|
onPress: Function;
|
||||||
(...args: any[]): void;
|
|
||||||
stop(): void;
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|
||||||
const Item = ({ item, onPress }: IItem): React.ReactElement => {
|
const Item = ({ item, onPress }: IItem): React.ReactElement => {
|
||||||
|
|
File diff suppressed because one or more lines are too long
|
@ -1,56 +0,0 @@
|
||||||
/* eslint-disable import/no-extraneous-dependencies, import/no-unresolved, import/extensions, react/prop-types, react/destructuring-assignment */
|
|
||||||
import React from 'react';
|
|
||||||
import { ScrollView } from 'react-native';
|
|
||||||
import { storiesOf } from '@storybook/react-native';
|
|
||||||
|
|
||||||
import { longText } from '../../../../storybook/utils';
|
|
||||||
import { ThemeContext } from '../../../theme';
|
|
||||||
import { Message, MessageDecorator, StoryProvider } from '../../../../storybook/stories/Message';
|
|
||||||
import { MessageTypeLoad, themes } from '../../../lib/constants';
|
|
||||||
import LoadMore from './index';
|
|
||||||
|
|
||||||
const stories = storiesOf('LoadMore', module);
|
|
||||||
|
|
||||||
// FIXME: for some reason, this promise never resolves on Storybook (it works on the app, so maybe the issue isn't on the component)
|
|
||||||
const load = () => new Promise(res => setTimeout(res, 1000));
|
|
||||||
|
|
||||||
stories.add('basic', () => (
|
|
||||||
<>
|
|
||||||
<LoadMore load={load} />
|
|
||||||
<LoadMore load={load} runOnRender />
|
|
||||||
<LoadMore load={load} type={MessageTypeLoad.PREVIOUS_CHUNK} />
|
|
||||||
<LoadMore load={load} type={MessageTypeLoad.NEXT_CHUNK} />
|
|
||||||
</>
|
|
||||||
));
|
|
||||||
|
|
||||||
const ThemeStory = ({ theme }) => (
|
|
||||||
<ThemeContext.Provider value={{ theme, colors: themes[theme] }}>
|
|
||||||
<ScrollView style={{ backgroundColor: themes[theme].backgroundColor }}>
|
|
||||||
<LoadMore load={load} type={MessageTypeLoad.PREVIOUS_CHUNK} />
|
|
||||||
<Message msg='Hey!' theme={theme} />
|
|
||||||
<Message msg={longText} theme={theme} isHeader={false} />
|
|
||||||
<Message msg='Older message' theme={theme} isHeader={false} />
|
|
||||||
<LoadMore load={load} type={MessageTypeLoad.NEXT_CHUNK} />
|
|
||||||
<LoadMore load={load} type={MessageTypeLoad.MORE} />
|
|
||||||
<Message msg={longText} theme={theme} />
|
|
||||||
<Message msg='This is the third message' isHeader={false} theme={theme} />
|
|
||||||
<Message msg='This is the second message' isHeader={false} theme={theme} />
|
|
||||||
<Message msg='This is the first message' theme={theme} />
|
|
||||||
</ScrollView>
|
|
||||||
</ThemeContext.Provider>
|
|
||||||
);
|
|
||||||
|
|
||||||
stories
|
|
||||||
.addDecorator(StoryProvider)
|
|
||||||
.addDecorator(MessageDecorator)
|
|
||||||
.add('light theme', () => <ThemeStory theme='light' />);
|
|
||||||
|
|
||||||
stories
|
|
||||||
.addDecorator(StoryProvider)
|
|
||||||
.addDecorator(MessageDecorator)
|
|
||||||
.add('dark theme', () => <ThemeStory theme='dark' />);
|
|
||||||
|
|
||||||
stories
|
|
||||||
.addDecorator(StoryProvider)
|
|
||||||
.addDecorator(MessageDecorator)
|
|
||||||
.add('black theme', () => <ThemeStory theme='black' />);
|
|
|
@ -0,0 +1,48 @@
|
||||||
|
import React from 'react';
|
||||||
|
import { ScrollView } from 'react-native';
|
||||||
|
|
||||||
|
import { longText } from '../../../../.storybook/utils';
|
||||||
|
import { ThemeContext, TSupportedThemes } from '../../../theme';
|
||||||
|
import { Message } from '../../../containers/message/Message.stories';
|
||||||
|
import { MessageTypeLoad, themes } from '../../../lib/constants';
|
||||||
|
import LoadMoreComponent from '.';
|
||||||
|
|
||||||
|
export default {
|
||||||
|
title: 'RoomView/LoadMore'
|
||||||
|
};
|
||||||
|
|
||||||
|
const load = () => new Promise(res => setTimeout(res, 1000));
|
||||||
|
|
||||||
|
const LoadMore = ({ ...props }) => <LoadMoreComponent type={MessageTypeLoad.MORE} load={load} runOnRender={false} {...props} />;
|
||||||
|
|
||||||
|
export const Basic = () => (
|
||||||
|
<>
|
||||||
|
<LoadMore />
|
||||||
|
<LoadMore runOnRender />
|
||||||
|
<LoadMore type={MessageTypeLoad.PREVIOUS_CHUNK} />
|
||||||
|
<LoadMore type={MessageTypeLoad.NEXT_CHUNK} />
|
||||||
|
</>
|
||||||
|
);
|
||||||
|
|
||||||
|
const ThemeStory = ({ theme }: { theme: TSupportedThemes }) => (
|
||||||
|
<ThemeContext.Provider value={{ theme, colors: themes[theme] }}>
|
||||||
|
<ScrollView style={{ backgroundColor: themes[theme].backgroundColor }}>
|
||||||
|
<LoadMore type={MessageTypeLoad.PREVIOUS_CHUNK} />
|
||||||
|
<Message msg='Hey!' theme={theme} />
|
||||||
|
<Message msg={longText} theme={theme} isHeader={false} />
|
||||||
|
<Message msg='Older message' theme={theme} isHeader={false} />
|
||||||
|
<LoadMore type={MessageTypeLoad.NEXT_CHUNK} />
|
||||||
|
<LoadMore type={MessageTypeLoad.MORE} />
|
||||||
|
<Message msg={longText} theme={theme} />
|
||||||
|
<Message msg='This is the third message' isHeader={false} theme={theme} />
|
||||||
|
<Message msg='This is the second message' isHeader={false} theme={theme} />
|
||||||
|
<Message msg='This is the first message' theme={theme} />
|
||||||
|
</ScrollView>
|
||||||
|
</ThemeContext.Provider>
|
||||||
|
);
|
||||||
|
|
||||||
|
export const LightTheme = () => <ThemeStory theme='light' />;
|
||||||
|
|
||||||
|
export const DarkTheme = () => <ThemeStory theme='dark' />;
|
||||||
|
|
||||||
|
export const BlackTheme = () => <ThemeStory theme='black' />;
|
File diff suppressed because one or more lines are too long
|
@ -1,4 +1,4 @@
|
||||||
import AsyncStorage from '@react-native-community/async-storage';
|
import AsyncStorage from '@react-native-async-storage/async-storage';
|
||||||
import { StackNavigationProp } from '@react-navigation/stack';
|
import { StackNavigationProp } from '@react-navigation/stack';
|
||||||
import React, { useEffect, useState } from 'react';
|
import React, { useEffect, useState } from 'react';
|
||||||
import { Switch } from 'react-native';
|
import { Switch } from 'react-native';
|
||||||
|
|
|
@ -1,21 +1,16 @@
|
||||||
/* eslint-disable import/no-extraneous-dependencies, import/no-unresolved, import/extensions, react/prop-types */
|
|
||||||
import React from 'react';
|
import React from 'react';
|
||||||
import { storiesOf } from '@storybook/react-native';
|
|
||||||
import { ScrollView } from 'react-native';
|
import { ScrollView } from 'react-native';
|
||||||
import { Provider } from 'react-redux';
|
|
||||||
|
|
||||||
import * as List from '../../containers/List';
|
import * as List from '../../containers/List';
|
||||||
import { themes } from '../../lib/constants';
|
import { themes } from '../../lib/constants';
|
||||||
import { ThemeContext } from '../../theme';
|
import { ThemeContext, TSupportedThemes } from '../../theme';
|
||||||
import { store } from '../../../storybook/stories';
|
import Item, { IItem } from './Item';
|
||||||
import Item from './Item';
|
|
||||||
|
|
||||||
const author = {
|
const author = {
|
||||||
_id: 'userid',
|
_id: 'userid',
|
||||||
username: 'rocket.cat',
|
username: 'rocket.cat',
|
||||||
name: 'Rocket Cat'
|
name: 'Rocket Cat'
|
||||||
};
|
};
|
||||||
const baseUrl = 'https://open.rocket.chat';
|
|
||||||
const date = new Date(2020, 10, 10, 10);
|
const date = new Date(2020, 10, 10, 10);
|
||||||
const longText =
|
const longText =
|
||||||
'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.';
|
'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.';
|
||||||
|
@ -29,31 +24,42 @@ const defaultItem = {
|
||||||
attachments: []
|
attachments: []
|
||||||
};
|
};
|
||||||
|
|
||||||
const BaseItem = ({ item, ...props }) => (
|
export default {
|
||||||
|
title: 'ThreadMessagesView/Item',
|
||||||
|
decorators: [
|
||||||
|
(Story: any) => (
|
||||||
|
<ScrollView>
|
||||||
|
<List.Separator />
|
||||||
|
<Story />
|
||||||
|
<List.Separator />
|
||||||
|
</ScrollView>
|
||||||
|
)
|
||||||
|
]
|
||||||
|
};
|
||||||
|
|
||||||
|
const BaseItem = ({
|
||||||
|
item,
|
||||||
|
useRealName = false,
|
||||||
|
badgeColor
|
||||||
|
}: {
|
||||||
|
item?: any;
|
||||||
|
useRealName?: IItem['useRealName'];
|
||||||
|
badgeColor?: IItem['badgeColor'];
|
||||||
|
}) => (
|
||||||
<Item
|
<Item
|
||||||
baseUrl={baseUrl}
|
|
||||||
item={{
|
item={{
|
||||||
...defaultItem,
|
...defaultItem,
|
||||||
...item
|
...item
|
||||||
}}
|
}}
|
||||||
|
useRealName={useRealName}
|
||||||
|
badgeColor={badgeColor}
|
||||||
|
user={{ id: 'abc' }}
|
||||||
|
toggleFollowThread={() => alert('toggleFollowThread')}
|
||||||
onPress={() => alert('pressed')}
|
onPress={() => alert('pressed')}
|
||||||
{...props}
|
|
||||||
/>
|
/>
|
||||||
);
|
);
|
||||||
|
|
||||||
const listDecorator = story => (
|
export const Content = () => (
|
||||||
<ScrollView>
|
|
||||||
<List.Separator />
|
|
||||||
{story()}
|
|
||||||
<List.Separator />
|
|
||||||
</ScrollView>
|
|
||||||
);
|
|
||||||
|
|
||||||
const stories = storiesOf('Thread Messages.Item', module)
|
|
||||||
.addDecorator(listDecorator)
|
|
||||||
.addDecorator(story => <Provider store={store}>{story()}</Provider>);
|
|
||||||
|
|
||||||
stories.add('content', () => (
|
|
||||||
<>
|
<>
|
||||||
<BaseItem />
|
<BaseItem />
|
||||||
<List.Separator />
|
<List.Separator />
|
||||||
|
@ -79,9 +85,9 @@ stories.add('content', () => (
|
||||||
<List.Separator />
|
<List.Separator />
|
||||||
<BaseItem useRealName />
|
<BaseItem useRealName />
|
||||||
</>
|
</>
|
||||||
));
|
);
|
||||||
|
|
||||||
stories.add('badge', () => (
|
export const Badge = () => (
|
||||||
<>
|
<>
|
||||||
<BaseItem badgeColor={themes.light.mentionMeColor} />
|
<BaseItem badgeColor={themes.light.mentionMeColor} />
|
||||||
<List.Separator />
|
<List.Separator />
|
||||||
|
@ -95,18 +101,18 @@ stories.add('badge', () => (
|
||||||
badgeColor={themes.light.tunreadColor}
|
badgeColor={themes.light.tunreadColor}
|
||||||
/>
|
/>
|
||||||
</>
|
</>
|
||||||
));
|
);
|
||||||
|
|
||||||
const ThemeStory = ({ theme }) => (
|
const ThemeStory = ({ theme }: { theme: TSupportedThemes }) => (
|
||||||
<ThemeContext.Provider value={{ theme }}>
|
<ThemeContext.Provider value={{ theme, colors: themes[theme] }}>
|
||||||
<BaseItem badgeColor={themes[theme].mentionMeColor} />
|
<BaseItem badgeColor={themes[theme].mentionMeColor} />
|
||||||
</ThemeContext.Provider>
|
</ThemeContext.Provider>
|
||||||
);
|
);
|
||||||
|
|
||||||
stories.add('themes', () => (
|
export const Themes = () => (
|
||||||
<>
|
<>
|
||||||
<ThemeStory theme='light' />
|
<ThemeStory theme='light' />
|
||||||
<ThemeStory theme='dark' />
|
<ThemeStory theme='dark' />
|
||||||
<ThemeStory theme='black' />
|
<ThemeStory theme='black' />
|
||||||
</>
|
</>
|
||||||
));
|
);
|
|
@ -56,7 +56,7 @@ const styles = StyleSheet.create({
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
interface IItem {
|
export interface IItem {
|
||||||
item: TThreadModel;
|
item: TThreadModel;
|
||||||
useRealName: boolean;
|
useRealName: boolean;
|
||||||
user: { id: string };
|
user: { id: string };
|
||||||
|
|
File diff suppressed because one or more lines are too long
9
index.js
9
index.js
|
@ -22,4 +22,11 @@ AppRegistry.registerComponent(appName, () => require('./app/index').default);
|
||||||
AppRegistry.registerComponent(shareName, () => require('./app/share').default);
|
AppRegistry.registerComponent(shareName, () => require('./app/share').default);
|
||||||
|
|
||||||
// For storybook, comment everything above and uncomment below
|
// For storybook, comment everything above and uncomment below
|
||||||
// import './storybook';
|
// import 'react-native-gesture-handler';
|
||||||
|
// import 'react-native-console-time-polyfill';
|
||||||
|
// import { AppRegistry } from 'react-native';
|
||||||
|
// import { name as appName } from './app.json';
|
||||||
|
|
||||||
|
// require('./app/ReactotronConfig');
|
||||||
|
|
||||||
|
// AppRegistry.registerComponent(appName, () => require('./.storybook/index').default);
|
||||||
|
|
|
@ -489,7 +489,7 @@ PODS:
|
||||||
- React-Core
|
- React-Core
|
||||||
- RNBootSplash (3.2.4):
|
- RNBootSplash (3.2.4):
|
||||||
- React-Core
|
- React-Core
|
||||||
- RNCAsyncStorage (1.12.1):
|
- RNCAsyncStorage (1.17.9):
|
||||||
- React-Core
|
- React-Core
|
||||||
- RNCClipboard (1.8.5):
|
- RNCClipboard (1.8.5):
|
||||||
- React-Core
|
- React-Core
|
||||||
|
@ -653,7 +653,7 @@ DEPENDENCIES:
|
||||||
- rn-extensions-share (from `../node_modules/rn-extensions-share`)
|
- rn-extensions-share (from `../node_modules/rn-extensions-share`)
|
||||||
- rn-fetch-blob (from `../node_modules/rn-fetch-blob`)
|
- rn-fetch-blob (from `../node_modules/rn-fetch-blob`)
|
||||||
- RNBootSplash (from `../node_modules/react-native-bootsplash`)
|
- RNBootSplash (from `../node_modules/react-native-bootsplash`)
|
||||||
- "RNCAsyncStorage (from `../node_modules/@react-native-community/async-storage`)"
|
- "RNCAsyncStorage (from `../node_modules/@react-native-async-storage/async-storage`)"
|
||||||
- "RNCClipboard (from `../node_modules/@react-native-clipboard/clipboard`)"
|
- "RNCClipboard (from `../node_modules/@react-native-clipboard/clipboard`)"
|
||||||
- "RNCMaskedView (from `../node_modules/@react-native-community/masked-view`)"
|
- "RNCMaskedView (from `../node_modules/@react-native-community/masked-view`)"
|
||||||
- RNConfigReader (from `../node_modules/react-native-config-reader`)
|
- RNConfigReader (from `../node_modules/react-native-config-reader`)
|
||||||
|
@ -833,7 +833,7 @@ EXTERNAL SOURCES:
|
||||||
RNBootSplash:
|
RNBootSplash:
|
||||||
:path: "../node_modules/react-native-bootsplash"
|
:path: "../node_modules/react-native-bootsplash"
|
||||||
RNCAsyncStorage:
|
RNCAsyncStorage:
|
||||||
:path: "../node_modules/@react-native-community/async-storage"
|
:path: "../node_modules/@react-native-async-storage/async-storage"
|
||||||
RNCClipboard:
|
RNCClipboard:
|
||||||
:path: "../node_modules/@react-native-clipboard/clipboard"
|
:path: "../node_modules/@react-native-clipboard/clipboard"
|
||||||
RNCMaskedView:
|
RNCMaskedView:
|
||||||
|
@ -970,7 +970,7 @@ SPEC CHECKSUMS:
|
||||||
rn-extensions-share: 5fd84a80e6594706f0dfa1884f2d6d591b382cf5
|
rn-extensions-share: 5fd84a80e6594706f0dfa1884f2d6d591b382cf5
|
||||||
rn-fetch-blob: f065bb7ab7fb48dd002629f8bdcb0336602d3cba
|
rn-fetch-blob: f065bb7ab7fb48dd002629f8bdcb0336602d3cba
|
||||||
RNBootSplash: 4844706cbb56a3270556c9b94e59dedadccd47e4
|
RNBootSplash: 4844706cbb56a3270556c9b94e59dedadccd47e4
|
||||||
RNCAsyncStorage: b03032fdbdb725bea0bd9e5ec5a7272865ae7398
|
RNCAsyncStorage: b2489b49e38c85e10ed45a888d13a2a4c7b32ea1
|
||||||
RNCClipboard: cc054ad1e8a33d2a74cd13e565588b4ca928d8fd
|
RNCClipboard: cc054ad1e8a33d2a74cd13e565588b4ca928d8fd
|
||||||
RNCMaskedView: 0e1bc4bfa8365eba5fbbb71e07fbdc0555249489
|
RNCMaskedView: 0e1bc4bfa8365eba5fbbb71e07fbdc0555249489
|
||||||
RNConfigReader: 396da6a6444182a76e8ae0930b9436c7575045cb
|
RNConfigReader: 396da6a6444182a76e8ae0930b9436c7575045cb
|
||||||
|
|
|
@ -1,9 +1,10 @@
|
||||||
import mockClipboard from '@react-native-clipboard/clipboard/jest/clipboard-mock.js';
|
import mockClipboard from '@react-native-clipboard/clipboard/jest/clipboard-mock.js';
|
||||||
import mockAsyncStorage from '@react-native-community/async-storage/jest/async-storage-mock';
|
import mockAsyncStorage from '@react-native-async-storage/async-storage/jest/async-storage-mock';
|
||||||
|
|
||||||
jest.mock('@react-native-community/async-storage', () => mockAsyncStorage);
|
jest.mock('@react-native-async-storage/async-storage', () => mockAsyncStorage);
|
||||||
|
|
||||||
require('react-native-reanimated/lib/reanimated2/jestUtils').setUpTests();
|
global.__reanimatedWorkletInit = () => {};
|
||||||
|
jest.mock('react-native-reanimated', () => require('react-native-reanimated/mock'));
|
||||||
|
|
||||||
jest.mock('@react-native-clipboard/clipboard', () => mockClipboard);
|
jest.mock('@react-native-clipboard/clipboard', () => mockClipboard);
|
||||||
|
|
||||||
|
|
|
@ -19,6 +19,7 @@ module.exports = {
|
||||||
},
|
},
|
||||||
maxWorkers: 2,
|
maxWorkers: 2,
|
||||||
resolver: {
|
resolver: {
|
||||||
blocklistRE: blocklist([/ios\/Pods\/JitsiMeetSDK\/Frameworks\/JitsiMeet.framework\/assets\/node_modules\/react-native\/.*/])
|
blocklistRE: blocklist([/ios\/Pods\/JitsiMeetSDK\/Frameworks\/JitsiMeet.framework\/assets\/node_modules\/react-native\/.*/]),
|
||||||
|
resolverMainFields: ['sbmodern', 'react-native', 'browser', 'main']
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"start": "react-native start",
|
"start": "react-native start",
|
||||||
"test": "jest",
|
"test": "jest",
|
||||||
"test-update": "jest --updateSnapshot",
|
"test-update": "sb-rn-get-stories && jest --updateSnapshot",
|
||||||
"lint": "eslint . && tsc",
|
"lint": "eslint . && tsc",
|
||||||
"prettier-lint": "prettier --write . && yarn lint",
|
"prettier-lint": "prettier --write . && yarn lint",
|
||||||
"ci": "npm run precommit && codecov",
|
"ci": "npm run precommit && codecov",
|
||||||
|
@ -32,9 +32,9 @@
|
||||||
"@codler/react-native-keyboard-aware-scroll-view": "^2.0.1",
|
"@codler/react-native-keyboard-aware-scroll-view": "^2.0.1",
|
||||||
"@gorhom/bottom-sheet": "^4.3.1",
|
"@gorhom/bottom-sheet": "^4.3.1",
|
||||||
"@nozbe/watermelondb": "0.23.0",
|
"@nozbe/watermelondb": "0.23.0",
|
||||||
|
"@react-native-async-storage/async-storage": "^1.17.9",
|
||||||
"@react-native-clipboard/clipboard": "^1.8.5",
|
"@react-native-clipboard/clipboard": "^1.8.5",
|
||||||
"@react-native-community/art": "^1.2.0",
|
"@react-native-community/art": "^1.2.0",
|
||||||
"@react-native-community/async-storage": "1.12.1",
|
|
||||||
"@react-native-community/blur": "^4.1.0",
|
"@react-native-community/blur": "^4.1.0",
|
||||||
"@react-native-community/cameraroll": "4.1.2",
|
"@react-native-community/cameraroll": "4.1.2",
|
||||||
"@react-native-community/datetimepicker": "3.5.2",
|
"@react-native-community/datetimepicker": "3.5.2",
|
||||||
|
@ -151,8 +151,9 @@
|
||||||
"@babel/runtime": "^7.12.5",
|
"@babel/runtime": "^7.12.5",
|
||||||
"@bugsnag/source-maps": "^2.2.0",
|
"@bugsnag/source-maps": "^2.2.0",
|
||||||
"@rocket.chat/eslint-config": "^0.4.0",
|
"@rocket.chat/eslint-config": "^0.4.0",
|
||||||
"@storybook/addon-storyshots": "5.3.21",
|
"@storybook/addon-storyshots": "6.3",
|
||||||
"@storybook/react-native": "5.3.25",
|
"@storybook/react": "6.3",
|
||||||
|
"@storybook/react-native": "^6.0.1-beta.7",
|
||||||
"@testing-library/jest-native": "^4.0.4",
|
"@testing-library/jest-native": "^4.0.4",
|
||||||
"@testing-library/react-hooks": "^8.0.1",
|
"@testing-library/react-hooks": "^8.0.1",
|
||||||
"@testing-library/react-native": "^9.0.0",
|
"@testing-library/react-native": "^9.0.0",
|
||||||
|
|
|
@ -1,17 +0,0 @@
|
||||||
diff --git a/node_modules/@storybook/addon-storyshots/dist/frameworks/react-native/loader.js b/node_modules/@storybook/addon-storyshots/dist/frameworks/react-native/loader.js
|
|
||||||
index eab3d1d..99f8613 100644
|
|
||||||
--- a/node_modules/@storybook/addon-storyshots/dist/frameworks/react-native/loader.js
|
|
||||||
+++ b/node_modules/@storybook/addon-storyshots/dist/frameworks/react-native/loader.js
|
|
||||||
@@ -17,10 +17,10 @@ function configure(options, storybook) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
var resolvedConfigPath = path_1.default.resolve(configPath);
|
|
||||||
- require.requireActual(resolvedConfigPath);
|
|
||||||
+ jest.requireActual(resolvedConfigPath);
|
|
||||||
}
|
|
||||||
function load(options) {
|
|
||||||
- var storybook = require.requireActual('@storybook/react-native');
|
|
||||||
+ var storybook = jest.requireActual('@storybook/react-native');
|
|
||||||
configure(options, storybook);
|
|
||||||
return {
|
|
||||||
renderTree: require('../react/renderTree').default,
|
|
|
@ -1,32 +0,0 @@
|
||||||
import React from 'react';
|
|
||||||
import { NavigationContainer } from '@react-navigation/native';
|
|
||||||
import { createStackNavigator } from '@react-navigation/stack';
|
|
||||||
|
|
||||||
import { themes } from '../app/lib/constants';
|
|
||||||
|
|
||||||
/**
|
|
||||||
* https://davidl.fr/blog/react-navigation-object-storybook
|
|
||||||
* Helper component tor create a Dummy Stack to access {navigation} object on *.story.tsx files
|
|
||||||
*
|
|
||||||
* @usage add this decorator
|
|
||||||
* ```
|
|
||||||
* .addDecorator(NavigationDecorator)
|
|
||||||
* ```
|
|
||||||
*/
|
|
||||||
|
|
||||||
const StoryBookStack = createStackNavigator();
|
|
||||||
|
|
||||||
export const NavigationDecorator = (story: any) => {
|
|
||||||
const Screen = () => story();
|
|
||||||
return (
|
|
||||||
<NavigationContainer independent={true}>
|
|
||||||
<StoryBookStack.Navigator>
|
|
||||||
<StoryBookStack.Screen
|
|
||||||
name='StorybookNavigator'
|
|
||||||
component={Screen}
|
|
||||||
options={{ header: () => null, cardStyle: { backgroundColor: themes.light.backgroundColor } }}
|
|
||||||
/>
|
|
||||||
</StoryBookStack.Navigator>
|
|
||||||
</NavigationContainer>
|
|
||||||
);
|
|
||||||
};
|
|
|
@ -1,24 +0,0 @@
|
||||||
import { AppRegistry } from 'react-native';
|
|
||||||
import { getStorybookUI, configure } from '@storybook/react-native'; // eslint-disable-line
|
|
||||||
|
|
||||||
import RNBootSplash from 'react-native-bootsplash';
|
|
||||||
import 'react-native-gesture-handler';
|
|
||||||
|
|
||||||
RNBootSplash.hide();
|
|
||||||
|
|
||||||
// import stories
|
|
||||||
configure(() => {
|
|
||||||
require('./stories');
|
|
||||||
}, module);
|
|
||||||
|
|
||||||
// Refer to https://github.com/storybooks/storybook/tree/master/app/react-native#start-command-parameters
|
|
||||||
// To find allowed options for getStorybookUI
|
|
||||||
const StorybookUIRoot = getStorybookUI({
|
|
||||||
asyncStorage: null
|
|
||||||
});
|
|
||||||
|
|
||||||
// If you are using React Native vanilla and after installation you don't see your app name here, write it manually.
|
|
||||||
// If you use Expo you can safely remove this line.
|
|
||||||
AppRegistry.registerComponent('RocketChatRN', () => StorybookUIRoot);
|
|
||||||
|
|
||||||
export default StorybookUIRoot;
|
|
|
@ -1,73 +0,0 @@
|
||||||
/* eslint-disable import/no-extraneous-dependencies */
|
|
||||||
import React from 'react';
|
|
||||||
import { StyleSheet } from 'react-native';
|
|
||||||
import { storiesOf } from '@storybook/react-native';
|
|
||||||
|
|
||||||
import Avatar from '../../app/containers/Avatar/Avatar';
|
|
||||||
import Status from '../../app/containers/Status/Status';
|
|
||||||
import sharedStyles from '../../app/views/Styles';
|
|
||||||
|
|
||||||
const styles = StyleSheet.create({
|
|
||||||
custom: {
|
|
||||||
padding: 16
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
const server = 'https://open.rocket.chat';
|
|
||||||
|
|
||||||
const _theme = 'light';
|
|
||||||
|
|
||||||
const stories = storiesOf('Avatar', module);
|
|
||||||
|
|
||||||
stories.add('Avatar by text', () => <Avatar text='Avatar' server={server} size={56} />);
|
|
||||||
|
|
||||||
stories.add('Avatar by roomId', () => <Avatar type='p' rid='devWBbYr7inwupPqK' server={server} size={56} />);
|
|
||||||
|
|
||||||
stories.add('Avatar by url', () => (
|
|
||||||
<Avatar
|
|
||||||
avatar='https://user-images.githubusercontent.com/29778115/89444446-14738480-d728-11ea-9412-75fd978d95fb.jpg'
|
|
||||||
server={server}
|
|
||||||
size={56}
|
|
||||||
/>
|
|
||||||
));
|
|
||||||
|
|
||||||
stories.add('Avatar by path', () => <Avatar avatar='/avatar/diego.mello' server={server} size={56} />);
|
|
||||||
|
|
||||||
stories.add('With ETag', () => (
|
|
||||||
<Avatar type='d' text='djorkaeff.alexandre' avatarETag='5ag8KffJcZj9m5rCv' server={server} size={56} />
|
|
||||||
));
|
|
||||||
|
|
||||||
stories.add('Without ETag', () => <Avatar type='d' text='djorkaeff.alexandre' server={server} size={56} />);
|
|
||||||
|
|
||||||
stories.add('Emoji', () => (
|
|
||||||
<Avatar emoji='troll' getCustomEmoji={() => ({ name: 'troll', extension: 'jpg' })} server={server} size={56} />
|
|
||||||
));
|
|
||||||
|
|
||||||
stories.add('Direct', () => <Avatar text='diego.mello' server={server} type='d' size={56} />);
|
|
||||||
|
|
||||||
stories.add('Channel', () => <Avatar text='general' server={server} type='c' size={56} />);
|
|
||||||
|
|
||||||
stories.add('Touchable', () => <Avatar text='Avatar' server={server} onPress={() => console.log('Pressed!')} size={56} />);
|
|
||||||
|
|
||||||
stories.add('Static', () => (
|
|
||||||
<Avatar
|
|
||||||
avatar='https://user-images.githubusercontent.com/29778115/89444446-14738480-d728-11ea-9412-75fd978d95fb.jpg'
|
|
||||||
server={server}
|
|
||||||
isStatic
|
|
||||||
size={56}
|
|
||||||
/>
|
|
||||||
));
|
|
||||||
|
|
||||||
stories.add('Avatar by roomId', () => <Avatar type='p' rid='devWBbYr7inwupPqK' server={server} size={56} />);
|
|
||||||
|
|
||||||
stories.add('Custom borderRadius', () => <Avatar text='Avatar' server={server} borderRadius={28} size={56} />);
|
|
||||||
|
|
||||||
stories.add('Children', () => (
|
|
||||||
<Avatar text='Avatar' server={server} size={56}>
|
|
||||||
<Status size={24} style={[sharedStyles.status, styles.status]} theme={_theme} />
|
|
||||||
</Avatar>
|
|
||||||
));
|
|
||||||
|
|
||||||
stories.add('Wrong server', () => <Avatar text='Avatar' server='https://google.com' size={56} />);
|
|
||||||
|
|
||||||
stories.add('Custom style', () => <Avatar text='Avatar' server={server} size={56} style={styles.custom} />);
|
|
|
@ -1,67 +0,0 @@
|
||||||
import React from 'react';
|
|
||||||
import { storiesOf } from '@storybook/react-native';
|
|
||||||
|
|
||||||
import ServerItemComponent from '../../app/containers/ServerItem';
|
|
||||||
import { ThemeContext } from '../../app/theme';
|
|
||||||
|
|
||||||
const stories = storiesOf('ServerItem', module);
|
|
||||||
|
|
||||||
const themes = {
|
|
||||||
light: 'light',
|
|
||||||
dark: 'dark',
|
|
||||||
black: 'black'
|
|
||||||
};
|
|
||||||
|
|
||||||
const item = {
|
|
||||||
name: 'Rocket.Chat',
|
|
||||||
id: 'https://open.rocket.chat/',
|
|
||||||
iconURL: 'https://open.rocket.chat/images/logo/android-chrome-512x512.png'
|
|
||||||
};
|
|
||||||
|
|
||||||
const ServerItem = ({ theme = themes.light, ...props }) => (
|
|
||||||
<ThemeContext.Provider
|
|
||||||
value={{
|
|
||||||
theme,
|
|
||||||
themePreferences: {
|
|
||||||
currentTheme: theme,
|
|
||||||
darkLevel: theme
|
|
||||||
}
|
|
||||||
}}
|
|
||||||
>
|
|
||||||
<ServerItemComponent item={item} hasCheck={false} {...props} />
|
|
||||||
</ThemeContext.Provider>
|
|
||||||
);
|
|
||||||
|
|
||||||
stories.add('content', () => (
|
|
||||||
<>
|
|
||||||
<ServerItem hasCheck />
|
|
||||||
<ServerItem
|
|
||||||
item={{
|
|
||||||
...item,
|
|
||||||
name: 'Super Long Server Name in Rocket.Chat',
|
|
||||||
id: 'https://superlongservername.tologintoasuperlongservername/'
|
|
||||||
}}
|
|
||||||
/>
|
|
||||||
<ServerItem
|
|
||||||
item={{
|
|
||||||
id: 'https://stable.rocket.chat/'
|
|
||||||
}}
|
|
||||||
/>
|
|
||||||
</>
|
|
||||||
));
|
|
||||||
|
|
||||||
stories.add('touchable', () => (
|
|
||||||
<>
|
|
||||||
<ServerItem onLongPress={() => alert('Long Press')} onPress={() => alert('Press')} />
|
|
||||||
<ServerItem onPress={() => alert('Press')} />
|
|
||||||
<ServerItem onLongPress={() => alert('Long Press')} />
|
|
||||||
</>
|
|
||||||
));
|
|
||||||
|
|
||||||
stories.add('themes', () => (
|
|
||||||
<>
|
|
||||||
<ServerItem theme={themes.light} />
|
|
||||||
<ServerItem theme={themes.dark} />
|
|
||||||
<ServerItem theme={themes.black} />
|
|
||||||
</>
|
|
||||||
));
|
|
|
@ -1,11 +0,0 @@
|
||||||
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
|
||||||
|
|
||||||
exports[`Storyshots Header Buttons badge 1`] = `"{\\"type\\":\\"RNCSafeAreaProvider\\",\\"props\\":{\\"style\\":[{\\"flex\\":1},null]},\\"children\\":null}"`;
|
|
||||||
|
|
||||||
exports[`Storyshots Header Buttons common 1`] = `"{\\"type\\":\\"RNCSafeAreaProvider\\",\\"props\\":{\\"style\\":[{\\"flex\\":1},null]},\\"children\\":null}"`;
|
|
||||||
|
|
||||||
exports[`Storyshots Header Buttons icons 1`] = `"{\\"type\\":\\"RNCSafeAreaProvider\\",\\"props\\":{\\"style\\":[{\\"flex\\":1},null]},\\"children\\":null}"`;
|
|
||||||
|
|
||||||
exports[`Storyshots Header Buttons themes 1`] = `"{\\"type\\":\\"RNCSafeAreaProvider\\",\\"props\\":{\\"style\\":[{\\"flex\\":1},null]},\\"children\\":null}"`;
|
|
||||||
|
|
||||||
exports[`Storyshots Header Buttons title 1`] = `"{\\"type\\":\\"RNCSafeAreaProvider\\",\\"props\\":{\\"style\\":[{\\"flex\\":1},null]},\\"children\\":null}"`;
|
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
@ -1,25 +0,0 @@
|
||||||
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
|
||||||
|
|
||||||
exports[`Storyshots Room Item Alerts 1`] = `"{\\"type\\":\\"RCTScrollView\\",\\"props\\":{\\"style\\":{\\"backgroundColor\\":\\"#ffffff\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"RNCSafeAreaProvider\\",\\"props\\":{\\"style\\":[{\\"flex\\":1},null]},\\"children\\":null}]}]}"`;
|
|
||||||
|
|
||||||
exports[`Storyshots Room Item Basic 1`] = `"{\\"type\\":\\"RCTScrollView\\",\\"props\\":{\\"style\\":{\\"backgroundColor\\":\\"#ffffff\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"RNCSafeAreaProvider\\",\\"props\\":{\\"style\\":[{\\"flex\\":1},null]},\\"children\\":null}]}]}"`;
|
|
||||||
|
|
||||||
exports[`Storyshots Room Item Condensed Room Item 1`] = `"{\\"type\\":\\"RCTScrollView\\",\\"props\\":{\\"style\\":{\\"backgroundColor\\":\\"#ffffff\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"RNCSafeAreaProvider\\",\\"props\\":{\\"style\\":[{\\"flex\\":1},null]},\\"children\\":null}]}]}"`;
|
|
||||||
|
|
||||||
exports[`Storyshots Room Item Condensed Room Item without Avatar 1`] = `"{\\"type\\":\\"RCTScrollView\\",\\"props\\":{\\"style\\":{\\"backgroundColor\\":\\"#ffffff\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"RNCSafeAreaProvider\\",\\"props\\":{\\"style\\":[{\\"flex\\":1},null]},\\"children\\":null}]}]}"`;
|
|
||||||
|
|
||||||
exports[`Storyshots Room Item Expanded Room Item without Avatar 1`] = `"{\\"type\\":\\"RCTScrollView\\",\\"props\\":{\\"style\\":{\\"backgroundColor\\":\\"#ffffff\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"RNCSafeAreaProvider\\",\\"props\\":{\\"style\\":[{\\"flex\\":1},null]},\\"children\\":null}]}]}"`;
|
|
||||||
|
|
||||||
exports[`Storyshots Room Item Last Message 1`] = `"{\\"type\\":\\"RCTScrollView\\",\\"props\\":{\\"style\\":{\\"backgroundColor\\":\\"#ffffff\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"RNCSafeAreaProvider\\",\\"props\\":{\\"style\\":[{\\"flex\\":1},null]},\\"children\\":null}]}]}"`;
|
|
||||||
|
|
||||||
exports[`Storyshots Room Item Omnichannel Icon 1`] = `"{\\"type\\":\\"RCTScrollView\\",\\"props\\":{\\"style\\":{\\"backgroundColor\\":\\"#ffffff\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"RNCSafeAreaProvider\\",\\"props\\":{\\"style\\":[{\\"flex\\":1},null]},\\"children\\":null}]}]}"`;
|
|
||||||
|
|
||||||
exports[`Storyshots Room Item Tag 1`] = `"{\\"type\\":\\"RCTScrollView\\",\\"props\\":{\\"style\\":{\\"backgroundColor\\":\\"#ffffff\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"RNCSafeAreaProvider\\",\\"props\\":{\\"style\\":[{\\"flex\\":1},null]},\\"children\\":null}]}]}"`;
|
|
||||||
|
|
||||||
exports[`Storyshots Room Item Touch 1`] = `"{\\"type\\":\\"RCTScrollView\\",\\"props\\":{\\"style\\":{\\"backgroundColor\\":\\"#ffffff\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"RNCSafeAreaProvider\\",\\"props\\":{\\"style\\":[{\\"flex\\":1},null]},\\"children\\":null}]}]}"`;
|
|
||||||
|
|
||||||
exports[`Storyshots Room Item Type 1`] = `"{\\"type\\":\\"RCTScrollView\\",\\"props\\":{\\"style\\":{\\"backgroundColor\\":\\"#ffffff\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"RNCSafeAreaProvider\\",\\"props\\":{\\"style\\":[{\\"flex\\":1},null]},\\"children\\":null}]}]}"`;
|
|
||||||
|
|
||||||
exports[`Storyshots Room Item User 1`] = `"{\\"type\\":\\"RCTScrollView\\",\\"props\\":{\\"style\\":{\\"backgroundColor\\":\\"#ffffff\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"RNCSafeAreaProvider\\",\\"props\\":{\\"style\\":[{\\"flex\\":1},null]},\\"children\\":null}]}]}"`;
|
|
||||||
|
|
||||||
exports[`Storyshots Room Item User status 1`] = `"{\\"type\\":\\"RCTScrollView\\",\\"props\\":{\\"style\\":{\\"backgroundColor\\":\\"#ffffff\\"}},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"RNCSafeAreaProvider\\",\\"props\\":{\\"style\\":[{\\"flex\\":1},null]},\\"children\\":null}]}]}"`;
|
|
|
@ -1,27 +0,0 @@
|
||||||
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
|
||||||
|
|
||||||
exports[`Storyshots UiKitMessage Action - Buttons 1`] = `"{\\"type\\":\\"RCTScrollView\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"backgroundColor\\":\\"#fff\\"},{\\"paddingHorizontal\\":16}],\\"keyboardShouldPersistTaps\\":\\"always\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"RCTSafeAreaView\\",\\"props\\":{\\"emulateUnlessSupported\\":true,\\"style\\":{\\"flex\\":1,\\"backgroundColor\\":\\"#fff\\"}},\\"children\\":null}]}]}"`;
|
|
||||||
|
|
||||||
exports[`Storyshots UiKitMessage Action - Select 1`] = `"{\\"type\\":\\"RCTScrollView\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"backgroundColor\\":\\"#fff\\"},{\\"paddingHorizontal\\":16}],\\"keyboardShouldPersistTaps\\":\\"always\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"RCTSafeAreaView\\",\\"props\\":{\\"emulateUnlessSupported\\":true,\\"style\\":{\\"flex\\":1,\\"backgroundColor\\":\\"#fff\\"}},\\"children\\":null}]}]}"`;
|
|
||||||
|
|
||||||
exports[`Storyshots UiKitMessage Context 1`] = `"{\\"type\\":\\"RCTScrollView\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"backgroundColor\\":\\"#fff\\"},{\\"paddingHorizontal\\":16}],\\"keyboardShouldPersistTaps\\":\\"always\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"RCTSafeAreaView\\",\\"props\\":{\\"emulateUnlessSupported\\":true,\\"style\\":{\\"flex\\":1,\\"backgroundColor\\":\\"#fff\\"}},\\"children\\":null}]}]}"`;
|
|
||||||
|
|
||||||
exports[`Storyshots UiKitMessage Fields 1`] = `"{\\"type\\":\\"RCTScrollView\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"backgroundColor\\":\\"#fff\\"},{\\"paddingHorizontal\\":16}],\\"keyboardShouldPersistTaps\\":\\"always\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"RCTSafeAreaView\\",\\"props\\":{\\"emulateUnlessSupported\\":true,\\"style\\":{\\"flex\\":1,\\"backgroundColor\\":\\"#fff\\"}},\\"children\\":null}]}]}"`;
|
|
||||||
|
|
||||||
exports[`Storyshots UiKitMessage Image 1`] = `"{\\"type\\":\\"RCTScrollView\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"backgroundColor\\":\\"#fff\\"},{\\"paddingHorizontal\\":16}],\\"keyboardShouldPersistTaps\\":\\"always\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"RCTSafeAreaView\\",\\"props\\":{\\"emulateUnlessSupported\\":true,\\"style\\":{\\"flex\\":1,\\"backgroundColor\\":\\"#fff\\"}},\\"children\\":null}]}]}"`;
|
|
||||||
|
|
||||||
exports[`Storyshots UiKitMessage Section + DatePicker 1`] = `"{\\"type\\":\\"RCTScrollView\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"backgroundColor\\":\\"#fff\\"},{\\"paddingHorizontal\\":16}],\\"keyboardShouldPersistTaps\\":\\"always\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"RCTSafeAreaView\\",\\"props\\":{\\"emulateUnlessSupported\\":true,\\"style\\":{\\"flex\\":1,\\"backgroundColor\\":\\"#fff\\"}},\\"children\\":null}]}]}"`;
|
|
||||||
|
|
||||||
exports[`Storyshots UiKitMessage Section + Markdown List 1`] = `"{\\"type\\":\\"RCTScrollView\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"backgroundColor\\":\\"#fff\\"},{\\"paddingHorizontal\\":16}],\\"keyboardShouldPersistTaps\\":\\"always\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"RCTSafeAreaView\\",\\"props\\":{\\"emulateUnlessSupported\\":true,\\"style\\":{\\"flex\\":1,\\"backgroundColor\\":\\"#fff\\"}},\\"children\\":null}]}]}"`;
|
|
||||||
|
|
||||||
exports[`Storyshots UiKitMessage Section + Multi Select 1`] = `"{\\"type\\":\\"RCTScrollView\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"backgroundColor\\":\\"#fff\\"},{\\"paddingHorizontal\\":16}],\\"keyboardShouldPersistTaps\\":\\"always\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"RCTSafeAreaView\\",\\"props\\":{\\"emulateUnlessSupported\\":true,\\"style\\":{\\"flex\\":1,\\"backgroundColor\\":\\"#fff\\"}},\\"children\\":null}]}]}"`;
|
|
||||||
|
|
||||||
exports[`Storyshots UiKitMessage Section + Overflow 1`] = `"{\\"type\\":\\"RCTScrollView\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"backgroundColor\\":\\"#fff\\"},{\\"paddingHorizontal\\":16}],\\"keyboardShouldPersistTaps\\":\\"always\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"RCTSafeAreaView\\",\\"props\\":{\\"emulateUnlessSupported\\":true,\\"style\\":{\\"flex\\":1,\\"backgroundColor\\":\\"#fff\\"}},\\"children\\":null}]}]}"`;
|
|
||||||
|
|
||||||
exports[`Storyshots UiKitMessage Section + Select 1`] = `"{\\"type\\":\\"RCTScrollView\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"backgroundColor\\":\\"#fff\\"},{\\"paddingHorizontal\\":16}],\\"keyboardShouldPersistTaps\\":\\"always\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"RCTSafeAreaView\\",\\"props\\":{\\"emulateUnlessSupported\\":true,\\"style\\":{\\"flex\\":1,\\"backgroundColor\\":\\"#fff\\"}},\\"children\\":null}]}]}"`;
|
|
||||||
|
|
||||||
exports[`Storyshots UiKitMessage Section + button 1`] = `"{\\"type\\":\\"RCTScrollView\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"backgroundColor\\":\\"#fff\\"},{\\"paddingHorizontal\\":16}],\\"keyboardShouldPersistTaps\\":\\"always\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"RCTSafeAreaView\\",\\"props\\":{\\"emulateUnlessSupported\\":true,\\"style\\":{\\"flex\\":1,\\"backgroundColor\\":\\"#fff\\"}},\\"children\\":null}]}]}"`;
|
|
||||||
|
|
||||||
exports[`Storyshots UiKitMessage Section + image 1`] = `"{\\"type\\":\\"RCTScrollView\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"backgroundColor\\":\\"#fff\\"},{\\"paddingHorizontal\\":16}],\\"keyboardShouldPersistTaps\\":\\"always\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"RCTSafeAreaView\\",\\"props\\":{\\"emulateUnlessSupported\\":true,\\"style\\":{\\"flex\\":1,\\"backgroundColor\\":\\"#fff\\"}},\\"children\\":null}]}]}"`;
|
|
||||||
|
|
||||||
exports[`Storyshots UiKitMessage Section 1`] = `"{\\"type\\":\\"RCTScrollView\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"backgroundColor\\":\\"#fff\\"},{\\"paddingHorizontal\\":16}],\\"keyboardShouldPersistTaps\\":\\"always\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"RCTSafeAreaView\\",\\"props\\":{\\"emulateUnlessSupported\\":true,\\"style\\":{\\"flex\\":1,\\"backgroundColor\\":\\"#fff\\"}},\\"children\\":null}]}]}"`;
|
|
|
@ -1,21 +0,0 @@
|
||||||
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
|
||||||
|
|
||||||
exports[`Storyshots UiKitModal Modal - Actions 1`] = `"{\\"type\\":\\"RCTScrollView\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"backgroundColor\\":\\"#fff\\"},{\\"paddingHorizontal\\":16}],\\"keyboardShouldPersistTaps\\":\\"always\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"RCTSafeAreaView\\",\\"props\\":{\\"emulateUnlessSupported\\":true,\\"style\\":{\\"flex\\":1,\\"backgroundColor\\":\\"#fff\\"}},\\"children\\":null}]}]}"`;
|
|
||||||
|
|
||||||
exports[`Storyshots UiKitModal Modal - Contexts and Dividers 1`] = `"{\\"type\\":\\"RCTScrollView\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"backgroundColor\\":\\"#fff\\"},{\\"paddingHorizontal\\":16}],\\"keyboardShouldPersistTaps\\":\\"always\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"RCTSafeAreaView\\",\\"props\\":{\\"emulateUnlessSupported\\":true,\\"style\\":{\\"flex\\":1,\\"backgroundColor\\":\\"#fff\\"}},\\"children\\":null}]}]}"`;
|
|
||||||
|
|
||||||
exports[`Storyshots UiKitModal Modal - DatePicker with error 1`] = `"{\\"type\\":\\"RCTScrollView\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"backgroundColor\\":\\"#fff\\"},{\\"paddingHorizontal\\":16}],\\"keyboardShouldPersistTaps\\":\\"always\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"RCTSafeAreaView\\",\\"props\\":{\\"emulateUnlessSupported\\":true,\\"style\\":{\\"flex\\":1,\\"backgroundColor\\":\\"#fff\\"}},\\"children\\":null}]}]}"`;
|
|
||||||
|
|
||||||
exports[`Storyshots UiKitModal Modal - Form Input 1`] = `"{\\"type\\":\\"RCTScrollView\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"backgroundColor\\":\\"#fff\\"},{\\"paddingHorizontal\\":16}],\\"keyboardShouldPersistTaps\\":\\"always\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"RCTSafeAreaView\\",\\"props\\":{\\"emulateUnlessSupported\\":true,\\"style\\":{\\"flex\\":1,\\"backgroundColor\\":\\"#fff\\"}},\\"children\\":null}]}]}"`;
|
|
||||||
|
|
||||||
exports[`Storyshots UiKitModal Modal - Form TextArea 1`] = `"{\\"type\\":\\"RCTScrollView\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"backgroundColor\\":\\"#fff\\"},{\\"paddingHorizontal\\":16}],\\"keyboardShouldPersistTaps\\":\\"always\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"RCTSafeAreaView\\",\\"props\\":{\\"emulateUnlessSupported\\":true,\\"style\\":{\\"flex\\":1,\\"backgroundColor\\":\\"#fff\\"}},\\"children\\":null}]}]}"`;
|
|
||||||
|
|
||||||
exports[`Storyshots UiKitModal Modal - Images 1`] = `"{\\"type\\":\\"RCTScrollView\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"backgroundColor\\":\\"#fff\\"},{\\"paddingHorizontal\\":16}],\\"keyboardShouldPersistTaps\\":\\"always\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"RCTSafeAreaView\\",\\"props\\":{\\"emulateUnlessSupported\\":true,\\"style\\":{\\"flex\\":1,\\"backgroundColor\\":\\"#fff\\"}},\\"children\\":null}]}]}"`;
|
|
||||||
|
|
||||||
exports[`Storyshots UiKitModal Modal - Input with error 1`] = `"{\\"type\\":\\"RCTScrollView\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"backgroundColor\\":\\"#fff\\"},{\\"paddingHorizontal\\":16}],\\"keyboardShouldPersistTaps\\":\\"always\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"RCTSafeAreaView\\",\\"props\\":{\\"emulateUnlessSupported\\":true,\\"style\\":{\\"flex\\":1,\\"backgroundColor\\":\\"#fff\\"}},\\"children\\":null}]}]}"`;
|
|
||||||
|
|
||||||
exports[`Storyshots UiKitModal Modal - Multilne with error 1`] = `"{\\"type\\":\\"RCTScrollView\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"backgroundColor\\":\\"#fff\\"},{\\"paddingHorizontal\\":16}],\\"keyboardShouldPersistTaps\\":\\"always\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"RCTSafeAreaView\\",\\"props\\":{\\"emulateUnlessSupported\\":true,\\"style\\":{\\"flex\\":1,\\"backgroundColor\\":\\"#fff\\"}},\\"children\\":null}]}]}"`;
|
|
||||||
|
|
||||||
exports[`Storyshots UiKitModal Modal - Section Accessories 1`] = `"{\\"type\\":\\"RCTScrollView\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"backgroundColor\\":\\"#fff\\"},{\\"paddingHorizontal\\":16}],\\"keyboardShouldPersistTaps\\":\\"always\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"RCTSafeAreaView\\",\\"props\\":{\\"emulateUnlessSupported\\":true,\\"style\\":{\\"flex\\":1,\\"backgroundColor\\":\\"#fff\\"}},\\"children\\":null}]}]}"`;
|
|
||||||
|
|
||||||
exports[`Storyshots UiKitModal Modal - Section and Selects 1`] = `"{\\"type\\":\\"RCTScrollView\\",\\"props\\":{\\"style\\":[{\\"flex\\":1,\\"backgroundColor\\":\\"#fff\\"},{\\"paddingHorizontal\\":16}],\\"keyboardShouldPersistTaps\\":\\"always\\"},\\"children\\":[{\\"type\\":\\"View\\",\\"props\\":{},\\"children\\":[{\\"type\\":\\"RCTSafeAreaView\\",\\"props\\":{\\"emulateUnlessSupported\\":true,\\"style\\":{\\"flex\\":1,\\"backgroundColor\\":\\"#fff\\"}},\\"children\\":null}]}]}"`;
|
|
|
@ -1,50 +0,0 @@
|
||||||
/* eslint-disable import/no-extraneous-dependencies, import/no-unresolved, import/extensions */
|
|
||||||
import { combineReducers, createStore } from 'redux';
|
|
||||||
|
|
||||||
import './RoomItem';
|
|
||||||
import './List';
|
|
||||||
import './ServerItem';
|
|
||||||
import './Message';
|
|
||||||
import './UiKitMessage';
|
|
||||||
import './UiKitModal';
|
|
||||||
import './Markdown';
|
|
||||||
import './HeaderButtons';
|
|
||||||
import './UnreadBadge';
|
|
||||||
import '../../app/views/ThreadMessagesView/Item.stories.js';
|
|
||||||
import '../../app/views/DiscussionsView/Item.stories.js';
|
|
||||||
import './Avatar';
|
|
||||||
import './NewMarkdown';
|
|
||||||
import '../../app/containers/BackgroundContainer/index.stories.js';
|
|
||||||
import '../../app/containers/RoomHeader/RoomHeader.stories.js';
|
|
||||||
import '../../app/views/RoomView/LoadMore/LoadMore.stories.js';
|
|
||||||
import '../../app/views/CannedResponsesListView/CannedResponseItem.stories';
|
|
||||||
import '../../app/containers/TextInput/TextInput.stories';
|
|
||||||
import '../../app/containers/message/Components/CollapsibleQuote/CollapsibleQuote.stories';
|
|
||||||
import '../../app/containers/Button/Button.stories';
|
|
||||||
import '../../app/containers/LoginServices/LoginServices.stories';
|
|
||||||
import '../../app/containers/SearchBox/SearchBox.stories';
|
|
||||||
|
|
||||||
// Change here to see themed storybook
|
|
||||||
export const theme = 'light';
|
|
||||||
|
|
||||||
const reducers = combineReducers({
|
|
||||||
settings: () => ({}),
|
|
||||||
login: () => ({
|
|
||||||
user: {
|
|
||||||
username: 'diego.mello'
|
|
||||||
}
|
|
||||||
}),
|
|
||||||
server: () => ({
|
|
||||||
server: 'https://open.rocket.chat',
|
|
||||||
version: '3.7.0'
|
|
||||||
}),
|
|
||||||
share: () => ({
|
|
||||||
server: 'https://open.rocket.chat',
|
|
||||||
version: '3.7.0',
|
|
||||||
settings: {}
|
|
||||||
}),
|
|
||||||
meteor: () => ({ connected: true }),
|
|
||||||
activeUsers: () => ({ abc: { status: 'online', statusText: 'dog' } }),
|
|
||||||
app: () => ({ isMasterDetail: false })
|
|
||||||
});
|
|
||||||
export const store = createStore(reducers);
|
|
Loading…
Reference in New Issue