Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
35 commits
Select commit Hold shift + click to select a range
9e968be
Scaffolding (#10295)
JuliRossi Dec 2, 2025
b31a27d
Content Production Dashboard: Config screen [MAPS-121] (#10319)
FBanfi Dec 16, 2025
a0511cb
Content Production Dashboard: Fetching entries [MAPS-122] (#10338)
FBanfi Dec 18, 2025
7d5ba37
Fetch schedule actions in bulk[MAPS-127] (#10378)
JuliRossi Jan 5, 2026
f2d727a
Content Production Dashboard: Adding metrics section [MAPS-123] (#10351)
FBanfi Jan 6, 2026
f32ddb2
Content production dashboard: Metrics feedback [MAPS-190] (#10434)
FBanfi Jan 13, 2026
ea24b06
Hook for fetching releases[MAPS-125] (#10433)
JuliRossi Jan 13, 2026
2b4e238
Upcoming Releases Table UI [MAPS-125] (#10426)
JuliRossi Jan 13, 2026
9b98131
Actions menu for upcoming releases table [MAPS-128] (#10435)
JuliRossi Jan 15, 2026
c0407bc
add conntainer for dashboard (#10445)
JuliRossi Jan 16, 2026
c8f3a8d
Content Production Dashboard: Adding content publishing trends hooks …
FBanfi Jan 16, 2026
ea472d9
Content Production Dashboard: Adding content publish trends chart str…
FBanfi Jan 20, 2026
18b4cd7
Upcoming scheduled content tabs UI [MAPS-126] (#10462)
JuliRossi Jan 21, 2026
7850e3f
Content Dashboard: Trends data processor refactor [MAPS-124] (#10463)
FBanfi Jan 23, 2026
86c0676
Content Dashboard: Tabs filtering + refactors [MAPS-124] (#10461)
FBanfi Jan 23, 2026
3866f0b
Content Dashboard: Adding chart tooltip logic [MAPS-203] (#10478)
FBanfi Jan 23, 2026
9a48cc0
Scheduled content table [MAPS-126] (#10469)
JuliRossi Jan 26, 2026
0870b66
Recently published table [MAPS-126] (#10480)
JuliRossi Jan 26, 2026
c260d8d
Needs Update Table [MAPS-126] (#10486)
JuliRossi Jan 27, 2026
e23f8d9
Dashboard creator tab and config screen[MAPS-193] (#10494)
JuliRossi Jan 29, 2026
9e777a1
Renaming app to Content Insights [MAPS-199] (#10503)
JuliRossi Jan 29, 2026
32ccbf5
Refactor empty state [] (#10490)
JuliRossi Jan 29, 2026
9f727ff
Moving using tableContent for releases and consolidate utils [] (#10504)
JuliRossi Jan 30, 2026
036493b
Conditionaly render upcoming releases (#10506)
JuliRossi Jan 30, 2026
fece9d5
Update deploy script in package.json to use a specific definition ID …
JuliRossi Jan 30, 2026
5d388dd
Removing empty fragment
JuliRossi Feb 3, 2026
e352ab6
Hooks fixes
JuliRossi Feb 3, 2026
65138a6
fix test
JuliRossi Feb 3, 2026
312ba6e
Using standarize spacing
JuliRossi Feb 3, 2026
7650762
Add TextInputInteger component and integrate into ConfigScreen (#10521)
JuliRossi Feb 3, 2026
d114e3f
Fixing dependency
JuliRossi Feb 3, 2026
9932d53
Refactor ContentTypeMultiSelect to use fetchContentTypes utility for …
JuliRossi Feb 3, 2026
72783e0
Fliping colors
JuliRossi Feb 3, 2026
53150c0
Adjusting tables to make them less jumpy [] (#10525)
JuliRossi Feb 4, 2026
e0aeabc
Handling dates with day js [MAPS-214] (#10526)
JuliRossi Feb 4, 2026
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
21 changes: 21 additions & 0 deletions apps/content-insights/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# dependencies
/node_modules

# testing
/coverage

# production
/dist

# dotenv environment variables file
.env
.env.*
!.env*.example

# misc
.DS_Store
.cursor
.agent
npm-debug.log*
yarn-debug.log*
yarn-error.log*
79 changes: 79 additions & 0 deletions apps/content-insights/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
This project was bootstrapped with [Create Contentful App](https://github.com/contentful/create-contentful-app).

## How to use

Execute create-contentful-app with npm, npx or yarn to bootstrap the example:

```bash
# npx
npx create-contentful-app --example vite-react

# npm
npm init contentful-app --example vite-react

# Yarn
yarn create contentful-app --example vite-react
```

## Available Scripts

In the project directory, you can run:

#### `npm start`

Creates or updates your app definition in Contentful, and runs the app in development mode.
Open your app to view it in the browser.

The page will reload if you make edits.
You will also see any lint errors in the console.

#### `npm run build`

Builds the app for production to the `dist` folder.
It correctly bundles React in production mode and optimizes the build for the best performance.

The build is minified and the filenames include the hashes.
Your app is ready to be deployed!

#### `npm run upload`

Uploads the `dist` folder to Contentful and creates a bundle that is automatically activated.
The command guides you through the deployment process and asks for all required arguments.
Read [here](https://www.contentful.com/developers/docs/extensibility/app-framework/create-contentful-app/#deploy-with-contentful) for more information about the deployment process.

#### `npm run upload-ci`

Similar to `npm run upload` it will upload your app to contentful and activate it. The only difference is
that with this command all required arguments are read from the environment variables, for example when you add
the upload command to your CI pipeline.

For this command to work, the following environment variables must be set:

- `CONTENTFUL_ORG_ID` - The ID of your organization
- `CONTENTFUL_APP_DEF_ID` - The ID of the app to which to add the bundle
- `CONTENTFUL_ACCESS_TOKEN` - A personal [access token](https://www.contentful.com/developers/docs/references/content-management-api/#/reference/personal-access-tokens)

## Libraries to use

To make your app look and feel like Contentful use the following libraries:

- [Forma 36](https://f36.contentful.com/) – Contentful's design system
- [Contentful Field Editors](https://www.contentful.com/developers/docs/extensibility/field-editors/) – Contentful's field editor React components

## Using the `contentful-management` SDK

In the default create contentful app output, a contentful management client is
passed into each location. This can be used to interact with Contentful's
management API. For example

```js
// Use the client
cma.locale.getMany({}).then((locales) => console.log(locales));
```

Visit the [`contentful-management` documentation](https://www.contentful.com/developers/docs/extensibility/app-framework/sdk/#using-the-contentful-management-library)
to find out more.

## Learn More

[Read more](https://www.contentful.com/developers/docs/extensibility/app-framework/create-contentful-app/) and check out the video on how to use the CLI.
42 changes: 42 additions & 0 deletions apps/content-insights/eslint.config.mts
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
import js from "@eslint/js";
import globals from "globals";
import tseslint from "typescript-eslint";
import pluginReact from "eslint-plugin-react";
import { defineConfig } from "eslint/config";
import unusedImports from "eslint-plugin-unused-imports";

export default defineConfig([
{settings: {
react: {
version: "detect",
},
}},
{
plugins: {
"unused-imports": unusedImports,
react: pluginReact,
tseslint: tseslint,
},
},
{ files: ["**/*.{js,mjs,cjs,ts,mts,cts,jsx,tsx}"], plugins: { js }, extends: ["js/recommended"], languageOptions: { globals: globals.browser } },
tseslint.configs.recommended,
pluginReact.configs.flat.recommended,
{
rules: {
"react/jsx-uses-react": "off",
"react/react-in-jsx-scope": "off",
"no-unused-vars": "off",
"unused-imports/no-unused-imports": "error",
"@typescript-eslint/no-explicit-any": "off",
"unused-imports/no-unused-vars": [
"warn",
{
"vars": "all",
"varsIgnorePattern": "^_",
"args": "after-used",
"argsIgnorePattern": "^_"
}
]
}
},
]);
21 changes: 21 additions & 0 deletions apps/content-insights/index.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
</head>

<body>
<noscript>You need to enable JavaScript to run this app.</noscript>
<div id="root"></div>
<script type="module" src="/src/index.tsx"></script>
<!--
This HTML file is a template.
If you open it directly in the browser, you will see an empty page.
You can add webfonts, meta tags, or analytics to this file.
The build step will place the bundled scripts into the <body> tag.
To begin the development, run `npm start`.
To create a production bundle, use `npm run build`.
-->
</body>
</html>
Loading