mirror of
				https://github.com/superseriousbusiness/gotosocial.git
				synced 2025-10-31 14:22:25 -05:00 
			
		
		
		
	[chore/frogend] fix profile preview css, use role info (#1130)
* fix profile preview css, use role info * remove unused redux selector
This commit is contained in:
		
					parent
					
						
							
								1281a9fd4a
							
						
					
				
			
			
				commit
				
					
						5ba5fb3154
					
				
			
		
					 5 changed files with 52 additions and 29 deletions
				
			
		|  | @ -145,6 +145,7 @@ main { | ||||||
| 				font-size: 0.9rem; | 				font-size: 0.9rem; | ||||||
| 				margin-right: 0.2rem; | 				margin-right: 0.2rem; | ||||||
| 				padding: 0.2rem; | 				padding: 0.2rem; | ||||||
|  | 				margin-top: 0.1rem; | ||||||
| 				padding-top: 0.1rem; | 				padding-top: 0.1rem; | ||||||
| 				border: 0.1rem solid $gray1; | 				border: 0.1rem solid $gray1; | ||||||
| 				border-radius: $br; | 				border-radius: $br; | ||||||
|  |  | ||||||
							
								
								
									
										45
									
								
								web/source/settings/components/fake-profile.jsx
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										45
									
								
								web/source/settings/components/fake-profile.jsx
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,45 @@ | ||||||
|  | /* | ||||||
|  | 	GoToSocial | ||||||
|  | 	Copyright (C) 2021-2022 GoToSocial Authors admin@gotosocial.org | ||||||
|  | 
 | ||||||
|  | 	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 <http://www.gnu.org/licenses/>. | ||||||
|  | */ | ||||||
|  | 
 | ||||||
|  | "use strict"; | ||||||
|  | 
 | ||||||
|  | const React = require("react"); | ||||||
|  | const Redux = require("react-redux"); | ||||||
|  | 
 | ||||||
|  | module.exports = function FakeProfile({}) { | ||||||
|  | 	const account = Redux.useSelector(state => state.user.profile); | ||||||
|  | 
 | ||||||
|  | 	return ( // Keep in sync with web/template/profile.tmpl | ||||||
|  | 		<div className="profile"> | ||||||
|  | 			<div className="headerimage"> | ||||||
|  | 				<img className="headerpreview" src={account.header} alt={account.header ? `header image for ${account.username}` : "None set"} /> | ||||||
|  | 			</div> | ||||||
|  | 			<div className="basic"> | ||||||
|  | 				<div id="profile-basic-filler2"></div> | ||||||
|  | 				<span className="avatar"><img className="avatarpreview" src={account.avatar} alt={account.avatar ? `avatar image for ${account.username}` : "None set"} /></span> | ||||||
|  | 				<div className="displayname">{account.display_name.trim().length > 0 ? account.display_name : account.username}</div> | ||||||
|  | 				<div class="usernamecontainer"> | ||||||
|  | 					<div className="username"><span>@{account.username}</span></div> | ||||||
|  | 					{(account.role && account.role != "user") &&  | ||||||
|  | 						<div class={`role ${account.role}`}>{account.role}</div> | ||||||
|  | 					} | ||||||
|  | 				</div> | ||||||
|  | 			</div> | ||||||
|  | 		</div> | ||||||
|  | 	); | ||||||
|  | }; | ||||||
|  | @ -97,7 +97,10 @@ module.exports = function oauthAPI({ apiCall, getCurrentUrl }) { | ||||||
| 				} | 				} | ||||||
| 
 | 
 | ||||||
| 				// newer GoToSocial version will include a `role` in the Account data, check that first
 | 				// newer GoToSocial version will include a `role` in the Account data, check that first
 | ||||||
| 				// TODO: check account data for admin status				
 | 				if (state.user.profile.role == "admin") { | ||||||
|  | 					dispatch(oauth.setAdmin(true)); | ||||||
|  | 					return true; | ||||||
|  | 				} | ||||||
| 
 | 
 | ||||||
| 				// no role info, try fetching an admin-only route and see if we get an error
 | 				// no role info, try fetching an admin-only route and see if we get an error
 | ||||||
| 				return Promise.try(() => { | 				return Promise.try(() => { | ||||||
|  |  | ||||||
|  | @ -312,22 +312,6 @@ section.with-sidebar > div { | ||||||
| 		display: grid; | 		display: grid; | ||||||
| 		grid-template-columns: 70% 30%; | 		grid-template-columns: 70% 30%; | ||||||
| 
 | 
 | ||||||
| 		.basic { |  | ||||||
| 			margin-top: -4.5rem; |  | ||||||
| 
 |  | ||||||
| 			.avatar { |  | ||||||
| 				height: 5rem; |  | ||||||
| 				width: 5rem; |  | ||||||
| 			} |  | ||||||
| 	 |  | ||||||
| 			.displayname { |  | ||||||
| 				font-size: 1.3rem; |  | ||||||
| 				padding-top: 0; |  | ||||||
| 				padding-bottom: 0; |  | ||||||
| 				margin-top: 0.7rem; |  | ||||||
| 			} |  | ||||||
| 		} |  | ||||||
| 
 |  | ||||||
| 		.files { | 		.files { | ||||||
| 			width: 100%; | 			width: 100%; | ||||||
| 			margin: 1rem; | 			margin: 1rem; | ||||||
|  |  | ||||||
|  | @ -27,6 +27,7 @@ const api = require("../lib/api"); | ||||||
| const user = require("../redux/reducers/user").actions; | const user = require("../redux/reducers/user").actions; | ||||||
| const submit = require("../lib/submit"); | const submit = require("../lib/submit"); | ||||||
| 
 | 
 | ||||||
|  | const FakeProfile = require("../components/fake-profile"); | ||||||
| const { formFields } = require("../components/form-fields"); | const { formFields } = require("../components/form-fields"); | ||||||
| 
 | 
 | ||||||
| const { | const { | ||||||
|  | @ -38,7 +39,6 @@ const { | ||||||
| 
 | 
 | ||||||
| module.exports = function UserProfile() { | module.exports = function UserProfile() { | ||||||
| 	const dispatch = Redux.useDispatch(); | 	const dispatch = Redux.useDispatch(); | ||||||
| 	const account = Redux.useSelector(state => state.user.profile); |  | ||||||
| 	const instance = Redux.useSelector(state => state.instances.current); | 	const instance = Redux.useSelector(state => state.instances.current); | ||||||
| 
 | 
 | ||||||
| 	const allowCustomCSS = instance.configuration.accounts.allow_custom_css; | 	const allowCustomCSS = instance.configuration.accounts.allow_custom_css; | ||||||
|  | @ -55,17 +55,7 @@ module.exports = function UserProfile() { | ||||||
| 		<div className="user-profile"> | 		<div className="user-profile"> | ||||||
| 			<h1>Profile</h1> | 			<h1>Profile</h1> | ||||||
| 			<div className="overview"> | 			<div className="overview"> | ||||||
| 				<div className="profile"> | 				<FakeProfile/> | ||||||
| 					<div className="headerimage"> |  | ||||||
| 						<img className="headerpreview" src={account.header} alt={account.header ? `header image for ${account.username}` : "None set"} /> |  | ||||||
| 					</div> |  | ||||||
| 					<div className="basic"> |  | ||||||
| 						<div id="profile-basic-filler2"></div> |  | ||||||
| 						<span className="avatar"><img className="avatarpreview" src={account.avatar} alt={account.avatar ? `avatar image for ${account.username}` : "None set"} /></span> |  | ||||||
| 						<div className="displayname">{account.display_name.trim().length > 0 ? account.display_name : account.username}</div> |  | ||||||
| 						<div className="username"><span>@{account.username}</span></div> |  | ||||||
| 					</div> |  | ||||||
| 				</div> |  | ||||||
| 				<div className="files"> | 				<div className="files"> | ||||||
| 					<div> | 					<div> | ||||||
| 						<h3>Header</h3> | 						<h3>Header</h3> | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue