Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
14 commits
Select commit Hold shift + click to select a range
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
87 changes: 87 additions & 0 deletions .github/workflows/examples.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,87 @@
name: Examples CI

on:
Comment thread
coderabbitai[bot] marked this conversation as resolved.
push:
branches: [ main ]
paths:
- 'examples/**'
- 'sdks/**'
- '.github/workflows/examples.yml'
pull_request:
branches: [ main ]
paths:
- 'examples/**'
- 'sdks/**'
- '.github/workflows/examples.yml'

permissions:
contents: read

jobs:
react-sdk-demo:
runs-on: ubuntu-latest
defaults:
run:
working-directory: examples/react-sdk-demo
steps:
- uses: actions/checkout@v4
with:
persist-credentials: false
- uses: actions/setup-node@v4
with:
node-version: '20'
cache: 'npm'
cache-dependency-path: examples/react-sdk-demo/package-lock.json
- run: npm install
- run: npm run build

sdk-kanban-client:
runs-on: ubuntu-latest
defaults:
run:
working-directory: examples/sdk-kanban/client
steps:
- uses: actions/checkout@v4
with:
persist-credentials: false
- uses: actions/setup-node@v4
with:
node-version: '20'
cache: 'npm'
cache-dependency-path: examples/sdk-kanban/client/package-lock.json
- run: npm install
- run: npm run build

social-demo-client:
runs-on: ubuntu-latest
defaults:
run:
working-directory: examples/social-demo/client
steps:
- uses: actions/checkout@v4
with:
persist-credentials: false
- uses: actions/setup-node@v4
with:
node-version: '20'
cache: 'npm'
cache-dependency-path: examples/social-demo/client/package-lock.json
- run: npm install
- run: npm run build

python-sdk-demo:
runs-on: ubuntu-latest
defaults:
run:
working-directory: examples/python-sdk-demo
steps:
- uses: actions/checkout@v4
with:
persist-credentials: false
- uses: actions/setup-python@v5
with:
python-version: '3.11'
- run: |
python -m pip install --upgrade pip
pip install urbackend==0.1.0 python-dotenv==1.2.2 pytest==9.1.1
- run: pytest tests/ -v
9 changes: 9 additions & 0 deletions apps/web-dashboard/src/App.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ import Dashboard from './pages/Dashboard';
import ProjectDetails from './pages/ProjectDetails';
import CreateProject from './pages/CreateProject';
import CreateCollection from './pages/CreateCollection';
import Templates from './pages/Templates';
import NotFound from './pages/NotFound';
import Analytics from './pages/Analytics';
import Releases from './pages/Releases';
Expand Down Expand Up @@ -81,6 +82,14 @@ function AppContent() {
</ProtectedRoute>
} />

<Route path="/templates" element={
<ProtectedRoute>
<MainLayout>
<Templates />
</MainLayout>
</ProtectedRoute>
} />

<Route path="/create-project" element={
<ProtectedRoute allowIncompleteOnboarding>
<MainLayout>
Expand Down
6 changes: 5 additions & 1 deletion apps/web-dashboard/src/components/Layout/Sidebar.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,8 @@ import { Link, useLocation, useParams } from 'react-router-dom';
import { useAuth } from '../../context/AuthContext';
import {
LayoutDashboard, Database, Shield, HardDrive, Settings, BarChart2,
ArrowLeft, LogOut, X, Rocket, Webhook, Users, Mail, ChevronLeft, ChevronRight
ArrowLeft, LogOut, X, Rocket, Webhook, Users, Mail, ChevronLeft, ChevronRight,
LayoutTemplate
} from 'lucide-react';
import ThemeToggle from '../ThemeToggle';

Expand Down Expand Up @@ -81,6 +82,9 @@ function Sidebar({ logo, isOpen, onClose, isCollapsed, onToggleCollapse }) {
<Link to="/dashboard" onClick={handleNavClick} className={`nav-item ${isActive('/dashboard') ? 'active' : ''}`} {...navA11yProps('Dashboard')}>
<LayoutDashboard size={16} /> <span>Dashboard</span>
</Link>
<Link to="/templates" onClick={handleNavClick} className={`nav-item ${isActive('/templates') ? 'active' : ''}`} {...navA11yProps('Templates')}>
<LayoutTemplate size={16} /> <span>Templates</span>
</Link>
<Link to="/releases" onClick={handleNavClick} className={`nav-item ${isActive('/releases') ? 'active' : ''}`} {...navA11yProps("What's New")}>
<Rocket size={16} /> <span>What's New</span>
</Link>
Expand Down
Loading
Loading