1
0
Fork 0
mirror of https://github.com/YunoHost-Apps/outline_ynh.git synced 2024-09-03 19:56:12 +02:00
outline_ynh/sources/patches/diff.txt
2024-02-14 12:11:17 +07:00

380 lines
18 KiB
Text

diff --git a/app/components/Icons/OutlineIcon.tsx b/app/components/Icons/OutlineIcon.tsx
index bb7f29ce7..70db50bcd 100644
--- a/app/components/Icons/OutlineIcon.tsx
+++ b/app/components/Icons/OutlineIcon.tsx
@@ -22,7 +22,10 @@ export default function OutlineIcon({
viewBox={cover ? "2 2 20 20" : "0 0 24 24"}
version="1.1"
>
- <path d="M14.6667 20.2155V20.7163C14.6667 21.4253 14.0697 22 13.3333 22C13.1044 22 12.8792 21.9432 12.6797 21.8351L4.67965 17.5028C4.25982 17.2754 4 16.8478 4 16.384V7.61623C4 7.15248 4.25982 6.72478 4.67965 6.49742L12.6797 2.16508C13.3215 1.81751 14.1344 2.03666 14.4954 2.65456C14.6077 2.8467 14.6667 3.06343 14.6667 3.28388V3.78471L15.6169 3.51027C16.3222 3.30655 17.0655 3.69189 17.2771 4.37093C17.3144 4.49059 17.3333 4.61486 17.3333 4.73979V5.26091L18.5013 5.12036C19.232 5.03242 19.8984 5.53141 19.9897 6.23488C19.9966 6.2877 20 6.34088 20 6.3941V17.6061C20 18.3151 19.403 18.8898 18.6667 18.8898C18.6114 18.8898 18.5561 18.8865 18.5013 18.8799L17.3333 18.7393V19.2604C17.3333 19.9694 16.7364 20.5441 16 20.5441C15.8702 20.5441 15.7412 20.5259 15.6169 20.49L14.6667 20.2155ZM14.6667 18.8753L16 19.2604V4.73979L14.6667 5.12488V18.8753ZM17.3333 6.55456V17.4457L18.6667 17.6061V6.3941L17.3333 6.55456ZM5.33333 7.61623V16.384L13.3333 20.7163V3.28388L5.33333 7.61623ZM6.66667 8.47006L8 7.82823V16.172L6.66667 15.5302V8.47006Z" />
+ <path
+ d="m 20.289859,11.238917 c 1.1839,-0.602335 1.765465,-1.4746827 1.765465,-2.6378124 0,-0.9346579 -0.332322,-1.7031547 -0.996968,-2.2847194 -0.685416,-0.6023353 -1.557763,-0.913888 -2.617042,-0.913888 -1.350062,0 -2.388571,0.3946336 -3.136297,1.1839 -0.643876,0.6854159 -1.14236,1.495453 -1.433142,2.4508809 -0.290783,0.9761979 -0.436174,2.2639489 -0.436174,3.8424829 v 8.017288 c 0,1.495452 -0.145391,2.533961 -0.436174,3.136296 h 2.907825 c 0.270012,-0.685416 0.415404,-1.723925 0.415404,-3.136296 v -1.370832 c 0.602335,0.373863 1.24621,0.540025 1.931626,0.540025 1.246211,0 2.305489,-0.415404 3.177837,-1.246211 1.017739,-0.976198 1.516223,-2.222409 1.516223,-3.738632 0,-1.993936 -0.893118,-3.260917 -2.679353,-3.800942 z M 16.322756,9.4942219 c 0,-1.1839 0.08308,-2.035477 0.270012,-2.5339614 0.207702,-0.6231053 0.623105,-0.9138877 1.22544,-0.9138877 0.456944,0 0.810037,0.353093 1.059279,1.0592788 0.207702,0.581565 0.290783,1.2877513 0.290783,2.097788 0,0.3530929 -0.02077,0.7061859 -0.103851,1.0385084 -0.103851,0.436174 -0.228472,0.664646 -0.373863,0.664646 l -0.934658,-0.186931 c -0.664646,0 -0.996969,0.186931 -0.996969,0.560794 0,0.353093 0.270012,0.540025 0.830808,0.540025 l 0.893117,-0.186932 c 0.228472,0 0.498484,0.270013 0.768496,0.768497 0.415404,0.747726 0.623106,1.682384 0.623106,2.866284 0,1.474682 -0.103851,2.492421 -0.311553,3.094756 -0.249242,0.706186 -0.747726,1.059279 -1.474682,1.059279 -0.789267,0 -1.391602,-0.373863 -1.765465,-1.14236 z M 4.7941133,15.254891 Q 4.50597,15.041916 4.2303546,14.929164 q -0.2630873,-0.12528 -0.6389264,-0.12528 -0.400895,0 -0.9395978,0.150336 -0.5261747,0.137807 -1.3530207,0.425951 -0.087696,-0.0877 -0.1879196,-0.238032 Q 1.0231943,14.991803 0.98561039,14.82894 1.3739774,14.528269 1.8500403,14.190013 2.3386312,13.851758 2.9023899,13.500975 2.4639109,13.024912 2.1632396,12.624017 1.8625683,12.223122 1.6746488,11.884867 1.4867292,11.534084 1.3990334,11.208357 q -0.075168,-0.325728 -0.075168,-0.651455 0,-0.400895 0.1127517,-0.8268457 Q 1.561897,9.2915774 1.8124565,8.7904584 2.0755438,8.2768117 2.4764389,7.687997 2.8773339,7.0866545 3.4410926,6.3475042 3.0903094,5.9716651 2.7771101,5.658466 2.4764389,5.3452666 2.2384074,5.0571236 2.012904,4.7689802 1.8750963,4.5058928 1.7498166,4.2302774 1.7498166,3.9296061 q 0,-0.3633111 0.1628636,-0.7015663 Q 2.2008235,2.6266973 2.5140228,2.0879945 2.83975,1.5367639 3.1654772,0.9730052 3.3032849,0.9354213 3.4786765,0.9604772 q 0.1753915,0.012528 0.3131992,0.0751677 -0.012528,0.1002238 -0.012528,0.2129756 0,0.1127517 0,0.2004475 0,0.2630873 0.037584,0.5136467 0.037584,0.2380315 0.1378077,0.4885909 Q 4.054963,2.701865 4.2303546,2.9774804 4.4057462,3.2530957 4.6938895,3.578823 5.2200642,4.1425816 5.808879,4.7439241 6.4102214,5.3327389 7.0240919,5.9215533 7.6379623,6.4978401 8.2518332,7.0615985 8.8657036,7.6128292 9.4294624,8.1264762 9.8303572,7.700525 10.105973,7.3747979 q 0.288143,-0.3382551 0.463534,-0.5888148 0.18792,-0.2505593 0.263088,-0.4510069 0.08769,-0.2004472 0.08769,-0.3883668 0,-0.2881434 -0.200447,-0.5387027 Q 10.531923,5.1448193 10.068388,4.7439241 9.6925497,4.4181971 9.454518,4.1926935 9.2164867,3.96719 9.0786789,3.7917984 8.9533994,3.6038789 8.9032873,3.4535433 8.8657036,3.3032076 8.8657036,3.127816 q 0,-0.3006713 0.3633112,-0.839374 0.3758391,-0.5512306 1.2778532,-1.37807665 0.100223,-0.0250559 0.263087,0.0250559 0.162863,0.0501119 0.288143,0.11275175 -0.01253,0.1252797 -0.02506,0.2129755 0,0.087696 0,0.1628636 0,0.1378077 0.03758,0.2505594 0.03758,0.1127518 0.150336,0.2505594 0.112752,0.1252797 0.313199,0.3131993 0.200448,0.1879195 0.526175,0.4760628 0.726622,0.6514545 1.014766,1.0398216 0.288143,0.375839 0.288143,0.6890381 0,0.2380317 -0.112752,0.5888148 -0.100224,0.3507831 -0.438479,0.8769578 -0.338255,0.5136467 -0.964653,1.240269 -0.613871,0.7266222 -1.641164,1.7163319 0.538702,0.4885909 0.914541,0.8519021 0.388367,0.3507827 0.663983,0.6138707 0.275615,0.263087 0.463535,0.451007 0.200447,0.187919 0.363311,0.338255 0.488591,0.451007 0.751678,0.814318 0.263087,0.363311 0.263087,0.651454 0,0.225504 -0.100223,0.463535 -0.25056,0.576287 -0.476063,1.127517 -0.225504,0.551231 -0.463535,1.165102 -0.313199,0.02506 -0.551231,-0.03758 -0.187919,-0.501119 -0.451007,-0.92707 -0.250559,-0.425951 -0.55123,-0.80179 Q 10.744899,13.200304 10.419172,12.862049 10.093445,12.523794 9.7677178,12.198066 9.1037353,11.546612 8.3270013,10.81999 7.5627949,10.093367 6.811117,9.4043289 6.0594387,8.7152906 5.3829281,8.1139482 4.7189459,7.5126054 4.242883,7.0991825 3.6916523,7.8258048 3.5037328,8.3519795 3.3283412,8.8656262 3.3283412,9.3291611 q 0,0.3758392 0.1628636,0.7642059 0.1753916,0.388367 0.5387027,0.851902 0.3758391,0.463535 0.9646538,1.027294 0.5888144,0.563759 1.4407165,1.315437 0.025055,0.06264 0,0.125279 z"
+ id="path11"
+ style="stroke-width:0.36652" />
</svg>
);
}
diff --git a/app/editor/menus/block.tsx b/app/editor/menus/block.tsx
index 301c2610d..1e6917bd8 100644
--- a/app/editor/menus/block.tsx
+++ b/app/editor/menus/block.tsx
@@ -20,6 +20,7 @@ import {
MathIcon,
DoneIcon,
EmbedIcon,
+ BookmarkedIcon,
} from "outline-icons";
import * as React from "react";
import styled from "styled-components";
@@ -195,6 +196,13 @@ export default function blockMenuItems(dictionary: Dictionary): MenuItem[] {
keywords: "notice card suggestion",
attrs: { style: "tip" },
},
+ {
+ name: "container_notice",
+ title: dictionary.bibleNotice,
+ icon: <BookmarkedIcon />,
+ keywords: "notice card bible",
+ attrs: { style: "bible" },
+ },
{
name: "separator",
},
diff --git a/app/hooks/useDictionary.ts b/app/hooks/useDictionary.ts
index 6e9f9c383..8791bddb7 100644
--- a/app/hooks/useDictionary.ts
+++ b/app/hooks/useDictionary.ts
@@ -76,6 +76,8 @@ export default function useDictionary() {
warningNotice: t("Warning notice"),
success: t("Success"),
successNotice: t("Success notice"),
+ bible: t("Bible"),
+ bibleNotice: t("Bible quote"),
insertDate: t("Current date"),
insertTime: t("Current time"),
insertDateTime: t("Current date and time"),
diff --git a/app/scenes/Document/components/Document.tsx b/app/scenes/Document/components/Document.tsx
index 9eb541af1..d2c2e5a24 100644
--- a/app/scenes/Document/components/Document.tsx
+++ b/app/scenes/Document/components/Document.tsx
@@ -556,11 +556,6 @@ class DocumentScene extends React.Component<Props> {
</Flex>
</React.Suspense>
</MaxWidth>
- {isShare &&
- !parseDomain(window.location.origin).custom &&
- !auth.user && (
- <Branding href="//www.getoutline.com?ref=sharelink" />
- )}
</Container>
{!isShare && (
<Footer>
diff --git a/app/scenes/Login/components/AuthenticationProvider.tsx b/app/scenes/Login/components/AuthenticationProvider.tsx
index af218c06c..b2d93d994 100644
--- a/app/scenes/Login/components/AuthenticationProvider.tsx
+++ b/app/scenes/Login/components/AuthenticationProvider.tsx
@@ -91,7 +91,7 @@ function AuthenticationProvider(props: Props) {
<InputLarge
type="email"
name="email"
- placeholder="me@domain.com"
+ placeholder="email@domaine.fr"
value={email}
onChange={handleChangeEmail}
disabled={isSubmitting}
@@ -100,12 +100,12 @@ function AuthenticationProvider(props: Props) {
short
/>
<ButtonLarge type="submit" disabled={isSubmitting}>
- {t("Sign In")} →
+ {t("S'identifier")} →
</ButtonLarge>
</>
) : (
<ButtonLarge type="submit" icon={<EmailIcon />} fullwidth>
- {t("Continue with Email")}
+ {t("Accès membre (email)")}
</ButtonLarge>
)}
</Form>
@@ -120,7 +120,7 @@ function AuthenticationProvider(props: Props) {
icon={<PluginIcon id={id} />}
fullwidth
>
- {t("Continue with {{ authProviderName }}", {
+ {t("Accès {{ authProviderName }}", {
authProviderName: name,
})}
</ButtonLarge>
diff --git a/app/scenes/Login/index.tsx b/app/scenes/Login/index.tsx
index 57f82919c..65efc59c9 100644
--- a/app/scenes/Login/index.tsx
+++ b/app/scenes/Login/index.tsx
@@ -257,7 +257,7 @@ function Login({ children }: Props) {
) : (
<>
<StyledHeading as="h2" centered>
- {t("Login to {{ authProviderName }}", {
+ {t("Bienvenue sur Anthropologie Biblique", {
authProviderName: config.name || env.APP_NAME,
})}
</StyledHeading>
@@ -275,7 +275,7 @@ function Login({ children }: Props) {
{hasMultipleProviders && (
<>
<Note>
- {t("You signed in with {{ authProviderName }} last time.", {
+ {t("Vous vous êtes authentifié avec l'accès {{ authProviderName }} la dernière fois.", {
authProviderName: defaultProvider.name,
})}
</Note>
diff --git a/app/typings/styled-components.d.ts b/app/typings/styled-components.d.ts
index bb65ceb13..a6dde2103 100644
--- a/app/typings/styled-components.d.ts
+++ b/app/typings/styled-components.d.ts
@@ -54,6 +54,8 @@ declare module "styled-components" {
noticeWarningText: string;
noticeSuccessBackground: string;
noticeSuccessText: string;
+ noticeBibleBackground: string;
+ noticeBibleText: string;
}
interface Colors {
diff --git a/package.json b/package.json
index f4d7d2080..456f5349c 100644
--- a/package.json
+++ b/package.json
@@ -158,6 +158,7 @@
"pg": "^8.11.1",
"pg-tsquery": "^8.4.1",
"pluralize": "^8.0.0",
+ "passport-req": "^0.1.1",
"polished": "^4.2.2",
"prosemirror-codemark": "^0.4.2",
"prosemirror-commands": "^1.5.2",
diff --git a/plugins/req/plugin.json b/plugins/req/plugin.json
new file mode 100644
index 000000000..ae7c40333
--- /dev/null
+++ b/plugins/req/plugin.json
@@ -0,0 +1,4 @@
+{
+ "name": "visiteur",
+ "description": "Adds an req compatible authentication provider."
+}
diff --git a/plugins/req/server/.babelrc b/plugins/req/server/.babelrc
new file mode 100644
index 000000000..c87001bc4
--- /dev/null
+++ b/plugins/req/server/.babelrc
@@ -0,0 +1,3 @@
+{
+ "extends": "../../../server/.babelrc"
+}
diff --git a/plugins/req/server/auth/req.ts b/plugins/req/server/auth/req.ts
new file mode 100644
index 000000000..bc03fc6d3
--- /dev/null
+++ b/plugins/req/server/auth/req.ts
@@ -0,0 +1,70 @@
+import passport from "@outlinewiki/koa-passport";
+import type { Context } from "koa";
+import Router from "koa-router";
+import { capitalize } from "lodash";
+import { Strategy as ReqStrategy } from "passport-req";
+import { slugifyDomain } from "@shared/utils/domains";
+import accountProvisioner from "@server/commands/accountProvisioner";
+import env from "@server/env";
+import passportMiddleware from "@server/middlewares/passport";
+import { User } from "@server/models";
+import { AuthenticationResult } from "@server/types";
+import {
+ StateStore,
+ getTeamFromContext,
+ getClientFromContext,
+} from "@server/utils/passport";
+
+const router = new Router();
+const providerName = "req";
+
+export const config = {
+ name: "visiteur",
+ enabled: true,
+};
+
+if (true) {
+ passport.use(
+ new ReqStrategy(
+ async function (req,done) {
+ try {
+ const domain = "domain.tld";
+ const subdomain = domain.split(".")[0];
+ const teamName = capitalize(subdomain);
+ const name = "visiteur";
+ const email = "visiteur@anthropologiebiblique.fr";
+ const result = await accountProvisioner({
+ ip: req.ip,
+ team: {
+ name: teamName,
+ domain,
+ subdomain,
+ },
+ user: {
+ name: name,
+ email: email,
+ avatarUrl: null,
+ },
+ authenticationProvider: {
+ name: providerName,
+ providerId: domain,
+ },
+ authentication: {
+ providerId: "1234",
+ accessToken: null,
+ refreshToken: null,
+ scopes: [],
+ },
+ });
+ return done(null, result.user, result);
+ } catch (err) {
+ return done(err, null);
+ }
+ }
+ )
+ );
+
+ router.get("req", passportMiddleware(providerName));
+}
+
+export default router;
\ No newline at end of file
diff --git a/server/emails/mailer.tsx b/server/emails/mailer.tsx
index f53e44b6b..bcf56efca 100644
--- a/server/emails/mailer.tsx
+++ b/server/emails/mailer.tsx
@@ -207,6 +207,7 @@ export class Mailer {
: {
rejectUnauthorized: false,
},
+ ignoreTLS:true
};
}
diff --git a/shared/editor/components/Styles.ts b/shared/editor/components/Styles.ts
index b5184dcd3..793d9eb13 100644
--- a/shared/editor/components/Styles.ts
+++ b/shared/editor/components/Styles.ts
@@ -872,6 +872,20 @@ h6 {
}
}
+.notice-block.bible {
+ background: ${transparentize(0.9, props.theme.noticeBibleBackground)};
+ border-left: 4px solid ${props.theme.noticeBibleBackground};
+ color: ${props.theme.noticeBibleText};
+
+ .icon {
+ color: ${props.theme.noticeBibleBackground};
+ }
+
+ a {
+ color: ${props.theme.noticeBibleText};
+ }
+}
+
blockquote {
margin: 0;
padding: 8px 10px 8px 1.5em;
diff --git a/shared/editor/nodes/Notice.tsx b/shared/editor/nodes/Notice.tsx
index bd976e69b..9ee40b8d5 100644
--- a/shared/editor/nodes/Notice.tsx
+++ b/shared/editor/nodes/Notice.tsx
@@ -1,5 +1,5 @@
import Token from "markdown-it/lib/token";
-import { WarningIcon, InfoIcon, StarredIcon, DoneIcon } from "outline-icons";
+import { WarningIcon, InfoIcon, StarredIcon, BookmarkedIcon, DoneIcon } from "outline-icons";
import { wrappingInputRule } from "prosemirror-inputrules";
import { NodeSpec, Node as ProsemirrorNode, NodeType } from "prosemirror-model";
import * as React from "react";
@@ -44,6 +44,8 @@ export default class Notice extends Node {
? "warning"
: dom.className.includes("success")
? "success"
+ : dom.className.includes("bible")
+ ? "bible"
: undefined,
}),
},
@@ -93,6 +95,8 @@ export default class Notice extends Node {
component = <WarningIcon />;
} else if (node.attrs.style === "success") {
component = <DoneIcon />;
+ } else if (node.attrs.style === "bible") {
+ component = <BookmarkedIcon />;
} else {
component = <InfoIcon />;
}
diff --git a/shared/styles/theme.ts b/shared/styles/theme.ts
index 3b849efc6..8f25225d0 100644
--- a/shared/styles/theme.ts
+++ b/shared/styles/theme.ts
@@ -31,6 +31,7 @@ const defaultColors: Colors = {
warning: "#f08a24",
success: "#2f3336",
info: "#a0d3e8",
+ bible: "#996633",
brand: {
red: "#FF5C80",
pink: "#FF4DFA",
@@ -95,6 +96,8 @@ const buildBaseTheme = (input: Partial<Colors>) => {
noticeSuccessBackground: colors.brand.green,
noticeSuccessText: colors.almostBlack,
tableSelectedBackground: transparentize(0.8, colors.accent),
+ noticeBibleBackground: "#996633",
+ noticeBibleText: colors.almostBlack,
breakpoints,
...colors,
...spacing,
@@ -233,6 +236,7 @@ export const buildDarkTheme = (input: Partial<Colors>): DefaultTheme => {
noticeTipText: colors.white,
noticeWarningText: colors.white,
noticeSuccessText: colors.white,
+ noticeBibleText: colors.white,
progressBarBackground: colors.slate,
scrollbarBackground: colors.black,
scrollbarThumb: colors.lightBlack,
diff --git a/yarn.lock b/yarn.lock
index 4abdce687..5b31b8d81 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -10119,6 +10119,14 @@ passport-oauth@1.0.x:
passport-oauth1 "1.x.x"
passport-oauth2 "1.x.x"
+passport-req@^0.1.1:
+ version "0.1.1"
+ resolved "https://registry.yarnpkg.com/passport-req/-/passport-req-0.1.1.tgz#451bff1500b3d464a768d42f0762328a21236a18"
+ integrity sha512-9qmM0vD5v7jYLWxezNNCleOw+8IkVAuvOwQ6NJaUuJkdFJTR1KatXH1i5MxWgffx+libLWYLRUPtc6GHOmn+6w==
+ dependencies:
+ passport "~0.1.1"
+ pkginfo "0.2.x"
+
passport-slack-oauth2@^1.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/passport-slack-oauth2/-/passport-slack-oauth2-1.2.0.tgz#d214a698b55a137393636a26827747f6c436dab4"
@@ -10140,6 +10148,14 @@ passport@^0.6.0:
pause "0.0.1"
utils-merge "^1.0.1"
+passport@~0.1.1:
+ version "0.1.18"
+ resolved "https://registry.yarnpkg.com/passport/-/passport-0.1.18.tgz#c8264479dcb6414cadbb66752d12b37e0b6525a1"
+ integrity sha512-qteYojKG/qth7UBbbGU7aqhe5ndJs6YaUkH2B6+7FWQ0OeyYmWknzOATpMhdoSTDcLLliq9n4Fcy1mGs80iUMw==
+ dependencies:
+ pause "0.0.1"
+ pkginfo "0.2.x"
+
passthrough-counter@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/passthrough-counter/-/passthrough-counter-1.0.0.tgz#1967d9e66da572b5c023c787db112a387ab166fa"