Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
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
4 changes: 2 additions & 2 deletions console/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,8 @@
<meta property="og:title" content="Triggr - Real-time Backend For Decentralized Applications." />
<meta property="og:description" content="Triggr is a real-time backend for building real-time, reactive decentralized applications." />
<meta property="og:type" content="website" />
<meta property="og:image" content="/public/triggr.png" />
<link rel="icon" type="image/png" href="/public/triggr.png" />
<meta property="og:image" content="/logo.svg" />
<link rel="icon" type="image/svg+xml" href="/logo.svg" />
</head>

<body>
Expand Down
18 changes: 17 additions & 1 deletion console/package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

12 changes: 12 additions & 0 deletions console/public/logo.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
5 changes: 5 additions & 0 deletions console/src/components/dsl-code-editor.css
Original file line number Diff line number Diff line change
Expand Up @@ -140,6 +140,11 @@
color: #f472b6;
}

.syntax-bracket {
color: #e6007a;
font-weight: 500;
}

.syntax-operator {
color: #cbd5e1;
}
Expand Down
20 changes: 20 additions & 0 deletions console/src/components/dsl-code-editor.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -124,6 +124,23 @@ function tokenizeDSL(text: string): Array<{ type: string; value: string }> {
continue;
}

// All brackets - special handling
if (
text[i] === "{" ||
text[i] === "}" ||
text[i] === "[" ||
text[i] === "]" ||
text[i] === "(" ||
text[i] === ")"
) {
tokens.push({
type: "bracket",
value: text[i],
});
i++;
continue;
}

