summaryrefslogtreecommitdiff
path: root/web/source/settings-panel/user/profile.js
diff options
context:
space:
mode:
authorLibravatar f0x52 <f0x@cthu.lu>2022-10-03 16:46:38 +0200
committerLibravatar GitHub <noreply@github.com>2022-10-03 16:46:38 +0200
commit5249294a166c901469eeac1d3297e913b4a125e7 (patch)
treed68ff7bebbc0135d23c18520417c668155aa56f2 /web/source/settings-panel/user/profile.js
parent[performance] add user cache and database (#879) (diff)
downloadgotosocial-5249294a166c901469eeac1d3297e913b4a125e7.tar.xz
[chore] Bundler restructure (#880)
* re-structure bundler, settings panel files * add more info logging * tidy up CSS syntax errors * split into lib/ files * livereloading server * fix factor function for production builds * remove testing console.log * default to production env, saves 300kb bundle size
Diffstat (limited to 'web/source/settings-panel/user/profile.js')
-rw-r--r--web/source/settings-panel/user/profile.js113
1 files changed, 0 insertions, 113 deletions
diff --git a/web/source/settings-panel/user/profile.js b/web/source/settings-panel/user/profile.js
deleted file mode 100644
index 7cf3a7b52..000000000
--- a/web/source/settings-panel/user/profile.js
+++ /dev/null
@@ -1,113 +0,0 @@
-/*
- 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 Promise = require("bluebird");
-const React = require("react");
-const Redux = require("react-redux");
-
-const Submit = require("../components/submit");
-
-const api = require("../lib/api");
-const user = require("../redux/reducers/user").actions;
-const submit = require("../lib/submit");
-
-const { formFields } = require("../components/form-fields");
-
-const {
- TextInput,
- TextArea,
- Checkbox,
- File
-} = formFields(user.setProfileVal, (state) => state.user.profile);
-
-module.exports = function UserProfile() {
- const dispatch = Redux.useDispatch();
- const account = Redux.useSelector(state => state.user.profile);
- const instance = Redux.useSelector(state => state.instances.current);
-
- const allowCustomCSS = instance.configuration.accounts.allow_custom_css;
-
- const [errorMsg, setError] = React.useState("");
- const [statusMsg, setStatus] = React.useState("");
-
- const saveProfile = submit(
- () => dispatch(api.user.updateProfile()),
- {setStatus, setError}
- );
-
- return (
- <div className="user-profile">
- <h1>Profile</h1>
- <div className="overview">
- <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 className="username"><span>@{account.username}</span></div>
- </div>
- </div>
- <div className="files">
- <div>
- <h3>Header</h3>
- <File
- id="header"
- fileType="image/*"
- />
- </div>
- <div>
- <h3>Avatar</h3>
- <File
- id="avatar"
- fileType="image/*"
- />
- </div>
- </div>
- </div>
- <TextInput
- id="display_name"
- name="Name"
- placeHolder="A GoToSocial user"
- />
- <TextArea
- id="source.note"
- name="Bio"
- placeHolder="Just trying out GoToSocial, my pronouns are they/them and I like sloths."
- />
- <Checkbox
- id="locked"
- name="Manually approve follow requests? "
- />
- { !allowCustomCSS ? null :
- <TextArea
- id="custom_css"
- name="Custom CSS"
- className="monospace"
- >
- <a href="https://docs.gotosocial.org/en/latest/user_guide/custom_css" target="_blank" className="moreinfolink" rel="noreferrer">Learn more about custom profile CSS (opens in a new tab)</a>
- </TextArea>
- }
- <Submit onClick={saveProfile} label="Save profile info" errorMsg={errorMsg} statusMsg={statusMsg} />
- </div>
- );
-}; \ No newline at end of file