Files
llink/src/data.cpp
T
2026-01-28 16:20:49 -08:00

154 lines
6.2 KiB
C++

#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<Network>& Data::networks() const
{
return m_networks;
}
const QList<Stream>& Data::streamsForNetwork(const QString &networkId) const
{
static QList<Stream> emptyList;
auto it = m_streams.find(networkId);
if (it == m_streams.end())
{
return emptyList;
}
return it.value();
}
const QList<Particle>& Data::particlesForStream(const QString &streamId) const
{
static QList<Particle> 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();
}