diff --git a/data/resources/resources.gresource.xml b/data/resources/resources.gresource.xml
index 0d47f3e8..7e7b6a2b 100644
--- a/data/resources/resources.gresource.xml
+++ b/data/resources/resources.gresource.xml
@@ -9,6 +9,7 @@
ui/content-divider-row.ui
ui/content-state-row.ui
ui/content-markdown-popover.ui
+ ui/content-invite.ui
ui/login.ui
ui/session.ui
ui/sidebar.ui
diff --git a/data/resources/style.css b/data/resources/style.css
index 3f8b404e..b4e3ba64 100644
--- a/data/resources/style.css
+++ b/data/resources/style.css
@@ -145,3 +145,7 @@ headerbar.flat {
border: 2px solid @theme_selected_bg_color;
padding: 5px;
}
+
+.invite-room-name {
+ font-size: 24px;
+}
diff --git a/data/resources/ui/content-invite.ui b/data/resources/ui/content-invite.ui
new file mode 100644
index 00000000..4902d65b
--- /dev/null
+++ b/data/resources/ui/content-invite.ui
@@ -0,0 +1,138 @@
+
+
+
+ True
+ True
+
+
+
+
+
+
diff --git a/data/resources/ui/content.ui b/data/resources/ui/content.ui
index 332a6054..f30599b8 100644
--- a/data/resources/ui/content.ui
+++ b/data/resources/ui/content.ui
@@ -4,9 +4,15 @@
True
True
-
+
-
+
+
+
+
+
+
+
diff --git a/po/POTFILES.in b/po/POTFILES.in
index 1e51db6c..9ad215dd 100644
--- a/po/POTFILES.in
+++ b/po/POTFILES.in
@@ -8,6 +8,7 @@ data/org.gnome.FractalNext.metainfo.xml.in.in
data/resources/ui/content-divider-row.ui
data/resources/ui/content-item-row-menu.ui
data/resources/ui/content-item.ui
+data/resources/ui/content-invite.ui
data/resources/ui/content-markdown-popover.ui
data/resources/ui/content-message-row.ui
data/resources/ui/content-room-history.ui
@@ -41,6 +42,7 @@ src/session/categories/mod.rs
src/session/content/content.rs
src/session/content/divider_row.rs
src/session/content/item_row.rs
+src/session/content/invite.rs
src/session/content/markdown_popover.rs
src/session/content/message_row.rs
src/session/content/mod.rs
diff --git a/src/meson.build b/src/meson.build
index 5a53a121..38b184fa 100644
--- a/src/meson.build
+++ b/src/meson.build
@@ -39,6 +39,7 @@ sources = files(
'session/content/content.rs',
'session/content/divider_row.rs',
'session/content/item_row.rs',
+ 'session/content/invite.rs',
'session/content/markdown_popover.rs',
'session/content/message_row.rs',
'session/content/mod.rs',
diff --git a/src/session/content/content.rs b/src/session/content/content.rs
index 901dce20..af97a437 100644
--- a/src/session/content/content.rs
+++ b/src/session/content/content.rs
@@ -1,10 +1,10 @@
-use crate::session::{content::RoomHistory, room::Room};
+use crate::session::{categories::CategoryType, content::Invite, content::RoomHistory, room::Room};
use adw::subclass::prelude::*;
-use gtk::{glib, prelude::*, subclass::prelude::*, CompositeTemplate};
+use gtk::{glib, glib::clone, prelude::*, subclass::prelude::*, CompositeTemplate};
mod imp {
use super::*;
- use glib::subclass::InitializingObject;
+ use glib::{signal::SignalHandlerId, subclass::InitializingObject};
use std::cell::{Cell, RefCell};
#[derive(Debug, Default, CompositeTemplate)]
@@ -12,6 +12,13 @@ mod imp {
pub struct Content {
pub compact: Cell,
pub room: RefCell