diff --git a/unime/src/i18n/de-DE/index.ts b/unime/src/i18n/de-DE/index.ts index f57fc385..fdf04fa9 100644 --- a/unime/src/i18n/de-DE/index.ts +++ b/unime/src/i18n/de-DE/index.ts @@ -159,6 +159,9 @@ const de = { ABOUT: { TITLE: 'Über UniMe', NAVBAR_TITLE: 'Über UniMe', + SPECIFICATIONS: 'Spezifikationen', + VERSION: 'Version', + LICENSE: 'Lizenz', BUILT_WITH: 'Gebaut mit Tauri', }, FEEDBACK: { diff --git a/unime/src/i18n/en/index.ts b/unime/src/i18n/en/index.ts index f940cf46..b2532eb7 100644 --- a/unime/src/i18n/en/index.ts +++ b/unime/src/i18n/en/index.ts @@ -158,6 +158,9 @@ const en = { ABOUT: { TITLE: 'About UniMe', NAVBAR_TITLE: 'About UniMe', + SPECIFICATIONS: 'Specifications', + VERSION: 'Version', + LICENSE: 'License', BUILT_WITH: 'Built with Tauri', }, FEEDBACK: { diff --git a/unime/src/i18n/i18n-types.ts b/unime/src/i18n/i18n-types.ts index e0bda921..575339c7 100644 --- a/unime/src/i18n/i18n-types.ts +++ b/unime/src/i18n/i18n-types.ts @@ -442,6 +442,18 @@ type RootTranslation = { * A​b​o​u​t​ ​U​n​i​M​e */ NAVBAR_TITLE: string + /** + * S​p​e​c​i​f​i​c​a​t​i​o​n​s + */ + SPECIFICATIONS: string + /** + * V​e​r​s​i​o​n + */ + VERSION: string + /** + * L​i​c​e​n​s​e + */ + LICENSE: string /** * B​u​i​l​t​ ​w​i​t​h​ ​T​a​u​r​i */ @@ -807,7 +819,7 @@ type RootTranslation = { */ FAILURE: string /** - * N​o​ ​p​r​o​o​f​ ​o​f​ ​o​w​n​e​r​s​h​i​p​ ​o​f​ ​t​h​e​ ​d​o​m​a​i​n​ ​w​a​s​ ​p​r​o​v​i​d​e​d​ ​w​h​i​c​h​ ​U​n​i​M​e​ ​c​o​u​l​d​ ​v​e​r​i​f​y​. + * U​n​i​M​e​ ​c​o​u​l​d​ ​n​o​t​ ​f​i​n​d​ ​a​n​y​ ​p​r​o​o​f​ ​o​f​ ​t​h​e​ ​d​o​m​a​i​n​'​s​ ​a​s​s​o​c​i​a​t​e​d​ ​i​d​e​n​t​i​t​y​. */ UNKNOWN: string /** @@ -1273,6 +1285,18 @@ export type TranslationFunctions = { * About UniMe */ NAVBAR_TITLE: () => LocalizedString + /** + * Specifications + */ + SPECIFICATIONS: () => LocalizedString + /** + * Version + */ + VERSION: () => LocalizedString + /** + * License + */ + LICENSE: () => LocalizedString /** * Built with Tauri */ @@ -1638,7 +1662,7 @@ export type TranslationFunctions = { */ FAILURE: () => LocalizedString /** - * No proof of ownership of the domain was provided which UniMe could verify. + * UniMe could not find any proof of the domain's associated identity. */ UNKNOWN: () => LocalizedString /** diff --git a/unime/src/i18n/nl-NL/index.ts b/unime/src/i18n/nl-NL/index.ts index b49b5905..526293b5 100644 --- a/unime/src/i18n/nl-NL/index.ts +++ b/unime/src/i18n/nl-NL/index.ts @@ -158,6 +158,9 @@ const nl = { ABOUT: { TITLE: 'Over UniMe', NAVBAR_TITLE: 'Over UniMe', + SPECIFICATIONS: 'Specificaties', + VERSION: 'Versie', + LICENSE: 'Licentie', BUILT_WITH: 'Ontwikkeld met Tauri', }, FEEDBACK: { diff --git a/unime/src/routes/(app)/me/settings/about/+page.server.ts b/unime/src/routes/(app)/me/settings/about/+page.server.ts new file mode 100644 index 00000000..8211b236 --- /dev/null +++ b/unime/src/routes/(app)/me/settings/about/+page.server.ts @@ -0,0 +1,37 @@ +import type { PageServerLoad } from './$types'; + +interface Specification { + id: string; + description: string; + version: string; + url: string; +} + +export const load = (async () => { + // https://github.com/impierce/openid4vc?tab=readme-ov-file#rust-library-for-openid-for-verifiable-credentials + + const specifications: Specification[] = [ + { + id: 'OID4VCI', + description: 'OpenID for Verifiable Credential Issuance', + version: 'Working Group Draft 13 (published: 8 February 2024)', + url: 'https://openid.net/specs/openid-4-verifiable-credential-issuance-1_0-13.html', + }, + { + id: 'OID4VP', + description: 'OpenID for Verifiable Presentations', + version: 'Working Group Draft 20 (published: 29 November 2023)', + url: 'https://openid.net/specs/openid-4-verifiable-presentations-1_0-20.html', + }, + { + id: 'SIOPv2', + description: 'Self-Issued OpenID Provider v2', + version: 'Working Group Draft 13 (published: 28 November 2023)', + url: 'https://openid.net/specs/openid-connect-self-issued-v2-1_0-13.html', + }, + ]; + + return { + specifications, + }; +}) satisfies PageServerLoad; diff --git a/unime/src/routes/(app)/me/settings/about/+page.svelte b/unime/src/routes/(app)/me/settings/about/+page.svelte index 9b4f2bb6..5a678378 100644 --- a/unime/src/routes/(app)/me/settings/about/+page.svelte +++ b/unime/src/routes/(app)/me/settings/about/+page.svelte @@ -3,24 +3,47 @@ import { TopNavBar } from '$lib/components'; import { HeartFillIcon } from '$lib/icons'; + import { state } from '$lib/stores'; + + import type { PageData } from './$types'; + + export let data: PageData; history.back()} title={$LL.SETTINGS.SUPPORT.ABOUT.NAVBAR_TITLE()} /> +
-
- -
- +

{$LL.SETTINGS.SUPPORT.ABOUT.TITLE()}

+
+ {#if $state.dev_mode !== 'Off'} +
+

{$LL.SETTINGS.SUPPORT.ABOUT.SPECIFICATIONS()}

+
+ {#each data.specifications as spec (spec.id)} +
+
{`${spec.description} (${spec.id}):`}
+ +
{spec.version}
+
+ {/each} +
+
+ {/if} +
+

{$LL.SETTINGS.SUPPORT.ABOUT.VERSION()}

0.6.2

{$LL.SETTINGS.SUPPORT.ABOUT.BUILT_WITH()}

+
+
+

{$LL.SETTINGS.SUPPORT.ABOUT.LICENSE()}

Apache License 2.0
-
2024 Impierce Technologies
-
+
{`${new Date().getFullYear()} Impierce Technologies`}
+