- {!focusTrack ? (
-
- ) : (
-
-
-
+
+
+
+
+ {!focusTrack ? (
+
+
-
- {focusTrack && }
-
+
+
+ ) : (
+
+
+
+
+
+ {focusTrack && }
+
+
+ )}
+
+
+ {SettingsComponent && (
+
+
)}
-
- {SettingsComponent && (
-
-
-
- )}
-
-
-
+
+
+
)}
diff --git a/packages/styles/scss/components/controls/_emoji-reaction-button.scss b/packages/styles/scss/components/controls/_emoji-reaction-button.scss
new file mode 100644
index 000000000..721d4870c
--- /dev/null
+++ b/packages/styles/scss/components/controls/_emoji-reaction-button.scss
@@ -0,0 +1,39 @@
+.lk-emoji-reaction-button {
+ position: relative;
+
+ .lk-emoji-popup {
+ position: absolute;
+ bottom: 100%;
+ left: 50%;
+ transform: translateX(-50%);
+ margin-bottom: 0.5rem;
+ background-color: var(--bg2);
+ border: 1px solid var(--border-color);
+ border-radius: var(--border-radius);
+ padding: 0.5rem;
+ display: grid;
+ grid-template-columns: repeat(4, 1fr);
+ gap: 0.25rem;
+ z-index: 1000;
+ box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
+
+ .lk-emoji-option {
+ font-size: 1.5rem;
+ padding: 0.5rem;
+ border: none;
+ background: none;
+ cursor: pointer;
+ border-radius: var(--border-radius);
+ transition: background-color 0.2s ease;
+
+ &:hover {
+ background-color: var(--accent-bg);
+ }
+
+ &:disabled {
+ cursor: not-allowed;
+ opacity: 0.5;
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/packages/styles/scss/components/controls/index.scss b/packages/styles/scss/components/controls/index.scss
index c92102698..1490ef553 100644
--- a/packages/styles/scss/components/controls/index.scss
+++ b/packages/styles/scss/components/controls/index.scss
@@ -2,7 +2,8 @@
@use 'disconnect-button';
@use 'focus-toggle';
@use 'chat-toggle';
+@use 'emoji-reaction-button';
@use 'media-device-select';
@use 'start-audio';
@use 'pagination-control';
-@use 'pagination-indicator';
+@use 'pagination-indicator';
\ No newline at end of file
diff --git a/packages/styles/scss/components/participant/_emoji-reaction.scss b/packages/styles/scss/components/participant/_emoji-reaction.scss
new file mode 100644
index 000000000..6c53cfe56
--- /dev/null
+++ b/packages/styles/scss/components/participant/_emoji-reaction.scss
@@ -0,0 +1,39 @@
+.lk-emoji-reactions {
+ position: absolute;
+ top: 50%;
+ left: 50%;
+ transform: translate(-50%, -50%);
+ z-index: 10;
+ pointer-events: none;
+
+ .lk-emoji-reaction {
+ font-size: 3rem;
+ animation: emojiReaction 3s ease-out forwards;
+ position: absolute;
+ top: 50%;
+ left: 50%;
+ transform: translate(-50%, -50%);
+ }
+}
+
+@keyframes emojiReaction {
+ 0% {
+ opacity: 0;
+ transform: translate(-50%, -50%) scale(0.5);
+ }
+
+ 20% {
+ opacity: 1;
+ transform: translate(-50%, -50%) scale(1.2);
+ }
+
+ 80% {
+ opacity: 1;
+ transform: translate(-50%, -50%) scale(1);
+ }
+
+ 100% {
+ opacity: 0;
+ transform: translate(-50%, -50%) scale(1.1) translateY(-20px);
+ }
+}
\ No newline at end of file
diff --git a/packages/styles/scss/components/participant/index.scss b/packages/styles/scss/components/participant/index.scss
index 4509bcb3c..edafab907 100644
--- a/packages/styles/scss/components/participant/index.scss
+++ b/packages/styles/scss/components/participant/index.scss
@@ -4,3 +4,4 @@
@use 'participant-media';
@use 'audio-visualizer';
@use 'participant-tile';
+@use 'emoji-reaction';
\ No newline at end of file