// Single character tokens
tokens.push({
type: "operator",
Expand Down Expand Up @@ -187,6 +204,9 @@ function renderHighlightedCode(text: string): React.ReactNode[] {
case "number":
className = "syntax-number";
break;
case "bracket":
className = "syntax-bracket";
break;
case "operator":
className = "syntax-operator";
break;
Expand Down
2 changes: 1 addition & 1 deletion console/src/components/footer.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import { Logo } from "@/components/logo";
export function Footer() {
return (
<footer className="w-full border-t border-border bg-card/50 backdrop-blur-sm py-6 px-6 mt-auto">
<div className="max-w-7xl mx-auto flex flex-col items-center gap-3">
<div className="max-w-7xl mx-auto flex justify-center items-center gap-3">
<Logo size="sm" />
<p className="text-sm text-muted-foreground text-center">
© {new Date().getFullYear()} Algorealm, Inc. All rights reserved.
Expand Down
90 changes: 73 additions & 17 deletions console/src/components/logo.tsx
Original file line number Diff line number Diff line change
@@ -1,9 +1,22 @@
interface LogoProps {
/**
* Size variant for the logo
* sm: 24px (6 units) - sidebar/compact
* md: 32px (8 units) - default
* lg: 40px (10 units) - hero/large sections
*/
size?: "sm" | "md" | "lg";
/**
* Additional CSS classes for custom styling
*/
className?: string;
/**
* Optional prop for future use (currently unused but referenced in ProjectLayout)
*/
showText?: boolean;
}

export function Logo({ size = "sm", className = "" }: LogoProps) {
export function Logo({ size = "sm", className = "", showText }: LogoProps) {
const sizeClasses = {
sm: "h-6 w-6",
md: "h-8 w-8",
Expand All @@ -12,23 +25,66 @@ export function Logo({ size = "sm", className = "" }: LogoProps) {

return (
<div className={`flex items-center gap-2 ${className}`}>
{/* Mobile / compact logo (icon only) */}
<div className="relative block sm:hidden">
<img
src="/triggr.png" // icon-only logo
alt="Triggr"
className={`${sizeClasses[size]} max-w-[200px] h-auto object-contain`}
/>
</div>
{/* SVG Logo - Responsive and scalable */}
<svg
xmlns="http://www.w3.org/2000/svg"
fill="none"
viewBox="436.79999999999995 873.5999999999999 1230.6 378"
style={{ maxHeight: 500 }}
width="106"
height="48"
>
<path
fill="#E6007A"
d="M577.697 1033.19H705.993L543.931 1220.99H519.477L577.697 1033.19Z"
/>
<path
fill="#FF55AF"
d="M587.207 1088.66H458.911L620.973 900.867H645.427L587.207 1088.66Z"
/>
<path
fill="#FF87C7"
d="M587.207 1088.66H560.5L577.696 1033.19H604.403L587.207 1088.66Z"
/>
<path
fill="#E6007A"
d="M1232.19 1161.9C1192.25 1161.9 1162.22 1129.7 1162.22 1087.29C1162.22 1045.18 1192.25 1013.29 1232.19 1013.29C1251.39 1013.29 1267.49 1020.41 1278.02 1032.18V1016.39H1312.07V1158.81C1312.07 1201.53 1280.18 1230.02 1233.74 1230.02C1202.47 1230.02 1178.63 1218.25 1164.08 1197.51L1186.37 1175.22C1198.14 1190.08 1213 1197.51 1234.36 1197.51C1261.3 1197.51 1278.02 1182.96 1278.02 1158.81V1142.71C1267.49 1154.78 1251.39 1161.9 1232.19 1161.9ZM1239.01 1129.7C1263.77 1129.7 1280.18 1112.99 1280.18 1087.6C1280.18 1062.21 1263.77 1045.49 1239.01 1045.49C1214.24 1045.49 1197.21 1062.52 1197.21 1087.6C1197.21 1112.68 1214.24 1129.7 1239.01 1129.7Z"
/>
<path
fill="#E6007A"
d="M1099.55 1164.41V1015.8H1133.6V1164.41H1099.55Z"
/>
<path
fill="#E6007A"
d="M973.152 1165V1016.39H1007.21V1031.87C1015.57 1020.1 1028.57 1013.29 1045.91 1013.29C1060.77 1013.29 1072.54 1018.55 1082.75 1030.32L1060.46 1053.23C1054.89 1047.66 1048.7 1045.18 1040.03 1045.18C1020.83 1045.18 1007.21 1056.95 1007.21 1082.33V1165H973.152Z"
/>
<path
fill="#E6007A"
d="M872.047 1165V980.781H801.456V948.272H978.244V980.781H907.653V1165H872.047Z"
/>
<path
fill="#E6007A"
d="M1410.43 1161.9C1370.49 1161.9 1340.46 1129.7 1340.46 1087.29C1340.46 1045.18 1370.49 1013.29 1410.43 1013.29C1429.63 1013.29 1445.73 1020.41 1456.25 1032.18V1016.39H1490.31V1158.81C1490.31 1201.53 1458.42 1230.02 1411.98 1230.02C1380.71 1230.02 1356.87 1218.25 1342.32 1197.51L1364.61 1175.22C1376.38 1190.08 1391.24 1197.51 1412.6 1197.51C1439.54 1197.51 1456.25 1182.96 1456.25 1158.81V1142.71C1445.73 1154.78 1429.63 1161.9 1410.43 1161.9ZM1417.24 1129.7C1442.01 1129.7 1458.42 1112.99 1458.42 1087.6C1458.42 1062.21 1442.01 1045.49 1417.24 1045.49C1392.47 1045.49 1375.45 1062.52 1375.45 1087.6C1375.45 1112.68 1392.47 1129.7 1417.24 1129.7Z"
/>
<path
fill="#E6007A"
d="M1527.97 1165V1016.39H1562.03V1031.87C1570.39 1020.1 1583.39 1013.29 1600.73 1013.29C1615.59 1013.29 1627.36 1018.55 1637.58 1030.32L1615.28 1053.23C1609.71 1047.66 1603.52 1045.18 1594.85 1045.18C1575.65 1045.18 1562.03 1056.95 1562.03 1082.33V1165H1527.97Z"
/>
<rect
fill="#E6007A"
height="36.8661"
width="36.8661"
y="950.251"
x="1098.14"
/>
</svg>

{/* Desktop / larger screens (full logo with text) */}
<div className="relative hidden sm:block">
<img
src="/triggr-logo.png" // full logo (icon + text)
alt="Triggr"
className="max-w-[200px] h-auto object-contain"
/>
</div>
{/* Optional text branding - for future use */}
{showText && (
<span className="hidden sm:inline font-semibold text-foreground whitespace-nowrap">
Triggr
</span>
)}
</div>
);
}
4 changes: 2 additions & 2 deletions console/src/features/auth/pages/LoginPage.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -81,8 +81,8 @@ export default function LoginPage() {
<Logo size="sm" />
</header>

<div className="hidden lg:flex lg:w-1/2 p-8 xl:p-12 items-center bg-primary/5">
<div className="max-w-xl text-center">
<div className="hidden lg:flex lg:w-1/2 p-8 xl:p-12 mx-auto items-center bg-primary/5">
<div className="max-w-xl text-center mx-auto">
<div className="inline-block px-4 py-2 bg-primary/10 rounded-full mb-6">
<span className="text-sm font-semibold text-primary">
Web3 Developer Platform
Expand Down
4 changes: 2 additions & 2 deletions console/src/features/auth/pages/SignupPage.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -117,7 +117,7 @@ export default function SignupPage() {
<Logo size="sm" />
</header>
<div className="hidden lg:flex lg:w-1/2 p-8 xl:p-12 items-center bg-primary/5">
<div className="max-w-xl text-center">
<div className="max-w-xl text-center mx-auto">
<div className="inline-block px-4 py-2 bg-primary/10 rounded-full mb-6">
<span className="text-sm font-semibold text-primary">
Web3 Developer Platform
Expand All @@ -141,7 +141,7 @@ export default function SignupPage() {
<h2 className="text-2xl sm:text-3xl font-bold mb-2">
Create your account
</h2>
<p className="text-sm text-muted-foreground">
<p className="text-sm text-muted-foreground">
Get started with Triggr Console
</p>
</div>
Expand Down
37 changes: 37 additions & 0 deletions console/src/features/dashboard/pages/Dashboard.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -276,6 +276,43 @@ export default function Dashboard() {
</div>
</main>

{/* Footer */}
<footer className="border-t border-border bg-background/50 mt-12 sm:mt-16">
<div className="max-w-[1400px] mx-auto px-4 sm:px-6 py-6 sm:py-8">
<div className="flex flex-col sm:flex-row items-center justify-between gap-4">
<p className="text-xs sm:text-sm text-muted-foreground">
© {new Date().getFullYear()} Triggr. All rights reserved.
</p>
<div className="flex items-center gap-4 sm:gap-6 text-xs sm:text-sm">
<a
href="https://triggr.io"
target="_blank"
rel="noopener noreferrer"
className="text-muted-foreground hover:text-foreground transition-colors"
>
Website
</a>
<a
href="https://docs.triggr.io"
target="_blank"
rel="noopener noreferrer"
className="text-muted-foreground hover:text-foreground transition-colors"
>
Documentation
</a>
<a
href="https://github.com/triggr"
target="_blank"
rel="noopener noreferrer"
className="text-muted-foreground hover:text-foreground transition-colors"
>
GitHub
</a>
</div>
</div>
</div>
</footer>

{/* Modals */}
<CreateProjectModal
isOpen={isCreateModalOpen}
Expand Down
Loading