Merge branch 'release/next-userspace' of https://github.com/urbit/urbit into dojo-leap-conflict

This commit is contained in:
Tyler Brown Cifu Shuster 2020-08-16 21:12:59 -07:00
commit 04957632cd
102 changed files with 249 additions and 230 deletions

14
pkg/interface/.babelrc Normal file
View File

@ -0,0 +1,14 @@
{
"plugins": [
[
"babel-plugin-root-import",
{
"paths": [
{
"rootPathSuffix": "./src"
}
]
}
]
]
}

Binary file not shown.

View File

@ -50,6 +50,7 @@
"@typescript-eslint/parser": "^3.8.0",
"babel-eslint": "^10.1.0",
"babel-loader": "^8.1.0",
"babel-plugin-root-import": "^6.5.0",
"clean-webpack-plugin": "^3.0.0",
"cross-env": "^7.0.2",
"eslint": "^6.8.0",

View File

@ -1,6 +1,6 @@
import _ from "lodash";
import { uuid } from "../lib/util";
import { Patp, Path } from "../types/noun";
import { Patp, Path } from "~/types/noun";
import BaseStore from '../store/base';
export default class BaseApi<S extends object = {}> {

View File

@ -1,7 +1,7 @@
import BaseApi from './base';
import { uuid } from '../lib/util';
import { Letter, ChatAction, Envelope } from '../types/chat-update';
import { Patp, Path, PatpNoSig } from '../types/noun';
import { Letter, ChatAction, Envelope } from '~/types/chat-update';
import { Patp, Path, PatpNoSig } from '~/types/noun';
import { StoreState } from '../store/type';
import BaseStore from '../store/base';

View File

@ -1,8 +1,8 @@
import BaseApi from './base';
import { StoreState } from '../store/type';
import { Patp, Path, Enc } from '../types/noun';
import { Contact, ContactEdit } from '../types/contact-update';
import { GroupPolicy, Resource } from '../types/group-update';
import { Patp, Path, Enc } from '~/types/noun';
import { Contact, ContactEdit } from '~/types/contact-update';
import { GroupPolicy, Resource } from '~/types/group-update';
export default class ContactsApi extends BaseApi<StoreState> {
create(

View File

@ -1,4 +1,4 @@
import { Patp } from '../types/noun';
import { Patp } from '~/types/noun';
import BaseApi from './base';
import ChatApi from './chat';
import { StoreState } from '../store/type';

View File

@ -1,13 +1,13 @@
import BaseApi from './base';
import { StoreState } from '../store/type';
import { Path, Patp, Enc } from '../types/noun';
import { Path, Patp, Enc } from '~/types/noun';
import {
GroupAction,
GroupPolicy,
Resource,
Tag,
GroupPolicyDiff,
} from '../types/group-update';
} from '~/types/group-update';
export default class GroupsApi extends BaseApi<StoreState> {
remove(resource: Resource, ships: Patp[]) {

View File

@ -1,6 +1,6 @@
import BaseApi from "./base";
import { StoreState } from "../store/type";
import { Serial, Path } from "../types/noun";
import { Serial, Path } from "~/types/noun";
export default class InviteApi extends BaseApi<StoreState> {
accept(app: Path, uid: Serial) {

View File

@ -2,7 +2,7 @@ import { stringToTa } from '../lib/util';
import BaseApi from './base';
import { StoreState } from '../store/type';
import { Path } from '../types/noun';
import { Path } from '~/types/noun';
export default class LinksApi extends BaseApi<StoreState> {

View File

@ -1,7 +1,7 @@
import BaseApi from './base';
import { StoreState } from '../store/type';
import { Path, Patp } from '../types/noun';
import { Path, Patp } from '~/types/noun';
export default class MetadataApi extends BaseApi<StoreState> {

View File

@ -1,7 +1,7 @@
import BaseApi from './base';
import { PublishResponse } from '../types/publish-response';
import { PatpNoSig } from '../types/noun';
import { BookId, NoteId } from '../types/publish-update';
import { PublishResponse } from '~/types/publish-response';
import { PatpNoSig } from '~/types/noun';
import { BookId, NoteId } from '~/types/publish-update';
export default class PublishApi extends BaseApi {
handleEvent(data: PublishResponse) {

View File

@ -1,5 +1,5 @@
import { roleTags, RoleTags, Group, Resource } from '../../types/group-update';
import { PatpNoSig, Path } from '../../types/noun';
import { roleTags, RoleTags, Group, Resource } from '~/types/group-update';
import { PatpNoSig, Path } from '~/types/noun';
export function roleForShip(group: Group, ship: PatpNoSig): RoleTags | undefined {

View File

@ -1,8 +1,8 @@
import _ from 'lodash';
import { StoreState } from '../../../store/type';
import { Cage } from '../../types/cage';
import { ChatUpdate } from '../../types/chat-update';
import { ChatHookUpdate } from '../../types/chat-hook-update';
import { Cage } from '~/types/cage';
import { ChatUpdate } from '~/types/chat-update';
import { ChatHookUpdate } from '~/types/chat-hook-update';
type ChatState = Pick<StoreState, 'chatInitialized' | 'chatSynced' | 'inbox' | 'pendingMessages'>;

View File

@ -1,6 +1,6 @@
import _ from 'lodash';
import { StoreState } from '../../store/type';
import { Cage } from '../../types/cage';
import { Cage } from '~/types/cage';
type LocalState = Pick<StoreState, 'connection'>;

View File

@ -1,7 +1,7 @@
import _ from 'lodash';
import { StoreState } from '../../store/type';
import { Cage } from '../../types/cage';
import { ContactUpdate } from '../../types/contact-update';
import { Cage } from '~/types/cage';
import { ContactUpdate } from '~/types/contact-update';
type ContactState = Pick<StoreState, 'contacts'>;

View File

@ -1,6 +1,6 @@
import _ from 'lodash';
import { StoreState } from '../../store/type';
import { Cage } from '../../types/cage';
import { Cage } from '~/types/cage';
import {
GroupUpdate,
Group,
@ -11,8 +11,8 @@ import {
OpenPolicy,
InvitePolicyDiff,
InvitePolicy,
} from '../../types/group-update';
import { Enc, PatpNoSig } from '../../types/noun';
} from '~/types/group-update';
import { Enc, PatpNoSig } from '~/types/noun';
import { resourceAsPath } from '../lib/util';
type GroupState = Pick<StoreState, 'groups' | 'groupKeys'>;

View File

@ -1,7 +1,7 @@
import _ from 'lodash';
import { StoreState } from '../../store/type';
import { Cage } from '../../types/cage';
import { InviteUpdate } from '../../types/invite-update';
import { Cage } from '~/types/cage';
import { InviteUpdate } from '~/types/invite-update';
type InviteState = Pick<StoreState, "invites">;

View File

@ -1,6 +1,6 @@
import _ from 'lodash';
import { LaunchUpdate } from '../../types/launch-update';
import { Cage } from '../../types/cage';
import { LaunchUpdate } from '~/types/launch-update';
import { Cage } from '~/types/cage';
import { StoreState } from '../../store/type';
type LaunchState = Pick<StoreState, 'launch' | 'weather' | 'userLocation'>;

View File

@ -1,6 +1,6 @@
import _ from 'lodash';
import { StoreState } from '../../store/type';
import { LinkUpdate, Pagination } from '../../types/link-update';
import { LinkUpdate, Pagination } from '~/types/link-update';
// page size as expected from link-view.
// must change in parallel with the +page-size in /app/link-view to

View File

@ -1,7 +1,7 @@
import _ from 'lodash';
import { StoreState } from '../../store/type';
import { Cage } from '../../types/cage';
import { LinkListenUpdate } from '../../types/link-listen-update';
import { Cage } from '~/types/cage';
import { LinkListenUpdate } from '~/types/link-listen-update';
type LinkListenState = Pick<StoreState, 'linkListening'>;

View File

@ -1,7 +1,7 @@
import _ from 'lodash';
import { StoreState } from '../../store/type';
import { Cage } from '../../types/cage';
import { LocalUpdate } from '../../types/local-update';
import { Cage } from '~/types/cage';
import { LocalUpdate } from '~/types/local-update';
type LocalState = Pick<StoreState, 'sidebarShown' | 'omniboxShown' | 'dark' | 'baseHash' | 'suspendedFocus'>;

View File

@ -2,8 +2,8 @@ import _ from 'lodash';
import { StoreState } from '../../store/type';
import { MetadataUpdate } from '../../types/metadata-update';
import { Cage } from '../../types/cage';
import { MetadataUpdate } from '~/types/metadata-update';
import { Cage } from '~/types/cage';
type MetadataState = Pick<StoreState, 'associations'>;

View File

@ -1,7 +1,7 @@
import _ from 'lodash';
import { StoreState } from '../../store/type';
import { Cage } from '../../types/cage';
import { PermissionUpdate } from '../../types/permission-update';
import { Cage } from '~/types/cage';
import { PermissionUpdate } from '~/types/permission-update';
type PermissionState = Pick<StoreState, "permissions">;

View File

@ -1,6 +1,6 @@
import _ from 'lodash';
import { StoreState } from '../../store/type';
import { Cage } from '../../types/cage';
import { Cage } from '~/types/cage';
type PublishState = Pick<StoreState, 'notebooks'>;

View File

@ -1,9 +1,9 @@
import _ from 'lodash';
import { PublishUpdate } from '../../types/publish-update';
import { Cage } from '../../types/cage';
import { PublishUpdate } from '~/types/publish-update';
import { Cage } from '~/types/cage';
import { StoreState } from '../../store/type';
import { getTagFromFrond } from '../../types/noun';
import { getTagFromFrond } from '~/types/noun';
type PublishState = Pick<StoreState, 'notebooks'>;

View File

@ -1,7 +1,7 @@
import _ from 'lodash';
import { StoreState } from '../../store/type';
import { Cage } from '../../types/cage';
import { S3Update } from '../../types/s3-update';
import { Cage } from '~/types/cage';
import { S3Update } from '~/types/s3-update';
type S3State = Pick<StoreState, 's3'>;

View File

@ -5,7 +5,7 @@ import LocalReducer from '../reducers/local';
import ChatReducer from '../reducers/chat-update';
import { StoreState } from './type';
import { Cage } from '../types/cage';
import { Cage } from '~/types/cage';
import ContactReducer from '../reducers/contact-update';
import LinkUpdateReducer from '../reducers/link-update';
import S3Reducer from '../reducers/s3-update';

View File

@ -1,16 +1,16 @@
import { Inbox, Envelope } from '../types/chat-update';
import { ChatHookUpdate } from '../types/chat-hook-update';
import { Path } from '../types/noun';
import { Invites } from '../types/invite-update';
import { Associations } from '../types/metadata-update';
import { Rolodex } from '../types/contact-update';
import { Notebooks } from '../types/publish-update';
import { Groups } from '../types/group-update';
import { S3State } from '../types/s3-update';
import { Permissions } from '../types/permission-update';
import { LaunchState, WeatherState } from '../types/launch-update';
import { LinkComments, LinkCollections, LinkSeen } from '../types/link-update';
import { ConnectionStatus } from '../types/connection';
import { Inbox, Envelope } from '~/types/chat-update';
import { ChatHookUpdate } from '~/types/chat-hook-update';
import { Path } from '~/types/noun';
import { Invites } from '~/types/invite-update';
import { Associations } from '~/types/metadata-update';
import { Rolodex } from '~/types/contact-update';
import { Notebooks } from '~/types/publish-update';
import { Groups } from '~/types/group-update';
import { S3State } from '~/types/s3-update';
import { Permissions } from '~/types/permission-update';
import { LaunchState, WeatherState } from '~/types/launch-update';
import { LinkComments, LinkCollections, LinkSeen } from '~/types/link-update';
import { ConnectionStatus } from '~/types/connection';
export interface StoreState {
// local state

View File

@ -1,6 +1,6 @@
import BaseStore from "../store/base";
import BaseApi from "../api/base";
import { Path } from "../types/noun";
import { Path } from "~/types/noun";
export default class BaseSubscription<S extends object> {
private errorCount = 0;

View File

@ -1,6 +1,6 @@
import BaseSubscription from './base';
import { StoreState } from '../store/type';
import { Path } from '../types/noun';
import { Path } from '~/types/noun';
import _ from 'lodash';

View File

@ -18,11 +18,11 @@ import StatusBar from './components/StatusBar';
import Omnibox from './components/Omnibox';
import ErrorComponent from './components/Error';
import GlobalStore from '../logic/store/store';
import GlobalSubscription from '../logic/subscription/global';
import GlobalApi from '../logic/api/global';
import { uxToHex } from '../logic/lib/util';
import { Sigil } from '../logic/lib/sigil';
import GlobalStore from '~/logic/store/store';
import GlobalSubscription from '~/logic/subscription/global';
import GlobalApi from '~/logic/api/global';
import { uxToHex } from '~/logic/lib/util';
import { Sigil } from '~/logic/lib/sigil';
const Root = styled.div`
font-family: ${p => p.theme.fonts.sans};

View File

@ -11,11 +11,11 @@ import { SettingsScreen } from './components/settings';
import { NewScreen } from './components/new';
import { JoinScreen } from './components/join';
import { NewDmScreen } from './components/new-dm';
import { PatpNoSig } from '../../../types/noun';
import GlobalApi from '../../logic/api/global';
import { StoreState } from '../../logic/store/type';
import GlobalSubscription from '../../logic/subscription/global';
import {groupBunts} from '../../../types/group-update';
import { PatpNoSig } from '~/types/noun';
import GlobalApi from '~/logic/api/global';
import { StoreState } from '~/logic/store/type';
import GlobalSubscription from '~/logic/subscription/global';
import {groupBunts} from '~/types/group-update';
type ChatAppProps = StoreState & {
ship: PatpNoSig;

View File

@ -6,15 +6,15 @@ import { Link, RouteComponentProps } from "react-router-dom";
import { ChatWindow } from './lib/chat-window';
import { ChatHeader } from './lib/chat-header';
import { ChatInput } from "./lib/chat-input";
import { deSig } from "../../../../logic/lib/util";
import { ChatHookUpdate } from "../../../../types/chat-hook-update";
import ChatApi from "../../../../logic/api/chat";
import { Inbox, Envelope } from "../../../../types/chat-update";
import { Contacts } from "../../../../types/contact-update";
import { Path, Patp } from "../../../../types/noun";
import GlobalApi from "../../../../logic/api/global";
import { Association } from "../../../../types/metadata-update";
import {Group} from "../../../../types/group-update";
import { deSig } from "~/logic/lib/util";
import { ChatHookUpdate } from "~/types/chat-hook-update";
import ChatApi from "~/logic/api/chat";
import { Inbox, Envelope } from "~/types/chat-update";
import { Contacts } from "~/types/contact-update";
import { Path, Patp } from "~/types/noun";
import GlobalApi from "~/logic/api/global";
import { Association } from "~/types/metadata-update";
import {Group} from "~/types/group-update";
type ChatScreenProps = RouteComponentProps<{

View File

@ -1,6 +1,6 @@
import React, { Component } from 'react';
import { Link } from 'react-router-dom';
import { Spinner } from '../../../components/Spinner';
import { Spinner } from '~/views/components/Spinner';
import urbitOb from 'urbit-ob';
export class JoinScreen extends Component {

View File

@ -2,8 +2,8 @@ import React, { Component, Fragment } from "react";
import { Link } from "react-router-dom";
import { ChatTabBar } from "./chat-tabbar";
import { SidebarSwitcher } from "../../../../components/SidebarSwitch";
import { deSig } from "../../../../../logic/lib/util";
import { SidebarSwitcher } from "~/views/components/SidebarSwitch";
import { deSig } from "~/logic/lib/util";
export const ChatHeader = (props) => {

View File

@ -2,8 +2,8 @@ import React, { Component } from 'react';
import ChatEditor from './chat-editor';
import { S3Upload } from './s3-upload'
;
import { uxToHex } from '../../../../../logic/lib/util';
import { Sigil } from '../../../../../logic/lib/sigil';
import { uxToHex } from '~/logic/lib/util';
import { Sigil } from '~/logic/lib/sigil';
const URL_REGEX = new RegExp(String(/^((\w+:\/\/)[-a-zA-Z0-9:@;?&=\/%\+\.\*!'\(\),\$_\{\}\^~\[\]`#|]+)/.source));

View File

@ -1,6 +1,6 @@
import React, { Component, Fragment } from "react";
import { scrollIsAtTop, scrollIsAtBottom } from "../../../../../logic/lib/util";
import { scrollIsAtTop, scrollIsAtBottom } from "~/logic/lib/util";
// Restore chat position on FF when new messages come in
const recalculateScrollTop = (lastScrollHeight, scrollContainer) => {

View File

@ -1,6 +1,6 @@
import React, { Component } from 'react';
import Toggle from '../../../../components/toggle';
import { InviteSearch } from '../../../../components/InviteSearch';
import Toggle from '~/views/components/toggle';
import { InviteSearch } from '~/views/components/InviteSearch';
export class GroupifyButton extends Component {

View File

@ -1,6 +1,6 @@
import React, { Component } from 'react';
import { InviteSearch } from '../../../../components/InviteSearch';
import { Spinner } from '../../../../components/Spinner';
import { InviteSearch } from '~/views/components/InviteSearch';
import { Spinner } from '~/views/components/Spinner';
export class InviteElement extends Component {
constructor(props) {

View File

@ -1,7 +1,7 @@
import React, { Component } from 'react';
import { OverlaySigil } from './overlay-sigil';
import MessageContent from './message-content';
import { uxToHex, cite, writeText } from '../../../../../logic/lib/util';
import { uxToHex, cite, writeText } from '~/logic/lib/util';
import moment from 'moment';

View File

@ -1,6 +1,6 @@
import React, { Component } from 'react';
import { uxToHex } from '../../../../../logic/lib/util';
import { uxToHex } from '~/logic/lib/util';
export class MetadataColor extends Component {

View File

@ -2,7 +2,7 @@ import React, { Component } from 'react';
import { MetadataColor } from './metadata-color';
import { MetadataInput } from './metadata-input';
import { uxToHex } from '../../../../../logic/lib/util';
import { uxToHex } from '~/logic/lib/util';
export const MetadataSettings = (props) => {

View File

@ -1,5 +1,5 @@
import React, { Component } from 'react';
import { Sigil } from '../../../../../logic/lib/sigil';
import { Sigil } from '~/logic/lib/sigil';
import {
ProfileOverlay,
OVERLAY_HEIGHT

View File

@ -1,7 +1,7 @@
import React, { Component } from 'react';
import { Link } from 'react-router-dom';
import { cite } from '../../../../../logic/lib/util';
import { Sigil } from '../../../../../logic/lib/sigil';
import { cite } from '~/logic/lib/util';
import { Sigil } from '~/logic/lib/sigil';
export const OVERLAY_HEIGHT = 250;

View File

@ -1,5 +1,5 @@
import React, { Component } from 'react';
import S3Client from '../../../../../logic/lib/s3';
import S3Client from '~/logic/lib/s3';
export class S3Upload extends Component {
constructor(props) {

View File

@ -1,9 +1,9 @@
import React, { Component } from 'react';
import { Spinner } from '../../../components/Spinner';
import { Spinner } from '~/views/components/Spinner';
import { Link } from 'react-router-dom';
import { InviteSearch } from '../../../components/InviteSearch';
import { InviteSearch } from '~/views/components/InviteSearch';
import urbitOb from 'urbit-ob';
import { deSig } from '../../../../logic/lib/util';
import { deSig } from '~/logic/lib/util';
export class NewDmScreen extends Component {
constructor(props) {

View File

@ -1,8 +1,8 @@
import React, { Component } from 'react';
import { InviteSearch } from '../../../components/InviteSearch';
import { Spinner } from '../../../components/Spinner';
import { InviteSearch } from '~/views/components/InviteSearch';
import { Spinner } from '~/views/components/Spinner';
import { Link } from 'react-router-dom';
import { deSig } from '../../../../logic/lib/util';
import { deSig } from '~/logic/lib/util';
export class NewScreen extends Component {
constructor(props) {

View File

@ -1,14 +1,14 @@
import React, { Component, Fragment } from 'react';
import { deSig } from '../../../../logic/lib/util';
import { deSig } from '~/logic/lib/util';
import { Link } from 'react-router-dom';
import { ChatHeader } from './lib/chat-header';
import { MetadataSettings } from './lib/metadata-settings';
import { DeleteButton } from './lib/delete-button';
import { GroupifyButton } from './lib/groupify-button';
import { Spinner } from '../../../components/Spinner';
import { Spinner } from '~/views/components/Spinner';
import { ChatTabBar } from './lib/chat-tabbar';
import SidebarSwitcher from '../../../components/SidebarSwitch';
import SidebarSwitcher from '~/views/components/SidebarSwitch';
export class SettingsScreen extends Component {

View File

@ -1,8 +1,8 @@
import React, { Component } from 'react';
import Welcome from './lib/welcome';
import { alphabetiseAssociations } from '../../../../logic/lib/util';
import SidebarInvite from '../../../components/SidebarInvite';
import { alphabetiseAssociations } from '~/logic/lib/util';
import SidebarInvite from '~/views/components/SidebarInvite';
import { GroupItem } from './lib/group-item';
export class Sidebar extends Component {

View File

@ -1,7 +1,7 @@
import React, { Component } from 'react';
import classnames from 'classnames';
import { Link } from 'react-router-dom';
import ErrorBoundary from '../../../components/ErrorBoundary';
import ErrorBoundary from '~/views/components/ErrorBoundary';
export class Skeleton extends Component {
render() {

View File

@ -1,6 +1,6 @@
import React, { Component } from 'react';
import { cite } from '../../../../logic/lib/util';
import { Spinner } from '../../../components/Spinner';
import { cite } from '~/logic/lib/util';
import { Spinner } from '~/views/components/Spinner';
export class Input extends Component {
constructor(props) {

View File

@ -11,10 +11,10 @@ import { AddScreen } from './components/lib/add-contact';
import { JoinScreen } from './components/join';
import GroupDetail from './components/lib/group-detail';
import { PatpNoSig } from '../../../types/noun';
import GlobalApi from '../../../logic/api/global';
import { StoreState } from '../../../logic/store/type';
import GlobalSubscription from '../../../logic/subscription/global';
import { PatpNoSig } from '~/types/noun';
import GlobalApi from '~/logic/api/global';
import { StoreState } from '~/logic/store/type';
import GlobalSubscription from '~/logic/subscription/global';
type GroupsAppProps = StoreState & {

View File

@ -1,6 +1,6 @@
import React, { Component } from 'react';
import { Link } from 'react-router-dom';
import { Spinner } from '../../../components/Spinner';
import { Spinner } from '~/views/components/Spinner';
import urbitOb from 'urbit-ob';
export class JoinScreen extends Component {

View File

@ -1,12 +1,12 @@
import React, { Component } from 'react';
import _ from 'lodash';
import { Link } from 'react-router-dom';
import { InviteSearch, Invites } from '../../../../components/InviteSearch';
import { Spinner } from '../../../../components/Spinner';
import { InviteSearch, Invites } from '~/views/components/InviteSearch';
import { Spinner } from '~/views/components/Spinner';
import { uuid } from '../../../../lib/util';
import { Groups } from '../../../../types/group-update';
import { Rolodex } from '../../../../types/contact-update';
import { Path } from '../../../../types/noun';
import { Groups } from '~/types/group-update';
import { Rolodex } from '~/types/contact-update';
import { Path } from '~/types/noun';
import GlobalApi from '../../../../api/global';
import { History } from 'history';

View File

@ -1,10 +1,10 @@
import React, { Component } from 'react';
import { Sigil } from '../../../../../logic/lib/sigil';
import { Sigil } from '~/logic/lib/sigil';
import { Link } from 'react-router-dom';
import { EditElement } from './edit-element';
import { Spinner } from '../../../../components/Spinner';
import { uxToHex } from '../../../../../logic/lib/util';
import { Spinner } from '~/views/components/Spinner';
import { uxToHex } from '~/logic/lib/util';
import { S3Upload } from './s3-upload';
export class ContactCard extends Component {

View File

@ -1,7 +1,7 @@
import React, { Component } from 'react';
import { Link } from 'react-router-dom';
import { Sigil } from '../../../../../logic/lib/sigil';
import { uxToHex, cite } from '../../../../../logic/lib/util';
import { Sigil } from '~/logic/lib/sigil';
import { uxToHex, cite } from '~/logic/lib/util';
export class ContactItem extends Component {
render() {

View File

@ -4,14 +4,14 @@ import { FixedSizeList as List } from 'react-window';
import { ContactItem } from './contact-item';
import { ShareSheet } from './share-sheet';
import { Sigil } from '../../../../../logic/lib/sigil';
import { Spinner } from '../../../../components/Spinner';
import { cite } from '../../../../../logic/lib/util';
import { roleForShip, resourceFromPath } from '../../../../../logic/lib/group';
import { Path, PatpNoSig } from '../../../../../types/noun';
import { Rolodex, Contacts, Contact } from '../../../../../types/contact-update';
import { Groups, Group } from '../../../../../types/group-update';
import GlobalApi from '../../../../../logic/api/global';
import { Sigil } from '~/logic/lib/sigil';
import { Spinner } from '~/views/components/Spinner';
import { cite } from '~/logic/lib/util';
import { roleForShip, resourceFromPath } from '~/logic/lib/group';
import { Path, PatpNoSig } from '~/types/noun';
import { Rolodex, Contacts, Contact } from '~/types/contact-update';
import { Groups, Group } from '~/types/group-update';
import GlobalApi from '~/logic/api/global';
interface ContactSidebarProps {
activeDrawer: 'contacts' | 'detail' | 'rightPanel';

View File

@ -1,11 +1,11 @@
import React, { Component } from 'react';
import { Link } from 'react-router-dom';
import { Spinner } from '../../../../components/Spinner';
import { Toggle } from '../../../../components/toggle';
import { GroupView } from '../../../../components/Group';
import { Spinner } from '~/views/components/Spinner';
import { Toggle } from '~/views/components/toggle';
import { GroupView } from '~/views/components/Group';
import { deSig, uxToHex, writeText } from '../../../../../logic/lib/util';
import { roleForShip, resourceFromPath } from '../../../../../logic/lib/group';
import { deSig, uxToHex, writeText } from '~/logic/lib/util';
import { roleForShip, resourceFromPath } from '~/logic/lib/group';
export class GroupDetail extends Component {
constructor(props) {

View File

@ -2,11 +2,11 @@ import React, { Component } from 'react';
import { Link } from 'react-router-dom';
import { GroupItem } from './group-item';
import SidebarInvite from '../../../../components/SidebarInvite';
import SidebarInvite from '~/views/components/SidebarInvite';
import { Welcome } from './welcome';
import { cite } from '../../../../../logic/lib/util';
import { Sigil } from '../../../../../logic/lib/sigil';
import { cite } from '~/logic/lib/util';
import { Sigil } from '~/logic/lib/sigil';
export class GroupSidebar extends Component {

View File

@ -1,5 +1,5 @@
import React, { Component } from 'react'
import S3Client from '../../../../../logic/lib/s3';
import S3Client from '~/logic/lib/s3';
export class S3Upload extends Component {

View File

@ -1,15 +1,15 @@
import React, { Component } from 'react';
import { Link } from 'react-router-dom';
import { InviteSearch, Invites } from '../../../components/InviteSearch';
import { Spinner } from '../../../components/Spinner';
import { Toggle } from '../../../components/toggle';
import { InviteSearch, Invites } from '~/views/components/InviteSearch';
import { Spinner } from '~/views/components/Spinner';
import { Toggle } from '~/views/components/toggle';
import { RouteComponentProps } from 'react-router-dom';
import { Groups, GroupPolicy, Resource } from '../../../../types/group-update';
import { Contacts, Rolodex } from '../../../../types/contact-update';
import GlobalApi from '../../../../logic/api/global';
import { Patp, PatpNoSig, Enc } from '../../../../types/noun';
import { Groups, GroupPolicy, Resource } from '~/types/group-update';
import { Contacts, Rolodex } from '~/types/contact-update';
import GlobalApi from '~/logic/api/global';
import { Patp, PatpNoSig, Enc } from '~/types/noun';
type NewScreenProps = Pick<RouteComponentProps, 'history'> & {
groups: Groups;

View File

@ -1,6 +1,6 @@
import React, { Component } from 'react';
import { GroupSidebar } from './lib/group-sidebar';
import ErrorBoundary from '../../../components/ErrorBoundary';
import ErrorBoundary from '~/views/components/ErrorBoundary';
export class Skeleton extends Component {
render() {

View File

@ -1,7 +1,7 @@
import React from 'react';
import classnames from 'classnames';
import { Link } from 'react-router-dom';
import defaultApps from '../../../../../logic/lib/default-apps';
import defaultApps from '~/logic/lib/default-apps';
import Tile from './tile';

View File

@ -16,7 +16,7 @@ import {
makeRoutePath,
amOwnerOfGroup,
base64urlDecode
} from '../../../logic/lib/util';
} from '~/logic/lib/util';
export class LinksApp extends Component {

View File

@ -2,9 +2,9 @@ import React, { Component } from 'react';
import { Link } from 'react-router-dom';
import { GroupItem } from './group-item';
import SidebarInvite from '../../../../components/SidebarInvite';
import SidebarInvite from '~/views/components/SidebarInvite';
import { Welcome } from './welcome';
import { alphabetiseAssociations } from '../../../../../logic/lib/util';
import { alphabetiseAssociations } from '~/logic/lib/util';
export class ChannelsSidebar extends Component {
// drawer to the left

View File

@ -1,6 +1,6 @@
import React, { Component } from 'react';
import { Link } from 'react-router-dom';
import { makeRoutePath } from '../../../../../logic/lib/util';
import { makeRoutePath } from '~/logic/lib/util';
export class ChannelsItem extends Component {
render() {

View File

@ -1,6 +1,6 @@
import React, { Component } from 'react';
import { Sigil } from '../../../../../logic/lib/sigil';
import { cite } from '../../../../../logic/lib/util';
import { Sigil } from '~/logic/lib/sigil';
import { cite } from '~/logic/lib/util';
import moment from 'moment';
export class CommentItem extends Component {

View File

@ -1,6 +1,6 @@
import React, { Component } from 'react';
import { Link } from 'react-router-dom';
import { makeRoutePath } from '../../../../../logic/lib/util';
import { makeRoutePath } from '~/logic/lib/util';
export class CommentsPagination extends Component {
render() {

View File

@ -2,7 +2,7 @@ import React, { Component } from 'react';
import { CommentItem } from './comment-item';
import { CommentsPagination } from './comments-pagination';
import { getContactDetails } from '../../../../../logic/lib/util';
import { getContactDetails } from '~/logic/lib/util';
export class Comments extends Component {
constructor(props) {
super(props);

View File

@ -1,6 +1,6 @@
import React, { Component } from 'react';
import { InviteSearch } from '../../../../components/InviteSearch';
import { Spinner } from '../../../../components/Spinner';
import { InviteSearch } from '~/views/components/InviteSearch';
import { Spinner } from '~/views/components/Spinner';
export class InviteElement extends Component {
constructor(props) {

View File

@ -1,5 +1,5 @@
import React, { Component } from 'react';
import { cite } from '../../../../../logic/lib/util';
import { cite } from '~/logic/lib/util';
import moment from 'moment';
export class LinkPreview extends Component {

View File

@ -1,9 +1,9 @@
import React, { Component } from 'react';
import moment from 'moment';
import { Sigil } from '../../../../../logic/lib/sigil';
import { Sigil } from '~/logic/lib/sigil';
import { Link } from 'react-router-dom';
import { makeRoutePath, cite } from '../../../../../logic/lib/util';
import { makeRoutePath, cite } from '~/logic/lib/util';
export class LinkItem extends Component {
constructor(props) {

View File

@ -1,5 +1,5 @@
import React, { Component } from 'react';
import { Spinner } from '../../../../components/Spinner';
import { Spinner } from '~/views/components/Spinner';
export class LinkSubmit extends Component {
constructor() {

View File

@ -1,6 +1,6 @@
import React, { Component } from 'react';
import { Link } from 'react-router-dom';
import { makeRoutePath } from '../../../../../logic/lib/util';
import { makeRoutePath } from '~/logic/lib/util';
export class LinksTabBar extends Component {
render() {

View File

@ -1,6 +1,6 @@
import React, { Component } from 'react';
import { Sigil } from '../../../../../logic/lib/sigil';
import { uxToHex, cite } from '../../../../../logic/lib/util';
import { Sigil } from '~/logic/lib/sigil';
import { uxToHex, cite } from '~/logic/lib/util';
export class MemberElement extends Component {
onRemove() {
const { props } = this;

View File

@ -1,6 +1,6 @@
import React, { Component } from 'react';
import { Link } from 'react-router-dom';
import { makeRoutePath } from '../../../../../logic/lib/util';
import { makeRoutePath } from '~/logic/lib/util';
export class Pagination extends Component {
render() {

View File

@ -1,12 +1,12 @@
import React, { Component } from 'react';
import { LinksTabBar } from './lib/links-tabbar';
import { LinkPreview } from './lib/link-detail-preview';
import { SidebarSwitcher } from '../../../components/SidebarSwitch';
import { SidebarSwitcher } from '~/views/components/SidebarSwitch';
import { Link } from 'react-router-dom';
import { Comments } from './lib/comments';
import { Spinner } from '../../../components/Spinner';
import { Spinner } from '~/views/components/Spinner';
import { LoadingScreen } from './loading';
import { makeRoutePath, getContactDetails } from '../../../../logic/lib/util';
import { makeRoutePath, getContactDetails } from '~/logic/lib/util';
import CommentItem from './lib/comment-item';
export class LinkDetail extends Component {

View File

@ -3,13 +3,13 @@ import React, { Component } from 'react';
import { LoadingScreen } from './loading';
import { MessageScreen } from './lib/message-screen';
import { LinksTabBar } from './lib/links-tabbar';
import { SidebarSwitcher } from '../../../components/SidebarSwitch';
import { SidebarSwitcher } from '~/views/components/SidebarSwitch';
import { Link } from 'react-router-dom';
import { LinkItem } from './lib/link-item';
import { LinkSubmit } from './lib/link-submit';
import { Pagination } from './lib/pagination';
import { makeRoutePath, getContactDetails } from '../../../../logic/lib/util';
import { makeRoutePath, getContactDetails } from '~/logic/lib/util';
export class Links extends Component {
constructor(props) {

View File

@ -5,9 +5,9 @@ import { Link } from 'react-router-dom';
import { LoadingScreen } from './loading';
import { LinksTabBar } from './lib/links-tabbar';
import { MemberElement } from './lib/member-element';
import { SidebarSwitcher } from '../../../components/SidebarSwitch';
import { makeRoutePath } from '../../../../logic/lib/util';
import { GroupView } from '../../../components/Group';
import { SidebarSwitcher } from '~/views/components/SidebarSwitch';
import { makeRoutePath } from '~/logic/lib/util';
import { GroupView } from '~/views/components/Group';
export class MemberScreen extends Component {
render() {

View File

@ -1,8 +1,8 @@
import React, { Component } from 'react';
import { InviteSearch } from '../../../components/InviteSearch';
import { Spinner } from '../../../components/Spinner';
import { InviteSearch } from '~/views/components/InviteSearch';
import { Spinner } from '~/views/components/Spinner';
import { Link } from 'react-router-dom';
import { makeRoutePath, deSig } from '../../../../logic/lib/util';
import { makeRoutePath, deSig } from '~/logic/lib/util';
import urbitOb from 'urbit-ob';
export class NewScreen extends Component {

View File

@ -1,12 +1,12 @@
import React, { Component } from 'react';
import { uxToHex, makeRoutePath } from '../../../../logic/lib/util';
import { uxToHex, makeRoutePath } from '~/logic/lib/util';
import { Link } from 'react-router-dom';
import { LoadingScreen } from './loading';
import { Spinner } from '../../../components/Spinner';
import { Spinner } from '~/views/components/Spinner';
import { LinksTabBar } from './lib/links-tabbar';
import SidebarSwitcher from '../../../components/SidebarSwitch';
import SidebarSwitcher from '~/views/components/SidebarSwitch';
export class SettingsScreen extends Component {
constructor(props) {

View File

@ -1,6 +1,6 @@
import React, { Component } from 'react';
import { ChannelsSidebar } from './lib/channel-sidebar';
import ErrorBoundary from '../../../components/ErrorBoundary';
import ErrorBoundary from '~/views/components/ErrorBoundary';
export class Skeleton extends Component {
render() {

View File

@ -1,8 +1,8 @@
import React, { Component } from 'react';
import moment from 'moment';
import { Sigil } from '../../../../../logic/lib/sigil';
import { Sigil } from '~/logic/lib/sigil';
import CommentInput from './comment-input';
import { uxToHex, cite } from '../../../../../logic/lib/util';
import { uxToHex, cite } from '~/logic/lib/util';
export class CommentItem extends Component {
constructor(props) {

View File

@ -1,8 +1,8 @@
import React, { Component } from 'react';
import { CommentItem } from './comment-item';
import CommentInput from './comment-input';
import { dateToDa } from '../../../../../logic/lib/util';
import { Spinner } from '../../../../components/Spinner';
import { dateToDa } from '~/logic/lib/util';
import { Spinner } from '~/views/components/Spinner';
export class Comments extends Component {
constructor(props) {

View File

@ -1,9 +1,9 @@
import React, { Component } from 'react';
import { SidebarSwitcher } from '../../../../components/SidebarSwitch';
import { Spinner } from '../../../../components/Spinner';
import { SidebarSwitcher } from '~/views/components/SidebarSwitch';
import { Spinner } from '~/views/components/Spinner';
import { Link } from 'react-router-dom';
import { Controlled as CodeMirror } from 'react-codemirror2';
import { dateToDa } from '../../../../../logic/lib/util';
import { dateToDa } from '~/logic/lib/util';
import 'codemirror/mode/markdown/markdown';

View File

@ -1,6 +1,6 @@
import React, { Component } from 'react';
import { Link } from 'react-router-dom';
import { Spinner } from '../../../../components/Spinner';
import { Spinner } from '~/views/components/Spinner';
import urbitOb from 'urbit-ob';
export class JoinScreen extends Component {

View File

@ -1,9 +1,9 @@
import React, { Component } from 'react';
import { SidebarSwitcher } from '../../../../components/SidebarSwitch';
import { Spinner } from '../../../../components/Spinner';
import { SidebarSwitcher } from '~/views/components/SidebarSwitch';
import { Spinner } from '~/views/components/Spinner';
import { Link } from 'react-router-dom';
import { Controlled as CodeMirror } from 'react-codemirror2';
import { dateToDa, stringToSymbol } from '../../../../../logic/lib/util';
import { dateToDa, stringToSymbol } from '~/logic/lib/util';
import 'codemirror/mode/markdown/markdown';

View File

@ -1,8 +1,8 @@
import React, { Component } from 'react';
import { InviteSearch } from '../../../../components/InviteSearch';
import { Spinner } from '../../../../components/Spinner';
import { InviteSearch } from '~/views/components/InviteSearch';
import { Spinner } from '~/views/components/Spinner';
import { Link } from 'react-router-dom';
import { stringToSymbol } from '../../../../../logic/lib/util';
import { stringToSymbol } from '~/logic/lib/util';
export class NewScreen extends Component {
constructor(props) {

View File

@ -1,12 +1,12 @@
import React, { Component } from 'react';
import { Link } from 'react-router-dom';
import { SidebarSwitcher } from '../../../../components/SidebarSwitch';
import { Spinner } from '../../../../components/Spinner';
import { SidebarSwitcher } from '~/views/components/SidebarSwitch';
import { Spinner } from '~/views/components/Spinner';
import { Comments } from './comments';
import { NoteNavigation } from './note-navigation';
import moment from 'moment';
import ReactMarkdown from 'react-markdown';
import { cite } from '../../../../../logic/lib/util';
import { cite } from '~/logic/lib/util';
export class Note extends Component {
constructor(props) {

View File

@ -2,7 +2,7 @@ import React, { Component } from 'react';
import moment from 'moment';
import { Link } from 'react-router-dom';
import ReactMarkdown from 'react-markdown';
import { cite } from '../../../../../logic/lib/util';
import { cite } from '~/logic/lib/util';
export class NotebookPosts extends Component {
constructor(props) {

View File

@ -1,11 +1,11 @@
import React, { Component } from 'react';
import { Link } from 'react-router-dom';
import { SidebarSwitcher } from '../../../../components/SidebarSwitch';
import { SidebarSwitcher } from '~/views/components/SidebarSwitch';
import { NotebookPosts } from './notebook-posts';
import { Subscribers } from './subscribers';
import { Settings } from './settings';
import { cite } from '../../../../../logic/lib/util';
import { roleForShip } from '../../../../../logic/lib/group';
import { cite } from '~/logic/lib/util';
import { roleForShip } from '~/logic/lib/group';
export class Notebook extends Component {
constructor(props) {

View File

@ -1,7 +1,7 @@
import React, { Component } from 'react';
import { Spinner } from '../../../../components/Spinner';
import { InviteSearch } from '../../../../components/InviteSearch';
import Toggle from '../../../../components/toggle';
import { Spinner } from '~/views/components/Spinner';
import { InviteSearch } from '~/views/components/InviteSearch';
import Toggle from '~/views/components/toggle';
export class Settings extends Component {
constructor(props) {

View File

@ -1,9 +1,9 @@
import React, { Component } from 'react';
import { Link } from 'react-router-dom';
import SidebarInvite from '../../../../components/SidebarInvite';
import SidebarInvite from '~/views/components/SidebarInvite';
import { Welcome } from './welcome';
import { GroupItem } from './group-item';
import { alphabetiseAssociations } from '../../../../../logic/lib/util';
import { alphabetiseAssociations } from '~/logic/lib/util';
export class Sidebar extends Component {
render() {

View File

@ -1,6 +1,6 @@
import React, { Component } from 'react';
import { GroupView } from '../../../../components/Group';
import { resourceFromPath } from '../../../../../logic/lib/group';
import { GroupView } from '~/views/components/Group';
import { resourceFromPath } from '~/logic/lib/group';
export class Subscribers extends Component {
constructor(props) {

View File

@ -1,6 +1,6 @@
import React, { Component } from 'react';
import { Sidebar } from './lib/sidebar';
import ErrorBoundary from '../../../components/ErrorBoundary';
import ErrorBoundary from '~/views/components/ErrorBoundary';
export class Skeleton extends Component {
render() {

View File

@ -3,22 +3,22 @@ import _, { capitalize } from 'lodash';
import { FixedSizeList as List } from 'react-window';
import { Dropdown } from '../apps/publish/components/lib/dropdown';
import { cite, deSig } from '../../logic/lib/util';
import { roleForShip, resourceFromPath } from '../../logic/lib/group';
import { cite, deSig } from '~/logic/lib/util';
import { roleForShip, resourceFromPath } from '~/logic/lib/group';
import {
Group,
InvitePolicy,
OpenPolicy,
roleTags,
Groups,
} from '../../types/group-update';
import { Path, PatpNoSig, Patp } from '../../types/noun';
} from '~/types/group-update';
import { Path, PatpNoSig, Patp } from '~/types/noun';
import GlobalApi from '../api/global';
import { Menu, MenuButton, MenuList, MenuItem } from '@tlon/indigo-react';
import InviteSearch, { Invites } from './InviteSearch';
import { Spinner } from './Spinner';
import { Rolodex } from '../../types/contact-update';
import { Associations } from '../../types/metadata-update';
import { Rolodex } from '~/types/contact-update';
import { Associations } from '~/types/metadata-update';
class GroupMember extends Component<{ ship: Patp; options: any[] }, {}> {
render() {

View File

@ -2,11 +2,11 @@ import React, { Component, createRef } from 'react';
import _ from 'lodash';
import Mousetrap from 'mousetrap';
import urbitOb from 'urbit-ob';
import { Sigil } from '../../logic/lib/sigil';
import { PatpNoSig, Path } from '../../types/noun';
import { Groups} from '../../types/group-update';
import { Rolodex, Contact } from '../../types/contact-update';
import { Associations } from '../../types/metadata-update';
import { Sigil } from '~/logic/lib/sigil';
import { PatpNoSig, Path } from '~/types/noun';
import { Groups} from '~/types/group-update';
import { Rolodex, Contact } from '~/types/contact-update';
import { Associations } from '~/types/metadata-update';
export interface Invites {
ships: PatpNoSig[];

View File

@ -1,12 +1,12 @@
import React, { Component } from 'react';
import { withRouter } from 'react-router-dom';
import { Box, Row, Rule, Text } from '@tlon/indigo-react';
import index from '../../logic/lib/omnibox';
import index from '~/logic/lib/omnibox';
import Mousetrap from 'mousetrap';
import OmniboxInput from './OmniboxInput';
import OmniboxResult from './OmniboxResult';
import { cite } from '../../logic/lib/util';
import { cite } from '~/logic/lib/util';
export class Omnibox extends Component {
constructor(props) {

View File

@ -1,6 +1,6 @@
import React, { Component } from 'react';
import { Row, Icon, Text } from '@tlon/indigo-react';
import defaultApps from '../../logic/lib/default-apps';
import defaultApps from '~/logic/lib/default-apps';
export class OmniboxResult extends Component {
constructor(props) {

Some files were not shown because too many files have changed in this diff Show More