Merge branch 'release/next-userspace' into lf/post-parent

This commit is contained in:
Liam Fitzgerald 2021-04-02 12:06:16 +10:00
commit 578924049d
No known key found for this signature in database
GPG Key ID: D390E12C61D1CFFB
7 changed files with 46 additions and 21 deletions

View File

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1 version https://git-lfs.github.com/spec/v1
oid sha256:3f7ab316c66e983b839e6e4d72d5c110eef91fe22fd03ee591e05cad59f69ca0 oid sha256:fd9f630f51cb104cd2042ef231b78e802a8fd31bbd0a90ced75c7ebee792647a
size 9858268 size 9940591

View File

@ -5,7 +5,7 @@
/- glob /- glob
/+ default-agent, verb, dbug /+ default-agent, verb, dbug
|% |%
++ hash 0v5.g86fq.9ngth.ki9h1.q7kut.icm5f ++ hash 0v6.8mn05.16g61.46lkc.lgddc.3ifug
+$ state-0 [%0 hash=@uv glob=(unit (each glob:glob tid=@ta))] +$ state-0 [%0 hash=@uv glob=(unit (each glob:glob tid=@ta))]
+$ all-states +$ all-states
$% state-0 $% state-0

View File

@ -24,6 +24,6 @@
<div id="portal-root"></div> <div id="portal-root"></div>
<script src="/~landscape/js/channel.js"></script> <script src="/~landscape/js/channel.js"></script>
<script src="/~landscape/js/session.js"></script> <script src="/~landscape/js/session.js"></script>
<script src="/~landscape/js/bundle/index.3cc6f7ed5ba96e93c4d9.js"></script> <script src="/~landscape/js/bundle/index.fbd0f73d77fc99808c22.js"></script>
</body> </body>
</html> </html>

View File

@ -65,16 +65,25 @@
~ ~
=/ role=(unit (unit role-tag)) =/ role=(unit (unit role-tag))
(role-for-ship:grp group.update src.bowl) (role-for-ship:grp group.update src.bowl)
=/ =metadatum:store
(fall (peek-metadatum:met %groups group.update) *metadatum:store)
?~ role ~ ?~ role ~
=/ metadatum=(unit metadatum:store)
(peek-metadatum:met %groups group.update)
?: ?& ?=(~ metadatum)
(is-managed:grp group.update)
==
~
?: ?& ?=(^ metadatum)
!(is-managed:grp group.update)
==
~
?^ u.role ?^ u.role
?: ?=(?(%admin %moderator) u.u.role) ?: ?=(?(%admin %moderator) u.u.role)
`vas `vas
~ ~
?. ?=(%add -.update) ~ ?. ?=(%add -.update) ~
?: ?& =(src.bowl entity.resource.resource.update) ?: ?& ?=(^ metadatum)
?=(%member-metadata vip.metadatum) =(src.bowl entity.resource.resource.update)
?=(%member-metadata vip.u.metadatum)
== ==
`vas `vas
~ ~

View File

@ -1,5 +1,6 @@
/- spider, /- spider,
met=metadata-store met=metadata-store,
graph=graph-store
/+ strandio, resource, graph-view /+ strandio, resource, graph-view
:: ::
=* strand strand:spider =* strand strand:spider
@ -36,4 +37,11 @@
group.action group.action
groups+group.action groups+group.action
metadatum(feed.config [~ ~]) metadatum(feed.config [~ ~])
?: ?=([~ ^] feed.config.metadatum)
;< ~ bind:m
%+ poke-our %graph-store
:- %graph-update-1
!> ^- update:graph
[now.bowl [%archive-graph resource.u.u.feed.config.metadatum]]
(pure:m !>(~))
(pure:m !>(~)) (pure:m !>(~))

View File

@ -11,6 +11,9 @@ import { FormSubmit } from "~/views/components/FormSubmit";
import { StatelessAsyncToggle } from "~/views/components/StatelessAsyncToggle"; import { StatelessAsyncToggle } from "~/views/components/StatelessAsyncToggle";
import useMetadataState from "~/logic/state/metadata"; import useMetadataState from "~/logic/state/metadata";
import useMetadataState from '~/logic/state/metadata';
interface FormSchema { interface FormSchema {
permissions: PermVariation; permissions: PermVariation;
} }
@ -21,18 +24,22 @@ export function GroupFeedSettings(props: {
api: GlobalApi; api: GlobalApi;
}) { }) {
const { association, group, api } = props; const { association, group, api } = props;
const isEnabled = !!association?.metadata?.config?.group;
const resource = resourceFromPath(association.group); const resource = resourceFromPath(association.group);
const feedResource = association?.metadata.config?.group?.resource; const feedResource = association?.metadata.config?.group?.resource;
const feedAssoc = useMetadataState(s => s.associations.graph[feedResource]); const feedAssoc = useMetadataState(s => s.associations.graph[feedResource]);
const toggleFeed = async () => { const isEnabled = !!feedResource;
const associations = useMetadataState(state => state.associations);
const feedMetadata = associations?.graph[feedResource];
const vip = feedAssoc?.metadata?.vip || " ";
const toggleFeed = async (actions: any) => {
if (isEnabled) { if (isEnabled) {
await api.graph.disableGroupFeed(resource); await api.graph.disableGroupFeed(resource);
} else { } else {
await api.graph.enableGroupFeed(resource); await api.graph.enableGroupFeed(resource, vip.trim());
} }
}; };
const vip = feedAssoc?.metadata?.vip || " ";
const initialValues: FormSchema = { const initialValues: FormSchema = {
permissions: vip permissions: vip
}; };
@ -62,7 +69,7 @@ export function GroupFeedSettings(props: {
</Label> </Label>
</Col> </Col>
</BaseLabel> </BaseLabel>
{isEnabled && ( {isEnabled && false && (
<> <>
<GroupFeedPermsInput id="permissions" /> <GroupFeedPermsInput id="permissions" />
<FormSubmit start>Update Permissions</FormSubmit> <FormSubmit start>Update Permissions</FormSubmit>

View File

@ -15,7 +15,7 @@ export function GroupFeedHeader(props) {
historyLocation === `${baseUrl}/feed`; historyLocation === `${baseUrl}/feed`;
const locationUrl = const locationUrl =
history.location.pathname.replace(`${baseUrl}`, '').replace(/^\/[a-z|\/]*/, ''); history.location.pathname.replace(`${baseUrl}`, '');
let nodeIndex = locationUrl.split('/').slice(1).map((ind) => { let nodeIndex = locationUrl.split('/').slice(1).map((ind) => {
return bigInt(ind); return bigInt(ind);
}); });
@ -54,11 +54,12 @@ export function GroupFeedHeader(props) {
borderBottom={1} borderBottom={1}
borderColor="lightGray"> borderColor="lightGray">
<Box display='block'> <Box display='block'>
{ ( baseUrl !== historyLocation && { ( baseUrl !== historyLocation ) ? (
`${baseUrl}/feed` !== historyLocation
) ? (
<Text pl="1" pr="1" cursor="pointer" onClick={() => { <Text pl="1" pr="1" cursor="pointer" onClick={() => {
history.goBack(); let loc = locationUrl.split('/');
loc.pop();
loc = loc.join('/');
history.push(`${baseUrl}${loc}`);
}}>{'<- Back'}</Text> }}>{'<- Back'}</Text>
) : null ) : null
} }