9c6838e5c8
* Setup basic storybook page * storybook preview pages don’t have padding * Added a storybook story for the side menu * WIP on a new side menu component * New variant for the side menu button style * Side menu items can now recieve a badge ‘count’ * Storybook side menu update * Added a new font size * you can now set the spacing between an icon and the text * Moving the error and count badge to the right side of the button * Added a menu sub item button style * added sub items to the menu and all the rest of the items * Proper background class used * Added a side menu header and main org header * Removed the no-mobile blocker overlay so you can use the site on a phone * Better section name * Created a cusom popover trigger that can take anything as children. Also the popover titles can now take a variant * Added a popover for the user avatar menu item * Removed the tool tip * Arrow Popover can no also go full width * neater conditiona; * Removed unnessary div. And error icon can display an error message * menu item buttons can take a variant * Added placeholder items for the org dropdown * add a max height to the org menu popover and handle scrollbars * Added a border if the menu scrolls when you have lots of project items * warning badges display tooltips if you give them some error text * Removed the sticky header so the scrollbar looks better * Fixed a layout issue from removing the sticky header * Better spacing between lists * Popover can take any react component icon and an icon classname * Side menu headers now have a dropdown by clicking the ellipsis icon * Side menu items can take an icon colour * Updated styling for the dropdown Popover menus * Installed Tabler icons * Updated some icons to use Tabler * Started defining the HttpTrigger class * RequestFilterSchema is part of core * Use the RequestFilterSchema from core * EventSpecificationExample now derived from schema * Need to define the class like EventTrigger * Catalog reference that uses the httpTrigger * The logic for the httpTrigger is in the separate file, just call it from the client using defineHttpTrigger * Basic HttpTrigger * Import fixes * Transforming httpTrigger to the format we want * Initial httpTrigger types working * Added HTTP generic type * Added some notes * Rejigged some things to support verifying payloads * Use new security function for verifying * Added truncating text support if side menu names get long * Renamed some stuff * Removed test copy * HttpEndpoin that isn’t a trigger * Renamed hostname to source * Created HttpEndpoint as a top-level concept, it produces triggers using onRequest * Started working on registration of the httpEndpoints * Removed the new TriggerMetadata for now, http will use static * Added PayloadType to EventRecord. Default is JSON. * The payload from an HTTPEndpoint is now a Request * Initial TriggerHttpEndpoint migrations * Initial server side work * Migration to add shortcode to RuntimeEnvironment * Added TriggerHttpEndpointEnvironment table * Made the httptrigger catalog example runnable * Progress creating/updating httpEndpoints * HTTPEndpointEnvironment updating now works * Added a note about EventRecord HttpEndpoint relationship * When creating environments, create a shortcode * Fix for secret not being retrieved correctly * Request filtering * Add DOM types to Core * Early work dealing with a webhook arriving * Added some todo notes to discuss tomorrow * Added relations to the endpoint so we can call the user’s server * Basic handling of immediate responses * The immediate responses are now going back to the webhook provider * Handling is now generating events and responding where relevant. Not yet matching filters and doing verification * Added source to TriggerHttpEndpointEnvironment * The event filter is now optional * The source is passed through from the httpEndpointEnv * Added optional payloadType when ingesting an event * Added tabler * Updated @remix-run/testing usage for remix 2 * Fixed org menu header width and added org and project types * Added custom icons for Runs and Endpoints * Updated the menu icons * storybook side menu shows static project and org data * Updated side menu * Plumbed in paths * Updated eventFilter to deal with undefined/null payloads * Started work on filtering, but it’s not working * Strict null * async filtering it working * Added environment shortcodes to the seedCloud script * Don’t pass the secret back, added a verifyPayload function that gets called before runs start * Fix for skipping triggering runs * The verify callback is now passed through to the trigger so it can be called * If verifying fails, have a reason which we can show to the user * Don’t verify if it’s a test run * Fixed the log in the example code * Added loader and action to storybook preview * Fix for svg attribute name issues in EndpointIcon * Started work on the side menu * This logic has moved to a separate file, in a different branch * Don’t get the environments when getting orgs * Lots of fixes for the new SideMenu * Refactored some org/project things to fit the new structure better * Some progress restructuring the app for the new sidebar * More changes to data loading * Deleted some old pages. The redirecting is working if you’re on the root but logged in * Basic styling for the account page. We need a back button * Fixes for the integrations pages * Breadcrumb implemented * Add a border to the bottom of the breadcrumb * Feedback is working, not in Storybook * Removed expandSidebar from the Handle * Org level breadcrumbs * Getting the project in the org route now works properly * orgslug route before using the presenter * More UI improvements * Removed commented out line * Use presenters for org and root * Removed forceActive * Split the project selector and user menu out * The side menu items have correct active states * Fixed the scrolling * Put the org name in * Improved the admin features * Created the HTTP Endpoints list page * Work on the HTTP endpoint page * WIP on the HTTP Endpoint page * Fix for response filter not showing * Change page URLs to “http-endpoints” (from httpendpoints) * Slugify the HTTP endpoint id * Added todos for EventRecord associations * Removed the Job/Trigger tab for now * First draft of the help panels * Rejigged the HTTP endpoint page so it splits out the deployed and not deployed environments * Removed irrelevant columns * Added a link to the deployment guide * Removed the background image from the frameworks pages Also… - reordered the frameworks so supported ones come first in the list - added logos to 3 framework pages that were missing them - removed lots of un-used imports * Fixed an issue where the breadcrumb could be hidden on small screens so broken the pages The breadcrumb is always visible now * Renamed ‘Onboarding’ to ‘Framework setup’ * Added a new http-endpoint icon to the side menu * Side menu now has a nice looking scrollbar * Scrollbar on the usage and billing page updated to the nice style * Icon and colour updates to the side bar menu items * Small copy improvement * Fixed bug with the height of the org menu dropdown * Page breadcrumbs now don’t include duplicate path links * renamed uiBorder to ui-border * Remove the padding from the small menu item if it’s used as a button * Made the paragraph text a bit smaller * EventRecord has relationships with TriggerHttpEndpoint/TriggerHttpEndpointEnvironment * Improved the presenter used by the side menu. Also added the HTTP Endpoint badge count to the sidebar * The dropdown org menu has the same badge as the side menu * Improved the Projects page * Fixed button style miss-match in the jobs table dropdown * Made the popover dialogs support Headers and improved the regenerate API key popover * Made the active status of a job more subtle * Allow the Job to have a link on its Trigger * Simplified loader because we ditched the Jobs menu. Also showing no runs help panel now * Fixed type errors * Pages that are org level can scroll if the content gets too long * Fixed a redirect bug so you now redirect to the org page * Updated the shortcode migration, to add additional letters to the end * Removed the nav bar from the welcome onboarding page * Only show the countBadge if the number is > 0 * Jobs icon now has a default colour the same as the nav menu * Capital I for integration * Clone the request before calling verify * Separate the checks out so they can be easily logged * Make the failure reason optional * Made the verification error look better, if it’s provided * Working WhatsApp example * Can set the immediateResponseFilter to null in an update * Deal with a null immediateResponseFilter * Cal.com webhook working * Header height reduced slightly * Fixed button padding * Removed un-used imports * http endpoint table displays a message if you have no entries in the table * Removed some duplicate text and swapped primary buttons for secondary style * All ‘HTTP Endpoints’ now ‘HTTP endpoints’ * You have to use a RequestFilter when using HTTP Trigger * Synchronous eventDispatcher filtering again. Better content-type check * Stripe example * Side menu “Usage & Billing” is just “Usage” if self-hosting * Fix for filtering not working * Removed filter log * Fix for jobs being optional and null * Removed old nav bar from the invite page * Deleted old nav bar component * import cleanup * NoTask message only displays if the run has status “SUCCESS” * Added a global page loading indicator * Added documentation buttons to the most important pages * Added GitHub * Use “verifyRequestSignature” helpr * Removed todo * Fixed the layout of the Rerun Job popover * Jobs table has margin bottom so it sits off the bottom of the page * Small improvement to the search bar layout on the integration page * HTTP endpoint and Trigger concept docs * Reference docs and JSDocs for HTTP endpoint * SDK reference docs for HttpEndpoint * Added an HttpTrigger SDK reference, which mainly just point you elsewhere * Improved the copy in the help panels * Removed unused code * Improved HTTP endpoint comment about setting the secret * Delete unused asyncFilter * Fixed the delete modal not having a title * Always try get the arrayBuffer for an HTTP request, catch and use undefined as the default * Add extra method to invokeTrigger * Use a transaction for the secret store * verifyRequestSignature docs page and JSDocs * Added verifyRequestSignature docs page to nav * Warn if they use the same HttpEndpoint id twice * Added another job using the same HttpEndpoint * Renamed the api route to http-endpoints from httpendpoints * Debug bar for VSCode is now in the commandCenter --------- Co-authored-by: James Ritchie <james@jamesritchie.co.uk>
207 lines
5.4 KiB
JavaScript
207 lines
5.4 KiB
JavaScript
/** @type {import('tailwindcss').Config} */
|
|
const colors = require("tailwindcss/colors");
|
|
|
|
const slate = {
|
|
...colors.slate,
|
|
450: "#7E8FA6",
|
|
500: "#6B7C95",
|
|
550: "#586981",
|
|
600: "#45566D",
|
|
650: "#3C4B62",
|
|
750: "#293649",
|
|
850: "#1A2434",
|
|
900: "#131B2B",
|
|
};
|
|
|
|
/** Trigger.dev custom palette */
|
|
const midnight = {
|
|
...colors.slate,
|
|
450: colors.slate[850],
|
|
500: colors.slate[650],
|
|
550: colors.slate[700],
|
|
600: colors.slate[750],
|
|
650: colors.slate[800],
|
|
750: colors.slate[850],
|
|
800: colors.slate[900],
|
|
850: "#0E1521",
|
|
900: "#0B1018",
|
|
};
|
|
|
|
/** Text colors */
|
|
const bright = colors.slate[200];
|
|
const dimmed = colors.slate[400];
|
|
|
|
/** Shadcn colors */
|
|
const background = midnight[900];
|
|
const foreground = "hsl(213 31% 91%)";
|
|
const muted = "hsl(223 47% 11%)";
|
|
const mutedForeground = "hsl(215.4 16.3% 56.9%)";
|
|
const popover = slate[850];
|
|
const popoverForeground = colors.slate[800];
|
|
const card = "hsl(0 0% 100%)";
|
|
const cardForeground = "hsl(222.2 47.4% 11.2%)";
|
|
const border = slate[850];
|
|
const input = slate[850];
|
|
const primary = colors.indigo[600];
|
|
const primaryForeground = colors.indigo[500];
|
|
const secondary = "hsl(222.2 47.4% 11.2%)";
|
|
const secondaryForeground = slate[850];
|
|
const tertiary = "hsl(217 37% 7% / 0)";
|
|
const tertiaryForeground = slate[850];
|
|
const accent = slate[750];
|
|
const accentForeground = "hsl(210 40% 98%)";
|
|
const destructive = "hsl(0 63% 31%)";
|
|
const destructiveForeground = "hsl(210 40% 98%)";
|
|
const ring = colors.indigo[600];
|
|
const radius = "0.5rem";
|
|
const darkBackground = midnight[900];
|
|
const divide = slate[850];
|
|
|
|
/** @type {import('tailwindcss').Config} */
|
|
module.exports = {
|
|
content: [
|
|
"./app/**/*.{ts,jsx,tsx}",
|
|
// include packages if not transpiling
|
|
"../../packages/**/*.{ts,tsx}",
|
|
],
|
|
theme: {
|
|
container: {
|
|
center: true,
|
|
padding: "2rem",
|
|
screens: {
|
|
"2xl": "1400px",
|
|
},
|
|
},
|
|
extend: {
|
|
fontFamily: {
|
|
sans: ["Inter", "sans-serif"],
|
|
mono: ["Roboto Mono", "monospace"],
|
|
title: ["Poppins", "sans-serif"]
|
|
},
|
|
fontSize: {
|
|
xxs: [
|
|
"0.65rem",
|
|
{
|
|
lineHeight: "0.75rem",
|
|
letterSpacing: "-0.01em",
|
|
fontWeight: "500",
|
|
},
|
|
],
|
|
"2sm": [
|
|
"0.8125rem",
|
|
{
|
|
lineHeight: "0.875rem",
|
|
letterSpacing: "-0.01em",
|
|
fontWeight: "500",
|
|
},
|
|
],
|
|
},
|
|
colors: {
|
|
midnight,
|
|
darkBackground,
|
|
divide,
|
|
bright,
|
|
dimmed,
|
|
background,
|
|
border,
|
|
input,
|
|
ring,
|
|
foreground,
|
|
primary: {
|
|
DEFAULT: primary,
|
|
foreground: primaryForeground,
|
|
},
|
|
secondary: {
|
|
DEFAULT: secondary,
|
|
foreground: secondaryForeground,
|
|
},
|
|
tertiary: {
|
|
DEFAULT: tertiary,
|
|
foreground: tertiaryForeground,
|
|
},
|
|
destructive: {
|
|
DEFAULT: destructive,
|
|
foreground: destructiveForeground,
|
|
},
|
|
muted: {
|
|
DEFAULT: muted,
|
|
foreground: mutedForeground,
|
|
},
|
|
accent: {
|
|
DEFAULT: accent,
|
|
foreground: accentForeground,
|
|
},
|
|
popover: {
|
|
DEFAULT: popover,
|
|
foreground: popoverForeground,
|
|
},
|
|
card: {
|
|
DEFAULT: card,
|
|
foreground: cardForeground,
|
|
},
|
|
slate,
|
|
acid: {
|
|
400: "#F1FF98",
|
|
500: "#E7FF52",
|
|
600: "#FFF067",
|
|
},
|
|
toxic: {
|
|
400: "#8EFF9A",
|
|
500: "#41FF54",
|
|
600: "#00FFA3",
|
|
},
|
|
devEnv: colors.pink,
|
|
liveEnv: colors.green,
|
|
"ui-border": slate[800],
|
|
"ui-border-dimmed": slate[900],
|
|
},
|
|
borderRadius: {
|
|
lg: radius,
|
|
md: `calc(${radius} - 2px)`,
|
|
sm: `calc(${radius} - 4px)`,
|
|
},
|
|
boxShadow: {
|
|
"glow-primary": "0 0 10px 5px rgba(218, 244, 55, 0.2)",
|
|
"glow-secondary": "0 0 10px 5px rgba(79, 70, 229, 0.2)",
|
|
"glow-pink": "0 0 10px 5px rgba(236, 72, 153, 0.2)",
|
|
},
|
|
keyframes: {
|
|
"accordion-down": {
|
|
from: { height: 0 },
|
|
to: { height: "var(--radix-accordion-content-height)" },
|
|
},
|
|
"accordion-up": {
|
|
from: { height: "var(--radix-accordion-content-height)" },
|
|
to: { height: 0 },
|
|
},
|
|
float: {
|
|
"0%": { transform: "translatey(0px)" },
|
|
"50%": { transform: "translatey(7px)" },
|
|
"100%": { transform: "translatey(0px)" },
|
|
},
|
|
},
|
|
animation: {
|
|
"accordion-down": "accordion-down 0.2s ease-out",
|
|
"accordion-up": "accordion-up 0.2s ease-out",
|
|
},
|
|
backgroundImage: {
|
|
"gradient-radial": "radial-gradient(closest-side, var(--tw-gradient-stops))",
|
|
"gradient-primary": `linear-gradient(90deg, acid-500 0%, toxic-500 100%)`,
|
|
"gradient-primary-hover": `linear-gradient(80deg, acid-600 0%, toxic-600 100%)`,
|
|
"gradient-secondary": `linear-gradient(90deg, hsl(271 91 65) 0%, hsl(221 83 53) 100%)`,
|
|
"gradient-radial-secondary": `radial-gradient(hsl(271 91 65), hsl(221 83 53))`,
|
|
},
|
|
gridTemplateColumns: {
|
|
carousel: "repeat(6, 200px)",
|
|
},
|
|
},
|
|
},
|
|
plugins: [
|
|
require("@tailwindcss/forms"),
|
|
require("@tailwindcss/typography"),
|
|
require("tailwindcss-animate"),
|
|
require("tailwind-scrollbar"),
|
|
require('tailwind-scrollbar-hide')
|
|
],
|
|
};
|