Skip to main content

locality_social_cloud_stories 0.0.1 copy "locality_social_cloud_stories: ^0.0.1" to clipboard
locality_social_cloud_stories: ^0.0.1 copied to clipboard

A locality_core based story exchange interface.

example/main.dart

import 'package:flutter/material.dart';
import 'package:locality_core/locality_core.dart';
import 'package:locality_social_cloud_stories/locality_social_cloud_stories.dart';
// Angenommen, deine Datei heißt story_manager.dart oder ähnlich:
// import 'story_manager.dart';

// Beispielhafte Implementierung einer konkreten Story-Klasse
class ConcreteStory implements Story {
  @override
  String id;
  String title;
  String content;

  ConcreteStory({required this.id, required this.title, required this.content});
}

// Beispielhafte Factory-Implementierung
class ConcreteStoryFactory implements StoryFactory {
  @override
  Story fromBroadcast(Broadcast broadcast) {
    Map<String, dynamic> payload = broadcast.getPayload();
    return ConcreteStory(
      id: payload['id'] ?? broadcast.uuid,
      title: payload['title'] ?? 'Untitled',
      content: payload['content'] ?? '',
    );
  }

  @override
  Map<String, dynamic> toMap(Story story) {
    ConcreteStory concreteStory = story as ConcreteStory;
    return {
      'id': concreteStory.id,
      'title': concreteStory.title,
      'content': concreteStory.content,
    };
  }
}

void main() async {
  LocalitySocialCloudStories.factory = ConcreteStoryFactory();

  StoryPubSub storyPubSub = StoryPubSub("my-story-topic-123");
  await LocalitySocialCloud.supervise(pubSub: storyPubSub);
  storyPubSub
      .update(ConcreteStory(id: "id", title: "title", content: "content"));
  storyPubSub.addListener(() {
    // on change ...
  });

  StorySource source = await LocalitySocialCloudStories.getUserStories(
      PublicUser("id", "publicKey"));
  List<Story> stories = source.stories.values.toList();
  source.addListener(() {
    // on change ...
  });
}
0
likes
150
points
54
downloads

Documentation

API reference

Publisher

unverified uploader

Weekly Downloads

A locality_core based story exchange interface.

Homepage
Repository
View/report issues

License

BSD-3-Clause (license)

Dependencies

cupertino_icons, flutter, locality_core

More

Packages that depend on locality_social_cloud_stories