Skip to content

Commit 8e5635a

Browse files
committed
format the web samples
1 parent 282dff1 commit 8e5635a

File tree

3 files changed

+163
-133
lines changed

3 files changed

+163
-133
lines changed

samples/content_generator_ui/app.js

Lines changed: 45 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,25 @@
1-
const { Gen } = require("intellinode");
1+
const {
2+
Gen
3+
} = require("intellinode");
24
const express = require('express');
35

46
const intelliCode = {
5-
async generateText(prompt) {
6-
const apiKey = "<openai-key>";
7-
return await Gen.get_marketing_desc(prompt, apiKey);
8-
},
7+
async generateText(prompt) {
8+
const apiKey = "<openai-key>";
9+
return await Gen.get_marketing_desc(prompt, apiKey);
10+
},
911

10-
async generateImage(prompt) {
11-
const openaiKey = "<openai-key>";
12-
const stabilityKey = "<stability.ai-key>";
13-
return await Gen.generate_image_from_desc(prompt, openaiKey, stabilityKey);
14-
},
12+
async generateImage(prompt) {
13+
const openaiKey = "<openai-key>";
14+
const stabilityKey = "<stability.ai-key>";
15+
return await Gen.generate_image_from_desc(prompt, openaiKey, stabilityKey);
16+
},
1517

16-
async generateAudio(text, base64 = true) {
17-
const apiKey = "<google-cloud-key>";
18-
const audioContent = await Gen.generate_speech_synthesis(text, apiKey);
19-
return base64 ? audioContent : Buffer.from(audioContent, "base64");
20-
},
18+
async generateAudio(text, base64 = true) {
19+
const apiKey = "<google-cloud-key>";
20+
const audioContent = await Gen.generate_speech_synthesis(text, apiKey);
21+
return base64 ? audioContent : Buffer.from(audioContent, "base64");
22+
},
2123
};
2224

2325
const app = express();
@@ -27,24 +29,35 @@ const path = require("path");
2729
app.use(express.static(path.join(__dirname)));
2830

2931
app.post('/generate-content', async (req, res) => {
30-
const { product, type } = req.body;
32+
const {
33+
product,
34+
type
35+
} = req.body;
3136

32-
if (type === 'text') {
33-
const textPrompt = `Write a marketing copy for ${product}`;
34-
const text = await intelliCode.generateText(textPrompt);
35-
res.send({ text: text });
36-
} else if (type === 'image') {
37-
const imageData = await intelliCode.generateImage(product);
38-
res.send({ imageData: imageData });
39-
} else if (type === 'audio') {
40-
const textPrompt = `Write a marketing copy for ${product}`;
41-
const text = await intelliCode.generateText(textPrompt);
42-
const audioData = await intelliCode.generateAudio(text);
43-
res.send({ audioData: audioData });
44-
} else {
45-
res.status(400).send({ error: 'Invalid request type' });
46-
}
37+
if (type === 'text') {
38+
const textPrompt = `Write a marketing copy for ${product}`;
39+
const text = await intelliCode.generateText(textPrompt);
40+
res.send({
41+
text: text
42+
});
43+
} else if (type === 'image') {
44+
const imageData = await intelliCode.generateImage(product);
45+
res.send({
46+
imageData: imageData
47+
});
48+
} else if (type === 'audio') {
49+
const textPrompt = `Write a marketing copy for ${product}`;
50+
const text = await intelliCode.generateText(textPrompt);
51+
const audioData = await intelliCode.generateAudio(text);
52+
res.send({
53+
audioData: audioData
54+
});
55+
} else {
56+
res.status(400).send({
57+
error: 'Invalid request type'
58+
});
59+
}
4760
});
4861

4962
const PORT = process.env.PORT || 3000;
50-
app.listen(PORT, () => console.log(`Server listening on port ${PORT}`));
63+
app.listen(PORT, () => console.log(`Server listening on port ${PORT}`));

samples/content_generator_ui/front.js

