gaur3009 commited on
Commit
0f68170
·
verified ·
1 Parent(s): 5a48237

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +41 -46
app.py CHANGED
@@ -7,6 +7,7 @@ import time
7
 
8
  repo = "artificialguybr/TshirtDesignRedmond-V2"
9
 
 
10
  def infer(color_prompt, phone_type_prompt, design_prompt):
11
  prompt = (
12
  f"A single vertical {color_prompt} colored {phone_type_prompt} back cover featuring a bold {design_prompt} design on the front, hanging on the plain wall. The soft light and shadows, creating a striking contrast against the minimal background, evoking modern sophistication."
@@ -42,20 +43,32 @@ def infer(color_prompt, phone_type_prompt, design_prompt):
42
  raise Exception(f"API Error: {response.status_code}")
43
 
44
 
 
45
  custom_css = """
46
  body {
47
- font-family: 'Poppins', sans-serif;
48
  margin: 0;
49
  padding: 0;
50
- transition: background-color 0.3s, color 0.3s;
 
51
  }
52
- .light-mode {
53
  background-color: #f8f9fa;
54
- color: #333;
 
 
 
 
 
 
 
 
 
 
 
55
  }
56
- .dark-mode {
57
- background-color: #333;
58
- color: #f8f9fa;
59
  }
60
  .avatar-container {
61
  text-align: center;
@@ -77,66 +90,56 @@ body {
77
  0%, 100% { transform: scale(1); }
78
  50% { transform: scale(1.05); }
79
  }
80
- @keyframes head-move {
81
- 0%, 100% { transform: translateX(0); }
82
- 50% { transform: translateX(5px); }
83
- }
84
  """
85
 
 
86
  custom_js = """
87
  <script>
88
  document.addEventListener('DOMContentLoaded', function () {
89
- // Add AI avatar container with animation
 
 
 
 
 
 
 
 
 
 
90
  const avatarContainer = document.createElement('div');
91
  avatarContainer.classList.add('avatar-container');
92
-
93
- // Add AI avatar image
94
  const avatarImg = document.createElement('img');
95
  avatarImg.src = 'https://th.bing.com/th/id/OIP.zeeoSeLcH19kuQ1ABNOGCwHaHU?rs=1&pid=ImgDetMain';
96
  avatarImg.alt = "AI Assistant Avatar";
97
  avatarImg.classList.add('avatar-img');
98
  avatarContainer.appendChild(avatarImg);
99
-
100
- // Add Greeting Text
101
- const messageText = document.createElement('h2');
102
  const currentHour = new Date().getHours();
103
- let greeting = "Welcome!";
104
- if (currentHour < 12) greeting = "Good Morning!";
105
- else if (currentHour < 18) greeting = "Good Afternoon!";
106
- else greeting = "Good Evening!";
107
- messageText.textContent = greeting + " I'm your AI assistant. Let's design something amazing!";
108
- avatarContainer.appendChild(messageText);
109
-
110
- // Prepend the avatar container to the body
111
  document.body.prepend(avatarContainer);
112
 
113
- // Function to trigger Text-to-Speech
114
- function speakMessage(text) {
115
  const synth = window.speechSynthesis;
116
  const utterance = new SpeechSynthesisUtterance(text);
117
- utterance.lang = 'en-US';
118
  synth.speak(utterance);
119
  }
120
-
121
- // Trigger the speech when the output message is updated
122
  document.addEventListener('gradio_event:output_update', (event) => {
123
  const outputText = event.detail?.text || '';
124
  if (outputText) {
125
- speakMessage(outputText);
126
  }
127
  });
128
  });
129
  </script>
130
  """
131
 
 
132
  with gr.Blocks(css=custom_css) as interface:
133
  gr.HTML(custom_js)
134
- gr.Markdown(
135
- """
136
- # **AI Phone Cover Designer**
137
- Create custom designs for your brand with AI. Specify color, style, and design details.
138
- """
139
- )
140
  with gr.Row():
141
  with gr.Column(scale=1):
142
  color_prompt = gr.Textbox(label="Color", placeholder="E.g., Red")
@@ -148,19 +151,11 @@ with gr.Blocks(css=custom_css) as interface:
148
  output_image = gr.Image(label="Generated Design")
149
  output_message = gr.Textbox(label="AI Assistant Message", interactive=False)
150
 
151
- def update_chatbot(color, phone_type, design):
152
- return [("User", f"Color: {color}, Mobile: {phone_type}, Design: {design}")]
153
-
154
  generate_button.click(
155
  infer,
156
  inputs=[color_prompt, phone_type_prompt, design_prompt],
157
  outputs=[output_image, output_message],
158
  )
159
- generate_button.click(
160
- update_chatbot,
161
- inputs=[color_prompt, phone_type_prompt, design_prompt],
162
- outputs=[chatbot],
163
- )
164
 
165
  # Launch the app
166
- interface.launch(debug=True)
 
7
 
8
  repo = "artificialguybr/TshirtDesignRedmond-V2"
9
 
10
+ # Generate design based on prompts
11
  def infer(color_prompt, phone_type_prompt, design_prompt):
12
  prompt = (
13
  f"A single vertical {color_prompt} colored {phone_type_prompt} back cover featuring a bold {design_prompt} design on the front, hanging on the plain wall. The soft light and shadows, creating a striking contrast against the minimal background, evoking modern sophistication."
 
43
  raise Exception(f"API Error: {response.status_code}")
44
 
45
 
46
+ # Custom CSS for Apple-like design
47
  custom_css = """
48
  body {
49
+ font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
50
  margin: 0;
51
  padding: 0;
52
+ background: linear-gradient(135deg, #f7f8fa, #dfe2e6);
53
+ color: #333;
54
  }
55
+ .navbar {
56
  background-color: #f8f9fa;
57
+ padding: 10px 20px;
58
+ display: flex;
59
+ justify-content: space-between;
60
+ align-items: center;
61
+ box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
62
+ }
63
+ .navbar a {
64
+ color: #0071e3;
65
+ text-decoration: none;
66
+ font-weight: 500;
67
+ margin: 0 15px;
68
+ transition: color 0.3s;
69
  }
70
+ .navbar a:hover {
71
+ color: #0056b3;
 
72
  }
73
  .avatar-container {
74
  text-align: center;
 
90
  0%, 100% { transform: scale(1); }
91
  50% { transform: scale(1.05); }
92
  }
 
 
 
 
93
  """
94
 
95
+ # JavaScript for text-to-speech and animations
96
  custom_js = """
97
  <script>
98
  document.addEventListener('DOMContentLoaded', function () {
99
+ // Add navigation bar
100
+ const navbar = document.createElement('div');
101
+ navbar.classList.add('navbar');
102
+ navbar.innerHTML = `
103
+ <a href="#">Home</a>
104
+ <a href="#">Design</a>
105
+ <a href="#">About</a>
106
+ `;
107
+ document.body.prepend(navbar);
108
+
109
+ // Add AI assistant avatar and greeting
110
  const avatarContainer = document.createElement('div');
111
  avatarContainer.classList.add('avatar-container');
 
 
112
  const avatarImg = document.createElement('img');
113
  avatarImg.src = 'https://th.bing.com/th/id/OIP.zeeoSeLcH19kuQ1ABNOGCwHaHU?rs=1&pid=ImgDetMain';
114
  avatarImg.alt = "AI Assistant Avatar";
115
  avatarImg.classList.add('avatar-img');
116
  avatarContainer.appendChild(avatarImg);
117
+ const greeting = document.createElement('h2');
 
 
118
  const currentHour = new Date().getHours();
119
+ greeting.textContent = currentHour < 12 ? "Good Morning!" : currentHour < 18 ? "Good Afternoon!" : "Good Evening!";
120
+ avatarContainer.appendChild(greeting);
 
 
 
 
 
 
121
  document.body.prepend(avatarContainer);
122
 
123
+ // Text-to-speech functionality
124
+ function speak(text) {
125
  const synth = window.speechSynthesis;
126
  const utterance = new SpeechSynthesisUtterance(text);
 
127
  synth.speak(utterance);
128
  }
 
 
129
  document.addEventListener('gradio_event:output_update', (event) => {
130
  const outputText = event.detail?.text || '';
131
  if (outputText) {
132
+ speak(outputText);
133
  }
134
  });
135
  });
136
  </script>
137
  """
138
 
139
+ # Gradio interface
140
  with gr.Blocks(css=custom_css) as interface:
141
  gr.HTML(custom_js)
142
+ gr.Markdown("# **AI Phone Cover Designer**")
 
 
 
 
 
143
  with gr.Row():
144
  with gr.Column(scale=1):
145
  color_prompt = gr.Textbox(label="Color", placeholder="E.g., Red")
 
151
  output_image = gr.Image(label="Generated Design")
152
  output_message = gr.Textbox(label="AI Assistant Message", interactive=False)
153
 
 
 
 
154
  generate_button.click(
155
  infer,
156
  inputs=[color_prompt, phone_type_prompt, design_prompt],
157
  outputs=[output_image, output_message],
158
  )
 
 
 
 
 
159
 
160
  # Launch the app
161
+ interface.launch(debug=True)