/* @component-map * App — Main container, tab navigation [app.jsx] * StandupForm — Form for submitting daily standup [components/StandupForm.jsx] * DigestView — Daily digest of all team standups [components/DigestView.jsx] * HistoryView — Browse past days' standups [components/HistoryView.jsx] * @end-component-map */ // DEPLOY_CONFIG: {"cron": [{"name": "daily-standup-reminder", "schedule": "0 9 * * *", "action": "event", "config": {"event_type": "standup.reminder.daily"}}, {"name": "weekly-standup-summary", "schedule": "0 9 * * 1", "action": "event", "config": {"event_type": "standup.summary.weekly"}}], "triggers": [{"name": "send-standup-reminder-email", "on": "event", "event": "standup.reminder.daily", "actions": [{"type": "email", "to": "team_members_without_standup", "subject": "Reminder: Please submit your standup", "body": "Hi team, this is a reminder to submit your standup for today if you haven't done so yet."}]}, {"name": "send-weekly-standup-summary-email", "on": "event", "event": "standup.summary.weekly", "actions": [{"type": "ai", "provider": "openai", "api_key_secret": "OPENAI_API_KEY", "prompt": "Aggregate all standup submissions for the past week and analyze team progress. Produce a concise team summary with: overall progress, notable patterns, recurring blockers, and any velocity changes compared to the previous week. Return a polished email-ready report addressed to the team lead."}, {"type": "email", "to": "team_lead", "subject": "Weekly Standup Summary: Team Progress & Blockers", "body": "{{$ai.output}}"}]}], "collections": [{"name": "standup_submissions", "description": "Stores daily standup submissions for history, digest views, and reminder checks.", "schema": {"type": "object", "properties": {"id": {"type": "string"}, "user_id": {"type": "string"}, "submitted_at": {"type": "string", "format": "date-time"}, "standup_date": {"type": "string", "format": "date"}, "yesterday": {"type": "string"}, "today": {"type": "string"}, "blockers": {"type": "string"}, "created_at": {"type": "string", "format": "date-time"}, "updated_at": {"type": "string", "format": "date-time"}}, "required": ["user_id", "submitted_at", "standup_date"]}}]} import { useState } from 'react'; import { useAuth } from '@deplixo/sdk'; import { StandupForm } from './components/StandupForm.jsx'; import { DigestView } from './components/DigestView.jsx'; import { HistoryView } from './components/HistoryView.jsx'; function App() { const [activeTab, setActiveTab] = useState('digest'); const { user, loading, logout } = useAuth(); if (loading) { return (
Loading standup...
Sign in with Google to access team standups, digests, history, and team management.
e.preventDefault()}> Sign in with GoogleGoogle OAuth is handled by Deplixo auth. Use the login flow to continue.