Lines changed: 86 additions & 65 deletions
Original file line numberDiff line numberDiff line change
@@ -1,74 +1,95 @@
11
document.getElementById('content-form').addEventListener('submit', (e) => {
2-
e.preventDefault();
3-
const product = document.getElementById('product').value;
2+
e.preventDefault();
3+
const product = document.getElementById('product').value;
44

5-
// Show loading spinner
6-
document.getElementById('loading').classList.remove('d-none');
5+
// Show loading spinner
6+
document.getElementById('loading').classList.remove('d-none');
77

8-
async function generateText() {
9-
try {
10-
const response = await fetch('/generate-content', {
11-
method: 'POST',
12-
headers: { 'Content-Type': 'application/json' },
13-
body: JSON.stringify({ product: product, type: 'text' }),
14-
});
15-
const { text } = await response.json();
16-
document.getElementById('generated-text').innerText = text;
17-
document.getElementById('text-title').classList.remove('d-none');
18-
} catch (error) {
19-
console.error('Error in generating text:', error);
8+
async function generateText() {
9+
try {
10+
const response = await fetch('/generate-content', {
11+
method: 'POST',
12+
headers: {
13+
'Content-Type': 'application/json'
14+
},
15+
body: JSON.stringify({
16+
product: product,
17+
type: 'text'
18+
}),
19+
});
20+
const {
21+
text
22+
} = await response.json();
23+
document.getElementById('generated-text').innerText = text;
24+
document.getElementById('text-title').classList.remove('d-none');
25+
} catch (error) {
26+
console.error('Error in generating text:', error);
27+
}
2028
}
21-
}
2229

23-
async function generateImage() {
24-
try {
25-
const response = await fetch('/generate-content', {
26-
method: 'POST',
27-
headers: { 'Content-Type': 'application/json' },
28-
body: JSON.stringify({ product: product, type: 'image' }),
29-
});
30-
const { imageData } = await response.json();
31-
const imageDataUrl = `data:image/png;base64,${imageData}`;
32-
const imageElement = document.getElementById('generated-image');
33-
imageElement.src = imageDataUrl;
34-
imageElement.classList.remove('d-none');
35-
document.getElementById('image-title').classList.remove('d-none');
36-
} catch (error) {
37-
console.error('Error in generating image:', error);
30+
async function generateImage() {
31+
try {
32+
const response = await fetch('/generate-content', {
33+
method: 'POST',
34+
headers: {
35+
'Content-Type': 'application/json'
36+
},
37+
body: JSON.stringify({
38+
product: product,
39+
type: 'image'
40+
}),
41+
});
42+
const {
43+
imageData
44+
} = await response.json();
45+
const imageDataUrl = `data:image/png;base64,${imageData}`;
46+
const imageElement = document.getElementById('generated-image');
47+
imageElement.src = imageDataUrl;
48+
imageElement.classList.remove('d-none');
49+
document.getElementById('image-title').classList.remove('d-none');
50+
} catch (error) {
51+
console.error('Error in generating image:', error);
52+
}
3853
}
39-
}
4054

41-
async function generateAudio() {
42-
try {
43-
const response = await fetch('/generate-content', {
44-
method: 'POST',
45-
headers: { 'Content-Type': 'application/json' },
46-
body: JSON.stringify({ product: product, type: 'audio' }),
47-
});
48-
const { audioData } = await response.json();
49-
const audioDataUrl = `data:audio/mpeg;base64,${audioData}`;
50-
const audioElement = document.getElementById('generated-audio');
51-
audioElement.src = audioDataUrl;
52-
audioElement.classList.remove('d-none');
53-
document.getElementById('audio-title').classList.remove('d-none');
54-
} catch (error) {
55-
console.error('Error in generating audio:', error);
55+
async function generateAudio() {
56+
try {
57+
const response = await fetch('/generate-content', {
58+
method: 'POST',
59+
headers: {
60+
'Content-Type': 'application/json'
61+
},
62+
body: JSON.stringify({
63+
product: product,
64+
type: 'audio'
65+
}),
66+
});
67+
const {
68+
audioData
69+
} = await response.json();
70+
const audioDataUrl = `data:audio/mpeg;base64,${audioData}`;
71+
const audioElement = document.getElementById('generated-audio');
72+
audioElement.src = audioDataUrl;
73+
audioElement.classList.remove('d-none');
74+
document.getElementById('audio-title').classList.remove('d-none');
75+
} catch (error) {
76+
console.error('Error in generating audio:', error);
77+
}
5678
}
57-
}
5879

59-
// Call the generate functions separately without waiting for each one to finish
60-
Promise.all([
61-
generateText().catch((error) => {
62-
console.error('Error in generating text:', error);
63-
}),
64-
generateImage().catch((error) => {
65-
console.error('Error in generating image:', error);
66-
}),
67-
generateAudio().catch((error) => {
68-
console.error('Error in generating audio:', error);
69-
}),
70-
]).finally(() => {
71-
// Hide loading spinner
72-
document.getElementById('loading').classList.add('d-none');
73-
});
74-
});
80+
// Call the generate functions separately without waiting for each one to finish
81+
Promise.all([
82+
generateText().catch((error) => {
83+
console.error('Error in generating text:', error);
84+
}),
85+
generateImage().catch((error) => {
86+
console.error('Error in generating image:', error);
87+
}),
88+
generateAudio().catch((error) => {
89+
console.error('Error in generating audio:', error);
90+
}),
91+
]).finally(() => {
92+
// Hide loading spinner
93+
document.getElementById('loading').classList.add('d-none');
94+
});
95+
});
Lines changed: 32 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -1,40 +1,36 @@
11
<!DOCTYPE html>
22
<html lang="en">
3-
<head>
4-
<meta charset="UTF-8">
5-
<meta name="viewport" content="width=device-width, initial-scale=1.0">
6-
<title>Content Generation Platform</title>
7-
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css">
8-
</head>
9-
<body>
10-
<div class="container mt-5">
11-
<h1 class="mb-5 text-center">Content Generation Platform</h1>
12-
13-
<form id="content-form" class="mb-5">
14-
<div class="mb-3">
15-
<label for="product" class="form-label">Product:</label>
16-
<input type="text" class="form-control" id="product" name="product">
3+
<head>
4+
<meta charset="UTF-8">
5+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
6+
<title>Content Generation Platform</title>
7+
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css">
8+
</head>
9+
<body>
10+
<div class="container mt-5">
11+
<h1 class="mb-5 text-center">Content Generation Platform</h1>
12+
<form id="content-form" class="mb-5">
13+
<div class="mb-3">
14+
<label for="product" class="form-label">Product:</label>
15+
<input type="text" class="form-control" id="product" name="product">
16+
</div>
17+
<button type="submit" class="btn btn-primary">Generate Content</button>
18+
</form>
19+
<div id="loading" class="text-center d-none">
20+
<div class="spinner-border" role="status">
21+
<span class="visually-hidden"></span>
22+
</div>
1723
</div>
18-
<button type="submit" class="btn btn-primary">Generate Content</button>
19-
</form>
20-
21-
<div id="loading" class="text-center d-none">
22-
<div class="spinner-border" role="status">
23-
<span class="visually-hidden"></span>
24+
<div id="results">
25+
<h2 id="text-title" class="mb-3 d-none">Generated Text:</h2>
26+
<p id="generated-text"></p>
27+
<h2 id="image-title" class="mb-3 d-none">Generated Image:</h2>
28+
<img id="generated-image" src="" alt="Generated Image" class="img-fluid d-none">
29+
<h2 id="audio-title" class="mt-2 mb-3 d-none">Generated Audio:</h2>
30+
<audio id="generated-audio" controls src="" class="d-none"></audio>
2431
</div>
25-
</div>
26-
27-
<div id="results">
28-
<h2 id="text-title" class="mb-3 d-none">Generated Text:</h2>
29-
<p id="generated-text"></p>
30-
<h2 id="image-title" class="mb-3 d-none">Generated Image:</h2>
31-
<img id="generated-image" src="" alt="Generated Image" class="img-fluid d-none">
32-
<h2 id="audio-title" class="mt-2 mb-3 d-none">Generated Audio:</h2>
33-
<audio id="generated-audio" controls src="" class="d-none"></audio>
34-
</div>
35-
36-
<script src="front.js"></script>
37-
<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js"></script>
38-
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.min.js"></script>
39-
</body>
40-
</html>
32+
<script src="front.js"></script>
33+
<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js"></script>
34+
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.min.js"></script>
35+
</body>
36+
</html>

0 commit comments

Comments
 (0)