#include "data.h" Data::Data(QObject *parent) : QObject(parent) { initializeFakeData(); } void Data::initializeFakeData() { // Network 1: Private Network net1; net1.id = "net-private"; net1.name = "Private"; net1.openStreamCount = 2; net1.openStreamCapacity = 5; net1.countHumans = 1; m_networks.append(net1); // Stream: Personal Notes Stream stream1; stream1.id = "stream-notes"; stream1.name = "Personal Notes"; stream1.status = Stream::OPEN; stream1.unseenCount = 3; m_streams[net1.id].append(stream1); // Particles for Personal Notes m_particles[stream1.id].append({"p1", "text", "viet@flowy.com", "Meeting notes from standup", true}); m_particles[stream1.id].append({"p2", "link", "viet@flowy.com", "API documentation for new endpoint", false}); m_particles[stream1.id].append({"p3", "image", "stephen@flowy.com", "Screenshot of bug in login flow", true}); m_particles[stream1.id].append({"p4", "text", "stephen@flowy.com", "Quick thought about architecture refactor", false}); m_particles[stream1.id].append({"p5", "link", "anthony@flowy.com", "Design inspiration board from Dribbble", true}); // Stream: Quick Captures Stream stream2; stream2.id = "stream-captures"; stream2.name = "Quick Captures"; stream2.status = Stream::OPEN; stream2.unseenCount = 0; m_streams[net1.id].append(stream2); // Particles for Quick Captures m_particles[stream2.id].append({"p6", "text", "alice@flowy.com", "Remember to follow up on client feedback", true}); m_particles[stream2.id].append({"p7", "image", "bob@flowy.com", "Mockup for new feature dashboard", true}); // Network 2: Flowy Labs, Inc Network net2; net2.id = "net-flowy"; net2.name = "Flowy Labs, Inc"; net2.openStreamCount = 3; net2.openStreamCapacity = 10; net2.countHumans = 12; m_networks.append(net2); // Stream: Engineering Stream stream3; stream3.id = "stream-eng"; stream3.name = "wild-shape"; stream3.status = Stream::OPEN; stream3.unseenCount = 5; m_streams[net2.id].append(stream3); // Particles for Engineering m_particles[stream3.id].append({"p8", "text", "charlie@flowy.com", "Sprint planning notes for Q1", false}); m_particles[stream3.id].append({"p9", "link", "dave@flowy.com", "GitHub PR for authentication refactor", true}); m_particles[stream3.id].append({"p10", "text", "eve@flowy.com", "Performance optimization opportunities", false}); m_particles[stream3.id].append({"p11", "image", "frank@flowy.com", "Architecture diagram for new service", true}); m_particles[stream3.id].append({"p12", "text", "grace@flowy.com", "Code review feedback summary", false}); m_particles[stream3.id].append({"p13", "link", "henry@flowy.com", "Documentation for API v2 endpoints", false}); m_particles[stream3.id].append({"p14", "text", "ivy@flowy.com", "Bug report from production", true}); m_particles[stream3.id].append({"p15", "image", "jack@flowy.com", "Database schema migration plan", false}); // Stream: Design Stream stream4; stream4.id = "stream-design"; stream4.name = "arch-rival"; stream4.status = Stream::OPEN; stream4.unseenCount = 2; m_streams[net2.id].append(stream4); // Particles for Design m_particles[stream4.id].append({"p16", "image", "karen@flowy.com", "UI mockup for mobile dashboard", false}); m_particles[stream4.id].append({"p17", "text", "leo@flowy.com", "Design system color palette updates", true}); m_particles[stream4.id].append({"p18", "link", "maya@flowy.com", "Figma file for user onboarding flow", false}); m_particles[stream4.id].append({"p19", "image", "nathan@flowy.com", "Wireframes for settings page", true}); // Stream: Archive Stream stream5; stream5.id = "stream-archive"; stream5.name = "anthem-project"; stream5.status = Stream::CLOSED; stream5.unseenCount = 0; m_streams[net2.id].append(stream5); // Particles for Archive m_particles[stream5.id].append({"p20", "text", "oliver@flowy.com", "Old project requirements document", true}); m_particles[stream5.id].append({"p21", "text", "patricia@flowy.com", "Archived meeting notes from Q4", true}); m_particles[stream5.id].append({"p22", "link", "quinn@flowy.com", "Deprecated API documentation", true}); m_particles[stream5.id].append({"p23", "text", "rachel@flowy.com", "Legacy feature specification", true}); m_particles[stream5.id].append({"p24", "image", "sam@flowy.com", "Old design mockups", true}); m_particles[stream5.id].append({"p25", "text", "tina@flowy.com", "Historical performance metrics", true}); m_particles[stream5.id].append({"p26", "link", "uma@flowy.com", "Archive of old blog posts", true}); m_particles[stream5.id].append({"p27", "text", "victor@flowy.com", "Sunset project final report", true}); m_particles[stream5.id].append({"p28", "image", "wendy@flowy.com", "Previous branding assets", true}); m_particles[stream5.id].append({"p29", "text", "xavier@flowy.com", "Completed milestone summary", true}); m_particles[stream5.id].append({"p30", "link", "yara@flowy.com", "Old repository backup link", true}); m_particles[stream5.id].append({"p31", "text", "zack@flowy.com", "Archived customer feedback", true}); m_particles[stream5.id].append({"p32", "image", "alice@flowy.com", "Previous UI iteration screenshots", true}); m_particles[stream5.id].append({"p33", "text", "bob@flowy.com", "Legacy code documentation", true}); m_particles[stream5.id].append({"p34", "link", "charlie@flowy.com", "Historical release notes", true}); } const QList& Data::networks() const { return m_networks; } const QList& Data::streamsForNetwork(const QString &networkId) const { static QList emptyList; auto it = m_streams.find(networkId); if (it == m_streams.end()) { return emptyList; } return it.value(); } const QList& Data::particlesForStream(const QString &streamId) const { static QList emptyList; auto it = m_particles.find(streamId); if (it == m_particles.end()) { return emptyList; } return it.value(); } int Data::networkCount() const { return m_networks.size(); } int Data::streamCount(const QString &networkId) const { return m_streams.value(networkId).size(); } int Data::particleCount(const QString &streamId) const { return m_particles.value(streamId).size(); }