Started work on PM Panel layout
This commit is contained in:
parent
67edef9035
commit
e19ae74412
11 changed files with 198 additions and 0 deletions
54
www/css/panel/pm.css
Normal file
54
www/css/panel/pm.css
Normal file
|
|
@ -0,0 +1,54 @@
|
|||
/*Canopy - The next generation of stoner streaming software
|
||||
Copyright (C) 2024-2025 Rainbownapkin and the TTN Community
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Affero General Public License as
|
||||
published by the Free Software Foundation, either version 3 of the
|
||||
License, or (at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU Affero General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Affero General Public License
|
||||
along with this program. If not, see <https://www.gnu.org/licenses/>.*/
|
||||
#pm-panel-main-div{
|
||||
display: flex;
|
||||
flex-direction: horizontal;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
#pm-panel-sesh-list-container{
|
||||
flex: 1;
|
||||
max-width: 10em;
|
||||
}
|
||||
|
||||
#pm-panel-sesh-container{
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
flex: 1;
|
||||
height: calc(100% - 0.25em);
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
#pm-panel-start-sesh{
|
||||
width: calc(100% - 1.25em);
|
||||
margin-left: 0.25em;
|
||||
padding: 0 0.5em;
|
||||
text-wrap: nowrap;
|
||||
display: flex;
|
||||
}
|
||||
|
||||
#pm-panel-start-sesh span{
|
||||
flex: 1;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
#pm-panel-sesh-buffer{
|
||||
flex: 1;
|
||||
}
|
||||
|
||||
#pm-panel-sesh-control-div{
|
||||
margin: 0.5em;
|
||||
}
|
||||
|
|
@ -103,6 +103,14 @@ a:active, i:active:not(button i), .interactive:active{
|
|||
text-shadow: var(--focus-glow0-alt0);
|
||||
}
|
||||
|
||||
div.interactive:hover{
|
||||
background-color: var(--bg2);
|
||||
}
|
||||
|
||||
div.interactive:active{
|
||||
background-color: var(--bg1);
|
||||
}
|
||||
|
||||
button i{
|
||||
margin: 0.05em;
|
||||
text-wrap: nowrap;
|
||||
|
|
@ -610,6 +618,15 @@ div.archived p{
|
|||
border-left: var(--accent1-alt0) solid 1px;
|
||||
}
|
||||
|
||||
/* PM Panel */
|
||||
#pm-panel-sesh-container{
|
||||
border-left: 1px solid var(--accent0);
|
||||
}
|
||||
|
||||
#pm-panel-start-sesh{
|
||||
border-bottom: 1px solid var(--accent0);
|
||||
}
|
||||
|
||||
/* altcha theming*/
|
||||
div.altcha{
|
||||
box-shadow: 4px 4px 1px var(--bg1-alt0) inset;
|
||||
|
|
|
|||
|
|
@ -51,6 +51,11 @@ class channel{
|
|||
* Child User List Object
|
||||
*/
|
||||
this.userList = new userList(this);
|
||||
|
||||
/**
|
||||
* Child PM Handler
|
||||
*/
|
||||
this.pmHandler = new pmHandler(this);
|
||||
|
||||
/**
|
||||
* Child Canopy Panel Object
|
||||
|
|
|
|||
43
www/js/channel/panels/pmPanel.js
Normal file
43
www/js/channel/panels/pmPanel.js
Normal file
|
|
@ -0,0 +1,43 @@
|
|||
/*Canopy - The next generation of stoner streaming software
|
||||
Copyright (C) 2024-2025 Rainbownapkin and the TTN Community
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Affero General Public License as
|
||||
published by the Free Software Foundation, either version 3 of the
|
||||
License, or (at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU Affero General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Affero General Public License
|
||||
along with this program. If not, see <https://www.gnu.org/licenses/>.*/
|
||||
|
||||
/**
|
||||
* Class representing the settings panel
|
||||
* @extends panelObj
|
||||
*/
|
||||
class pmPanel extends panelObj{
|
||||
/**
|
||||
* Instantiates a new Panel Object
|
||||
* @param {channel} client - Parent client Management Object
|
||||
* @param {Document} panelDocument - Panel Document
|
||||
*/
|
||||
constructor(client, panelDocument){
|
||||
super(client, "Private Messaging", "/panel/pm", panelDocument);
|
||||
}
|
||||
|
||||
closer(){
|
||||
}
|
||||
|
||||
docSwitch(){
|
||||
this.setupInput();
|
||||
}
|
||||
|
||||
/**
|
||||
* Defines input-related event handlers
|
||||
*/
|
||||
setupInput(){
|
||||
}
|
||||
}
|
||||
|
|
@ -20,5 +20,18 @@ along with this program. If not, see <https://www.gnu.org/licenses/>.*/
|
|||
class pmHandler{
|
||||
constructor(client){
|
||||
this.client = client;
|
||||
|
||||
this.pmIcon = document.querySelector('#chat-panel-pm-icon');
|
||||
|
||||
this.defineListeners();
|
||||
this.setupInput();
|
||||
}
|
||||
|
||||
defineListeners(){
|
||||
|
||||
}
|
||||
|
||||
setupInput(){
|
||||
this.pmIcon.addEventListener("click", ()=>{this.client.cPanel.setActivePanel(new pmPanel(client))});
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue