diff --git a/.vscode/settings.json b/.vscode/settings.json index 0076002f..e97c47e5 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -16,6 +16,7 @@ "localstorage", "mermaidchart", "mindmap", + "NEWYEAR", "Pageview", "pako", "panmove", diff --git a/package.json b/package.json index 76177004..7bee58c7 100644 --- a/package.json +++ b/package.json @@ -95,7 +95,7 @@ "@fsegurai/codemirror-theme-vscode-light": "^6.1.4", "@mermaid-js/examples": "^1.0.0", "@mermaid-js/layout-elk": "^0.1.9", - "@mermaid-js/layout-tidy-tree": "^0.2.0", + "@mermaid-js/layout-tidy-tree": "^0.2.1", "@mermaid-js/mermaid-zenuml": "^0.2.2", "codemirror": "^6.0.1", "dayjs": "^1.11.13", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 00f439bd..2765c079 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -42,8 +42,8 @@ importers: specifier: ^0.1.9 version: 0.1.9(mermaid@11.12.0) '@mermaid-js/layout-tidy-tree': - specifier: ^0.2.0 - version: 0.2.0(mermaid@11.12.0) + specifier: ^0.2.1 + version: 0.2.1(mermaid@11.12.0) '@mermaid-js/mermaid-zenuml': specifier: ^0.2.2 version: 0.2.2(mermaid@11.12.0) @@ -792,8 +792,8 @@ packages: peerDependencies: mermaid: ^11.0.2 - '@mermaid-js/layout-tidy-tree@0.2.0': - resolution: {integrity: sha512-0bZFuMQKgpW16cQ4MlUkLTi8l4UUz1pQ0tokGAuR/uVSo2BYvixYBPGxYm13fyQ5M/UUSjUQQ0Zo2nrWUKPwSA==} + '@mermaid-js/layout-tidy-tree@0.2.1': + resolution: {integrity: sha512-LZFmu6SZmAR5N/aesR7ya5JwEjCrGh7J64n7vFmHqVDHDJjIx+LsEi0dmt0WTYbP4wdKFLLykpvRsemRgAnLXA==} peerDependencies: mermaid: ^11.0.2 @@ -2858,9 +2858,6 @@ packages: node-releases@2.0.19: resolution: {integrity: sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==} - non-layered-tidy-tree-layout@2.0.2: - resolution: {integrity: sha512-gkXMxRzUH+PB0ax9dUN0yYF0S25BqeAYqhgMaLUFmpXLEk7Fcu8f4emJuOAY0V8kjDICxROIKsTAKsV/v355xw==} - normalize-path@3.0.0: resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} engines: {node: '>=0.10.0'} @@ -4676,11 +4673,10 @@ snapshots: elkjs: 0.9.3 mermaid: 11.12.0 - '@mermaid-js/layout-tidy-tree@0.2.0(mermaid@11.12.0)': + '@mermaid-js/layout-tidy-tree@0.2.1(mermaid@11.12.0)': dependencies: d3: 7.9.0 mermaid: 11.12.0 - non-layered-tidy-tree-layout: 2.0.2 '@mermaid-js/mermaid-zenuml@0.2.2(mermaid@11.12.0)': dependencies: @@ -5311,7 +5307,7 @@ snapshots: '@vue/compiler-ssr': 3.5.13 '@vue/shared': 3.5.13 estree-walker: 2.0.2 - magic-string: 0.30.17 + magic-string: 0.30.21 postcss: 8.5.6 source-map-js: 1.2.1 optional: true @@ -6874,8 +6870,6 @@ snapshots: node-releases@2.0.19: {} - non-layered-tidy-tree-layout@2.0.2: {} - normalize-path@3.0.0: {} normalize-range@0.1.2: {} diff --git a/src/lib/util/promos/NewYear2026.svelte b/src/lib/util/promos/NewYear2026.svelte new file mode 100644 index 00000000..0b6a947c --- /dev/null +++ b/src/lib/util/promos/NewYear2026.svelte @@ -0,0 +1,78 @@ + + + diff --git a/src/lib/util/promos/promo.ts b/src/lib/util/promos/promo.ts index 8efbb2e0..3656162d 100644 --- a/src/lib/util/promos/promo.ts +++ b/src/lib/util/promos/promo.ts @@ -5,6 +5,7 @@ import type { Component } from 'svelte'; import { get, writable, type Writable } from 'svelte/store'; import { localStorage, persist } from '../persist'; import April2025 from './April2025.svelte'; +import NewYear2026 from './NewYear2026.svelte'; dayjs.extend(duration); @@ -16,6 +17,12 @@ interface Promotion { } const promotions: Record = { + 'promo-newyear-2026': { + startDate: new Date('2026-01-01'), + endDate: new Date('2026-03-14'), + component: NewYear2026, + hideDurationMs: dayjs.duration(1, 'week').asMilliseconds() + }, 'promo-april-2025': { startDate: new Date('2025-04-01'), endDate: new Date('2028-12-31'),