Skip to content

Commit b54890c

Browse files
chore: bulk-action-app (#15)
* chore: bulk-action-app * chore: update pnpm-lock * List bulk-selected file names with extensions, add find & replace markup * Reduce indentation * Rename query * Rename images to assets * Rename images to assets * Disable fields until assets are fetched * Implement highlighting * Show result count * Enable renaming when there are matches * Query also for asset id * Add asset update mutation * Quantify nouns and memoize appBridge * Update surfaces in manifest * Add 'Match case' toggle * Allow more file types * Restrict content height and make it scrollable * Adjust allowed types * Adjust extensions * Add border * Chunk by 100 ids * Update key * Remove console.log * chore: rounded box and 2/3 width * chore: update readme * chore: update readme --------- Co-authored-by: Margus Lanto <[email protected]>
1 parent df244a4 commit b54890c

20 files changed

+1517
-1
lines changed

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ Welcome to the Brand SDK Apps Code Samples repository! Here, you'll find a serie
88
- [**Secure Third-Party Request**](https://github.com/Frontify/sdk-apps-code-examples/tree/main/examples/secure-third-party-request){:target="_blank"}: A sample app that demonstrates how to securely request third-party services using our SDK.
99
- [**App with user state example**](https://github.com/Frontify/sdk-apps-code-examples/tree/main/examples/app-with-state){:target="_blank"}: A sample app that demonstrates how to use the userState.
1010
- [**App Settings Example**](https://github.com/Frontify/sdk-apps-code-examples/tree/main/examples/app-settings){:target="_blank"}: A simple example of a Hello World app using `settings.ts` to customize app behavior.
11+
- [**Bulk Action Surface**](https://github.com/Frontify/sdk-apps-code-examples/tree/main/examples/bulk-actions-app){:target="_blank"}: An App that shows how the Bulk Actions Surface can be used.
1112

1213
Each example is accompanied by detailed documentation and comments within the code to help you understand how to utilize our SDK effectively. Whether you're just getting started or looking to implement specific features, these samples will guide you through the process.
1314

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
2+
# Logs
3+
logs
4+
*.log
5+
npm-debug.log*
6+
yarn-debug.log*
7+
yarn-error.log*
8+
pnpm-debug.log*
9+
lerna-debug.log*
10+
11+
node_modules
12+
dist
13+
dist-ssr
14+
*.localdist
15+
.idea
16+
.vscode
17+
18+
# Editor directories and files
19+
.DS_Store
20+
*.suo
21+
*.ntvs*
22+
*.njsproj
23+
*.sln
24+
*.sw?
25+
.secret.json
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
{
2+
"printWidth": 120,
3+
"tabWidth": 4,
4+
"singleQuote": true
5+
}
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
{
2+
"THIRD_PARTY_API_KEY": 1,
3+
"__DONT_COMMIT_THIS_FILE_WITH_TOKENS__": true
4+
}
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
# Hello World
2+
This is a basic example of an App using the Bulk actions Surface.
3+
## Information
4+
5+
This app is the basic example to get you started with our platform. Even though it's simple, it comes pre-configured with our platform fonts, design system components, and styles. This ensures that you have a consistent look and feel across the application, adhering to our design standards right from the start.
6+
7+
- **Platform Fonts:** The app is set up to use our standard fonts, ensuring typography consistency.
8+
- **Design System Components and Styles:** The app includes [Fondue](https://fondue-components.frontify.com/), Frontify design system, making it easy to build complex UIs with a unified design language.
9+
10+
For more details on how to customize and extend this app, please refer to the [documentation](https://developer.frontify.com/).
11+
12+
### Requirements:
13+
14+
- Node 20
15+
- Access to a Frontify Instance.
16+
17+
### Setup
18+
1. Install the dependencies
19+
```
20+
npm install
21+
```
22+
Or
23+
```
24+
pnpm install
25+
```
26+
2. Serve the app
27+
```
28+
npm run serve
29+
```
30+
Or
31+
```
32+
pnpm serve
33+
```
34+
3. Go to your Frontify Instance
35+
36+
## Manifest Configuration
37+
38+
The `manifest.json` file is a crucial part of your app setup. It allows your app to control where it surfaces within the platform. Your app can appear in various location, this app for example is only visible for the asset Bulk Actions.
39+
40+
Additionally, the `manifest.json` file enables you to specify the types of files your app can work with formats like jpg, png, and more.
41+
42+
For detailed information on configuring the `manifest.json` file, please refer to our [documentation](https://developer.frontify.com/).
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
import js from "@eslint/js";
2+
import globals from "globals";
3+
import reactHooks from "eslint-plugin-react-hooks";
4+
import reactRefresh from "eslint-plugin-react-refresh";
5+
import tseslint from "typescript-eslint";
6+
7+
export default tseslint.config(
8+
{ ignores: ["dist"] },
9+
{
10+
extends: [js.configs.recommended, ...tseslint.configs.recommended],
11+
files: ["**/*.{ts,tsx}"],
12+
languageOptions: {
13+
ecmaVersion: 2020,
14+
globals: globals.browser,
15+
},
16+
plugins: {
17+
"react-hooks": reactHooks,
18+
"react-refresh": reactRefresh,
19+
},
20+
rules: {
21+
...reactHooks.configs.recommended.rules,
22+
"react-refresh/only-export-components": [
23+
"warn",
24+
{ allowConstantExport: true },
25+
],
26+
},
27+
}
28+
);
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
<!DOCTYPE html>
2+
<html lang="en">
3+
<head>
4+
<meta charset="UTF-8"/>
5+
<meta content="width=device-width, initial-scale=1.0" name="viewport"/>
6+
<title>Frontify Sample App</title>
7+
</head>
8+
<body>
9+
<div id="root"></div>
10+
<script type='module'>
11+
import module from '/src/index.ts';
12+
import {renderReactApp} from '@frontify/app-bridge-app';
13+
14+
renderReactApp(module);
15+
</script>
16+
</body>
17+
</html>

0 commit comments

Comments
 (0)