113 lines
2.8 KiB
Dart
113 lines
2.8 KiB
Dart
import '../../marianumconnect/queries/get_ticker/get_ticker_response.dart';
|
|
import '../../marianumconnect/queries/get_ticker_nav/get_ticker_nav_response.dart';
|
|
import '../../marianumconnect/queries/get_ticker_page/get_ticker_page_response.dart';
|
|
|
|
/// Demo fixtures for the ticker module — a small, self-contained example doc so
|
|
/// the "Aktuelles" surface and the page tree are populated without any network.
|
|
class DemoTicker {
|
|
const DemoTicker._();
|
|
|
|
static Map<String, dynamic> _welcomeDoc() => {
|
|
'type': 'doc',
|
|
'content': [
|
|
{
|
|
'type': 'heading',
|
|
'attrs': {'level': 1},
|
|
'content': [
|
|
{'type': 'text', 'text': 'Willkommen beim Ticker'},
|
|
],
|
|
},
|
|
{
|
|
'type': 'paragraph',
|
|
'content': [
|
|
{'type': 'text', 'text': 'Hier erscheinen aktuelle Informationen '},
|
|
{
|
|
'type': 'text',
|
|
'text': 'der Schule',
|
|
'marks': [
|
|
{'type': 'bold'},
|
|
],
|
|
},
|
|
{'type': 'text', 'text': '.'},
|
|
],
|
|
},
|
|
{
|
|
'type': 'callout',
|
|
'attrs': {'variant': 'info'},
|
|
'content': [
|
|
{
|
|
'type': 'paragraph',
|
|
'content': [
|
|
{'type': 'text', 'text': 'Dies ist eine Beispiel-Meldung.'},
|
|
],
|
|
},
|
|
],
|
|
},
|
|
],
|
|
};
|
|
|
|
static Map<String, dynamic> _pageDoc() => {
|
|
'type': 'doc',
|
|
'content': [
|
|
{
|
|
'type': 'heading',
|
|
'attrs': {'level': 2},
|
|
'content': [
|
|
{'type': 'text', 'text': 'Über diese Seite'},
|
|
],
|
|
},
|
|
{
|
|
'type': 'paragraph',
|
|
'content': [
|
|
{
|
|
'type': 'text',
|
|
'text': 'Eine Beispielseite mit nativ gerendertem Inhalt.',
|
|
},
|
|
],
|
|
},
|
|
],
|
|
};
|
|
|
|
static TickerResponse ticker() => TickerResponse(
|
|
schemaVersion: 1,
|
|
available: true,
|
|
hash: 'demo-ticker',
|
|
publishedAt: DateTime.now().toIso8601String(),
|
|
webUrl: '/ticker',
|
|
content: _welcomeDoc(),
|
|
);
|
|
|
|
static TickerNavResponse nav() => TickerNavResponse(
|
|
schemaVersion: 1,
|
|
navHash: 'demo-nav',
|
|
sections: [
|
|
TickerNavSection(
|
|
title: 'Informationen',
|
|
pages: [
|
|
TickerNavPage(
|
|
title: 'Über die App',
|
|
slug: 'ueber-die-app',
|
|
kind: TickerPageKind.content,
|
|
hash: 'demo-page',
|
|
),
|
|
TickerNavPage(
|
|
title: 'Schulwebseite',
|
|
slug: 'schulwebseite',
|
|
kind: TickerPageKind.redirect,
|
|
externalUrl: 'https://marianum-fulda.de',
|
|
),
|
|
],
|
|
),
|
|
],
|
|
);
|
|
|
|
static TickerPageResponse page(String slug) => TickerPageResponse(
|
|
schemaVersion: 1,
|
|
slug: slug,
|
|
title: 'Über die App',
|
|
kind: TickerPageKind.content,
|
|
content: _pageDoc(),
|
|
webUrl: '/ticker/p/$slug',
|
|
);
|
|
}
|