Merge branch 'main' of github.com:outline/outline

This commit is contained in:
Tom Moor
2022-10-26 19:01:32 -04:00
3 changed files with 57 additions and 28 deletions

View File

@@ -1,8 +1,7 @@
import { observable } from "mobx";
import { observer } from "mobx-react";
import * as React from "react";
import styled from "styled-components";
import User from "~/models/User";
import useBoolean from "~/hooks/useBoolean";
import placeholder from "./placeholder.png";
type Props = {
@@ -16,35 +15,28 @@ type Props = {
className?: string;
};
@observer
class Avatar extends React.Component<Props> {
@observable
error: boolean;
function Avatar(props: Props) {
const { src, icon, showBorder, ...rest } = props;
static defaultProps = {
size: 24,
};
const [error, handleError] = useBoolean(false);
handleError = () => {
this.error = true;
};
render() {
const { src, icon, showBorder, ...rest } = this.props;
return (
<AvatarWrapper>
<CircleImg
onError={this.handleError}
src={this.error ? placeholder : src}
$showBorder={showBorder}
{...rest}
/>
{icon && <IconWrapper>{icon}</IconWrapper>}
</AvatarWrapper>
);
}
return (
<AvatarWrapper>
<CircleImg
onError={handleError}
src={error ? placeholder : src}
$showBorder={showBorder}
{...rest}
/>
{icon && <IconWrapper>{icon}</IconWrapper>}
</AvatarWrapper>
);
}
Avatar.defaultProps = {
size: 24,
};
const AvatarWrapper = styled.div`
position: relative;
`;

View File

@@ -21,24 +21,37 @@ import clike from "refractor/lang/clike";
import csharp from "refractor/lang/csharp";
import css from "refractor/lang/css";
import elixir from "refractor/lang/elixir";
import erlang from "refractor/lang/erlang";
import go from "refractor/lang/go";
import graphql from "refractor/lang/graphql";
import groovy from "refractor/lang/groovy";
import haskell from "refractor/lang/haskell";
import ini from "refractor/lang/ini";
import java from "refractor/lang/java";
import javascript from "refractor/lang/javascript";
import json from "refractor/lang/json";
import kotlin from "refractor/lang/kotlin";
import lisp from "refractor/lang/lisp";
import lua from "refractor/lang/lua";
import markup from "refractor/lang/markup";
import objectivec from "refractor/lang/objectivec";
import ocaml from "refractor/lang/ocaml";
import perl from "refractor/lang/perl";
import php from "refractor/lang/php";
import powershell from "refractor/lang/powershell";
import python from "refractor/lang/python";
import ruby from "refractor/lang/ruby";
import rust from "refractor/lang/rust";
import scala from "refractor/lang/scala";
import solidity from "refractor/lang/solidity";
import sql from "refractor/lang/sql";
import swift from "refractor/lang/swift";
import toml from "refractor/lang/toml";
import typescript from "refractor/lang/typescript";
import visualbasic from "refractor/lang/visual-basic";
import yaml from "refractor/lang/yaml";
import zig from "refractor/lang/zig";
import { UserPreferences } from "@shared/types";
import { Dictionary } from "~/hooks/useDictionary";
@@ -59,24 +72,36 @@ const DEFAULT_LANGUAGE = "javascript";
clike,
csharp,
elixir,
erlang,
go,
graphql,
groovy,
haskell,
ini,
java,
javascript,
json,
kotlin,
lisp,
lua,
markup,
objectivec,
ocaml,
perl,
php,
python,
powershell,
ruby,
rust,
scala,
sql,
solidity,
swift,
toml,
typescript,
visualbasic,
yaml,
zig,
].forEach(refractor.register);
export default class CodeFence extends Node {

View File

@@ -12,25 +12,37 @@ export const LANGUAGES = {
clike: "C",
csharp: "C#",
elixir: "Elixir",
erlang: "Erlang",
go: "Go",
graphql: "GraphQL",
groovy: "Groovy",
haskell: "Haskell",
markup: "HTML",
objectivec: "Objective-C",
ini: "INI",
java: "Java",
javascript: "JavaScript",
json: "JSON",
kotlin: "Kotlin",
lisp: "Lisp",
lua: "Lua",
mermaidjs: "Mermaid Diagram",
objectivec: "Objective-C",
ocaml: "OCaml",
perl: "Perl",
php: "PHP",
powershell: "Powershell",
python: "Python",
ruby: "Ruby",
rust: "Rust",
scala: "Scala",
sql: "SQL",
solidity: "Solidity",
swift: "Swift",
toml: "TOML",
typescript: "TypeScript",
visualbasic: "Visual Basic",
yaml: "YAML",
zig: "Zig",
};
type ParsedNode = {