feat(skilltree): add central auth pages with shared components

- Add SkillTreeLogo to shared-branding (emerald green theme)
- Add login, register, forgot-password pages using shared-auth-ui
- Initialize authStore in layout alongside skillStore
- Add shared-auth-ui, shared-i18n, shared-branding dependencies
- German translations as default

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
Till-JS 2026-01-29 13:55:22 +01:00
parent f3424c26aa
commit 51ec8f8419
11 changed files with 182 additions and 2 deletions

View file

@ -233,6 +233,19 @@ export const APP_BRANDING: Record<AppId, AppBranding> = {
logoStroke: true,
logoStrokeWidth: 1.5,
},
skilltree: {
id: 'skilltree',
name: 'SkillTree',
tagline: 'Level Up Your Life',
primaryColor: '#10b981',
secondaryColor: '#34d399',
// Tree/branch icon representing skill progression
logoPath:
'M12 3v1.5M12 21v-1.5M12 9a3 3 0 100-6 3 3 0 000 6zm0 0v3m0 6a3 3 0 100-6 3 3 0 000 6zm-6-3h1.5m10.5 0h1.5M6 12a3 3 0 100-6 3 3 0 000 6zm0 0h3m6 0h3m-3 0a3 3 0 100-6 3 3 0 000 6z',
logoViewBox: '0 0 24 24',
logoStroke: true,
logoStrokeWidth: 1.5,
},
};
/**

View file

@ -32,6 +32,7 @@ export {
InventoryLogo,
ClockLogo,
QuestionsLogo,
SkillTreeLogo,
} from './logos';
// Configuration

View file

@ -0,0 +1,13 @@
<script lang="ts">
import AppLogo from '../AppLogo.svelte';
interface Props {
size?: number;
color?: string;
class?: string;
}
let { size = 55, color, class: className = '' }: Props = $props();
</script>
<AppLogo app="skilltree" {size} {color} class={className} />

View file

@ -19,3 +19,4 @@ export { default as MoodlitLogo } from './MoodlitLogo.svelte';
export { default as InventoryLogo } from './InventoryLogo.svelte';
export { default as ClockLogo } from './ClockLogo.svelte';
export { default as QuestionsLogo } from './QuestionsLogo.svelte';
export { default as SkillTreeLogo } from './SkillTreeLogo.svelte';

View file

@ -19,7 +19,8 @@ export type AppId =
| 'mail'
| 'moodlit'
| 'inventory'
| 'questions';
| 'questions'
| 'skilltree';
/**
* App branding configuration