summaryrefslogtreecommitdiff
path: root/src/components/templates/CopyrightNotice.astro
diff options
context:
space:
mode:
authorJoão Augusto Costa Branco Marado Torres <torres.dev@disroot.org>2025-08-05 18:50:37 +0100
committerJoão Augusto Costa Branco Marado Torres <torres.dev@disroot.org>2025-08-05 18:50:37 +0100
commit0af094770c4ebabc56ff761a8bd215bc397c0f7e (patch)
treea9ad669c8b84b4d13897732ed93ccfcbbeb2cb25 /src/components/templates/CopyrightNotice.astro
parent84eef3f848c4efa18985a776021a58720744523a (diff)
refactor: reading page review
Signed-off-by: João Augusto Costa Branco Marado Torres <torres.dev@disroot.org>
Diffstat (limited to 'src/components/templates/CopyrightNotice.astro')
-rw-r--r--src/components/templates/CopyrightNotice.astro70
1 files changed, 70 insertions, 0 deletions
diff --git a/src/components/templates/CopyrightNotice.astro b/src/components/templates/CopyrightNotice.astro
new file mode 100644
index 0000000..8335293
--- /dev/null
+++ b/src/components/templates/CopyrightNotice.astro
@@ -0,0 +1,70 @@
+---
+import {
+ CREATIVE_COMMONS_LICENSES,
+ type LICENSES,
+} from "@lib/collection/schemas";
+import CC from "./licenses/CC.astro";
+import WTFPL from "./licenses/WTFPL.astro";
+import type { Person } from "@lib/collection/types";
+
+export interface Props {
+ title: string;
+ holders: Person[];
+ years: number[];
+ license?: typeof LICENSES[number];
+}
+
+let { license = "public domain" } = Astro.props;
+
+let Notice = undefined;
+if (license !== undefined) {
+ if (license === "WTFPL") {
+ Notice = WTFPL;
+ } else if (
+ CREATIVE_COMMONS_LICENSES.some((x) => license.localeCompare(x) === 0)
+ ) {
+ Notice = CC;
+ }
+}
+---
+
+{Notice && <div lang="en"><Notice {...Astro.props} /></div>}
+
+{
+ /*
+ https://spdx.org/licenses/WTFPL.html
+ https://spdx.org/licenses/GFDL-1.3-or-later.html
+ https://spdx.org/licenses/FSFAP.html
+ https://artlibre.org/licence/lal/en/
+ https://harmful.cat-v.org/software/
+
+ IPL-1.0
+ IPA
+ Intel
+ HPND
+ EUPL-1.2
+ EUPL-1.1
+ EUDatagrid
+ EPL-2.0
+ EPL-1.0
+ EFL-2.0
+ ECL-2.0
+ CPL-1.0
+ CPAL-1.0
+ CDDL-1.0
+ BSL-1.0
+ BSD-3-Clause
+ BSD-2-Clause
+ Artistic-2.0
+ APSL-2.0
+ Apache-2.0
+ Apache-1.1
+ AGPL-3.0-or-later
+ AGPL-3.0-only
+ AFL-3.0
+ AFL-2.1
+ AFL-2.0
+ AFL-1.2
+ AFL-1.1
+ */
+}